1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 | "use strict";
|
8 | var __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 | })();
|
18 | var __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 | };
|
24 | var __metadata = (this && this.__metadata) || function (k, v) {
|
25 | if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
26 | };
|
27 | Object.defineProperty(exports, "__esModule", { value: true });
|
28 | var component_1 = require("../../widgets/component");
|
29 | var utils_1 = require("../../utils");
|
30 | var columnController_1 = require("../../columnController/columnController");
|
31 | var gridOptionsWrapper_1 = require("../../gridOptionsWrapper");
|
32 | var context_1 = require("../../context/context");
|
33 | var touchListener_1 = require("../../widgets/touchListener");
|
34 | var componentAnnotations_1 = require("../../widgets/componentAnnotations");
|
35 | var originalColumnGroup_1 = require("../../entities/originalColumnGroup");
|
36 | var HeaderGroupComp = (function (_super) {
|
37 | __extends(HeaderGroupComp, _super);
|
38 | function HeaderGroupComp() {
|
39 | return _super.call(this, HeaderGroupComp.TEMPLATE) || this;
|
40 | }
|
41 | HeaderGroupComp.prototype.init = function (params) {
|
42 | this.params = params;
|
43 | this.setupLabel();
|
44 | this.addGroupExpandIcon();
|
45 | this.setupExpandIcons();
|
46 | };
|
47 | HeaderGroupComp.prototype.setupExpandIcons = function () {
|
48 | var _this = this;
|
49 | this.addInIcon("columnGroupOpened", "agOpened");
|
50 | this.addInIcon("columnGroupClosed", "agClosed");
|
51 | var expandAction = function (event) {
|
52 | if (utils_1.Utils.isStopPropagationForAgGrid(event)) {
|
53 | return;
|
54 | }
|
55 | var newExpandedValue = !_this.params.columnGroup.isExpanded();
|
56 | _this.columnController.setColumnGroupOpened(_this.params.columnGroup.getOriginalColumnGroup(), newExpandedValue, "uiColumnExpanded");
|
57 | };
|
58 | this.addTouchAndClickListeners(this.eCloseIcon, expandAction);
|
59 | this.addTouchAndClickListeners(this.eOpenIcon, expandAction);
|
60 | var stopPropagationAction = function (event) {
|
61 | utils_1.Utils.stopPropagationForAgGrid(event);
|
62 | };
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 | this.addDestroyableEventListener(this.eCloseIcon, "dblclick", stopPropagationAction);
|
69 | this.addDestroyableEventListener(this.eOpenIcon, "dblclick", stopPropagationAction);
|
70 | this.addDestroyableEventListener(this.getGui(), "dblclick", expandAction);
|
71 | this.updateIconVisibility();
|
72 | var originalColumnGroup = this.params.columnGroup.getOriginalColumnGroup();
|
73 | this.addDestroyableEventListener(originalColumnGroup, originalColumnGroup_1.OriginalColumnGroup.EVENT_EXPANDED_CHANGED, this.updateIconVisibility.bind(this));
|
74 | this.addDestroyableEventListener(originalColumnGroup, originalColumnGroup_1.OriginalColumnGroup.EVENT_EXPANDABLE_CHANGED, this.updateIconVisibility.bind(this));
|
75 | };
|
76 | HeaderGroupComp.prototype.addTouchAndClickListeners = function (eElement, action) {
|
77 | var touchListener = new touchListener_1.TouchListener(this.eCloseIcon);
|
78 | this.addDestroyableEventListener(touchListener, touchListener_1.TouchListener.EVENT_TAP, action);
|
79 | this.addDestroyFunc(function () { return touchListener.destroy(); });
|
80 | this.addDestroyableEventListener(eElement, "click", action);
|
81 | };
|
82 | HeaderGroupComp.prototype.updateIconVisibility = function () {
|
83 | var columnGroup = this.params.columnGroup;
|
84 | if (columnGroup.isExpandable()) {
|
85 | var expanded = this.params.columnGroup.isExpanded();
|
86 | utils_1.Utils.setVisible(this.eOpenIcon, !expanded);
|
87 | utils_1.Utils.setVisible(this.eCloseIcon, expanded);
|
88 | }
|
89 | else {
|
90 | utils_1.Utils.setVisible(this.eOpenIcon, false);
|
91 | utils_1.Utils.setVisible(this.eCloseIcon, false);
|
92 | }
|
93 | };
|
94 | HeaderGroupComp.prototype.addInIcon = function (iconName, refName) {
|
95 | var eIcon = utils_1.Utils.createIconNoSpan(iconName, this.gridOptionsWrapper, null);
|
96 | this.getRefElement(refName).appendChild(eIcon);
|
97 | };
|
98 | HeaderGroupComp.prototype.addGroupExpandIcon = function () {
|
99 | if (!this.params.columnGroup.isExpandable()) {
|
100 | utils_1.Utils.setVisible(this.eOpenIcon, false);
|
101 | utils_1.Utils.setVisible(this.eCloseIcon, false);
|
102 | return;
|
103 | }
|
104 | };
|
105 | HeaderGroupComp.prototype.setupLabel = function () {
|
106 |
|
107 | if (this.params.displayName && this.params.displayName !== "") {
|
108 | var eInnerText = this.getRefElement("agLabel");
|
109 | eInnerText.innerHTML = this.params.displayName;
|
110 | }
|
111 | };
|
112 | HeaderGroupComp.TEMPLATE = "<div class=\"ag-header-group-cell-label\" ref=\"agContainer\">" +
|
113 | "<span ref=\"agLabel\" class=\"ag-header-group-text\"></span>" +
|
114 | "<span ref=\"agOpened\" class=\"ag-header-icon ag-header-expand-icon ag-header-expand-icon-expanded\"></span>" +
|
115 | "<span ref=\"agClosed\" class=\"ag-header-icon ag-header-expand-icon ag-header-expand-icon-collapsed\"></span>" +
|
116 | "</div>";
|
117 | __decorate([
|
118 | context_1.Autowired("columnController"),
|
119 | __metadata("design:type", columnController_1.ColumnController)
|
120 | ], HeaderGroupComp.prototype, "columnController", void 0);
|
121 | __decorate([
|
122 | context_1.Autowired("gridOptionsWrapper"),
|
123 | __metadata("design:type", gridOptionsWrapper_1.GridOptionsWrapper)
|
124 | ], HeaderGroupComp.prototype, "gridOptionsWrapper", void 0);
|
125 | __decorate([
|
126 | componentAnnotations_1.RefSelector("agOpened"),
|
127 | __metadata("design:type", HTMLElement)
|
128 | ], HeaderGroupComp.prototype, "eOpenIcon", void 0);
|
129 | __decorate([
|
130 | componentAnnotations_1.RefSelector("agClosed"),
|
131 | __metadata("design:type", HTMLElement)
|
132 | ], HeaderGroupComp.prototype, "eCloseIcon", void 0);
|
133 | return HeaderGroupComp;
|
134 | }(component_1.Component));
|
135 | exports.HeaderGroupComp = HeaderGroupComp;
|