| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- Ext.define('saas.override.grid.feature.Grouping', {
- override: 'Ext.grid.feature.Grouping',
- setup: function(rows, rowValues) {
- var me = this,
- data = me.refreshData,
- view = rowValues.view,
- // Need to check if groups have been added since init(), such as in the case of stateful grids.
- isGrouping = view.isGrouping = !me.disabled && me.getGridStore().isGrouped(),
- bufferedRenderer = view.bufferedRenderer;
- me.skippedRows = 0;
- if (bufferedRenderer) {
- bufferedRenderer.variableRowHeight = view.hasVariableRowHeight() || isGrouping;
- }
- data.groupField = me.getGroupField();
- data.header = me.getGroupedHeader(data.groupField);
- data.doGrouping = isGrouping;
- //权限界面的BUG 修改groupHeaderTpl属性会导致报错 暂时修改源码属性 hey
- if(me.grid.xtype=='power-grid'){
- me.groupHeaderTpl = Ext.create('Ext.XTemplate',
- '<div>{rows:this.formatName}</div>',
- {
- formatName: function(name) {
- return name[0].data.moduleName+'模块';
- }
- }
- )
- }
- rowValues.groupHeaderTpl = Ext.XTemplate.getTpl(me, 'groupHeaderTpl');
- if (isGrouping && me.showSummaryRow) {
- data.summaryData = me.generateSummaryData();
- }
- },
- getMetaGroup: function(group) {
- var me = this,
- id = me.getId == null ? me.id : me.getId(),
- key, metaGroup, Model, modelData, groupPlaceholder, aggregateRecord, groupingContext;
- // Get the group from a member record or the group name
- if (group.isModel || typeof group === 'string') {
- group = me.getGroup(group);
- }
- if (group) {
- key = group.getGroupKey();
- groupingContext = group.$groupingContext || (group.$groupingContext = {});
- metaGroup = groupingContext[id];
- if (!metaGroup) {
- Model = me.getGridStore().getModel();
- // Add a placeholder record which represents the group if collapsed.
- modelData = {};
- modelData[me.getGroupField()] = key;
- // Create the two records a group needs to produce a UI.
- // One to represent a collapsed group.
- // And one to append to the end of an expanded group.
- groupPlaceholder = new Model(modelData);
- groupPlaceholder.isNonData = groupPlaceholder.isCollapsedPlaceholder = true;
- groupPlaceholder.groupKey = key;
- aggregateRecord = new Ext.data.Model(modelData);
- aggregateRecord.isNonData = aggregateRecord.isSummary = true;
- aggregateRecord.groupKey = key;
- metaGroup = groupingContext[id] = {
- placeholder: groupPlaceholder,
- isCollapsed: false,
- lastGroup: null,
- lastGroupGeneration: null,
- lastFilterGeneration: null,
- aggregateRecord: aggregateRecord
- };
- }
- }
- return metaGroup;
- }
- });
|