package.panel.js 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. MODx.panel.Package = function(config) {
  2. config = config || {};
  3. Ext.applyIf(config,{
  4. url: MODx.config.connector_url
  5. ,baseParams: {}
  6. ,id: 'modx-panel-package'
  7. ,cls: 'container'
  8. ,chunk: ''
  9. ,bodyStyle: ''
  10. ,items: [{
  11. html: _('package')
  12. ,id: 'modx-package-header'
  13. ,xtype: 'modx-header'
  14. },MODx.getPageStructure([{
  15. title: _('package')
  16. ,defaults: { border: false ,msgTarget: 'side' }
  17. ,layout: 'form'
  18. ,id: 'modx-package-form'
  19. ,labelWidth: 150
  20. ,items: [{
  21. xtype: 'panel'
  22. ,border: false
  23. ,cls:'main-wrapper'
  24. ,layout: 'form'
  25. ,items: [{
  26. xtype: 'statictextfield'
  27. ,fieldLabel: _('package')
  28. ,name: 'package_name'
  29. ,width: 300
  30. },{
  31. xtype: 'statictextfield'
  32. ,fieldLabel: _('signature')
  33. ,name: 'signature'
  34. ,width: 300
  35. ,submitValue: true
  36. },{
  37. xtype: 'statictextfield'
  38. ,fieldLabel: _('uploaded_on')
  39. ,name: 'created'
  40. ,width: 300
  41. },{
  42. xtype: 'statictextfield'
  43. ,fieldLabel: _('installed')
  44. ,name: 'installed'
  45. ,width: 300
  46. },{
  47. xtype: 'statictextfield'
  48. ,fieldLabel: _('last_updated')
  49. ,name: 'updated'
  50. ,width: 300
  51. },{
  52. xtype: 'modx-combo-provider'
  53. ,fieldLabel: _('provider')
  54. ,name: 'provider'
  55. ,width: 300
  56. },{
  57. xtype: 'textarea'
  58. ,readOnly: true
  59. ,fieldLabel: _('readme')
  60. ,name: 'readme'
  61. ,width: '80%'
  62. ,height: 200
  63. },{
  64. xtype: 'textarea'
  65. ,readOnly: true
  66. ,fieldLabel: _('license')
  67. ,name: 'license'
  68. ,width: '80%'
  69. ,height: 200
  70. },{
  71. xtype: 'textarea'
  72. ,readOnly: true
  73. ,fieldLabel: _('changelog')
  74. ,name: 'changelog'
  75. ,width: '80%'
  76. ,height: 200
  77. }]
  78. }]
  79. },{
  80. title: _('uploaded_versions')
  81. ,defaults: { border: false ,msgTarget: 'side' }
  82. ,items: [{
  83. xtype: 'modx-grid-package-versions'
  84. ,cls: 'main-wrapper'
  85. ,signature: config.signature
  86. ,package_name: config.package_name
  87. ,preventRender: true
  88. }]
  89. }])]
  90. ,listeners: {
  91. 'setup': {fn:this.setup,scope:this}
  92. ,'success': {fn:this.success,scope:this}
  93. ,'beforeSubmit': {fn:this.beforeSubmit,scope:this}
  94. }
  95. });
  96. MODx.panel.Package.superclass.constructor.call(this,config);
  97. };
  98. Ext.extend(MODx.panel.Package,MODx.FormPanel,{
  99. initialized: false
  100. ,setup: function() {
  101. if (this.config.signature === '' || this.config.signature === 0 || this.initialized) {
  102. this.fireEvent('ready');
  103. return false;
  104. }
  105. MODx.Ajax.request({
  106. url: this.config.url
  107. ,params: {
  108. action: 'workspace/packages/get'
  109. ,signature: this.config.signature
  110. }
  111. ,listeners: {
  112. 'success': {fn:function(r) {
  113. this.getForm().setValues(r.object);
  114. Ext.getCmp('modx-package-header').getEl().update(_('package')+': '+r.object.package_name);
  115. this.fireEvent('ready',r.object);
  116. this.initialized = true;
  117. },scope:this}
  118. }
  119. });
  120. }
  121. ,beforeSubmit: function(o) {
  122. return this.fireEvent('save',{
  123. values: this.getForm().getValues()
  124. });
  125. }
  126. ,success: function(r) {
  127. }
  128. });
  129. Ext.reg('modx-panel-package',MODx.panel.Package);