template.panel.js 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238
  1. collections.panel.Template = function(config) {
  2. config = config || {};
  3. Ext.applyIf(config,{
  4. border: false
  5. ,id: 'collections-panel-template'
  6. ,cls: 'container'
  7. ,url: collections.config.connectorUrl
  8. ,baseParams: {
  9. action: 'mgr/template/create'
  10. }
  11. ,useLoadingMask: true
  12. ,items: this.getItems(config)
  13. ,listeners: {
  14. 'setup': {
  15. fn: this.setup
  16. ,scope: this
  17. }
  18. ,'success': {
  19. fn: this.success
  20. ,scope: this
  21. }
  22. }
  23. });
  24. collections.panel.Template.superclass.constructor.call(this, config);
  25. };
  26. Ext.extend(collections.panel.Template, MODx.FormPanel,{
  27. setup: function() {
  28. if (this.config.isUpdate) {
  29. MODx.Ajax.request({
  30. url: this.config.url
  31. ,params: {
  32. action: 'mgr/template/get'
  33. ,id: MODx.request.id
  34. },
  35. listeners: {
  36. 'success': {
  37. fn: function(r) {
  38. this.getForm().setValues(r.object);
  39. var fredDefaultBlueprint = this.find('name', 'fred_default_blueprint');
  40. if (fredDefaultBlueprint[0]) {
  41. fredDefaultBlueprint = fredDefaultBlueprint[0];
  42. fredDefaultBlueprint.baseParams.template = r.object.child_template;
  43. }
  44. this.fireEvent('ready', r.object);
  45. MODx.fireEvent('ready');
  46. },
  47. scope: this
  48. }
  49. }
  50. });
  51. } else {
  52. this.fireEvent('ready');
  53. MODx.fireEvent('ready');
  54. }
  55. }
  56. ,success: function(o, r) {
  57. if (this.config.isUpdate == false) {
  58. MODx.loadPage('template/update', 'namespace=collections&id='+ o.result.object.id);
  59. }
  60. }
  61. ,getItems: function(config) {
  62. return [{
  63. html: '<h2>' + ((config.isUpdate == true)? _('collections.template.update_template') : _('collections.template.new_template')) + '</h2>'
  64. ,border: false
  65. ,cls: 'modx-page-header'
  66. },{
  67. name: 'id'
  68. ,xtype: 'hidden'
  69. },this.getGeneralFields(config),{
  70. html: '<br />'
  71. ,bodyCssClass: 'transparent-background'
  72. },this.getTemplateOptions(config),this.getColumnsGrid(config)];
  73. }
  74. ,getGeneralFields: function(config){
  75. return [{
  76. deferredRender: false
  77. ,border: true
  78. ,defaults: {
  79. autoHeight: true
  80. ,layout: 'form'
  81. ,labelWidth: 150
  82. ,bodyCssClass: 'main-wrapper'
  83. ,layoutOnTabChange: true
  84. }
  85. ,items: [{
  86. defaults: {
  87. msgTarget: 'side'
  88. ,autoHeight: true
  89. }
  90. ,cls: 'form-with-labels'
  91. ,border: false
  92. ,items: [{
  93. layout: 'column'
  94. ,border: false
  95. ,height: 100
  96. ,defaults: {
  97. layout: 'form'
  98. ,labelAlign: 'top'
  99. ,labelSeparator: ''
  100. ,anchor: '100%'
  101. ,border: false
  102. }
  103. ,items: [{
  104. columnWidth: 0.7
  105. ,border: false
  106. ,defaults: {
  107. msgTarget: 'under'
  108. }
  109. ,items: [{
  110. xtype: 'textfield'
  111. ,fieldLabel: _('collections.template.name')
  112. ,name: 'name'
  113. ,anchor: '100%'
  114. ,allowBlank: false
  115. },{
  116. xtype: 'textarea'
  117. ,fieldLabel: _('collections.template.description')
  118. ,name: 'description'
  119. ,anchor: '100%'
  120. }]
  121. },{
  122. columnWidth: 0.3
  123. ,border: false
  124. ,defaults: {
  125. msgTarget: 'under'
  126. }
  127. ,items: [
  128. // @TODO: Feature to have view for same resource template for selections and collections
  129. // {
  130. // xtype: 'collections-combo-view-for'
  131. // ,fieldLabel: _('collections.template.view_for')
  132. // ,name: 'view_for'
  133. // ,hiddenName: 'view_for'
  134. // ,anchor: '100%'
  135. //},
  136. {
  137. xtype: 'modx-combo-boolean'
  138. ,fieldLabel: _('collections.template.set_as_global')
  139. ,name: 'global_template'
  140. ,hiddenName: 'global_template'
  141. ,anchor: '100%'
  142. ,value: (config.record) ? config.record.global_template : false
  143. },{
  144. xtype: 'collections-combo-template'
  145. ,id: 'collections-panel-template-field-templates'
  146. ,fieldLabel: _('collections.template.default_for_templates')
  147. ,name: 'templates'
  148. ,hiddenName: 'templates[]'
  149. ,anchor: '100%'
  150. }]
  151. }]
  152. }]
  153. }]
  154. }];
  155. }
  156. ,getColumnsGrid: function(config) {
  157. var items = [{
  158. html: '<br />'
  159. ,bodyCssClass: 'transparent-background'
  160. }];
  161. if (config.isUpdate == true) {
  162. items.push([{
  163. deferredRender: false
  164. ,border: true
  165. ,defaults: {
  166. autoHeight: true
  167. ,layout: 'form'
  168. ,labelWidth: 150
  169. ,bodyCssClass: 'main-wrapper'
  170. ,layoutOnTabChange: true
  171. }
  172. ,items: [{
  173. defaults: {
  174. msgTarget: 'side'
  175. ,autoHeight: true
  176. }
  177. ,cls: 'form-with-labels'
  178. ,border: false
  179. ,items: [{
  180. layout: 'column'
  181. ,border: false
  182. ,height: 100
  183. ,defaults: {
  184. layout: 'form'
  185. ,labelAlign: 'top'
  186. ,labelSeparator: ''
  187. ,anchor: '100%'
  188. ,border: false
  189. }
  190. ,items: [{
  191. columnWidth: 1
  192. ,border: false
  193. ,defaults: {
  194. msgTarget: 'under'
  195. }
  196. ,items: [{
  197. xtype: 'collections-grid-template-column'
  198. }]
  199. }]
  200. }]
  201. }]
  202. }]);
  203. }
  204. return items;
  205. }
  206. ,getTemplateOptions: function(config) {
  207. return [{
  208. xtype: 'modx-vtabs'
  209. ,deferredRender: false
  210. ,items: [{
  211. title: _('collections.template.general_settings')
  212. ,items: this.getGeneralSettingsFields(config)
  213. },{
  214. title: _('collections.template.collections_settings')
  215. ,items: this.getCollectionsSettingsFields(config)
  216. },{
  217. title: _('collections.template.selections_settings')
  218. ,items: this.getSelectionsSettingsFields(config)
  219. }]
  220. }];
  221. }
  222. ,getGeneralSettingsFields: function(config) {
  223. return [{
  224. deferredRender: false
  225. ,border: false
  226. ,defaults: {
  227. autoHeight: true
  228. ,layout: 'form'
  229. ,labelWidth: 150
  230. ,bodyCssClass: 'main-wrapper'
  231. ,layoutOnTabChange: true
  232. }
  233. ,items: [{
  234. defaults: {
  235. msgTarget: 'side'
  236. ,autoHeight: true
  237. }
  238. ,cls: 'form-with-labels'
  239. ,border: false
  240. ,items: [{
  241. layout: 'column'
  242. ,border: false
  243. ,height: 100
  244. ,defaults: {
  245. layout: 'form'
  246. ,labelAlign: 'top'
  247. ,labelSeparator: ''
  248. ,anchor: '100%'
  249. ,border: false
  250. }
  251. ,items: [{
  252. columnWidth: 1
  253. ,border: false
  254. ,defaults: {
  255. msgTarget: 'under'
  256. ,anchor: '100%'
  257. }
  258. ,items: [{
  259. xtype: 'textfield'
  260. ,fieldLabel: _('collections.template.permanent_sort_before')
  261. ,name: 'permanent_sort_before'
  262. }]
  263. }]
  264. }]
  265. },{
  266. defaults: {
  267. msgTarget: 'side'
  268. ,autoHeight: true
  269. }
  270. ,cls: 'form-with-labels'
  271. ,border: false
  272. ,items: [{
  273. layout: 'column'
  274. ,border: false
  275. ,height: 100
  276. ,defaults: {
  277. layout: 'form'
  278. ,labelAlign: 'top'
  279. ,labelSeparator: ''
  280. ,anchor: '100%'
  281. ,border: false
  282. }
  283. ,items: [{
  284. columnWidth:.3
  285. ,border: false
  286. ,defaults: {
  287. msgTarget: 'under'
  288. ,anchor: '100%'
  289. }
  290. ,items: [{
  291. xtype: 'textfield'
  292. ,fieldLabel: _('collections.template.sort_field')
  293. ,name: 'sort_field'
  294. ,allowBlank: false
  295. ,value: (config.record) ? config.record.sort_field : 'id'
  296. }]
  297. },{
  298. columnWidth:.3
  299. ,border: false
  300. ,defaults: {
  301. msgTarget: 'under'
  302. ,anchor: '100%'
  303. }
  304. ,items: [{
  305. xtype: 'collections-combo-sort-dir'
  306. ,fieldLabel: _('collections.template.sort_dir')
  307. ,name: 'sort_dir'
  308. ,hiddenName: 'sort_dir'
  309. ,allowBlank: false
  310. ,value: (config.record) ? config.record.sort_dir : 'asc'
  311. }]
  312. },{
  313. columnWidth:.4
  314. ,border: false
  315. ,defaults: {
  316. msgTarget: 'under'
  317. ,anchor: '100%'
  318. }
  319. ,items: [{
  320. xtype: 'collections-combo-sort-type'
  321. ,fieldLabel: _('collections.template.sort_type')
  322. ,name: 'sort_type'
  323. ,hiddenName: 'sort_type'
  324. ,allowBlank: false
  325. ,value: (config.record) ? config.record.sort_type : null
  326. }]
  327. }]
  328. }]
  329. },{
  330. defaults: {
  331. msgTarget: 'side'
  332. ,autoHeight: true
  333. }
  334. ,cls: 'form-with-labels'
  335. ,border: false
  336. ,items: [{
  337. layout: 'column'
  338. ,border: false
  339. ,height: 100
  340. ,defaults: {
  341. layout: 'form'
  342. ,labelAlign: 'top'
  343. ,labelSeparator: ''
  344. ,anchor: '100%'
  345. ,border: false
  346. }
  347. ,items: [{
  348. columnWidth: 1
  349. ,border: false
  350. ,defaults: {
  351. msgTarget: 'under'
  352. ,anchor: '100%'
  353. }
  354. ,items: [{
  355. xtype: 'textfield'
  356. ,fieldLabel: _('collections.template.permanent_sort_after')
  357. ,name: 'permanent_sort_after'
  358. }]
  359. }]
  360. }]
  361. },{
  362. defaults: {
  363. msgTarget: 'side'
  364. ,autoHeight: true
  365. }
  366. ,cls: 'form-with-labels'
  367. ,border: false
  368. ,items: [{
  369. layout: 'column'
  370. ,border: false
  371. ,height: 100
  372. ,defaults: {
  373. layout: 'form'
  374. ,labelAlign: 'top'
  375. ,labelSeparator: ''
  376. ,anchor: '100%'
  377. ,border: false
  378. }
  379. ,items: [{
  380. columnWidth:.3
  381. ,border: false
  382. ,defaults: {
  383. msgTarget: 'under'
  384. ,anchor: '100%'
  385. }
  386. ,items: [{
  387. xtype: 'numberfield'
  388. ,allowDecimals: false
  389. ,allowNegative: false
  390. ,fieldLabel: _('collections.template.page_size')
  391. ,name: 'page_size'
  392. ,allowBlank: false
  393. ,value: (config.record) ? config.record.page_size : 20
  394. }]
  395. },{
  396. columnWidth:.3
  397. ,border: false
  398. ,defaults: {
  399. msgTarget: 'under'
  400. ,anchor: '100%'
  401. }
  402. ,items: [{
  403. xtype: 'modx-combo-boolean'
  404. ,fieldLabel: _('collections.template.bulk_actions')
  405. ,name: 'bulk_actions'
  406. ,hiddenName: 'bulk_actions'
  407. ,value: (config.record) ? config.record.bulk_actions : false
  408. }]
  409. },{
  410. columnWidth:.4
  411. ,border: false
  412. ,defaults: {
  413. msgTarget: 'under'
  414. ,anchor: '100%'
  415. }
  416. ,items: [{
  417. xtype: 'modx-combo-boolean'
  418. ,fieldLabel: _('collections.template.allow_dd')
  419. ,name: 'allow_dd'
  420. ,hiddenName: 'allow_dd'
  421. ,value: (config.record) ? config.record.allow_dd : true
  422. }]
  423. }]
  424. }]
  425. },{
  426. defaults: {
  427. msgTarget: 'side'
  428. ,autoHeight: true
  429. }
  430. ,cls: 'form-with-labels'
  431. ,border: false
  432. ,items: [{
  433. layout: 'column'
  434. ,border: false
  435. ,height: 100
  436. ,defaults: {
  437. layout: 'form'
  438. ,labelAlign: 'top'
  439. ,labelSeparator: ''
  440. ,anchor: '100%'
  441. ,border: false
  442. }
  443. ,items: [{
  444. columnWidth:.3
  445. ,border: false
  446. ,defaults: {
  447. msgTarget: 'under'
  448. ,anchor: '100%'
  449. }
  450. ,items: [{
  451. xtype: 'textfield'
  452. ,fieldLabel: _('collections.template.tab_label')
  453. ,name: 'tab_label'
  454. ,value: (config.record) ? config.record.tab_label : 'collections.children'
  455. }]
  456. },{
  457. columnWidth:.3
  458. ,border: false
  459. ,defaults: {
  460. msgTarget: 'under'
  461. ,anchor: '100%'
  462. }
  463. ,items: [{
  464. xtype: 'collections-combo-content-place'
  465. ,fieldLabel: _('collections.template.content_place')
  466. ,name: 'content_place'
  467. ,hiddenName: 'content_place'
  468. ,value: (config.record) ? config.record.button_label : 'original'
  469. }]
  470. },{
  471. columnWidth:.4
  472. ,border: false
  473. ,defaults: {
  474. msgTarget: 'under'
  475. ,anchor: '100%'
  476. }
  477. ,items: []
  478. }]
  479. }]
  480. },{
  481. defaults: {
  482. msgTarget: 'side'
  483. ,autoHeight: true
  484. }
  485. ,cls: 'form-with-labels'
  486. ,border: false
  487. ,items: [{
  488. layout: 'column'
  489. ,border: false
  490. ,height: 100
  491. ,defaults: {
  492. layout: 'form'
  493. ,labelAlign: 'top'
  494. ,labelSeparator: ''
  495. ,anchor: '100%'
  496. ,border: false
  497. }
  498. ,items: [{
  499. columnWidth:.3
  500. ,border: false
  501. ,defaults: {
  502. msgTarget: 'under'
  503. ,anchor: '100%'
  504. }
  505. ,items: [{
  506. xtype: 'modx-combo-boolean'
  507. ,fieldLabel: _('collections.template.search_query_title_only')
  508. ,name: 'search_query_title_only'
  509. ,hiddenName: 'search_query_title_only'
  510. ,value: (config.record) ? config.record.search_query_title_only : false
  511. }]
  512. },{
  513. columnWidth:.3
  514. ,border: false
  515. ,defaults: {
  516. msgTarget: 'under'
  517. ,anchor: '100%'
  518. }
  519. ,items: [{
  520. xtype: 'modx-combo-boolean'
  521. ,fieldLabel: _('collections.template.search_query_exclude_tvs')
  522. ,name: 'search_query_exclude_tvs'
  523. ,hiddenName: 'search_query_exclude_tvs'
  524. ,value: (config.record) ? config.record.search_query_exclude_tvs : false
  525. }]
  526. },{
  527. columnWidth:.4
  528. ,border: false
  529. ,defaults: {
  530. msgTarget: 'under'
  531. ,anchor: '100%'
  532. }
  533. ,items: [{
  534. xtype: 'modx-combo-boolean'
  535. ,fieldLabel: _('collections.template.search_query_exclude_tagger')
  536. ,name: 'search_query_exclude_tagger'
  537. ,hiddenName: 'search_query_exclude_tagger'
  538. ,value: (config.record) ? config.record.search_query_exclude_tagger : false
  539. }]
  540. }]
  541. }]
  542. },{
  543. defaults: {
  544. msgTarget: 'side'
  545. ,autoHeight: true
  546. }
  547. ,cls: 'form-with-labels'
  548. ,border: false
  549. ,items: [{
  550. layout: 'column'
  551. ,border: false
  552. ,height: 100
  553. ,defaults: {
  554. layout: 'form'
  555. ,labelAlign: 'top'
  556. ,labelSeparator: ''
  557. ,anchor: '100%'
  558. ,border: false
  559. }
  560. ,items: [{
  561. columnWidth: 1
  562. ,border: false
  563. ,defaults: {
  564. msgTarget: 'under'
  565. ,anchor: '100%'
  566. }
  567. ,items: [{
  568. xtype: 'textfield'
  569. ,fieldLabel: _('collections.template.context_menu')
  570. ,description: _('collections.template.context_menu_desc')
  571. ,name: 'context_menu'
  572. ,value: (config.record) ? config.record.context_menu : 'view,edit,duplicate,publish,unpublish,-,delete,undelete,remove,-,unlink'
  573. }]
  574. }]
  575. }]
  576. },{
  577. defaults: {
  578. msgTarget: 'side'
  579. ,autoHeight: true
  580. }
  581. ,cls: 'form-with-labels'
  582. ,border: false
  583. ,items: [{
  584. layout: 'column'
  585. ,border: false
  586. ,height: 100
  587. ,defaults: {
  588. layout: 'form'
  589. ,labelAlign: 'top'
  590. ,labelSeparator: ''
  591. ,anchor: '100%'
  592. ,border: false
  593. }
  594. ,items: [{
  595. columnWidth: 1
  596. ,border: false
  597. ,defaults: {
  598. msgTarget: 'under'
  599. ,anchor: '100%'
  600. }
  601. ,items: [{
  602. xtype: 'textfield'
  603. ,fieldLabel: _('collections.template.buttons')
  604. ,description: _('collections.template.buttons_desc')
  605. ,name: 'buttons'
  606. ,value: (config.record) ? config.record.buttons : 'view,edit,duplicate,publish:orange,unpublish,delete,undelete,remove,unlink'
  607. }]
  608. }]
  609. }]
  610. }]
  611. }];
  612. }
  613. ,getCollectionsSettingsFields: function(config) {
  614. var items = [
  615. {
  616. defaults: {
  617. msgTarget: 'side'
  618. ,autoHeight: true
  619. }
  620. ,cls: 'form-with-labels'
  621. ,border: false
  622. ,items: [{
  623. layout: 'column'
  624. ,border: false
  625. ,height: 100
  626. ,defaults: {
  627. layout: 'form'
  628. ,labelAlign: 'top'
  629. ,labelSeparator: ''
  630. ,anchor: '100%'
  631. ,border: false
  632. }
  633. ,items: [{
  634. columnWidth:.5
  635. ,border: false
  636. ,defaults: {
  637. msgTarget: 'under'
  638. ,anchor: '100%'
  639. }
  640. ,items: [{
  641. xtype: 'modx-combo-boolean'
  642. ,fieldLabel: _('collections.template.resource_type_selection')
  643. ,name: 'resource_type_selection'
  644. ,hiddenName: 'resource_type_selection'
  645. ,value: (config.record) ? config.record.resource_type_selection : true
  646. }]
  647. },{
  648. columnWidth:.5
  649. ,border: false
  650. ,defaults: {
  651. msgTarget: 'under'
  652. ,anchor: '100%'
  653. }
  654. ,items: [{
  655. xtype: 'textfield'
  656. ,fieldLabel: _('collections.template.button_label')
  657. ,name: 'button_label'
  658. ,value: (config.record) ? config.record.button_label : 'collections.children.create'
  659. }]
  660. }]
  661. }]
  662. },{
  663. defaults: {
  664. msgTarget: 'side'
  665. ,autoHeight: true
  666. }
  667. ,cls: 'form-with-labels'
  668. ,border: false
  669. ,items: [{
  670. layout: 'column'
  671. ,border: false
  672. ,height: 100
  673. ,defaults: {
  674. layout: 'form'
  675. ,labelAlign: 'top'
  676. ,labelSeparator: ''
  677. ,anchor: '100%'
  678. ,border: false
  679. }
  680. ,items: [{
  681. columnWidth:.5
  682. ,border: false
  683. ,defaults: {
  684. msgTarget: 'under'
  685. ,anchor: '100%'
  686. }
  687. ,items: [{
  688. xtype: 'modx-combo-boolean'
  689. ,fieldLabel: _('collections.template.show_quick_create')
  690. ,name: 'show_quick_create'
  691. ,hiddenName: 'show_quick_create'
  692. ,value: (config.record) ? config.record.show_quick_create : true
  693. }]
  694. },{
  695. columnWidth:.5
  696. ,border: false
  697. ,defaults: {
  698. msgTarget: 'under'
  699. ,anchor: '100%'
  700. }
  701. ,items: [{
  702. xtype: 'textfield'
  703. ,fieldLabel: _('collections.template.quick_create_label')
  704. ,name: 'quick_create_label'
  705. ,value: (config.record) ? config.record.quick_create_label : 'collections.children.quick_create'
  706. }]
  707. }]
  708. }]
  709. },{
  710. defaults: {
  711. msgTarget: 'side'
  712. ,autoHeight: true
  713. }
  714. ,cls: 'form-with-labels'
  715. ,border: false
  716. ,items: [{
  717. layout: 'column'
  718. ,border: false
  719. ,height: 100
  720. ,defaults: {
  721. layout: 'form'
  722. ,labelAlign: 'top'
  723. ,labelSeparator: ''
  724. ,anchor: '100%'
  725. ,border: false
  726. }
  727. ,items: [{
  728. columnWidth:.5
  729. ,border: false
  730. ,defaults: {
  731. msgTarget: 'under'
  732. ,anchor: '100%'
  733. }
  734. ,items: [{
  735. xtype: 'collections-combo-single-template'
  736. ,fieldLabel: _('collections.template.child_template')
  737. ,name: 'child_template'
  738. ,hiddenName: 'child_template'
  739. ,allowBlank: true
  740. ,editable: true
  741. ,addEmpty: true
  742. ,listeners: {
  743. select: function (combo, record) {
  744. var fredDefaultBlueprint = this.find('name', 'fred_default_blueprint');
  745. if (!fredDefaultBlueprint[0]) return;
  746. fredDefaultBlueprint = fredDefaultBlueprint[0];
  747. fredDefaultBlueprint.useTemplate(record.id);
  748. },
  749. scope: this
  750. }
  751. }]
  752. },{
  753. columnWidth:.5
  754. ,border: false
  755. ,defaults: {
  756. msgTarget: 'under'
  757. ,anchor: '100%'
  758. }
  759. ,items: [{
  760. xtype: 'modx-combo-class-derivatives'
  761. ,fieldLabel: _('collections.template.child_resource_type')
  762. ,name: 'child_resource_type'
  763. ,hiddenName: 'child_resource_type'
  764. ,allowBlank: false
  765. ,editable: false
  766. ,value: (config.record) ? config.record.child_resource_type : 'modDocument'
  767. }]
  768. }]
  769. }]
  770. },{
  771. defaults: {
  772. msgTarget: 'side'
  773. ,autoHeight: true
  774. }
  775. ,cls: 'form-with-labels'
  776. ,border: false
  777. ,items: [{
  778. layout: 'column'
  779. ,border: false
  780. ,height: 100
  781. ,defaults: {
  782. layout: 'form'
  783. ,labelAlign: 'top'
  784. ,labelSeparator: ''
  785. ,anchor: '100%'
  786. ,border: false
  787. }
  788. ,items: [{
  789. columnWidth:.5
  790. ,border: false
  791. ,defaults: {
  792. msgTarget: 'under'
  793. ,anchor: '100%'
  794. }
  795. ,items: [{
  796. xtype: 'collections-combo-extended-boolean'
  797. ,fieldLabel: _('collections.template.child_published')
  798. ,name: 'child_published'
  799. ,hiddenName: 'child_published'
  800. ,value: (config.record) ? config.record.child_published : null
  801. }]
  802. },{
  803. columnWidth:.5
  804. ,border: false
  805. ,defaults: {
  806. msgTarget: 'under'
  807. ,anchor: '100%'
  808. }
  809. ,items: [{
  810. xtype: 'collections-combo-content-type'
  811. ,fieldLabel: _('collections.template.child_content_type')
  812. ,name: 'child_content_type'
  813. ,hiddenName: 'child_content_type'
  814. ,allowBlank: true
  815. ,editable: false
  816. ,value: (config.record) ? config.record.child_content_type : 0
  817. }]
  818. }]
  819. }]
  820. },{
  821. defaults: {
  822. msgTarget: 'side'
  823. ,autoHeight: true
  824. }
  825. ,cls: 'form-with-labels'
  826. ,border: false
  827. ,items: [{
  828. layout: 'column'
  829. ,border: false
  830. ,height: 100
  831. ,defaults: {
  832. layout: 'form'
  833. ,labelAlign: 'top'
  834. ,labelSeparator: ''
  835. ,anchor: '100%'
  836. ,border: false
  837. }
  838. ,items: [{
  839. columnWidth:.5
  840. ,border: false
  841. ,defaults: {
  842. msgTarget: 'under'
  843. ,anchor: '100%'
  844. }
  845. ,items: [{
  846. xtype: 'collections-combo-extended-boolean'
  847. ,fieldLabel: _('collections.template.child_hide_from_menu')
  848. ,name: 'child_hide_from_menu'
  849. ,hiddenName: 'child_hide_from_menu'
  850. ,value: (config.record) ? config.record.child_hide_from_menu : null
  851. }]
  852. },{
  853. columnWidth:.5
  854. ,border: false
  855. ,defaults: {
  856. msgTarget: 'under'
  857. ,anchor: '100%'
  858. }
  859. ,items: [{
  860. xtype: 'collections-combo-extended-boolean'
  861. ,fieldLabel: _('collections.template.child_cacheable')
  862. ,name: 'child_cacheable'
  863. ,hiddenName: 'child_cacheable'
  864. ,value: (config.record) ? config.record.child_cacheable : null
  865. }]
  866. }]
  867. }]
  868. },{
  869. defaults: {
  870. msgTarget: 'side'
  871. ,autoHeight: true
  872. }
  873. ,cls: 'form-with-labels'
  874. ,border: false
  875. ,items: [{
  876. layout: 'column'
  877. ,border: false
  878. ,height: 100
  879. ,defaults: {
  880. layout: 'form'
  881. ,labelAlign: 'top'
  882. ,labelSeparator: ''
  883. ,anchor: '100%'
  884. ,border: false
  885. }
  886. ,items: [{
  887. columnWidth:.5
  888. ,border: false
  889. ,defaults: {
  890. msgTarget: 'under'
  891. ,anchor: '100%'
  892. }
  893. ,items: [{
  894. xtype: 'collections-combo-extended-boolean'
  895. ,fieldLabel: _('collections.template.child_richtext')
  896. ,name: 'child_richtext'
  897. ,hiddenName: 'child_richtext'
  898. ,value: (config.record) ? config.record.child_richtext : null
  899. }]
  900. },{
  901. columnWidth:.5
  902. ,border: false
  903. ,defaults: {
  904. msgTarget: 'under'
  905. ,anchor: '100%'
  906. }
  907. ,items: [{
  908. xtype: 'collections-combo-extended-boolean'
  909. ,fieldLabel: _('collections.template.child_searchable')
  910. ,name: 'child_searchable'
  911. ,hiddenName: 'child_searchable'
  912. ,value: (config.record) ? config.record.child_searchable : null
  913. }]
  914. }]
  915. }]
  916. },{
  917. defaults: {
  918. msgTarget: 'side'
  919. ,autoHeight: true
  920. }
  921. ,cls: 'form-with-labels'
  922. ,border: false
  923. ,items: [{
  924. layout: 'column'
  925. ,border: false
  926. ,height: 100
  927. ,defaults: {
  928. layout: 'form'
  929. ,labelAlign: 'top'
  930. ,labelSeparator: ''
  931. ,anchor: '100%'
  932. ,border: false
  933. }
  934. ,items: [{
  935. columnWidth:.5
  936. ,border: false
  937. ,defaults: {
  938. msgTarget: 'under'
  939. ,anchor: '100%'
  940. }
  941. ,items: [{
  942. xtype: 'collections-combo-content-disposition-extended'
  943. ,fieldLabel: _('collections.template.child_content_disposition')
  944. ,name: 'child_content_disposition'
  945. ,hiddenName: 'child_content_disposition'
  946. ,value: (config.record) ? config.record.child_content_disposition : null
  947. }]
  948. },{
  949. columnWidth:.5
  950. ,border: false
  951. ,defaults: {
  952. msgTarget: 'under'
  953. ,anchor: '100%'
  954. }
  955. ,items: []
  956. }]
  957. }]
  958. },{
  959. defaults: {
  960. msgTarget: 'side'
  961. ,autoHeight: true
  962. }
  963. ,cls: 'form-with-labels'
  964. ,border: false
  965. ,items: [{
  966. layout: 'column'
  967. ,border: false
  968. ,height: 100
  969. ,defaults: {
  970. layout: 'form'
  971. ,labelAlign: 'top'
  972. ,labelSeparator: ''
  973. ,anchor: '100%'
  974. ,border: false
  975. }
  976. ,items: [{
  977. columnWidth:.5
  978. ,border: false
  979. ,defaults: {
  980. msgTarget: 'under'
  981. ,anchor: '100%'
  982. }
  983. ,items: [{
  984. xtype: 'textfield'
  985. ,fieldLabel: _('collections.template.back_to_collection')
  986. ,name: 'back_to_collection_label'
  987. ,value: (config.record) ? config.record.back_to_collection_label : 'collections.children.back_to_collection_label'
  988. }]
  989. },{
  990. columnWidth:.5
  991. ,border: false
  992. ,defaults: {
  993. msgTarget: 'under'
  994. ,anchor: '100%'
  995. }
  996. ,items: [{
  997. xtype: 'textfield'
  998. ,fieldLabel: _('collections.template.parent')
  999. ,name: 'parent'
  1000. ,value: (config.record) ? config.record.parent : ''
  1001. }]
  1002. }]
  1003. }]
  1004. },{
  1005. defaults: {
  1006. msgTarget: 'side'
  1007. ,autoHeight: true
  1008. }
  1009. ,cls: 'form-with-labels'
  1010. ,border: false
  1011. ,items: [{
  1012. layout: 'column'
  1013. ,border: false
  1014. ,height: 100
  1015. ,defaults: {
  1016. layout: 'form'
  1017. ,labelAlign: 'top'
  1018. ,labelSeparator: ''
  1019. ,anchor: '100%'
  1020. ,border: false
  1021. }
  1022. ,items: [{
  1023. columnWidth: 1
  1024. ,border: false
  1025. ,defaults: {
  1026. msgTarget: 'under'
  1027. ,anchor: '100%'
  1028. }
  1029. ,items: [{
  1030. xtype: 'textfield'
  1031. ,fieldLabel: _('collections.template.allowed_resource_types')
  1032. ,description: _('collections.template.allowed_resource_types_desc')
  1033. ,name: 'allowed_resource_types'
  1034. ,value: (config.record) ? config.record.allowed_resource_types : ''
  1035. }]
  1036. }]
  1037. }]
  1038. }
  1039. ];
  1040. if (config.fredInstalled) {
  1041. items.push({
  1042. defaults: {
  1043. msgTarget: 'side',
  1044. autoHeight: true
  1045. },
  1046. cls: 'form-with-labels',
  1047. border: false,
  1048. items: [
  1049. {
  1050. layout: 'column',
  1051. border: false,
  1052. height: 100,
  1053. defaults: {
  1054. layout: 'form',
  1055. labelAlign: 'top',
  1056. labelSeparator: '',
  1057. anchor: '100%',
  1058. border: false
  1059. },
  1060. items: [
  1061. {
  1062. columnWidth: 1,
  1063. border: false,
  1064. defaults: {
  1065. msgTarget: 'under',
  1066. anchor: '100%'
  1067. },
  1068. items: [
  1069. {
  1070. xtype: 'collections-combo-fred-blueprints',
  1071. fieldLabel: _('collections.template.fred_default_blueprint'),
  1072. description: _('collections.template.fred_default_blueprint_desc'),
  1073. name: 'fred_default_blueprint',
  1074. hiddenName: 'fred_default_blueprint',
  1075. addNone: 1,
  1076. useTemplate: function(template) {
  1077. this.baseParams.template = template;
  1078. this.store.on('load', function(store, records, options) {
  1079. if (records.length === 2) {
  1080. this.setValue(options.params.uuid);
  1081. } else {
  1082. this.setValue("");
  1083. }
  1084. this.lastQuery = null;
  1085. }, this, {single: true});
  1086. this.store.load({params: {uuid: this.getValue()}});
  1087. }
  1088. }
  1089. ]
  1090. }
  1091. ]
  1092. }
  1093. ]
  1094. });
  1095. }
  1096. return [
  1097. {
  1098. deferredRender: false,
  1099. border: false,
  1100. defaults: {
  1101. autoHeight: true,
  1102. layout: 'form',
  1103. labelWidth: 150,
  1104. bodyCssClass: 'main-wrapper',
  1105. layoutOnTabChange: true
  1106. },
  1107. items: items
  1108. }
  1109. ];
  1110. }
  1111. ,getSelectionsSettingsFields: function(config) {
  1112. return [{
  1113. deferredRender: false
  1114. ,border: false
  1115. ,defaults: {
  1116. autoHeight: true
  1117. ,layout: 'form'
  1118. ,labelWidth: 150
  1119. ,bodyCssClass: 'main-wrapper'
  1120. ,layoutOnTabChange: true
  1121. }
  1122. ,items: [{
  1123. defaults: {
  1124. msgTarget: 'side'
  1125. ,autoHeight: true
  1126. }
  1127. ,cls: 'form-with-labels'
  1128. ,border: false
  1129. ,items: [{
  1130. layout: 'column'
  1131. ,border: false
  1132. ,height: 100
  1133. ,defaults: {
  1134. layout: 'form'
  1135. ,labelAlign: 'top'
  1136. ,labelSeparator: ''
  1137. ,anchor: '100%'
  1138. ,border: false
  1139. }
  1140. ,items: [{
  1141. columnWidth:.5
  1142. ,border: false
  1143. ,defaults: {
  1144. msgTarget: 'under'
  1145. ,anchor: '100%'
  1146. }
  1147. ,items: [{
  1148. xtype: 'textfield'
  1149. ,fieldLabel: _('collections.template.link_label')
  1150. ,name: 'link_label'
  1151. ,value: (config.record) ? config.record.link_label : 'selections.create'
  1152. }]
  1153. },{
  1154. columnWidth:.5
  1155. ,border: false
  1156. ,defaults: {
  1157. msgTarget: 'under'
  1158. ,anchor: '100%'
  1159. }
  1160. ,items: [{
  1161. xtype: 'textfield'
  1162. ,fieldLabel: _('collections.template.back_to_selection')
  1163. ,name: 'back_to_selection_label'
  1164. ,value: (config.record) ? config.record.back_to_selection_label : 'selections.back_to_selection_label'
  1165. }]
  1166. }]
  1167. }]
  1168. },{
  1169. defaults: {
  1170. msgTarget: 'side'
  1171. ,autoHeight: true
  1172. }
  1173. ,cls: 'form-with-labels'
  1174. ,border: false
  1175. ,items: [{
  1176. layout: 'column'
  1177. ,border: false
  1178. ,height: 100
  1179. ,defaults: {
  1180. layout: 'form'
  1181. ,labelAlign: 'top'
  1182. ,labelSeparator: ''
  1183. ,anchor: '100%'
  1184. ,border: false
  1185. }
  1186. ,items: [{
  1187. columnWidth:.5
  1188. ,border: false
  1189. ,defaults: {
  1190. msgTarget: 'under'
  1191. ,anchor: '100%'
  1192. }
  1193. ,items: [{
  1194. xtype: 'textfield'
  1195. ,fieldLabel: _('collections.template.selection_create_sort')
  1196. ,name: 'selection_create_sort'
  1197. ,value: (config.record) ? config.record.selection_create_sort : 'id:desc'
  1198. }]
  1199. },{
  1200. columnWidth:.5
  1201. ,border: false
  1202. ,defaults: {
  1203. msgTarget: 'under'
  1204. ,anchor: '100%'
  1205. }
  1206. ,items: [{
  1207. xtype: 'textfield'
  1208. ,fieldLabel: _('collections.template.selection_link_condition')
  1209. ,description: _('collections.template.selection_link_condition_desc')
  1210. ,name: 'selection_link_condition'
  1211. ,value: (config.record) ? config.record.selection_link_condition : ''
  1212. }]
  1213. }]
  1214. }]
  1215. }]
  1216. }];
  1217. }
  1218. });
  1219. Ext.reg('collections-panel-template',collections.panel.Template);