ag-grid-enterprise
Version:
ag-Grid Enterprise Features
145 lines (144 loc) • 8.31 kB
JavaScript
// ag-grid-enterprise v19.1.4
"use strict";
var __extends = (this && this.__extends) || (function () {
var extendStatics = function (d, b) {
extendStatics = Object.setPrototypeOf ||
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
return extendStatics(d, b);
}
return function (d, b) {
extendStatics(d, b);
function __() { this.constructor = d; }
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
};
})();
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
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;
return c > 3 && r && Object.defineProperty(target, key, r), r;
};
var __metadata = (this && this.__metadata) || function (k, v) {
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
};
Object.defineProperty(exports, "__esModule", { value: true });
var ag_grid_community_1 = require("ag-grid-community");
var ToolPanelFilterComp = /** @class */ (function (_super) {
__extends(ToolPanelFilterComp, _super);
function ToolPanelFilterComp() {
var _this = _super.call(this, ToolPanelFilterComp.TEMPLATE) || this;
_this.expanded = false;
return _this;
}
ToolPanelFilterComp.prototype.init = function (params) {
var _this = this;
this.params = params;
var displayName = this.columnController.getDisplayNameForColumn(this.params.column, 'header', false);
var displayNameSanitised = ag_grid_community_1._.escape(displayName);
this.eFilterName.innerText = displayNameSanitised;
this.addGuiEventListenerInto(this.eFilterToolpanelHeader, 'click', this.doExpandOrCollapse.bind(this));
this.eventService.addEventListener(ag_grid_community_1.Events.EVENT_FILTER_OPENED, function (event) { return _this.onFilterOpened(event); });
this.addInIcon('filter', this.eFilterIcon, this.params.column);
ag_grid_community_1._.addOrRemoveCssClass(this.eFilterIcon, 'ag-hidden', !this.isFilterActive());
ag_grid_community_1._.addCssClass(this.eExpandChecked, 'ag-hidden');
this.addDestroyableEventListener(this.params.column, ag_grid_community_1.Column.EVENT_FILTER_CHANGED, this.onFilterChanged.bind(this));
};
ToolPanelFilterComp.prototype.addInIcon = function (iconName, eParent, column) {
if (eParent == null)
return;
var eIcon = ag_grid_community_1._.createIconNoSpan(iconName, this.gridOptionsWrapper, column);
eIcon.innerHTML = ' ';
eParent.appendChild(eIcon);
};
ToolPanelFilterComp.prototype.isFilterActive = function () {
return this.filterManager.isFilterActive(this.params.column);
};
ToolPanelFilterComp.prototype.onFilterChanged = function () {
ag_grid_community_1._.addOrRemoveCssClass(this.eFilterIcon, 'ag-hidden', !this.isFilterActive());
};
ToolPanelFilterComp.prototype.addGuiEventListenerInto = function (into, event, listener) {
into.addEventListener(event, listener);
this.addDestroyFunc(function () { return into.removeEventListener(event, listener); });
};
ToolPanelFilterComp.prototype.doExpandOrCollapse = function () {
this.expanded ? this.doCollapse() : this.doExpand();
};
ToolPanelFilterComp.prototype.doExpand = function () {
var _this = this;
this.expanded = true;
var container = ag_grid_community_1._.loadTemplate("<div class=\"ag-filter-air\" />");
this.filterManager.getOrCreateFilterWrapper(this.params.column, 'TOOLBAR').filterPromise.then(function (filter) {
_this.filter = filter;
container.appendChild(filter.getGui());
_this.eAgFilterToolpanelBody.appendChild(container);
if (filter.afterGuiAttached) {
filter.afterGuiAttached();
}
});
ag_grid_community_1._.setVisible(this.eExpandChecked, true);
ag_grid_community_1._.setVisible(this.eExpandUnchecked, false);
};
ToolPanelFilterComp.prototype.doCollapse = function () {
this.expanded = false;
this.eAgFilterToolpanelBody.removeChild(this.eAgFilterToolpanelBody.children[0]);
ag_grid_community_1._.setVisible(this.eExpandChecked, false);
ag_grid_community_1._.setVisible(this.eExpandUnchecked, true);
};
ToolPanelFilterComp.prototype.onFilterOpened = function (event) {
if (event.source !== 'COLUMN_MENU')
return;
if (event.column !== this.params.column)
return;
if (!this.expanded)
return;
this.doCollapse();
};
ToolPanelFilterComp.TEMPLATE = "<div class=\"ag-filter-toolpanel-instance\" >\n <div class=\"ag-filter-toolpanel-header ag-header-cell-label\" ref=\"eFilterToolpanelHeader\">\n <a href=\"javascript:void(0)\" (click)=\"onExpandClicked\" ref=\"eExpand\">\n <span class=\"ag-icon ag-icon-tree-open\" ref=\"eExpandChecked\"></span>\n <span class=\"ag-icon ag-icon-tree-closed\" ref=\"eExpandUnchecked\"></span>\n </a>\n <span ref=\"eFilterName\" class=\"ag-header-cell-text\"></span>\n <span ref=\"eFilterIcon\" class=\"ag-header-icon ag-filter-icon\" aria-hidden=\"true\"></span>\n </div>\n <div class=\"ag-filter-toolpanel-body ag-filter\" ref=\"agFilterToolpanelBody\"/>\n </div>";
__decorate([
ag_grid_community_1.Autowired('gridApi'),
__metadata("design:type", ag_grid_community_1.GridApi)
], ToolPanelFilterComp.prototype, "gridApi", void 0);
__decorate([
ag_grid_community_1.Autowired('filterManager'),
__metadata("design:type", ag_grid_community_1.FilterManager)
], ToolPanelFilterComp.prototype, "filterManager", void 0);
__decorate([
ag_grid_community_1.Autowired('eventService'),
__metadata("design:type", ag_grid_community_1.EventService)
], ToolPanelFilterComp.prototype, "eventService", void 0);
__decorate([
ag_grid_community_1.Autowired('gridOptionsWrapper'),
__metadata("design:type", ag_grid_community_1.GridOptionsWrapper)
], ToolPanelFilterComp.prototype, "gridOptionsWrapper", void 0);
__decorate([
ag_grid_community_1.Autowired('columnController'),
__metadata("design:type", ag_grid_community_1.ColumnController)
], ToolPanelFilterComp.prototype, "columnController", void 0);
__decorate([
ag_grid_community_1.RefSelector('eFilterToolpanelHeader'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eFilterToolpanelHeader", void 0);
__decorate([
ag_grid_community_1.RefSelector('eFilterName'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eFilterName", void 0);
__decorate([
ag_grid_community_1.RefSelector('agFilterToolpanelBody'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eAgFilterToolpanelBody", void 0);
__decorate([
ag_grid_community_1.RefSelector('eFilterIcon'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eFilterIcon", void 0);
__decorate([
ag_grid_community_1.RefSelector('eExpandChecked'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eExpandChecked", void 0);
__decorate([
ag_grid_community_1.RefSelector('eExpandUnchecked'),
__metadata("design:type", HTMLElement)
], ToolPanelFilterComp.prototype, "eExpandUnchecked", void 0);
return ToolPanelFilterComp;
}(ag_grid_community_1.Component));
exports.ToolPanelFilterComp = ToolPanelFilterComp;