UNPKG

11.3 kBJavaScriptView Raw
1/**
2 * ag-grid - Advanced Data Grid / Data Table supporting Javascript / React / AngularJS / Web Components
3 * @version v18.1.2
4 * @link http://www.ag-grid.com/
5 * @license MIT
6 */
7"use strict";
8var __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};
14var __metadata = (this && this.__metadata) || function (k, v) {
15 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
16};
17Object.defineProperty(exports, "__esModule", { value: true });
18var textCellEditor_1 = require("../../rendering/cellEditors/textCellEditor");
19var context_1 = require("../../context/context");
20var dateFilter_1 = require("../../filter/dateFilter");
21var headerComp_1 = require("../../headerRendering/header/headerComp");
22var headerGroupComp_1 = require("../../headerRendering/headerGroup/headerGroupComp");
23var floatingFilter_1 = require("../../filter/floatingFilter");
24var componentResolver_1 = require("./componentResolver");
25var groupCellRenderer_1 = require("../../rendering/cellRenderers/groupCellRenderer");
26var animateShowChangeCellRenderer_1 = require("../../rendering/cellRenderers/animateShowChangeCellRenderer");
27var animateSlideCellRenderer_1 = require("../../rendering/cellRenderers/animateSlideCellRenderer");
28var rowComp_1 = require("../../rendering/rowComp");
29var selectCellEditor_1 = require("../../rendering/cellEditors/selectCellEditor");
30var popupTextCellEditor_1 = require("../../rendering/cellEditors/popupTextCellEditor");
31var popupSelectCellEditor_1 = require("../../rendering/cellEditors/popupSelectCellEditor");
32var largeTextCellEditor_1 = require("../../rendering/cellEditors/largeTextCellEditor");
33var textFilter_1 = require("../../filter/textFilter");
34var numberFilter_1 = require("../../filter/numberFilter");
35var loadingOverlayComponent_1 = require("../../rendering/overlays/loadingOverlayComponent");
36var noRowsOverlayComponent_1 = require("../../rendering/overlays/noRowsOverlayComponent");
37var utils_1 = require("../../utils");
38var RegisteredComponentSource;
39(function (RegisteredComponentSource) {
40 RegisteredComponentSource[RegisteredComponentSource["DEFAULT"] = 0] = "DEFAULT";
41 RegisteredComponentSource[RegisteredComponentSource["REGISTERED"] = 1] = "REGISTERED";
42})(RegisteredComponentSource = exports.RegisteredComponentSource || (exports.RegisteredComponentSource = {}));
43var ComponentProvider = (function () {
44 function ComponentProvider() {
45 this.agGridDefaults = {
46 //date
47 agDateInput: dateFilter_1.DefaultDateComponent,
48 //header
49 agColumnHeader: headerComp_1.HeaderComp,
50 agColumnGroupHeader: headerGroupComp_1.HeaderGroupComp,
51 //floating filters
52 agSetColumnFloatingFilter: floatingFilter_1.SetFloatingFilterComp,
53 agTextColumnFloatingFilter: floatingFilter_1.TextFloatingFilterComp,
54 agNumberColumnFloatingFilter: floatingFilter_1.NumberFloatingFilterComp,
55 agDateColumnFloatingFilter: floatingFilter_1.DateFloatingFilterComp,
56 // renderers
57 agAnimateShowChangeCellRenderer: animateShowChangeCellRenderer_1.AnimateShowChangeCellRenderer,
58 agAnimateSlideCellRenderer: animateSlideCellRenderer_1.AnimateSlideCellRenderer,
59 agGroupCellRenderer: groupCellRenderer_1.GroupCellRenderer,
60 agGroupRowRenderer: groupCellRenderer_1.GroupCellRenderer,
61 agLoadingCellRenderer: rowComp_1.LoadingCellRenderer,
62 //editors
63 agCellEditor: textCellEditor_1.TextCellEditor,
64 agTextCellEditor: textCellEditor_1.TextCellEditor,
65 agSelectCellEditor: selectCellEditor_1.SelectCellEditor,
66 agPopupTextCellEditor: popupTextCellEditor_1.PopupTextCellEditor,
67 agPopupSelectCellEditor: popupSelectCellEditor_1.PopupSelectCellEditor,
68 agLargeTextCellEditor: largeTextCellEditor_1.LargeTextCellEditor,
69 //filter
70 agTextColumnFilter: textFilter_1.TextFilter,
71 agNumberColumnFilter: numberFilter_1.NumberFilter,
72 agDateColumnFilter: dateFilter_1.DateFilter,
73 //overlays
74 agLoadingOverlay: loadingOverlayComponent_1.LoadingOverlayComponent,
75 agNoRowsOverlay: noRowsOverlayComponent_1.NoRowsOverlayComponent
76 };
77 this.agDeprecatedNames = {
78 set: {
79 newComponentName: 'agSetColumnFilter',
80 propertyHolder: 'filter'
81 },
82 text: {
83 newComponentName: 'agTextColumnFilter',
84 propertyHolder: 'filter'
85 },
86 number: {
87 newComponentName: 'agNumberColumnFilter',
88 propertyHolder: 'filter'
89 },
90 date: {
91 newComponentName: 'agDateColumnFilter',
92 propertyHolder: 'filter'
93 },
94 group: {
95 newComponentName: 'agGroupCellRenderer',
96 propertyHolder: 'cellRenderer'
97 },
98 animateShowChange: {
99 newComponentName: 'agAnimateShowChangeCellRenderer',
100 propertyHolder: 'cellRenderer'
101 },
102 animateSlide: {
103 newComponentName: 'agAnimateSlideCellRenderer',
104 propertyHolder: 'cellRenderer'
105 },
106 select: {
107 newComponentName: 'agSelectCellEditor',
108 propertyHolder: 'cellEditor'
109 },
110 largeText: {
111 newComponentName: 'agLargeTextCellEditor',
112 propertyHolder: 'cellEditor'
113 },
114 popupSelect: {
115 newComponentName: 'agPopupSelectCellEditor',
116 propertyHolder: 'cellEditor'
117 },
118 popupText: {
119 newComponentName: 'agPopupTextCellEditor',
120 propertyHolder: 'cellEditor'
121 },
122 richSelect: {
123 newComponentName: 'agRichSelectCellEditor',
124 propertyHolder: 'cellEditor'
125 },
126 headerComponent: {
127 newComponentName: 'agColumnHeader',
128 propertyHolder: 'headerComponent'
129 }
130 };
131 this.jsComponents = {};
132 this.frameworkComponents = {};
133 }
134 ComponentProvider.prototype.init = function () {
135 var _this = this;
136 if (this.gridOptions.components != null) {
137 Object.keys(this.gridOptions.components).forEach(function (it) {
138 _this.registerComponent(it, _this.gridOptions.components[it]);
139 });
140 }
141 if (this.gridOptions.frameworkComponents != null) {
142 Object.keys(this.gridOptions.frameworkComponents).forEach(function (it) {
143 _this.registerFwComponent(it, _this.gridOptions.frameworkComponents[it]);
144 });
145 }
146 };
147 ComponentProvider.prototype.registerDefaultComponent = function (rawName, component, overridable) {
148 if (overridable === void 0) { overridable = true; }
149 var name = this.translateIfDeprecated(rawName);
150 if (this.agGridDefaults[name]) {
151 console.error("Trying to overwrite a default component. You should call registerComponent");
152 return;
153 }
154 this.agGridDefaults[name] = component;
155 };
156 ComponentProvider.prototype.registerComponent = function (rawName, component) {
157 var name = this.translateIfDeprecated(rawName);
158 if (this.frameworkComponents[name]) {
159 console.error("Trying to register a component that you have already registered for frameworks: " + name);
160 return;
161 }
162 this.jsComponents[name] = component;
163 };
164 /**
165 * B the business interface (ie IHeader)
166 * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
167 */
168 ComponentProvider.prototype.registerFwComponent = function (rawName, component) {
169 var name = this.translateIfDeprecated(rawName);
170 if (this.jsComponents[name]) {
171 console.error("Trying to register a component that you have already registered for plain javascript: " + name);
172 return;
173 }
174 this.frameworkComponents[name] = component;
175 };
176 /**
177 * B the business interface (ie IHeader)
178 * A the agGridComponent interface (ie IHeaderComp). The final object acceptable by ag-grid
179 */
180 ComponentProvider.prototype.retrieve = function (rawName) {
181 var name = this.translateIfDeprecated(rawName);
182 if (this.frameworkComponents[name]) {
183 return {
184 type: componentResolver_1.ComponentType.FRAMEWORK,
185 component: this.frameworkComponents[name],
186 source: RegisteredComponentSource.REGISTERED
187 };
188 }
189 if (this.jsComponents[name]) {
190 return {
191 type: componentResolver_1.ComponentType.AG_GRID,
192 component: this.jsComponents[name],
193 source: RegisteredComponentSource.REGISTERED
194 };
195 }
196 if (this.agGridDefaults[name]) {
197 return this.agGridDefaults[name] ?
198 {
199 type: componentResolver_1.ComponentType.AG_GRID,
200 component: this.agGridDefaults[name],
201 source: RegisteredComponentSource.DEFAULT
202 } :
203 null;
204 }
205 if (Object.keys(this.agGridDefaults).indexOf(name) < 0) {
206 console.warn("ag-grid: Looking for component [" + name + "] but it wasn't found.");
207 }
208 return null;
209 };
210 ComponentProvider.prototype.translateIfDeprecated = function (raw) {
211 var deprecatedInfo = this.agDeprecatedNames[raw];
212 if (deprecatedInfo != null) {
213 utils_1._.doOnce(function () {
214 console.warn("ag-grid. Since v15.0 component names have been renamed to be namespaced. You should rename " + deprecatedInfo.propertyHolder + ":" + raw + " to " + deprecatedInfo.propertyHolder + ":" + deprecatedInfo.newComponentName);
215 }, 'DEPREACTE_COMPONENT_' + raw);
216 return deprecatedInfo.newComponentName;
217 }
218 return raw;
219 };
220 __decorate([
221 context_1.Autowired('gridOptions'),
222 __metadata("design:type", Object)
223 ], ComponentProvider.prototype, "gridOptions", void 0);
224 __decorate([
225 context_1.PostConstruct,
226 __metadata("design:type", Function),
227 __metadata("design:paramtypes", []),
228 __metadata("design:returntype", void 0)
229 ], ComponentProvider.prototype, "init", null);
230 ComponentProvider = __decorate([
231 context_1.Bean('componentProvider')
232 ], ComponentProvider);
233 return ComponentProvider;
234}());
235exports.ComponentProvider = ComponentProvider;