AccessList.js 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. Ext.define('school.view.setting.access.AccessList', {
  2. extend: 'Ext.tree.Panel',
  3. xtype: 'setting-access-accesslist',
  4. reserveScrollbar: true,
  5. useArrows: true,
  6. rootVisible: false,
  7. multiSelect: true,
  8. singleExpand: false,
  9. columns: [{
  10. xtype: 'treecolumn',
  11. text: '菜单',
  12. dataIndex: 'text',
  13. width: 160
  14. }, {
  15. text: '显示',
  16. dataIndex: 'enable',
  17. xtype: 'actioncolumn',
  18. menuDisabled: true,
  19. align: 'center',
  20. handler: 'onToggleEnable',
  21. getClass: 'getEnableCls'
  22. }],
  23. initComponent: function() {
  24. var me = this;
  25. Ext.apply(me, {
  26. store: me.getStore()
  27. });
  28. me.callParent(arguments);
  29. },
  30. getStore: function() {
  31. var me = this,
  32. parent = me.up('setting-access-roleaccess'),
  33. viewModel = parent.getViewModel(),
  34. navStore = viewModel.get('navigationMenu'),
  35. store, data = [];
  36. navStore.each(function(r) {
  37. var items = r.get('items');
  38. var children = items.map(function(item) {
  39. return {
  40. text: item.text,
  41. enable: false,
  42. leaf: true
  43. }
  44. });
  45. data.push({
  46. expanded: true,
  47. text: r.data.text,
  48. children: children,
  49. enable: false
  50. });
  51. });
  52. store = Ext.create('Ext.data.TreeStore', {
  53. fields: ['text', 'enable'],
  54. root: {
  55. text: 'root',
  56. expanded: true
  57. },
  58. data: data,
  59. });
  60. return store;
  61. }
  62. });