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 floatingFilter_1 = require("../../filter/floatingFilter");
|
20 | var gridOptionsWrapper_1 = require("../../gridOptionsWrapper");
|
21 | var floatingFilterWrapper_1 = require("../../filter/floatingFilterWrapper");
|
22 | var filterManager_1 = require("../../filter/filterManager");
|
23 | var componentResolver_1 = require("./componentResolver");
|
24 | var utils_1 = require("../../utils");
|
25 | var overlayWrapperComponent_1 = require("../../rendering/overlays/overlayWrapperComponent");
|
26 | var gridApi_1 = require("../../gridApi");
|
27 | var columnApi_1 = require("../../columnController/columnApi");
|
28 | var ComponentType;
|
29 | (function (ComponentType) {
|
30 | ComponentType[ComponentType["AG_GRID"] = 0] = "AG_GRID";
|
31 | ComponentType[ComponentType["FRAMEWORK"] = 1] = "FRAMEWORK";
|
32 | })(ComponentType || (ComponentType = {}));
|
33 | var ComponentRecipes = (function () {
|
34 | function ComponentRecipes() {
|
35 | }
|
36 | ComponentRecipes_1 = ComponentRecipes;
|
37 | ComponentRecipes.prototype.newDateComponent = function (params) {
|
38 | return this.componentResolver.createAgGridComponent(this.gridOptions, params, "dateComponent", {
|
39 | api: this.gridApi,
|
40 | columnApi: this.columnApi
|
41 | }, "agDateInput");
|
42 | };
|
43 | ComponentRecipes.prototype.newHeaderComponent = function (params) {
|
44 | return this.componentResolver.createAgGridComponent(params.column.getColDef(), params, "headerComponent", {
|
45 | api: this.gridApi,
|
46 | columnApi: this.columnApi,
|
47 | column: params.column,
|
48 | colDef: params.column.getColDef()
|
49 | }, "agColumnHeader");
|
50 | };
|
51 | ComponentRecipes.prototype.newHeaderGroupComponent = function (params) {
|
52 | return this.componentResolver.createAgGridComponent(params.columnGroup.getColGroupDef(), params, "headerGroupComponent", {
|
53 | api: this.gridApi,
|
54 | columnApi: this.columnApi
|
55 | }, "agColumnGroupHeader");
|
56 | };
|
57 | ComponentRecipes.prototype.newFloatingFilterWrapperComponent = function (column, params) {
|
58 | var _this = this;
|
59 | var colDef = column.getColDef();
|
60 | if (colDef.suppressFilter) {
|
61 | return this.newEmptyFloatingFilterWrapperComponent(column);
|
62 | }
|
63 | var defaultFloatingFilterType;
|
64 | if (!colDef.filter) {
|
65 | defaultFloatingFilterType = this.gridOptionsWrapper.isEnterprise() ? 'agSetColumnFloatingFilter' : 'agTextColumnFloatingFilter';
|
66 | }
|
67 | else if (typeof colDef.filter === 'string' && Object.keys(ComponentRecipes_1.filterToFloatingFilterNames).indexOf(colDef.filter) > -1) {
|
68 | defaultFloatingFilterType = ComponentRecipes_1.filterToFloatingFilterNames[colDef.filter];
|
69 | }
|
70 | var dynamicComponentParams = {
|
71 | column: column,
|
72 | colDef: colDef,
|
73 | api: this.gridApi,
|
74 | columnApi: this.columnApi
|
75 | };
|
76 | var floatingFilter = this.componentResolver.createAgGridComponent(colDef, params, "floatingFilterComponent", dynamicComponentParams, defaultFloatingFilterType, false);
|
77 | var floatingFilterWrapperComponentParams = {
|
78 | column: column,
|
79 | floatingFilterComp: floatingFilter,
|
80 | suppressFilterButton: this.componentResolver.mergeParams(colDef, 'floatingFilterComponent', dynamicComponentParams, params).suppressFilterButton
|
81 | };
|
82 | if (!floatingFilter) {
|
83 | var filterComponent = this.getFilterComponentPrototype(colDef);
|
84 | if (filterComponent && !filterComponent.component.prototype.getModelAsString) {
|
85 | return this.newEmptyFloatingFilterWrapperComponent(column);
|
86 | }
|
87 | var rawModelFn_1 = params.currentParentModel;
|
88 | params.currentParentModel = function () {
|
89 | var parentPromise = _this.filterManager.getFilterComponent(column);
|
90 | return parentPromise.resolveNow(null, function (parent) { return parent.getModelAsString ? parent.getModelAsString(rawModelFn_1()) : null; });
|
91 | };
|
92 | floatingFilterWrapperComponentParams.floatingFilterComp = utils_1.Promise.resolve(this.componentResolver.createInternalAgGridComponent(floatingFilter_1.ReadModelAsStringFloatingFilterComp, params));
|
93 | }
|
94 | return this.componentResolver.createInternalAgGridComponent(floatingFilterWrapper_1.FloatingFilterWrapperComp, floatingFilterWrapperComponentParams);
|
95 | };
|
96 | ComponentRecipes.prototype.newFullWidthGroupRowInnerCellRenderer = function (params) {
|
97 | return this.componentResolver.createAgGridComponent(this.gridOptions, params, "groupRowInnerRenderer", params, null, false);
|
98 | };
|
99 | ComponentRecipes.prototype.newCellRenderer = function (target, params) {
|
100 | return this.componentResolver.createAgGridComponent(target, params, "cellRenderer", params, null, false);
|
101 | };
|
102 | ComponentRecipes.prototype.newInnerCellRenderer = function (target, params) {
|
103 | return this.componentResolver.createAgGridComponent(target, params, "innerRenderer", params, null);
|
104 | };
|
105 | ComponentRecipes.prototype.newFullRowGroupRenderer = function (params) {
|
106 | return this.componentResolver.createAgGridComponent(this.gridOptionsWrapper, params, "fullWidthCellRenderer", params, null);
|
107 | };
|
108 | ComponentRecipes.prototype.newOverlayWrapperComponent = function () {
|
109 | return this.componentResolver.createInternalAgGridComponent(overlayWrapperComponent_1.OverlayWrapperComponent, null);
|
110 | };
|
111 | ComponentRecipes.prototype.newLoadingOverlayComponent = function () {
|
112 | return this.componentResolver.createAgGridComponent(this.gridOptions, null, "loadingOverlayComponent", {
|
113 | api: this.gridApi,
|
114 | columnApi: this.columnApi
|
115 | }, "agLoadingOverlay");
|
116 | };
|
117 | ComponentRecipes.prototype.newNoRowsOverlayComponent = function () {
|
118 | return this.componentResolver.createAgGridComponent(this.gridOptions, null, "noRowsOverlayComponent", {
|
119 | api: this.gridApi,
|
120 | columnApi: this.columnApi
|
121 | }, "agNoRowsOverlay");
|
122 | };
|
123 | ComponentRecipes.prototype.getFilterComponentPrototype = function (colDef) {
|
124 | return this.componentResolver.getComponentToUse(colDef, "filter", {
|
125 | api: this.gridApi,
|
126 | columnApi: this.columnApi,
|
127 | colDef: colDef
|
128 | });
|
129 | };
|
130 | ComponentRecipes.prototype.newEmptyFloatingFilterWrapperComponent = function (column) {
|
131 | var floatingFilterWrapperComponentParams = {
|
132 | column: column,
|
133 | floatingFilterComp: null
|
134 | };
|
135 | return this.componentResolver.createInternalAgGridComponent(floatingFilterWrapper_1.EmptyFloatingFilterWrapperComp, floatingFilterWrapperComponentParams);
|
136 | };
|
137 | ComponentRecipes.filterToFloatingFilterNames = {
|
138 | set: 'agSetColumnFloatingFilter',
|
139 | agSetColumnFilter: 'agSetColumnFloatingFilter',
|
140 | number: 'agNumberColumnFloatingFilter',
|
141 | agNumberColumnFilter: 'agNumberColumnFloatingFilter',
|
142 | date: 'agDateColumnFloatingFilter',
|
143 | agDateColumnFilter: 'agDateColumnFloatingFilter',
|
144 | text: 'agTextColumnFloatingFilter',
|
145 | agTextColumnFilter: 'agTextColumnFloatingFilter'
|
146 | };
|
147 | __decorate([
|
148 | context_1.Autowired("componentResolver"),
|
149 | __metadata("design:type", componentResolver_1.ComponentResolver)
|
150 | ], ComponentRecipes.prototype, "componentResolver", void 0);
|
151 | __decorate([
|
152 | context_1.Autowired("gridOptions"),
|
153 | __metadata("design:type", Object)
|
154 | ], ComponentRecipes.prototype, "gridOptions", void 0);
|
155 | __decorate([
|
156 | context_1.Autowired("gridApi"),
|
157 | __metadata("design:type", gridApi_1.GridApi)
|
158 | ], ComponentRecipes.prototype, "gridApi", void 0);
|
159 | __decorate([
|
160 | context_1.Autowired("columnApi"),
|
161 | __metadata("design:type", columnApi_1.ColumnApi)
|
162 | ], ComponentRecipes.prototype, "columnApi", void 0);
|
163 | __decorate([
|
164 | context_1.Autowired("gridOptionsWrapper"),
|
165 | __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
|
166 | ], ComponentRecipes.prototype, "gridOptionsWrapper", void 0);
|
167 | __decorate([
|
168 | context_1.Autowired('filterManager'),
|
169 | __metadata("design:type", filterManager_1.FilterManager)
|
170 | ], ComponentRecipes.prototype, "filterManager", void 0);
|
171 | ComponentRecipes = ComponentRecipes_1 = __decorate([
|
172 | context_1.Bean('componentRecipes')
|
173 | ], ComponentRecipes);
|
174 | return ComponentRecipes;
|
175 | var ComponentRecipes_1;
|
176 | }());
|
177 | exports.ComponentRecipes = ComponentRecipes;
|