@refinitiv-ui/efx-grid 6.0.137 → 6.0.138

Sign up to get free protection for your applications and to get access to all the features.
@@ -570,7 +570,7 @@ class ColumnSelectionDialog extends BasicElement {
570
570
  this._excludedRightColumns = 0;
571
571
  this._unmovableColumns = 0;
572
572
  this._pendingScroll = false;
573
- this._highlightedElem = null; // There can only one highlighted elem
573
+ this._focusedElement = null;
574
574
  this._pendingTreeRefresh = false;
575
575
  this._pendingResetSearchInput = false;
576
576
  this._middleSeparator = "";
@@ -613,6 +613,8 @@ class ColumnSelectionDialog extends BasicElement {
613
613
  this._handleInfoIconMouseover = this._handleInfoIconMouseover.bind(this);
614
614
  this._handleInfoIconMouseout = this._handleInfoIconMouseout.bind(this);
615
615
  this._handleClick = this._handleClick.bind(this);
616
+ this._handleFocusIn = this._handleFocusIn.bind(this);
617
+ this._handleFocusOut = this._handleFocusOut.bind(this);
616
618
  this._createTreeCustomRender = this._createTreeCustomRender.bind(this);
617
619
  this._selectAllCheckedChanged = this._selectAllCheckedChanged.bind(this);
618
620
 
@@ -738,7 +740,7 @@ class ColumnSelectionDialog extends BasicElement {
738
740
  </div>
739
741
  <div class="row">
740
742
  <div class="side">
741
- <ef-search-field placeholder="${this._searchPlaceholder ? this._searchPlaceholder : t["Search"]}" id="searchInput"></ef-search-field>
743
+ <ef-search-field aria-label="search for columns" placeholder="${this._searchPlaceholder ? this._searchPlaceholder : t["Search"]}" id="searchInput"></ef-search-field>
742
744
  </div>
743
745
  <div class="side">
744
746
  <label>${t["Show in this order"]}</label>
@@ -750,13 +752,13 @@ class ColumnSelectionDialog extends BasicElement {
750
752
  <div id="allColumns">
751
753
  <ef-item id="treeNoResult" class="no-results" label="${t["No results found"]}"></ef-item>
752
754
  <ef-header level="1" id="selectAllHeader">
753
- <ef-checkbox id="selectAllCheckbox">${t["Select All"]}</ef-checkbox>
755
+ <ef-checkbox aria-label="select all columns" id="selectAllCheckbox">${t["Select All"]}</ef-checkbox>
754
756
  </ef-header>
755
- <ef-tree id="tree" multiple></ef-tree>
757
+ <ef-tree aria-label="column list" id="tree" multiple></ef-tree>
756
758
  </div>
757
759
  </div>
758
760
  <div class="side" id="visibleSide">
759
- <div id="visibleColumns">
761
+ <div id="visibleColumns" aria-label="visible column list">
760
762
  ${this._visibleColumnList.map(item => html`
761
763
  <ef-item
762
764
  value="${item.value}"
@@ -768,10 +770,10 @@ class ColumnSelectionDialog extends BasicElement {
768
770
  </div>
769
771
  <div id="ordering_div">
770
772
  <div id="ordering_buttons">
771
- <ef-button icon="up" @click="${this._onUpItem}" id="upItem">${t["Up"]}</ef-button><!--
772
- --><ef-button icon="down" @click="${this._onDownItem}" id="downItem">${t["Down"]}</ef-button>
773
+ <ef-button aria-label="move selected visible columns up" icon="up" @click="${this._onUpItem}" id="upItem">${t["Up"]}</ef-button><!--
774
+ --><ef-button aria-label="move selected visible columns down" icon="down" @click="${this._onDownItem}" id="downItem">${t["Down"]}</ef-button>
773
775
  </div>
774
- <ef-button id="removeFromVisibleColumnsBtn" @click="${this._removeBtnClicked}">${t["Remove"]}</ef-button>
776
+ <ef-button aria-label="remove selected visible columns" id="removeFromVisibleColumnsBtn" @click="${this._removeBtnClicked}">${t["Remove"]}</ef-button>
775
777
  </div>
776
778
  </div>
777
779
  </div>
@@ -779,7 +781,7 @@ class ColumnSelectionDialog extends BasicElement {
779
781
  </div>
780
782
  <div slot="footer">
781
783
  <div part="custom-buttons">
782
- ${this._defaultItems ? html`<ef-button id="restore_btn" @click="${this._restoreDefault}" tabindex="0">${t["RESTORE DEFAULT"]}</ef-button>` : ""}
784
+ ${this._defaultItems ? html`<ef-button aria-label="restore default visible columns" id="restore_btn" @click="${this._restoreDefault}" tabindex="0">${t["RESTORE DEFAULT"]}</ef-button>` : ""}
783
785
  ${hasNoVisibleItem ? html`<ef-icon icon="warning-circle"></ef-icon>` : ""}
784
786
  ${hasNoVisibleItem ? html`<div id="status_div">${t["WARNING_1"]}</div>` : ""}
785
787
  </div>
@@ -827,6 +829,8 @@ class ColumnSelectionDialog extends BasicElement {
827
829
  this._visibleColumnsContainer.addEventListener('mouseout', this._handleMouseout);
828
830
  this._visibleColumnsContainer.addEventListener('click', this._handleClick);
829
831
  this._visibleColumnsContainer.addEventListener('dblclick', this._removeBtnClicked);
832
+ this._visibleColumnsContainer.addEventListener('focusin', this._handleFocusIn);
833
+ this._visibleColumnsContainer.addEventListener('focusout', this._handleFocusOut);
830
834
 
831
835
  // icon custom renderer
832
836
  if(this._descriptionBox) { // TODO: This should not work only for the first time
@@ -1131,58 +1135,42 @@ class ColumnSelectionDialog extends BasicElement {
1131
1135
  return getItemIndex(this._visibleColumnList, separatorCol.value, "value");
1132
1136
  }
1133
1137
 
1134
- /** This will also remove focused state set by ef-item
1135
- * @private
1136
- */
1137
- _unhighlightItems() {
1138
- if(this._highlightedElem) { // There can be only one highlighted Item
1139
- this._highlightedElem.highlighted = false;
1140
- this._highlightedElem.removeAttribute('focused'); // WORKAROUND: Focused and highlighted have the same styles in Halo themes
1141
- this._highlightedElem = null;
1142
- }
1143
- }
1144
-
1145
1138
  /** @private
1146
1139
  * @param {number} step if positive highlight will move up, if negative highlight will move down
1147
1140
  */
1148
- _moveHighlightedItems(step) {
1141
+ _moveFocusedItem(step) {
1149
1142
  if (!step) {
1150
1143
  return;
1151
1144
  }
1152
1145
 
1153
- if (!this._highlightedElem) {
1146
+ var focusedEl = this._focusedElement;
1147
+ if (!focusedEl) {
1154
1148
  var selectedIndexes = _getSelectedItemIndexes(this._visibleColumnList);
1155
1149
  if (!selectedIndexes.length) {
1156
1150
  return;
1157
1151
  }
1158
1152
 
1159
- this._highlightedElem = this._visibleColumnsContainer.children[selectedIndexes[0]];
1160
- this._highlightedElem.highlighted = true;
1153
+ focusedEl = this._visibleColumnsContainer.children[selectedIndexes[0]];
1161
1154
  }
1162
1155
 
1163
- var pn = this._highlightedElem.parentNode;
1156
+ var pn = focusedEl.parentNode;
1164
1157
  if(!pn) {
1165
1158
  return;
1166
1159
  }
1167
1160
 
1168
1161
  var chdr = pn.children;
1169
1162
  var childCount = chdr.length;
1170
- var i; // highlighted index
1163
+ var i; // focused element index
1171
1164
  for(i = 0; i < childCount; ++i) {
1172
- if(chdr[i] === this._highlightedElem) {
1165
+ if(chdr[i] === focusedEl) {
1173
1166
  break;
1174
1167
  }
1175
1168
  }
1176
- if(i >= childCount) {
1177
- return;
1178
- }
1179
1169
 
1180
1170
  i += step;
1181
1171
  if (i >= 0 && i < childCount) {
1182
- this._unhighlightItems();
1183
- this._highlightedElem = chdr[i];
1184
- this._highlightedElem.highlighted = true;
1185
1172
  scrollToItem(pn, i);
1173
+ chdr[i].focus();
1186
1174
  }
1187
1175
  }
1188
1176
 
@@ -1501,6 +1489,22 @@ class ColumnSelectionDialog extends BasicElement {
1501
1489
  this._selectAllStatus && this._selectAllCheckbox.setAttribute(this._selectAllStatus, "");
1502
1490
  }
1503
1491
 
1492
+ /**
1493
+ * @private
1494
+ * @param {Object} e
1495
+ */
1496
+ _handleFocusIn(e) {
1497
+ this._focusedElement = e.target;
1498
+ }
1499
+
1500
+ /**
1501
+ * @private
1502
+ * @param {Object} e
1503
+ */
1504
+ _handleFocusOut(e) {
1505
+ this._focusedElement = null;
1506
+ }
1507
+
1504
1508
  /**
1505
1509
  * @private
1506
1510
  * @param {Object} e
@@ -1509,17 +1513,32 @@ class ColumnSelectionDialog extends BasicElement {
1509
1513
  var handled = false;
1510
1514
  switch (e.keyCode) {
1511
1515
  case 40: // down
1512
- case 9: // tab
1513
- this._moveHighlightedItems(1);
1516
+ this._moveFocusedItem(1);
1514
1517
  handled = true;
1515
1518
  break;
1516
1519
  case 38: // up
1517
- this._moveHighlightedItems(-1);
1520
+ this._moveFocusedItem(-1);
1518
1521
  handled = true;
1519
1522
  break;
1523
+ case 9: // tab
1524
+ var focusedEl = this._focusedElement;
1525
+ if (focusedEl) {
1526
+ if (e.shiftKey) {
1527
+ if(focusedEl.previousElementSibling) {
1528
+ this._moveFocusedItem(-1);
1529
+ handled = true;
1530
+ }
1531
+ } else {
1532
+ if (focusedEl.nextElementSibling) {
1533
+ this._moveFocusedItem(1);
1534
+ handled = true;
1535
+ }
1536
+ }
1537
+ }
1538
+ break;
1520
1539
  case 13: // enter
1521
- if(this._highlightedElem) {
1522
- this._highlightedElem.click();
1540
+ if(this._focusedElement) {
1541
+ this._focusedElement.click();
1523
1542
  handled = true;
1524
1543
  }
1525
1544
  break;
@@ -1527,7 +1546,6 @@ class ColumnSelectionDialog extends BasicElement {
1527
1546
 
1528
1547
  if(handled) {
1529
1548
  e.preventDefault();
1530
- e.stopPropagation();
1531
1549
  }
1532
1550
  }
1533
1551
 
@@ -1538,14 +1556,7 @@ class ColumnSelectionDialog extends BasicElement {
1538
1556
  _handleMouseover(e) {
1539
1557
  var targetElem = e.target;
1540
1558
  if (targetElem.highlightable) {
1541
- if (this._highlightedElem) {
1542
- if(this._highlightedElem === targetElem) {
1543
- return;
1544
- }
1545
- this._highlightedElem.highlighted = false;
1546
- }
1547
- this._highlightedElem = targetElem;
1548
- this._highlightedElem.highlighted = true;
1559
+ targetElem.highlighted = true;
1549
1560
  }
1550
1561
  }
1551
1562
 
@@ -1554,11 +1565,7 @@ class ColumnSelectionDialog extends BasicElement {
1554
1565
  * @param {Object} e
1555
1566
  */
1556
1567
  _handleMouseout(e) {
1557
- var targetElem = e.target;
1558
- if (targetElem === this._highlightedElem) {
1559
- targetElem.highlighted = false;
1560
- this._highlightedElem = null;
1561
- }
1568
+ e.target.highlighted = false;
1562
1569
  }
1563
1570
 
1564
1571
  /**
@@ -1582,8 +1589,7 @@ class ColumnSelectionDialog extends BasicElement {
1582
1589
  return;
1583
1590
  }
1584
1591
 
1585
- var list = null;
1586
- list = this._visibleColumnList;
1592
+ var list = this._visibleColumnList;
1587
1593
  var selectedIndex = getDomElementIndex(selectedElement);
1588
1594
 
1589
1595
  if(e.metaKey || e.ctrlKey) {
@@ -1608,7 +1614,7 @@ class ColumnSelectionDialog extends BasicElement {
1608
1614
  * @private
1609
1615
  * @param {object} e - event object
1610
1616
  */
1611
- _handleInfoIconClicked(e) {
1617
+ _handleInfoIconClicked(e) {
1612
1618
  var targetElem = e.currentTarget;
1613
1619
  var divItem = targetElem.parentNode;
1614
1620
  var treeItem = divItem.parentNode;
@@ -1621,7 +1627,7 @@ class ColumnSelectionDialog extends BasicElement {
1621
1627
  * @private
1622
1628
  * @param {object} e - event object
1623
1629
  */
1624
- _handleInfoIconMouseover(e) {
1630
+ _handleInfoIconMouseover(e) {
1625
1631
  var targetElem = e.currentTarget;
1626
1632
  var divItem = targetElem.parentNode;
1627
1633
  var treeItem = divItem.parentNode;
@@ -1634,7 +1640,7 @@ class ColumnSelectionDialog extends BasicElement {
1634
1640
  * @private
1635
1641
  * @param {object} e - event object
1636
1642
  */
1637
- _handleInfoIconMouseout(e) {
1643
+ _handleInfoIconMouseout(e) {
1638
1644
  var targetElem = e.currentTarget;
1639
1645
  var divItem = targetElem.parentNode;
1640
1646
  var treeItem = divItem.parentNode;
@@ -1873,10 +1879,10 @@ class ColumnSelectionDialog extends BasicElement {
1873
1879
  }
1874
1880
 
1875
1881
  /**
1876
- * ef-tree value changed event
1877
- * @param {Object} e
1878
- * @private
1879
- */
1882
+ * ef-tree value changed event
1883
+ * @param {Object} e
1884
+ * @private
1885
+ */
1880
1886
  _treeValueChanged(e) {
1881
1887
  var selectedMapping = {};
1882
1888
 
@@ -2007,7 +2013,6 @@ class ColumnSelectionDialog extends BasicElement {
2007
2013
  if (index >= 0) this._visibleColumnList[index] = null;
2008
2014
  }
2009
2015
  this._visibleColumnList = this._visibleColumnList.filter(Boolean); // clear null element
2010
- this._unhighlightItems();
2011
2016
  this._pendingButtonUpdate = true;
2012
2017
  }
2013
2018
  }
package/lib/grid/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  import {Grid} from "./lib/efx-grid.js";
2
2
  export {Grid}
3
- window.EFX_GRID = { version: "6.0.137" };
3
+ window.EFX_GRID = { version: "6.0.138" };
@@ -37,7 +37,8 @@ declare namespace RowFilteringPlugin {
37
37
  itemList?: any[]|null,
38
38
  additionalItems?: any[]|null,
39
39
  compactMode?: boolean|null,
40
- blankValues?: (boolean|string)|null
40
+ blankValues?: (boolean|string)|null,
41
+ dateTimeFormat?: string|null
41
42
  };
42
43
 
43
44
  type FilterEntry = {
@@ -4,23 +4,23 @@ import Ext from "../../tr-grid-util/es6/Ext.js";
4
4
  declare namespace ZoomPlugin {
5
5
 
6
6
  type Options = {
7
- zoomFactor?: number,
8
- step?: number,
9
- wheel?: boolean,
10
- maxFactor?: number,
11
- minFactor?: number,
12
- zoomChanged?: ((...params: any[]) => any)
7
+ zoomFactor?: number|null,
8
+ step?: number|null,
9
+ wheel?: boolean|null,
10
+ maxFactor?: number|null,
11
+ minFactor?: number|null,
12
+ zoomChanged?: ((...params: any[]) => any)|null
13
13
  };
14
14
 
15
15
  }
16
16
 
17
17
  declare class ZoomPlugin extends GridPlugin {
18
18
 
19
- constructor(options?: ZoomPlugin.Options);
19
+ constructor(options?: ZoomPlugin.Options|null);
20
20
 
21
21
  public hasMultiTableSupport(): boolean;
22
22
 
23
- public config(options?: ZoomPlugin.Options): void;
23
+ public config(options?: ZoomPlugin.Options|null): void;
24
24
 
25
25
  public getConfigObject(gridOptions?: any): any;
26
26
 
@@ -30,21 +30,21 @@ declare class ZoomPlugin extends GridPlugin {
30
30
 
31
31
  public zoomOut(): number;
32
32
 
33
- public zoomTo(factor?: number): number;
33
+ public zoomTo(factor?: number|null): number;
34
34
 
35
35
  public setStep(step: number): void;
36
36
 
37
- public zoomDefault(zoomFactor?: number): number;
37
+ public zoomDefault(zoomFactor?: number|null): number;
38
38
 
39
- public addElement(elem: Element): void;
39
+ public addElement(elem: Element|null): void;
40
40
 
41
- public removeElement(elem: Element): Element;
41
+ public removeElement(elem: Element|null): Element|null;
42
42
 
43
43
  public updateZoomedLayout(): void;
44
44
 
45
- public enableWheelToZoom(bool?: boolean): void;
45
+ public enableWheelToZoom(bool?: boolean|null): void;
46
46
 
47
- public getDefaultMouseWheelLogic(): ((...params: any[]) => any);
47
+ public getDefaultMouseWheelLogic(): ((...params: any[]) => any)|null;
48
48
 
49
49
  }
50
50
 
package/lib/versions.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "@grid/column-dragging": "1.0.21",
5
5
  "@grid/row-segmenting": "1.0.35",
6
6
  "@grid/statistics-row": "1.0.17",
7
- "@grid/zoom": "1.0.11",
7
+ "@grid/zoom": "1.0.13",
8
8
  "tr-grid-auto-tooltip": "1.1.9",
9
9
  "tr-grid-cell-selection": "1.0.39",
10
10
  "tr-grid-checkbox": "1.0.70",
@@ -31,7 +31,7 @@
31
31
  "tr-grid-textformatting": "1.0.49",
32
32
  "tr-grid-titlewrap": "1.0.22",
33
33
  "@grid/formatters": "1.0.55",
34
- "@grid/column-selection-dialog": "4.0.57",
34
+ "@grid/column-selection-dialog": "4.0.59",
35
35
  "@grid/filter-dialog": "4.0.79",
36
36
  "@grid/column-format-dialog": "4.0.45"
37
37
  }
@@ -4,23 +4,23 @@ import Ext from "../../tr-grid-util/es6/Ext.js";
4
4
  declare namespace ZoomPlugin {
5
5
 
6
6
  type Options = {
7
- zoomFactor?: number,
8
- step?: number,
9
- wheel?: boolean,
10
- maxFactor?: number,
11
- minFactor?: number,
12
- zoomChanged?: ((...params: any[]) => any)
7
+ zoomFactor?: number|null,
8
+ step?: number|null,
9
+ wheel?: boolean|null,
10
+ maxFactor?: number|null,
11
+ minFactor?: number|null,
12
+ zoomChanged?: ((...params: any[]) => any)|null
13
13
  };
14
14
 
15
15
  }
16
16
 
17
17
  declare class ZoomPlugin extends GridPlugin {
18
18
 
19
- constructor(options?: ZoomPlugin.Options);
19
+ constructor(options?: ZoomPlugin.Options|null);
20
20
 
21
21
  public hasMultiTableSupport(): boolean;
22
22
 
23
- public config(options?: ZoomPlugin.Options): void;
23
+ public config(options?: ZoomPlugin.Options|null): void;
24
24
 
25
25
  public getConfigObject(gridOptions?: any): any;
26
26
 
@@ -30,21 +30,21 @@ declare class ZoomPlugin extends GridPlugin {
30
30
 
31
31
  public zoomOut(): number;
32
32
 
33
- public zoomTo(factor?: number): number;
33
+ public zoomTo(factor?: number|null): number;
34
34
 
35
35
  public setStep(step: number): void;
36
36
 
37
- public zoomDefault(zoomFactor?: number): number;
37
+ public zoomDefault(zoomFactor?: number|null): number;
38
38
 
39
- public addElement(elem: Element): void;
39
+ public addElement(elem: Element|null): void;
40
40
 
41
- public removeElement(elem: Element): Element;
41
+ public removeElement(elem: Element|null): Element|null;
42
42
 
43
43
  public updateZoomedLayout(): void;
44
44
 
45
- public enableWheelToZoom(bool?: boolean): void;
45
+ public enableWheelToZoom(bool?: boolean|null): void;
46
46
 
47
- public getDefaultMouseWheelLogic(): ((...params: any[]) => any);
47
+ public getDefaultMouseWheelLogic(): ((...params: any[]) => any)|null;
48
48
 
49
49
  }
50
50
 
@@ -24,8 +24,8 @@ import Ext from "../../tr-grid-util/es6/Ext.js";
24
24
  * @param {ZoomPlugin.Options=} options
25
25
  * @extends {GridPlugin}
26
26
  */
27
- var ZoomPlugin = function (options) {
28
- var t = this;
27
+ let ZoomPlugin = function (options) {
28
+ let t = this;
29
29
 
30
30
  t._updateZoomedLayout = t._updateZoomedLayout.bind(t);
31
31
  t._updateElementLayout = t._updateElementLayout.bind(t);
@@ -81,7 +81,7 @@ ZoomPlugin.prototype.getName = function () {
81
81
 
82
82
  /** @override */
83
83
  ZoomPlugin.prototype.initialize = function (host, options) {
84
- var t = this;
84
+ let t = this;
85
85
  if (t._hosts.indexOf(host) >= 0) {
86
86
  return;
87
87
  }
@@ -104,8 +104,8 @@ ZoomPlugin.prototype.initialize = function (host, options) {
104
104
 
105
105
  /** @override */
106
106
  ZoomPlugin.prototype.unload = function (host) {
107
- var t = this;
108
- var at = t._hosts.indexOf(host);
107
+ let t = this;
108
+ let at = t._hosts.indexOf(host);
109
109
  if (at < 0) { return; }
110
110
 
111
111
  if(t._hosts.length === 1) {
@@ -123,14 +123,14 @@ ZoomPlugin.prototype.unload = function (host) {
123
123
  ZoomPlugin.prototype.config = function (options) {
124
124
  if (!options) { return; }
125
125
 
126
- var extOptions = options["zoom"];
126
+ let extOptions = options["zoom"];
127
127
 
128
128
  if (!extOptions) {
129
129
  return;
130
130
  }
131
- var t = this;
131
+ let t = this;
132
132
 
133
- var val = extOptions["wheel"];
133
+ let val = extOptions["wheel"];
134
134
  if (val != null) {
135
135
  t._wheel = !!val;
136
136
  }
@@ -163,14 +163,16 @@ ZoomPlugin.prototype.config = function (options) {
163
163
  * @return {!Object}
164
164
  */
165
165
  ZoomPlugin.prototype.getConfigObject = function (gridOptions) {
166
- var obj = gridOptions || {};
166
+ let obj = gridOptions || {};
167
167
 
168
- var extOptions = obj.zoom;
168
+ let extOptions = obj.zoom;
169
169
  if(!extOptions) {
170
170
  extOptions = obj.zoom = {};
171
171
  }
172
172
 
173
- extOptions.wheel = this._wheel;
173
+ if(!this._wheel) {
174
+ extOptions.wheel = false;
175
+ }
174
176
 
175
177
  if (this._step !== 0.25) {
176
178
  extOptions.step = this._step;
@@ -201,7 +203,7 @@ ZoomPlugin.prototype.getZoomFactor = function () {
201
203
  * @return {number} zoomFactor
202
204
  */
203
205
  ZoomPlugin.prototype.zoomIn = function () {
204
- var t = this;
206
+ let t = this;
205
207
  t.zoomTo(t._zoomFactor + t._step);
206
208
  return t._zoomFactor;
207
209
  };
@@ -210,7 +212,7 @@ ZoomPlugin.prototype.zoomIn = function () {
210
212
  * @return {number} zoomFactor
211
213
  */
212
214
  ZoomPlugin.prototype.zoomOut = function () {
213
- var t = this;
215
+ let t = this;
214
216
  t.zoomTo(t._zoomFactor - t._step);
215
217
  return t._zoomFactor;
216
218
  };
@@ -220,7 +222,7 @@ ZoomPlugin.prototype.zoomOut = function () {
220
222
  * @return {number} factor
221
223
  */
222
224
  ZoomPlugin.prototype.zoomTo = function (factor) {
223
- var t = this;
225
+ let t = this;
224
226
 
225
227
  if (!factor) { // 0, NaN, undefined, empty string, and null
226
228
  factor = 1;
@@ -239,11 +241,11 @@ ZoomPlugin.prototype.zoomTo = function (factor) {
239
241
  return factor;
240
242
  }
241
243
 
242
- var prevZoomFactor = t._zoomFactor;
244
+ let prevZoomFactor = t._zoomFactor;
243
245
  t._zoomFactor = factor;
244
246
 
245
247
  // TODO: Refactor the logic, so that the zoom styles are applied directly to the parent element, eliminating margin-right styling
246
- var i;
248
+ let i;
247
249
  for (i = t._elems.length; --i >= 0;) {
248
250
  t._applyZoom(t._elems[i]);
249
251
  }
@@ -264,7 +266,7 @@ ZoomPlugin.prototype.zoomTo = function (factor) {
264
266
  * @param {number} step
265
267
  */
266
268
  ZoomPlugin.prototype.setStep = function (step) {
267
- var s = step;
269
+ let s = step;
268
270
  if (s != null) {
269
271
  if (typeof s !== "number") {
270
272
  s = parseFloat(s);
@@ -285,7 +287,7 @@ ZoomPlugin.prototype.zoomDefault = ZoomPlugin.prototype.zoomTo;
285
287
  * @param {Element} elem
286
288
  */
287
289
  ZoomPlugin.prototype.addElement = function (elem) {
288
- var t = this;
290
+ let t = this;
289
291
  if (elem && t._elems.indexOf(elem) < 0) {
290
292
  t._applyZoom(elem);
291
293
  t._elems.push(elem);
@@ -298,8 +300,8 @@ ZoomPlugin.prototype.addElement = function (elem) {
298
300
  * @returns {Element}
299
301
  */
300
302
  ZoomPlugin.prototype.removeElement = function (elem) {
301
- var t = this;
302
- var at = t._elems.indexOf(elem);
303
+ let t = this;
304
+ let at = t._elems.indexOf(elem);
303
305
  if (at >= 0) {
304
306
  t._elems.splice(at, 1);
305
307
  t._clearZoomStyles(elem);
@@ -317,11 +319,11 @@ ZoomPlugin.prototype.updateZoomedLayout = function() {
317
319
  * @param {Element|tr.Grid} obj
318
320
  */
319
321
  ZoomPlugin.prototype._applyZoom = function (obj) {
320
- if (!obj) { return; }
321
-
322
- var t = this;
323
-
324
- var elem = (obj instanceof Object) ? /** @type{Element} */(obj.getElement()) : /** @type{Element} */(obj);
322
+ let t = this;
323
+ let elem = (obj && obj.getElement) ? obj.getElement() : obj;
324
+ if(!elem) {
325
+ return;
326
+ }
325
327
 
326
328
  // This type of css scale is most compatable options
327
329
  // alternative css can be more promising but not the most copatable (like: zoom)
@@ -343,7 +345,7 @@ ZoomPlugin.prototype._applyZoom = function (obj) {
343
345
  * @param {Element} elem
344
346
  */
345
347
  ZoomPlugin.prototype._updateElementLayout = function (elem) {
346
- var domStyle = /** @type{CSSStyleDeclaration} */(elem.style);
348
+ let domStyle = /** @type{CSSStyleDeclaration} */(elem.style);
347
349
  if(this._zoomFactor !== 1) {
348
350
  // After scaling there is empty space between elem and it's parent
349
351
  // So it needs to correct the transformation shift of an inline-element
@@ -356,7 +358,7 @@ ZoomPlugin.prototype._updateElementLayout = function (elem) {
356
358
  /** @private
357
359
  */
358
360
  ZoomPlugin.prototype._updateZoomedLayout = function() {
359
- var i, elem;
361
+ let i, elem;
360
362
  for(i = this._elems.length; --i >= 0;) {
361
363
  elem = this._elems[i];
362
364
  this._updateElementLayout(elem);
@@ -371,7 +373,7 @@ ZoomPlugin.prototype._updateZoomedLayout = function() {
371
373
  * @param {Element} elem
372
374
  */
373
375
  ZoomPlugin.prototype._clearZoomStyles = function (elem) {
374
- var domStyle = /** @type{CSSStyleDeclaration} */(elem.style);
376
+ let domStyle = /** @type{CSSStyleDeclaration} */(elem.style);
375
377
  domStyle["transform"] = "";
376
378
  domStyle["transformOrigin"] = "";
377
379
  domStyle["marginRight"] = "";
@@ -382,11 +384,11 @@ ZoomPlugin.prototype._clearZoomStyles = function (elem) {
382
384
  * @param {boolean=} bool
383
385
  */
384
386
  ZoomPlugin.prototype.enableWheelToZoom = function (bool) {
385
- var t = this;
387
+ let t = this;
386
388
  bool = !!bool; // Force boolean
387
389
  if (t._wheel !== bool) {
388
390
  t._wheel = bool;
389
- for (var i = t._hosts.length; --i >= 0;) {
391
+ for (let i = t._hosts.length; --i >= 0;) {
390
392
  if (bool) {
391
393
  t._hosts[i].listen("wheel", t._onWheel);
392
394
  } else {
@@ -402,7 +404,7 @@ ZoomPlugin.prototype.enableWheelToZoom = function (bool) {
402
404
  ZoomPlugin.prototype._onWheel = function (e) {
403
405
  if (!e.ctrlKey || e.shiftKey || e.altKey) { return; } // Only handle Ctrl+wheel
404
406
 
405
- var delta = e["deltaY"]; // Provided by WheelEvent >> https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent
407
+ let delta = e["deltaY"]; // Provided by WheelEvent >> https://developer.mozilla.org/en-US/docs/Web/API/WheelEvent
406
408
  if (!delta) { return; }
407
409
 
408
410
  e.preventDefault(); // Disable browser default zoom behaviour
@@ -420,6 +422,16 @@ ZoomPlugin.prototype.getDefaultMouseWheelLogic = function () {
420
422
  return this._onWheel;
421
423
  };
422
424
 
425
+ /** @public
426
+ * @ignore
427
+ * @return {!Object}
428
+ */
429
+ ZoomPlugin.prototype._getEventHandlers = function() {
430
+ return {
431
+ "wheel": this._onWheel
432
+ };
433
+ };
434
+
423
435
 
424
436
 
425
437
  export default ZoomPlugin;
package/package.json CHANGED
@@ -69,5 +69,5 @@
69
69
  "publishConfig": {
70
70
  "access": "public"
71
71
  },
72
- "version": "6.0.137"
72
+ "version": "6.0.138"
73
73
  }