modx.panel.tv.renders.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. /**
  2. * Renders an input for an image TV
  3. *
  4. * @class MODx.panel.ImageTV
  5. * @extends MODx.Panel
  6. * @param {Object} config An object of configuration properties
  7. * @xtype panel-tv-image
  8. */
  9. MODx.panel.ImageTV = function(config) {
  10. config = config || {};
  11. config.filemanager_url = MODx.config.filemanager_url;
  12. Ext.applyIf(config,{
  13. layout: 'form'
  14. ,autoHeight: true
  15. ,border: false
  16. ,hideLabels: true
  17. ,defaults: {
  18. autoHeight: true
  19. ,border: false
  20. }
  21. ,items: [{
  22. xtype: 'hidden'
  23. ,name: 'tv'+config.tv
  24. ,id: 'tv'+config.tv
  25. ,value: config.value
  26. },{
  27. xtype: 'modx-combo-browser'
  28. ,browserEl: 'tvbrowser'+config.tv
  29. ,name: 'tvbrowser'+config.tv
  30. ,id: 'tvbrowser'+config.tv
  31. ,triggerClass: 'x-form-image-trigger'
  32. ,value: config.relativeValue
  33. // ,hideFiles: true
  34. ,source: config.source || 1
  35. ,allowedFileTypes: config.allowedFileTypes || ''
  36. ,openTo: config.openTo || ''
  37. ,hideSourceCombo: true
  38. ,listeners: {
  39. 'select': {fn:function(data) {
  40. Ext.getCmp('tv'+this.config.tv).setValue(data.relativeUrl);
  41. Ext.getCmp('tvbrowser'+this.config.tv).setValue(data.relativeUrl);
  42. this.fireEvent('select',data);
  43. },scope:this}
  44. ,'change': {fn:function(cb,nv) {
  45. Ext.getCmp('tv'+this.config.tv).setValue(nv);
  46. this.fireEvent('select',{
  47. relativeUrl: nv
  48. ,url: nv
  49. });
  50. },scope:this}
  51. }
  52. }]
  53. });
  54. MODx.panel.ImageTV.superclass.constructor.call(this,config);
  55. this.addEvents({select: true});
  56. };
  57. Ext.extend(MODx.panel.ImageTV,MODx.Panel);
  58. Ext.reg('modx-panel-tv-image',MODx.panel.ImageTV);
  59. MODx.panel.FileTV = function(config) {
  60. config = config || {};
  61. config.filemanager_url = MODx.config.filemanager_url;
  62. Ext.applyIf(config,{
  63. layout: 'form'
  64. ,autoHeight: true
  65. ,border: false
  66. ,hideLabels: true
  67. ,defaults: {
  68. autoHeight: true
  69. ,border: false
  70. }
  71. ,items: [{
  72. xtype: 'hidden'
  73. ,name: 'tv'+config.tv
  74. ,id: 'tv'+config.tv
  75. ,value: config.value
  76. },{
  77. xtype: 'modx-combo-browser'
  78. ,browserEl: 'tvbrowser'+config.tv
  79. ,name: 'tvbrowser'+config.tv
  80. ,id: 'tvbrowser'+config.tv
  81. ,value: config.relativeValue
  82. // ,hideFiles: true
  83. ,source: config.source || 1
  84. ,allowedFileTypes: config.allowedFileTypes || ''
  85. ,wctx: config.wctx || 'web'
  86. ,openTo: config.openTo || ''
  87. ,hideSourceCombo: true
  88. ,listeners: {
  89. 'select': {fn:function(data) {
  90. Ext.getCmp('tv'+this.config.tv).setValue(data.relativeUrl);
  91. Ext.getCmp('tvbrowser'+this.config.tv).setValue(data.relativeUrl);
  92. this.fireEvent('select',data);
  93. },scope:this}
  94. ,'change': {fn:function(cb,nv) {
  95. Ext.getCmp('tv'+this.config.tv).setValue(nv);
  96. this.fireEvent('select',{
  97. relativeUrl: nv
  98. ,url: nv
  99. });
  100. },scope:this}
  101. }
  102. }]
  103. });
  104. MODx.panel.FileTV.superclass.constructor.call(this,config);
  105. this.addEvents({select: true});
  106. };
  107. Ext.extend(MODx.panel.FileTV,MODx.Panel);
  108. Ext.reg('modx-panel-tv-file',MODx.panel.FileTV);
  109. MODx.checkTV = function(id) {
  110. var cb = Ext.get('tv'+id);
  111. Ext.get('tvh'+id).dom.value = cb.dom.checked ? cb.dom.value : '';
  112. };