UNPKG

9.04 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 __extends = (this && this.__extends) || (function () {
9 var extendStatics = Object.setPrototypeOf ||
10 ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
11 function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
12 return function (d, b) {
13 extendStatics(d, b);
14 function __() { this.constructor = d; }
15 d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
16 };
17})();
18var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
19 var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
20 if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
21 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;
22 return c > 3 && r && Object.defineProperty(target, key, r), r;
23};
24var __metadata = (this && this.__metadata) || function (k, v) {
25 if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
26};
27Object.defineProperty(exports, "__esModule", { value: true });
28var context_1 = require("../context/context");
29var column_1 = require("../entities/column");
30var utils_1 = require("../utils");
31var setLeftFeature_1 = require("../rendering/features/setLeftFeature");
32var component_1 = require("../widgets/component");
33var componentAnnotations_1 = require("../widgets/componentAnnotations");
34var gridOptionsWrapper_1 = require("../gridOptionsWrapper");
35var beans_1 = require("../rendering/beans");
36var hoverFeature_1 = require("../headerRendering/hoverFeature");
37var events_1 = require("../events");
38var eventService_1 = require("../eventService");
39var columnHoverService_1 = require("../rendering/columnHoverService");
40var BaseFilterWrapperComp = (function (_super) {
41 __extends(BaseFilterWrapperComp, _super);
42 function BaseFilterWrapperComp() {
43 return _super !== null && _super.apply(this, arguments) || this;
44 }
45 BaseFilterWrapperComp.prototype.init = function (params) {
46 this.column = params.column;
47 var base = utils_1._.loadTemplate("<div class=\"ag-header-cell\" aria-hidden=\"true\"><div class=\"ag-floating-filter-body\" aria-hidden=\"true\"></div></div>");
48 this.enrichBody(base);
49 this.setTemplateFromElement(base);
50 this.setupWidth();
51 this.addColumnHoverListener();
52 this.addFeature(this.context, new hoverFeature_1.HoverFeature([this.column], this.getGui()));
53 var setLeftFeature = new setLeftFeature_1.SetLeftFeature(this.column, this.getGui(), this.beans);
54 setLeftFeature.init();
55 this.addDestroyFunc(setLeftFeature.destroy.bind(setLeftFeature));
56 };
57 BaseFilterWrapperComp.prototype.addColumnHoverListener = function () {
58 this.addDestroyableEventListener(this.eventService, events_1.Events.EVENT_COLUMN_HOVER_CHANGED, this.onColumnHover.bind(this));
59 this.onColumnHover();
60 };
61 BaseFilterWrapperComp.prototype.onColumnHover = function () {
62 var isHovered = this.columnHoverService.isHovered(this.column);
63 utils_1._.addOrRemoveCssClass(this.getGui(), 'ag-column-hover', isHovered);
64 };
65 BaseFilterWrapperComp.prototype.setupWidth = function () {
66 this.addDestroyableEventListener(this.column, column_1.Column.EVENT_WIDTH_CHANGED, this.onColumnWidthChanged.bind(this));
67 this.onColumnWidthChanged();
68 };
69 BaseFilterWrapperComp.prototype.onColumnWidthChanged = function () {
70 this.getGui().style.width = this.column.getActualWidth() + 'px';
71 };
72 __decorate([
73 context_1.Autowired('context'),
74 __metadata("design:type", context_1.Context)
75 ], BaseFilterWrapperComp.prototype, "context", void 0);
76 __decorate([
77 context_1.Autowired('columnHoverService'),
78 __metadata("design:type", columnHoverService_1.ColumnHoverService)
79 ], BaseFilterWrapperComp.prototype, "columnHoverService", void 0);
80 __decorate([
81 context_1.Autowired('eventService'),
82 __metadata("design:type", eventService_1.EventService)
83 ], BaseFilterWrapperComp.prototype, "eventService", void 0);
84 __decorate([
85 context_1.Autowired('beans'),
86 __metadata("design:type", beans_1.Beans)
87 ], BaseFilterWrapperComp.prototype, "beans", void 0);
88 return BaseFilterWrapperComp;
89}(component_1.Component));
90exports.BaseFilterWrapperComp = BaseFilterWrapperComp;
91var FloatingFilterWrapperComp = (function (_super) {
92 __extends(FloatingFilterWrapperComp, _super);
93 function FloatingFilterWrapperComp() {
94 return _super !== null && _super.apply(this, arguments) || this;
95 }
96 FloatingFilterWrapperComp.prototype.init = function (params) {
97 this.floatingFilterCompPromise = params.floatingFilterComp;
98 this.suppressFilterButton = params.suppressFilterButton;
99 _super.prototype.init.call(this, params);
100 this.addEventListeners();
101 };
102 FloatingFilterWrapperComp.prototype.addEventListeners = function () {
103 if (!this.suppressFilterButton && this.eButtonShowMainFilter) {
104 this.addDestroyableEventListener(this.eButtonShowMainFilter, 'click', this.showParentFilter.bind(this));
105 }
106 };
107 FloatingFilterWrapperComp.prototype.enrichBody = function (body) {
108 var _this = this;
109 this.floatingFilterCompPromise.then(function (floatingFilterComp) {
110 var floatingFilterBody = body.querySelector('.ag-floating-filter-body');
111 var floatingFilterCompUi = floatingFilterComp.getGui();
112 if (_this.suppressFilterButton) {
113 floatingFilterBody.appendChild(floatingFilterCompUi);
114 utils_1._.removeCssClass(floatingFilterBody, 'ag-floating-filter-body');
115 utils_1._.addCssClass(floatingFilterBody, 'ag-floating-filter-full-body');
116 }
117 else {
118 floatingFilterBody.appendChild(floatingFilterCompUi);
119 body.appendChild(utils_1._.loadTemplate("<div class=\"ag-floating-filter-button\" aria-hidden=\"true\">\n <button type=\"button\" ref=\"eButtonShowMainFilter\"></button>\n </div>"));
120 var eIcon = utils_1._.createIconNoSpan('filter', _this.gridOptionsWrapper, _this.column);
121 body.querySelector('button').appendChild(eIcon);
122 }
123 if (floatingFilterComp.afterGuiAttached) {
124 floatingFilterComp.afterGuiAttached();
125 }
126 _this.wireQuerySelectors();
127 _this.addEventListeners();
128 });
129 };
130 FloatingFilterWrapperComp.prototype.onParentModelChanged = function (parentModel) {
131 var combinedFilter = undefined;
132 var mainModel = null;
133 if (parentModel && parentModel.operator) {
134 combinedFilter = parentModel;
135 mainModel = combinedFilter.condition1;
136 }
137 else {
138 mainModel = parentModel;
139 }
140 this.floatingFilterCompPromise.then(function (floatingFilterComp) {
141 floatingFilterComp.onParentModelChanged(mainModel, combinedFilter);
142 });
143 };
144 FloatingFilterWrapperComp.prototype.showParentFilter = function () {
145 this.menuFactory.showMenuAfterButtonClick(this.column, this.eButtonShowMainFilter, 'filterMenuTab', ['filterMenuTab']);
146 };
147 __decorate([
148 componentAnnotations_1.RefSelector('eButtonShowMainFilter'),
149 __metadata("design:type", HTMLInputElement)
150 ], FloatingFilterWrapperComp.prototype, "eButtonShowMainFilter", void 0);
151 __decorate([
152 context_1.Autowired('menuFactory'),
153 __metadata("design:type", Object)
154 ], FloatingFilterWrapperComp.prototype, "menuFactory", void 0);
155 __decorate([
156 context_1.Autowired('gridOptionsWrapper'),
157 __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
158 ], FloatingFilterWrapperComp.prototype, "gridOptionsWrapper", void 0);
159 return FloatingFilterWrapperComp;
160}(BaseFilterWrapperComp));
161exports.FloatingFilterWrapperComp = FloatingFilterWrapperComp;
162var EmptyFloatingFilterWrapperComp = (function (_super) {
163 __extends(EmptyFloatingFilterWrapperComp, _super);
164 function EmptyFloatingFilterWrapperComp() {
165 return _super !== null && _super.apply(this, arguments) || this;
166 }
167 EmptyFloatingFilterWrapperComp.prototype.enrichBody = function (body) {
168 };
169 EmptyFloatingFilterWrapperComp.prototype.onParentModelChanged = function (parentModel) {
170 };
171 return EmptyFloatingFilterWrapperComp;
172}(BaseFilterWrapperComp));
173exports.EmptyFloatingFilterWrapperComp = EmptyFloatingFilterWrapperComp;