package.windows.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. /**
  2. * @class MODx.window.PackageUninstall
  3. * @extends MODx.Window
  4. * @param {Object} config An object of configuration parameters
  5. * @xtype modx-window-package-uninstall
  6. */
  7. MODx.window.PackageUninstall = function(config) {
  8. config = config || {};
  9. Ext.applyIf(config,{
  10. title: _('package_uninstall')
  11. ,url: MODx.config.connector_url
  12. ,action: 'workspace/packages/uninstall'
  13. // ,height: 400
  14. // ,width: 400
  15. ,id: 'modx-window-package-uninstall'
  16. ,cls: 'modx-confirm'
  17. ,saveBtnText: _('uninstall')
  18. ,fields: [{
  19. html: _('preexisting_mode_select')
  20. ,cls: 'win-desc panel-desc'
  21. // ,border: false
  22. // ,autoHeight: true
  23. },{
  24. xtype: 'radio'
  25. ,name: 'preexisting_mode'
  26. ,fieldLabel: _('preexisting_mode_preserve')
  27. ,boxLabel: _('preexisting_mode_preserve_desc')
  28. ,inputValue: 0
  29. ,checked: true
  30. },{
  31. xtype: 'radio'
  32. ,name: 'preexisting_mode'
  33. ,fieldLabel: _('preexisting_mode_remove')
  34. ,boxLabel: _('preexisting_mode_remove_desc')
  35. ,inputValue: 1
  36. },{
  37. xtype: 'radio'
  38. ,name: 'preexisting_mode'
  39. ,fieldLabel: _('preexisting_mode_restore')
  40. ,boxLabel: _('preexisting_mode_restore_desc')
  41. ,inputValue: 2
  42. }]
  43. });
  44. MODx.window.PackageUninstall.superclass.constructor.call(this,config);
  45. };
  46. Ext.extend(MODx.window.PackageUninstall,MODx.Window,{
  47. submit: function() {
  48. var va = this.fp.getForm().getValues();
  49. this.fireEvent('success',va);
  50. this.hide();
  51. }
  52. });
  53. Ext.reg('modx-window-package-uninstall',MODx.window.PackageUninstall);
  54. /**
  55. * @class MODx.window.RemovePackage
  56. * @extends MODx.Window
  57. * @param {Object} config An object of configuration parameters
  58. * @xtype modx-window-package-remove
  59. */
  60. MODx.window.RemovePackage = function(config) {
  61. config = config || {};
  62. Ext.applyIf(config,{
  63. title: _('package_remove')
  64. ,url: MODx.config.connector_url
  65. ,baseParams: {
  66. action: 'workspace/packages/uninstall'
  67. }
  68. ,cls: 'modx-confirm'
  69. ,defaults: { border: false }
  70. ,fields: [{
  71. xtype: 'hidden'
  72. ,name: 'signature'
  73. ,id: 'modx-rpack-signature'
  74. ,value: config.signature
  75. },{
  76. html: _('package_remove_confirm')
  77. },MODx.PanelSpacer,{
  78. html: _('package_remove_force_desc')
  79. ,border: false
  80. },{
  81. xtype: 'xcheckbox'
  82. ,name: 'force'
  83. ,boxLabel: _('package_remove_force')
  84. ,hideLabel: true
  85. ,id: 'modx-rpack-force'
  86. ,labelSeparator: ''
  87. ,inputValue: 'true'
  88. }]
  89. ,saveBtnText: _('package_remove')
  90. });
  91. MODx.window.RemovePackage.superclass.constructor.call(this,config);
  92. };
  93. Ext.extend(MODx.window.RemovePackage,MODx.Window,{
  94. submit: function() {
  95. var r = this.config.record;
  96. if (this.fp.getForm().isValid()) {
  97. Ext.getCmp('modx-package-grid').loadConsole(Ext.getBody(),r.topic);
  98. this.fp.getForm().baseParams = {
  99. action: 'workspace/packages/remove'
  100. ,signature: r.signature
  101. ,register: 'mgr'
  102. ,topic: r.topic
  103. ,force: Ext.getCmp('modx-rpack-force').getValue()
  104. };
  105. this.fp.getForm().submit({
  106. waitMsg: _('saving')
  107. ,scope: this
  108. ,failure: function(frm,a) {
  109. this.fireEvent('failure',frm,a);
  110. var g = Ext.getCmp('modx-package-grid');
  111. g.getConsole().fireEvent('complete');
  112. g.refresh();
  113. Ext.Msg.hide();
  114. this.hide();
  115. }
  116. ,success: function(frm,a) {
  117. this.fireEvent('success',{f:frm,a:a});
  118. var g = Ext.getCmp('modx-package-grid');
  119. g.getConsole().fireEvent('complete');
  120. g.refresh();
  121. Ext.Msg.hide();
  122. this.hide();
  123. }
  124. });
  125. }
  126. }
  127. });
  128. Ext.reg('modx-window-package-remove',MODx.window.RemovePackage);
  129. /**
  130. * @class MODx.window.PurgePackages
  131. * @extends MODx.Window
  132. * @param {Object} config An object of configuration parameters
  133. * @xtype modx-window-packages-purge
  134. */
  135. MODx.window.PurgePackages = function(config) {
  136. config = config || {};
  137. Ext.applyIf(config,{
  138. title: _('packages_purge')
  139. ,url: MODx.config.connector_url
  140. ,baseParams: {
  141. action: 'workspace/packages/purge'
  142. }
  143. ,cls: 'modx-confirm'
  144. ,defaults: { border: false }
  145. ,fields: [{
  146. xtype: 'hidden'
  147. ,name: 'packagename'
  148. ,id: 'modx-ppack-package_name'
  149. ,value: config.packagename
  150. },{
  151. html: _('packages_purge_confirm')
  152. }]
  153. ,saveBtnText: _('packages_purge')
  154. });
  155. MODx.window.PurgePackages.superclass.constructor.call(this,config);
  156. };
  157. Ext.extend(MODx.window.PurgePackages,MODx.Window,{
  158. submit: function() {
  159. var r = this.config.record;
  160. if (this.fp.getForm().isValid()) {
  161. Ext.getCmp('modx-package-grid').loadConsole(Ext.getBody(),r.topic);
  162. this.fp.getForm().baseParams = {
  163. action: 'workspace/packages/purge'
  164. ,register: 'mgr'
  165. ,topic: r.topic
  166. };
  167. this.fp.getForm().submit({
  168. waitMsg: _('saving')
  169. ,scope: this
  170. ,failure: function(frm,a) {
  171. this.fireEvent('failure',frm,a);
  172. var g = Ext.getCmp('modx-package-grid');
  173. g.getConsole().fireEvent('complete');
  174. g.refresh();
  175. Ext.Msg.hide();
  176. this.hide();
  177. }
  178. ,success: function(frm,a) {
  179. this.fireEvent('success',{f:frm,a:a});
  180. var g = Ext.getCmp('modx-package-grid');
  181. g.getConsole().fireEvent('complete');
  182. g.refresh();
  183. Ext.Msg.hide();
  184. this.hide();
  185. }
  186. });
  187. }
  188. }
  189. });
  190. Ext.reg('modx-window-packages-purge',MODx.window.PurgePackages);
  191. /**
  192. * @class MODx.window.SetupOptions
  193. * @extends MODx.Window
  194. * @param {Object} config An object of configuration parameters
  195. * @xtype modx-window-setupoptions
  196. */
  197. MODx.window.SetupOptions = function(config) {
  198. config = config || {};
  199. Ext.applyIf(config,{
  200. title: _('setup_options')
  201. ,layout: 'form'
  202. ,width: 650
  203. ,autoHeight: true
  204. ,cls: 'modx-confirm'
  205. ,items:[{
  206. xtype: 'modx-template-panel'
  207. ,id: 'modx-setupoptions-panel'
  208. ,bodyCssClass: 'win-desc panel-desc'
  209. ,startingMarkup: '<tpl for="."><p>{text}</p></tpl>'
  210. ,startingText: _('setup_options_desc')
  211. },{
  212. html:''
  213. ,xtype: 'form'
  214. ,bodyCssClass: 'inline-form'
  215. ,id: 'modx-setupoptions-form'
  216. }]
  217. ,buttons :[{
  218. text: config.cancelBtnText || _('cancel')
  219. ,scope: this
  220. ,handler: function() { this.hide(); }
  221. },{
  222. text: _('package_install')
  223. ,cls: 'primary-button'
  224. ,id:'package-setupoptions-install-btn'
  225. ,handler: this.install
  226. ,scope: this
  227. }]
  228. });
  229. MODx.window.SetupOptions.superclass.constructor.call(this,config);
  230. };
  231. Ext.extend(MODx.window.SetupOptions,MODx.Window,{
  232. fetch: function(content){
  233. Ext.getCmp('modx-setupoptions-form').getForm().getEl().update(content, true);
  234. }
  235. ,install: function(btn, ev){
  236. this.hide();
  237. var options = Ext.getCmp('modx-setupoptions-form').getForm().getValues();
  238. options.signature = this.signature;
  239. Ext.getCmp('modx-panel-packages').install(btn, ev, options);
  240. }
  241. });
  242. Ext.reg('modx-package-setupoptions', MODx.window.SetupOptions);
  243. /**
  244. * @class MODx.window.ChangeProvider
  245. * @extends Ext.Window
  246. * @param {Object} config An object of configuration parameters
  247. * @xtype modx-window-changeprovider
  248. */
  249. MODx.window.ChangeProvider = function(config) {
  250. config = config || {};
  251. Ext.applyIf(config,{
  252. title: _('provider_select')
  253. ,width: 600 // prevents primary button text from being cut off if it is a long string
  254. ,layout: 'form'
  255. ,items:[{
  256. xtype: 'modx-template-panel'
  257. ,id: 'modx-cp-panel'
  258. ,bodyCssClass: 'win-desc panel-desc'
  259. ,startingMarkup: '<tpl for="."><p>{text}</p></tpl>'
  260. ,startingText: _('provider_select_desc')
  261. },{
  262. xtype: 'form'
  263. ,id: 'change-provider-form'
  264. ,border: false
  265. // ,bodyCssClass: 'main-wrapper'
  266. ,items:[{
  267. fieldLabel: _('provider')
  268. ,xtype: 'modx-combo-provider'
  269. ,id: 'modx-pdselprov-provider'
  270. ,anchor: '100%'
  271. ,allowBlank: false
  272. ,baseParams: {
  273. action: 'workspace/providers/getList'
  274. ,showNone: false
  275. }
  276. }]
  277. }]
  278. ,buttons :[{
  279. text: config.cancelBtnText || _('cancel')
  280. ,scope: this
  281. ,handler: function() { this.hide(); }
  282. },{
  283. text: _('save_and_go_to_browser')
  284. ,cls: 'primary-button'
  285. ,id:'package-cp-btn'
  286. ,handler: this.submit
  287. ,scope: this
  288. }]
  289. });
  290. MODx.window.ChangeProvider.superclass.constructor.call(this,config);
  291. };
  292. Ext.extend(MODx.window.ChangeProvider,Ext.Window,{ //Using MODx.Window would create an empty unused form (It's not a bug))
  293. submit: function(o) {
  294. var fm = Ext.getCmp('change-provider-form');
  295. if (fm.getForm().isValid()) {
  296. var vs = fm.getForm().getValues();
  297. MODx.provider = vs.provider;
  298. MODx.providerName = fm.getForm().findField('provider').getRawValue();
  299. var tree = Ext.getCmp('modx-package-browser-tree');
  300. tree.setProvider(vs.provider);
  301. if (tree.rendered) {
  302. var loader = tree.getLoader();
  303. loader.baseParams = {
  304. action: 'workspace/packages/rest/getNodes'
  305. ,provider: vs.provider
  306. };
  307. loader.load(tree.root);
  308. }
  309. MODx.debug('Switching to: '+MODx.provider);
  310. this.hide();
  311. Ext.getCmp('modx-panel-packages-browser').activate();
  312. }
  313. }
  314. });
  315. Ext.reg('modx-package-changeprovider', MODx.window.ChangeProvider);