UNPKG

7.78 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 context_1 = require("../context/context");
19var componentRecipes_1 = require("../components/framework/componentRecipes");
20var componentResolver_1 = require("../components/framework/componentResolver");
21var utils_1 = require("../utils");
22var gridOptionsWrapper_1 = require("../gridOptionsWrapper");
23/** Class to use a cellRenderer. */
24var CellRendererService = (function () {
25 function CellRendererService() {
26 }
27 CellRendererService.prototype.useCellRenderer = function (target, eTarget, params) {
28 var _this = this;
29 var cellRendererPromise = this.componentRecipes.newCellRenderer(target, params);
30 if (cellRendererPromise != null) {
31 cellRendererPromise.then(function (cellRenderer) {
32 if (cellRenderer == null) {
33 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
34 }
35 else {
36 _this.bindToHtml(cellRendererPromise, eTarget);
37 }
38 });
39 }
40 else {
41 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
42 }
43 return cellRendererPromise;
44 };
45 CellRendererService.prototype.useFilterCellRenderer = function (target, eTarget, params) {
46 var cellRendererPromise = this.componentRecipes.newCellRenderer(target.filterParams, params);
47 if (cellRendererPromise != null) {
48 this.bindToHtml(cellRendererPromise, eTarget);
49 }
50 else {
51 if (params.valueFormatted == null && params.value == null) {
52 var localeTextFunc = this.gridOptionsWrapper.getLocaleTextFunc();
53 eTarget.innerText = '(' + localeTextFunc('blanks', 'Blanks') + ')';
54 }
55 else {
56 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
57 }
58 }
59 return cellRendererPromise;
60 };
61 CellRendererService.prototype.useRichSelectCellRenderer = function (target, eTarget, params) {
62 var cellRendererPromise = this.componentRecipes.newCellRenderer(target.cellEditorParams, params);
63 if (cellRendererPromise != null) {
64 this.bindToHtml(cellRendererPromise, eTarget);
65 }
66 else {
67 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
68 }
69 return cellRendererPromise;
70 };
71 CellRendererService.prototype.useInnerCellRenderer = function (target, originalColumn, eTarget, params) {
72 var _this = this;
73 var rendererToUsePromise = null;
74 var componentToUse = this.componentResolver.getComponentToUse(target, "innerRenderer", null);
75 if (componentToUse && componentToUse.component != null && componentToUse.source != componentResolver_1.ComponentSource.DEFAULT) {
76 //THERE IS ONE INNER CELL RENDERER HARDCODED IN THE COLDEF FOR THIS GROUP COLUMN
77 rendererToUsePromise = this.componentRecipes.newInnerCellRenderer(target, params);
78 }
79 else {
80 var otherRenderer = this.componentResolver.getComponentToUse(originalColumn, "cellRenderer", null);
81 if (otherRenderer && otherRenderer.source != componentResolver_1.ComponentSource.DEFAULT) {
82 //Only if the original column is using an specific renderer, it it is a using a DEFAULT one
83 //ignore it
84 //THIS COMES FROM A COLUMN WHICH HAS BEEN GROUPED DYNAMICALLY, WE REUSE ITS RENDERER
85 rendererToUsePromise = this.componentRecipes.newCellRenderer(originalColumn, params);
86 }
87 else if (otherRenderer && otherRenderer.source == componentResolver_1.ComponentSource.DEFAULT && (utils_1._.get(originalColumn, 'cellRendererParams.innerRenderer', null))) {
88 //EDGE CASE - THIS COMES FROM A COLUMN WHICH HAS BEEN GROUPED DYNAMICALLY, THAT HAS AS RENDERER 'group'
89 //AND HAS A INNER CELL RENDERER
90 rendererToUsePromise = this.componentRecipes.newInnerCellRenderer(originalColumn.cellRendererParams, params);
91 }
92 else {
93 //This forces the retrieval of the default plain cellRenderer that just renders the values.
94 rendererToUsePromise = this.componentRecipes.newCellRenderer({}, params);
95 }
96 }
97 if (rendererToUsePromise != null) {
98 rendererToUsePromise.then(function (rendererToUse) {
99 if (rendererToUse == null) {
100 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
101 return;
102 }
103 _this.bindToHtml(rendererToUsePromise, eTarget);
104 });
105 }
106 else {
107 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
108 }
109 return rendererToUsePromise;
110 };
111 CellRendererService.prototype.useFullWidthGroupRowInnerCellRenderer = function (eTarget, params) {
112 var cellRendererPromise = this.componentRecipes.newFullWidthGroupRowInnerCellRenderer(params);
113 if (cellRendererPromise != null) {
114 this.bindToHtml(cellRendererPromise, eTarget);
115 }
116 else {
117 eTarget.innerText = params.valueFormatted != null ? params.valueFormatted : params.value;
118 }
119 return cellRendererPromise;
120 };
121 CellRendererService.prototype.bindToHtml = function (cellRendererPromise, eTarget) {
122 cellRendererPromise.then(function (cellRenderer) {
123 var gui = cellRenderer.getGui();
124 if (gui != null) {
125 if (typeof gui == 'object') {
126 eTarget.appendChild(gui);
127 }
128 else {
129 eTarget.innerHTML = gui;
130 }
131 }
132 });
133 return cellRendererPromise;
134 };
135 __decorate([
136 context_1.Autowired('componentRecipes'),
137 __metadata("design:type", componentRecipes_1.ComponentRecipes)
138 ], CellRendererService.prototype, "componentRecipes", void 0);
139 __decorate([
140 context_1.Autowired('componentResolver'),
141 __metadata("design:type", componentResolver_1.ComponentResolver)
142 ], CellRendererService.prototype, "componentResolver", void 0);
143 __decorate([
144 context_1.Autowired('gridOptionsWrapper'),
145 __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
146 ], CellRendererService.prototype, "gridOptionsWrapper", void 0);
147 CellRendererService = __decorate([
148 context_1.Bean('cellRendererService')
149 ], CellRendererService);
150 return CellRendererService;
151}());
152exports.CellRendererService = CellRendererService;