workspace.panel.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. /**
  2. * The package list container
  3. *
  4. * @class MODx.panel.Workspace
  5. * @extends MODx.Panel
  6. * @param {Object} config An object of options.
  7. * @xtype modx-panel-workspace
  8. */
  9. MODx.panel.Workspace = function(config) {
  10. config = config || {};
  11. Ext.applyIf(config,{
  12. id: 'modx-panel-workspace'
  13. ,cls: 'container'
  14. ,bodyStyle: ''
  15. ,unstyled:true
  16. ,items: this.getItems(config)
  17. });
  18. MODx.panel.Workspace.superclass.constructor.call(this,config);
  19. };
  20. Ext.extend(MODx.panel.Workspace,MODx.Panel ,{
  21. getItems: function(config) {
  22. var i = [{
  23. html: _('package_management')
  24. ,id: 'modx-workspace-header'
  25. ,xtype: 'modx-header'
  26. }];
  27. if (MODx.errors.length > 0) {
  28. var errors = [];
  29. Ext.each(MODx.errors, function(error) {
  30. errors.push('<p>'+error+'</p>')
  31. });
  32. errors.join('<hr>');
  33. i.push([{
  34. html: '<h3>'+_('warning')+'</h3>' + errors,
  35. cls: 'modx-page-header'
  36. }]);
  37. }
  38. i.push([MODx.getPageStructure([{
  39. title: _('packages')
  40. ,items:[{
  41. xtype: 'modx-breadcrumbs-panel'
  42. ,id: 'packages-breadcrumbs'
  43. ,desc: _('packages_desc')
  44. ,root : {
  45. text : 'Packages List'
  46. ,className: 'first'
  47. ,root: true
  48. ,pnl: 'modx-panel-packages'
  49. }
  50. },{
  51. layout:'card'
  52. ,id:'card-container'
  53. ,activeItem:0
  54. ,border: false
  55. ,autoHeight: true
  56. ,defaults:{
  57. cls: 'main-wrapper'
  58. ,preventRender: true
  59. ,autoHeight: true
  60. }
  61. ,items: [{
  62. xtype: 'modx-panel-packages'
  63. ,id: 'modx-panel-packages'
  64. },{
  65. xtype: 'modx-panel-packages-browser'
  66. ,id: 'modx-panel-packages-browser'
  67. }]
  68. }]
  69. },{
  70. title: _('providers')
  71. ,autoHeight: true
  72. ,layout: 'form'
  73. ,items: [{
  74. html: '<p>'+_('providers_desc')+'</p>'
  75. ,xtype: 'modx-description'
  76. },{
  77. xtype: 'modx-grid-provider'
  78. ,id: 'modx-grid-provider'
  79. ,cls: 'main-wrapper'
  80. ,title: ''
  81. ,preventRender: true
  82. }]
  83. }])]);
  84. return i;
  85. }
  86. });
  87. Ext.reg('modx-panel-workspace',MODx.panel.Workspace);