modx.panel.resource.data.js 7.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. MODx.panel.ResourceData = function(config) {
  2. config = config || {};
  3. var df = {
  4. border: false
  5. ,msgTarget: 'side'
  6. ,width: 300
  7. };
  8. Ext.applyIf(config,{
  9. url: MODx.config.connector_url
  10. ,baseParams: {
  11. action: 'resource/data'
  12. }
  13. ,id: 'modx-panel-resource-data'
  14. ,class_key: 'modResource'
  15. ,cls: 'container form-with-labels'
  16. ,resource: ''
  17. ,defaults: { collapsible: false ,autoHeight: true }
  18. ,items: [{
  19. html: ''
  20. ,id: 'modx-resource-header'
  21. ,xtype: 'modx-header'
  22. },MODx.getPageStructure([{
  23. title: _('general')
  24. ,id: 'modx-rdata-tab-general'
  25. ,layout: 'form'
  26. ,autoHeight: true
  27. ,bodyCssClass: 'main-wrapper'
  28. ,labelWidth: 150
  29. ,defaults: df
  30. ,items: [{
  31. name: 'pagetitle'
  32. ,fieldLabel: _('resource_pagetitle')
  33. ,description: _('resource_pagetitle_help')
  34. ,xtype: 'statictextfield'
  35. },{
  36. name: 'template_name'
  37. ,fieldLabel: _('resource_template')
  38. ,xtype: 'statictextfield'
  39. },{
  40. name: 'longtitle'
  41. ,fieldLabel: _('resource_longtitle')
  42. ,description: _('resource_longtitle_help')
  43. ,xtype: 'statictextfield'
  44. ,value: _('notset')
  45. ,width: 500
  46. },{
  47. name: 'description'
  48. ,fieldLabel: _('resource_description')
  49. ,description: _('resource_description_help')
  50. ,xtype: 'statictextfield'
  51. ,width: 500
  52. },{
  53. name: 'class_key'
  54. ,fieldLabel: _('class_key')
  55. ,description: _('resource_class_key_help')
  56. ,xtype: 'statictextfield'
  57. },{
  58. name: 'alias'
  59. ,fieldLabel: _('resource_alias')
  60. ,description: _('resource_alias_help')
  61. ,xtype: 'statictextfield'
  62. },{
  63. name: 'context_key'
  64. ,fieldLabel: _('context')
  65. ,xtype: 'statictextfield'
  66. },{
  67. name: 'status'
  68. ,fieldLabel: _('resource_status')
  69. ,description: _('resource_status_help')
  70. },{
  71. name: 'deleted'
  72. ,fieldLabel: _('deleted')
  73. ,xtype: 'staticboolean'
  74. },{
  75. name: 'pub_date'
  76. ,fieldLabel: _('resource_publishdate')
  77. ,description: _('resource_publishdate_help')
  78. },{
  79. name: 'unpub_date'
  80. ,fieldLabel: _('resource_unpublishdate')
  81. ,description: _('resource_unpublishdate_help')
  82. },{
  83. name: 'cacheable'
  84. ,fieldLabel: _('resource_cacheable')
  85. ,description: _('resource_cacheable_help')
  86. ,xtype: 'staticboolean'
  87. },{
  88. name: 'searchable'
  89. ,fieldLabel: _('resource_searchable')
  90. ,description: _('resource_searchable_help')
  91. ,xtype: 'staticboolean'
  92. },{
  93. name: 'hidemenu'
  94. ,fieldLabel: _('resource_hide_from_menus')
  95. ,description: _('resource_hide_from_menus_help')
  96. ,xtype: 'staticboolean'
  97. },{
  98. name: 'menutitle'
  99. ,fieldLabel: _('resource_menutitle')
  100. ,description: _('resource_menutitle_help')
  101. },{
  102. name: 'menuindex'
  103. ,fieldLabel: _('resource_menuindex')
  104. ,description: _('resource_menuindex_help')
  105. },{
  106. name: 'richtext'
  107. ,fieldLabel: _('resource_richtext')
  108. ,description: _('resource_richtext_help')
  109. ,xtype: 'staticboolean'
  110. },{
  111. name: 'isfolder'
  112. ,fieldLabel: _('resource_folder')
  113. ,description: _('resource_folder_help')
  114. ,xtype: 'staticboolean'
  115. }]
  116. },{
  117. title: _('changes')
  118. ,id: 'modx-rdata-tab-changes'
  119. ,defaults: df
  120. ,layout: 'form'
  121. ,autoHeight: true
  122. ,bodyCssClass: 'main-wrapper'
  123. ,defaultType: 'statictextfield'
  124. ,anchor: '100%'
  125. ,items: [{
  126. name: 'createdon_adjusted'
  127. ,fieldLabel: _('resource_createdon')
  128. },{
  129. name: 'createdon_by'
  130. ,fieldLabel: _('resource_createdby')
  131. },{
  132. name: 'editedon_adjusted'
  133. ,fieldLabel: _('resource_editedon')
  134. },{
  135. name: 'editedon_by'
  136. ,fieldLabel: _('resource_editedby')
  137. },{
  138. name: 'publishedon_adjusted'
  139. ,fieldLabel: _('resource_publishedon')
  140. },{
  141. name: 'publishedon_by'
  142. ,fieldLabel: _('resource_publishedby')
  143. },{
  144. xtype: 'modx-grid-manager-log'
  145. ,anchor: '100%'
  146. ,preventRender: true
  147. ,formpanel: 'modx-panel-manager-log'
  148. ,baseParams: {
  149. action: 'system/log/getlist'
  150. ,item: MODx.request.id
  151. ,classKey: 'modResource'
  152. }
  153. ,tbar: []
  154. }]
  155. },{
  156. title: _('cache_output')
  157. ,bodyCssClass: 'main-wrapper'
  158. ,autoHeight: true
  159. ,id: 'modx-rdata-tab-source'
  160. ,items: [{
  161. name: 'buffer'
  162. ,id: 'modx-rdata-buffer'
  163. ,xtype: 'textarea'
  164. ,hideLabel: true
  165. ,readOnly: true
  166. ,width: '90%'
  167. ,grow: true
  168. }]
  169. }],{
  170. deferredRender: false
  171. ,hideMode: 'offsets'
  172. })]
  173. ,listeners: {
  174. 'setup':{fn:this.setup,scope:this}
  175. }
  176. });
  177. MODx.panel.ResourceData.superclass.constructor.call(this,config);
  178. // prevent backspace key from going to the previous page in browser history
  179. Ext.EventManager.on(window, 'keydown', function(e, t) {
  180. if (e.getKey() == e.BACKSPACE && t.readOnly) {
  181. e.stopEvent();
  182. }
  183. });
  184. };
  185. Ext.extend(MODx.panel.ResourceData,MODx.FormPanel,{
  186. setup: function() {
  187. if (this.config.resource === '' || this.config.resource === 0) {
  188. this.fireEvent('ready');
  189. return false;
  190. }
  191. var g = Ext.getCmp('modx-grid-manager-log');
  192. g.getStore().baseParams.item = this.config.resource;
  193. g.getStore().baseParams.classKey = 'modResource,'+this.config.class_key;
  194. g.getBottomToolbar().changePage(1);
  195. MODx.Ajax.request({
  196. url: MODx.config.connector_url
  197. ,params: {
  198. action: 'resource/data'
  199. ,id: this.config.resource
  200. ,class_key: this.config.class_key
  201. }
  202. ,listeners: {
  203. 'success': {fn:function(r) {
  204. if (r.object.pub_date == '0') { r.object.pub_date = ''; }
  205. if (r.object.unpub_date == '0') { r.object.unpub_date = ''; }
  206. Ext.get('modx-resource-header').update(r.object.pagetitle);
  207. this.getForm().setValues(r.object);
  208. this.fireEvent('ready');
  209. },scope:this}
  210. }
  211. });
  212. }
  213. });
  214. Ext.reg('modx-panel-resource-data',MODx.panel.ResourceData);