1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | "use strict";
|
8 | var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
9 | var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
10 | if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
11 | else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
12 | return c > 3 && r && Object.defineProperty(target, key, r), r;
|
13 | };
|
14 | var __metadata = (this && this.__metadata) || function (k, v) {
|
15 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
16 | };
|
17 | Object.defineProperty(exports, "__esModule", { value: true });
|
18 | var context_1 = require("../context/context");
|
19 | var column_1 = require("../entities/column");
|
20 | var gridOptionsWrapper_1 = require("../gridOptionsWrapper");
|
21 | var utils_1 = require("../utils");
|
22 | var columnController_1 = require("./columnController");
|
23 | var balancedColumnTreeBuilder_1 = require("./balancedColumnTreeBuilder");
|
24 | var AutoGroupColService = (function () {
|
25 | function AutoGroupColService() {
|
26 | }
|
27 | AutoGroupColService_1 = AutoGroupColService;
|
28 | AutoGroupColService.prototype.createAutoGroupColumns = function (rowGroupColumns) {
|
29 | var _this = this;
|
30 | var groupAutoColumns = [];
|
31 | var doingTreeData = this.gridOptionsWrapper.isTreeData();
|
32 | var doingMultiAutoColumn = this.gridOptionsWrapper.isGroupMultiAutoColumn();
|
33 | if (doingTreeData && doingMultiAutoColumn) {
|
34 | console.log('ag-Grid: you cannot mix groupMultiAutoColumn with treeData, only one column can be used to display groups when doing tree data');
|
35 | doingMultiAutoColumn = false;
|
36 | }
|
37 |
|
38 |
|
39 | if (doingMultiAutoColumn) {
|
40 | rowGroupColumns.forEach(function (rowGroupCol, index) {
|
41 | groupAutoColumns.push(_this.createOneAutoGroupColumn(rowGroupCol, index));
|
42 | });
|
43 | }
|
44 | else {
|
45 | groupAutoColumns.push(this.createOneAutoGroupColumn(null));
|
46 | }
|
47 | return groupAutoColumns;
|
48 | };
|
49 |
|
50 | AutoGroupColService.prototype.createOneAutoGroupColumn = function (rowGroupCol, index) {
|
51 |
|
52 | var defaultAutoColDef = this.generateDefaultColDef(rowGroupCol);
|
53 |
|
54 | var colId;
|
55 | if (rowGroupCol) {
|
56 | colId = AutoGroupColService_1.GROUP_AUTO_COLUMN_ID + "-" + rowGroupCol.getId();
|
57 | }
|
58 | else {
|
59 | colId = AutoGroupColService_1.GROUP_AUTO_COLUMN_BUNDLE_ID;
|
60 | }
|
61 | var userAutoColDef = this.gridOptionsWrapper.getAutoGroupColumnDef();
|
62 | utils_1._.mergeDeep(defaultAutoColDef, userAutoColDef);
|
63 | defaultAutoColDef = this.balancedColumnTreeBuilder.mergeColDefs(defaultAutoColDef);
|
64 | defaultAutoColDef.colId = colId;
|
65 |
|
66 | if (!this.gridOptionsWrapper.isTreeData()) {
|
67 |
|
68 |
|
69 | var noFieldOrValueGetter = utils_1._.missing(defaultAutoColDef.field) && utils_1._.missing(defaultAutoColDef.valueGetter) && utils_1._.missing(defaultAutoColDef.filterValueGetter);
|
70 | if (noFieldOrValueGetter) {
|
71 | defaultAutoColDef.suppressFilter = true;
|
72 | }
|
73 | }
|
74 |
|
75 | if (index > 0) {
|
76 | defaultAutoColDef.headerCheckboxSelection = false;
|
77 | }
|
78 | var newCol = new column_1.Column(defaultAutoColDef, colId, true);
|
79 | this.context.wireBean(newCol);
|
80 | return newCol;
|
81 | };
|
82 | AutoGroupColService.prototype.generateDefaultColDef = function (rowGroupCol) {
|
83 | var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();
|
84 | var defaultAutoColDef = {
|
85 | headerName: localeTextFunc('group', 'Group'),
|
86 | cellRenderer: 'agGroupCellRenderer'
|
87 | };
|
88 |
|
89 |
|
90 | if (rowGroupCol) {
|
91 | var rowGroupColDef = rowGroupCol.getColDef();
|
92 | utils_1._.assign(defaultAutoColDef, {
|
93 |
|
94 | headerName: this.columnController.getDisplayNameForColumn(rowGroupCol, 'header'),
|
95 | headerValueGetter: rowGroupColDef.headerValueGetter
|
96 | });
|
97 | if (rowGroupColDef.cellRenderer) {
|
98 | utils_1._.assign(defaultAutoColDef, {
|
99 | cellRendererParams: {
|
100 | innerRenderer: rowGroupColDef.cellRenderer,
|
101 | innerRendererParams: rowGroupColDef.cellRendererParams
|
102 | }
|
103 | });
|
104 | }
|
105 | defaultAutoColDef.showRowGroup = rowGroupCol.getColId();
|
106 | }
|
107 | else {
|
108 | defaultAutoColDef.showRowGroup = true;
|
109 | }
|
110 | return defaultAutoColDef;
|
111 | };
|
112 | AutoGroupColService.GROUP_AUTO_COLUMN_ID = 'ag-Grid-AutoColumn';
|
113 | AutoGroupColService.GROUP_AUTO_COLUMN_BUNDLE_ID = AutoGroupColService_1.GROUP_AUTO_COLUMN_ID;
|
114 | __decorate([
|
115 | context_1.Autowired('gridOptionsWrapper'),
|
116 | __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
|
117 | ], AutoGroupColService.prototype, "gridOptionsWrapper", void 0);
|
118 | __decorate([
|
119 | context_1.Autowired('context'),
|
120 | __metadata("design:type", context_1.Context)
|
121 | ], AutoGroupColService.prototype, "context", void 0);
|
122 | __decorate([
|
123 | context_1.Autowired('columnController'),
|
124 | __metadata("design:type", columnController_1.ColumnController)
|
125 | ], AutoGroupColService.prototype, "columnController", void 0);
|
126 | __decorate([
|
127 | context_1.Autowired('balancedColumnTreeBuilder'),
|
128 | __metadata("design:type", balancedColumnTreeBuilder_1.BalancedColumnTreeBuilder)
|
129 | ], AutoGroupColService.prototype, "balancedColumnTreeBuilder", void 0);
|
130 | AutoGroupColService = AutoGroupColService_1 = __decorate([
|
131 | context_1.Bean('autoGroupColService')
|
132 | ], AutoGroupColService);
|
133 | return AutoGroupColService;
|
134 | var AutoGroupColService_1;
|
135 | }());
|
136 | exports.AutoGroupColService = AutoGroupColService;
|