@refinitiv-ui/efx-grid 6.0.106 → 6.0.108
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/core/dist/core.js +162 -59
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/grid/Core.d.ts +2 -2
- package/lib/core/es6/grid/Core.js +156 -55
- package/lib/core/es6/grid/ILayoutGrid.js +1 -1
- package/lib/core/es6/grid/components/Scrollbar.js +5 -3
- package/lib/filter-dialog/lib/filter-dialog.d.ts +2 -0
- package/lib/filter-dialog/lib/filter-dialog.js +23 -1
- package/lib/filter-dialog/themes/base-checkbox.less +1 -2
- package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/elemental/light/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/elemental/light/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/halo/dark/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/halo/light/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/solar/charcoal/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/filter-dialog/themes/solar/pearl/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/formatters/es6/index.d.ts +22 -1
- package/lib/formatters/es6/index.js +22 -1
- package/lib/grid/index.js +1 -1
- package/lib/rt-grid/dist/rt-grid.js +13 -12
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/FieldDefinition.js +1 -1
- package/lib/tr-grid-column-grouping/es6/ColumnGrouping.js +1452 -1304
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +128 -89
- package/lib/tr-grid-row-filtering/es6/RowFiltering.d.ts +2 -0
- package/lib/tr-grid-row-filtering/es6/RowFiltering.js +14 -0
- package/lib/tr-grid-util/es6/GroupDefinitions.js +3 -3
- package/lib/types/es6/Core/grid/Core.d.ts +2 -2
- package/lib/types/es6/RowFiltering.d.ts +2 -0
- package/lib/types/es6/SimpleTickerFormatter.d.ts +0 -2
- package/lib/versions.json +6 -6
- package/package.json +1 -1
@@ -371,8 +371,6 @@ declare class Core extends ElementWrapper {
|
|
371
371
|
|
372
372
|
public reserveRightSpace(size: number): boolean;
|
373
373
|
|
374
|
-
public getHiddenInput(): Element|null;
|
375
|
-
|
376
374
|
public focus(): void;
|
377
375
|
|
378
376
|
public isBinding(): boolean;
|
@@ -391,6 +389,8 @@ declare class Core extends ElementWrapper {
|
|
391
389
|
|
392
390
|
public isSelectedColumn(colIndex: number): boolean;
|
393
391
|
|
392
|
+
public updateColumnBounds(): void;
|
393
|
+
|
394
394
|
public getColumnRect(startColIndex: number, endColIndex: number): any;
|
395
395
|
|
396
396
|
public getRowRect(startRowIndex: number, endRowIndex: number): any;
|
@@ -52,6 +52,9 @@ import VirtualizedLayoutGrid from "./VirtualizedLayoutGrid.js";
|
|
52
52
|
/** @event Core#preForcedUpdate
|
53
53
|
* @ignore
|
54
54
|
*/
|
55
|
+
/** @event Core#tabNavigation
|
56
|
+
* @ignore
|
57
|
+
*/
|
55
58
|
//#endregion Events
|
56
59
|
|
57
60
|
/** @private
|
@@ -62,6 +65,44 @@ import VirtualizedLayoutGrid from "./VirtualizedLayoutGrid.js";
|
|
62
65
|
let ascNumberSorter = function (a, b) {
|
63
66
|
return a - b;
|
64
67
|
};
|
68
|
+
/** @private
|
69
|
+
* @return {!Element}
|
70
|
+
*/
|
71
|
+
let _createHiddenInput = function () {
|
72
|
+
let hiddenInput = document.createElement("input");
|
73
|
+
let styleObj = hiddenInput.style;
|
74
|
+
styleObj.position = "absolute";
|
75
|
+
styleObj.width = styleObj.height = styleObj.padding = styleObj.border = "0";
|
76
|
+
hiddenInput.value = "0";
|
77
|
+
return hiddenInput;
|
78
|
+
};
|
79
|
+
/** @private
|
80
|
+
* @param {Object} e
|
81
|
+
* @return {boolean}
|
82
|
+
*/
|
83
|
+
let _isTabCommand = function (e) {
|
84
|
+
if(e.keyCode === 9) {
|
85
|
+
return !e.ctrlKey && !e.altKey && !e.metaKey;
|
86
|
+
}
|
87
|
+
return false;
|
88
|
+
};
|
89
|
+
/** @private
|
90
|
+
* @param {Element} elem
|
91
|
+
* @return {Element}
|
92
|
+
*/
|
93
|
+
let _getActiveElement = function (elem) {
|
94
|
+
if(elem) {
|
95
|
+
if(elem.getRootNode) {
|
96
|
+
let rootNode = elem.getRootNode(); // Get uncomposed root node
|
97
|
+
if(rootNode && rootNode !== elem) { // The root node could be the element itself, if it is not attached to the DOM tree
|
98
|
+
return rootNode.activeElement || null;
|
99
|
+
}
|
100
|
+
} else { // Older browser does not support getRootNode
|
101
|
+
return document.activeElement;
|
102
|
+
}
|
103
|
+
}
|
104
|
+
return null;
|
105
|
+
};
|
65
106
|
|
66
107
|
/** @constructor
|
67
108
|
* @param {Element=} opt_initializer this can be either element id (string) or DOM element.
|
@@ -85,6 +126,8 @@ let Core = function (opt_initializer) {
|
|
85
126
|
_t._onMouseMove = _t._onMouseMove.bind(_t);
|
86
127
|
_t._onRowHightlighted = _t._onRowHightlighted.bind(_t);
|
87
128
|
_t._onGridClicked = _t._onGridClicked.bind(_t);
|
129
|
+
_t._onKeyDown = _t._onKeyDown.bind(_t);
|
130
|
+
_t._onKeyUp = _t._onKeyUp.bind(_t);
|
88
131
|
|
89
132
|
_t._onWindowResize = _t._onWindowResize.bind(_t);
|
90
133
|
_t._onSectionDataChanged = _t._onSectionDataChanged.bind(_t);
|
@@ -105,7 +148,7 @@ let Core = function (opt_initializer) {
|
|
105
148
|
_t._onColInViewChanged = _t._onColInViewChanged.bind(_t);
|
106
149
|
|
107
150
|
_t._updateVScrollbar = _t._updateVScrollbar.bind(_t);
|
108
|
-
_t.
|
151
|
+
_t.updateColumnBounds = _t.updateColumnBounds.bind(_t);
|
109
152
|
_t._dispatchColumnPositionChanged = _t._dispatchColumnPositionChanged.bind(_t);
|
110
153
|
_t._dispatchRowPositionChanged = _t._dispatchRowPositionChanged.bind(_t);
|
111
154
|
_t._requestScrollbarUpdate = _t._requestScrollbarUpdate.bind(_t);
|
@@ -146,7 +189,7 @@ let Core = function (opt_initializer) {
|
|
146
189
|
// Initialize vertical scrollbar
|
147
190
|
_t._vscrollbar = new VScrollbar();
|
148
191
|
_t._vscrollbar.disable();
|
149
|
-
_t._vscrollbar.setParent(
|
192
|
+
_t._vscrollbar.setParent(_t.getParent() || _t.getElement());
|
150
193
|
|
151
194
|
_t._vscrollbar.listen("scroll", _t._onVScroll);
|
152
195
|
_t._vscrollbar.listen("layoutChanged", _t._onVScroll);
|
@@ -159,25 +202,28 @@ let Core = function (opt_initializer) {
|
|
159
202
|
// Initialize horizontal scrollbars
|
160
203
|
_t._hscrollbar = new HScrollbar();
|
161
204
|
_t._hscrollbar.disable();
|
162
|
-
_t._hscrollbar.setParent(
|
205
|
+
_t._hscrollbar.setParent(_t.getParent() || _t.getElement());
|
163
206
|
|
164
|
-
_t._hscrollbar.listen("scroll",
|
165
|
-
_t._hscrollbar.listen("layoutChanged",
|
166
|
-
_t._hscrollbar.listen("activated",
|
167
|
-
_t._hscrollbar.listen("deactivated",
|
207
|
+
_t._hscrollbar.listen("scroll", _t._onHScroll);
|
208
|
+
_t._hscrollbar.listen("layoutChanged", _t._onHScroll);
|
209
|
+
_t._hscrollbar.listen("activated", _t.updateLayout);
|
210
|
+
_t._hscrollbar.listen("deactivated", _t.updateLayout);
|
168
211
|
|
169
212
|
// cross-reference scrollbars
|
170
213
|
_t._hscrollbar.setOtherScrollbar(_t._vscrollbar);
|
171
214
|
_t._vscrollbar.setOtherScrollbar(_t._hscrollbar);
|
172
215
|
|
216
|
+
|
217
|
+
_t._element.addEventListener("keydown", _t._onKeyDown);
|
218
|
+
_t._element.addEventListener("keyup", _t._onKeyUp);
|
173
219
|
if (Util.isMobile || Util.isTouchDevice) {
|
174
|
-
_t._element.addEventListener("touchmove",
|
220
|
+
_t._element.addEventListener("touchmove", _t._onMouseMove, false);
|
175
221
|
} else {
|
176
|
-
_t._element.addEventListener("mousemove",
|
222
|
+
_t._element.addEventListener("mousemove", _t._onMouseMove, false);
|
177
223
|
}
|
178
224
|
|
179
225
|
if(Util.isSafari){
|
180
|
-
_t._element.addEventListener("click",
|
226
|
+
_t._element.addEventListener("click", _t._onGridClicked);
|
181
227
|
}
|
182
228
|
|
183
229
|
window.addEventListener("resize", _t._onWindowResize, false); // Should be unlistened after destroyed
|
@@ -185,10 +231,17 @@ let Core = function (opt_initializer) {
|
|
185
231
|
_t._colVirtualizer.listen("indexChanged", _t._onColInViewChanged);
|
186
232
|
_t._rowHeightConflator = new Conflator(_t._onRowHeightChanged, 50);
|
187
233
|
_t._vScrollbarConflator = new Conflator(_t._updateVScrollbar, 200);
|
188
|
-
_t._columnBoundConflator = new Conflator(_t.
|
234
|
+
_t._columnBoundConflator = new Conflator(_t.updateColumnBounds, 10);
|
189
235
|
_t._columnPositionConflator = new Conflator(_t._dispatchColumnPositionChanged, 10);
|
190
236
|
_t._rowPositionConflator = new Conflator(_t._dispatchRowPositionChanged, 10);
|
191
237
|
|
238
|
+
_t._firstHiddenInput = _createHiddenInput();
|
239
|
+
_t._firstHiddenInput.className = "first-input";
|
240
|
+
_t._lastHiddenInput = _createHiddenInput();
|
241
|
+
_t._lastHiddenInput.className = "last-input";
|
242
|
+
_t._element.insertBefore(_t._firstHiddenInput, _t._element.firstChild);
|
243
|
+
_t._element.appendChild(_t._lastHiddenInput);
|
244
|
+
|
192
245
|
// Initialize events for external users
|
193
246
|
_t._addEvents(
|
194
247
|
"sectionAdded",
|
@@ -217,7 +270,8 @@ let Core = function (opt_initializer) {
|
|
217
270
|
"beforeColumnBoundUpdate",
|
218
271
|
"beforeBatchOperation",
|
219
272
|
"afterBatchOperation",
|
220
|
-
"pinningChanged"
|
273
|
+
"pinningChanged",
|
274
|
+
"tabNavigation"
|
221
275
|
);
|
222
276
|
|
223
277
|
// For debugging in advanced optimization mode
|
@@ -226,9 +280,9 @@ let Core = function (opt_initializer) {
|
|
226
280
|
map = {};
|
227
281
|
Core["map"] = map;
|
228
282
|
}
|
229
|
-
|
230
|
-
|
231
|
-
let id =
|
283
|
+
|
284
|
+
_t._element["_control"] = _t;
|
285
|
+
let id = _t._element.id || _t._element.name;
|
232
286
|
if(!id || map[id]) {
|
233
287
|
id = "_grid" + Core._runningGridId;
|
234
288
|
}
|
@@ -236,17 +290,6 @@ let Core = function (opt_initializer) {
|
|
236
290
|
map[id] = _t;
|
237
291
|
Core._runningGridId++;
|
238
292
|
|
239
|
-
// init hiddenInput for retrieve copy and cut event
|
240
|
-
let hiddenInput = document.createElement("input");
|
241
|
-
hiddenInput.style.position = "absolute";
|
242
|
-
hiddenInput.style.width = "0";
|
243
|
-
hiddenInput.style.height = "0";
|
244
|
-
hiddenInput.style.padding = "0";
|
245
|
-
hiddenInput.style.border = "0";
|
246
|
-
hiddenInput.value = "0";
|
247
|
-
_t._hiddenInput = hiddenInput;
|
248
|
-
elem.insertBefore(hiddenInput, elem.firstChild);
|
249
|
-
|
250
293
|
// Ensure all affected plugins are loaded prior zoom plugin
|
251
294
|
// use as entity to trigger updateLayout once zoom is changed
|
252
295
|
Object.defineProperty(_t, "zoomFactor", {
|
@@ -526,11 +569,16 @@ Core.prototype._rowRefreshTimer = 0;
|
|
526
569
|
* @private
|
527
570
|
*/
|
528
571
|
Core.prototype._layoutUpdating = false;
|
529
|
-
/** A
|
530
|
-
* @type {Element}
|
572
|
+
/** A hidden input that allows grid to receive keyboard input and focus
|
573
|
+
* @type {!Element}
|
574
|
+
* @private
|
575
|
+
*/
|
576
|
+
Core.prototype._firstHiddenInput;
|
577
|
+
/** A hidden input that allows grid to receive keyboard input and focus
|
578
|
+
* @type {!Element}
|
531
579
|
* @private
|
532
580
|
*/
|
533
|
-
Core.prototype.
|
581
|
+
Core.prototype._lastHiddenInput;
|
534
582
|
/** @type {number}
|
535
583
|
* @private
|
536
584
|
*/
|
@@ -574,7 +622,7 @@ Core.prototype._hasPendingRowChange = false;
|
|
574
622
|
* @return {string}
|
575
623
|
*/
|
576
624
|
Core.getVersion = function () {
|
577
|
-
return "5.1.
|
625
|
+
return "5.1.110";
|
578
626
|
};
|
579
627
|
/** {@link ElementWrapper#dispose}
|
580
628
|
* @override
|
@@ -635,11 +683,12 @@ Core.prototype.dispose = function () {
|
|
635
683
|
|
636
684
|
// Clean Top node
|
637
685
|
let elem = this._element;
|
638
|
-
if (elem
|
686
|
+
if (elem) {
|
639
687
|
if (elem["_control"]) {
|
640
688
|
delete elem["_control"];
|
641
689
|
}
|
642
|
-
elem.removeChild(this.
|
690
|
+
elem.removeChild(this._firstHiddenInput);
|
691
|
+
elem.removeChild(this._lastHiddenInput);
|
643
692
|
}
|
644
693
|
this._dispose();
|
645
694
|
|
@@ -1804,7 +1853,7 @@ Core.prototype._moveColumn = function (fromCol, destCol) {
|
|
1804
1853
|
this._colVirtualizer.update();
|
1805
1854
|
}
|
1806
1855
|
}
|
1807
|
-
this.
|
1856
|
+
this.updateColumnBounds();
|
1808
1857
|
this._updateColumnSeparators();
|
1809
1858
|
return true;
|
1810
1859
|
};
|
@@ -4037,15 +4086,14 @@ Core.prototype.reserveRightSpace = function (size) {
|
|
4037
4086
|
return false;
|
4038
4087
|
};
|
4039
4088
|
|
4040
|
-
/** Get hidden input
|
4041
|
-
* this input for make grid can copy <br>
|
4042
|
-
* normal user should not touch it <br>
|
4043
|
-
* but sometime grid extension will have to use this element
|
4089
|
+
/** Get the hidden input. This input allows grid to receive keyboard input
|
4044
4090
|
* @public
|
4045
|
-
* @
|
4091
|
+
* @ignore
|
4092
|
+
* @param {boolean} firstInput
|
4093
|
+
* @return {!Element}
|
4046
4094
|
*/
|
4047
|
-
Core.prototype.getHiddenInput = function () {
|
4048
|
-
return this.
|
4095
|
+
Core.prototype.getHiddenInput = function (firstInput) {
|
4096
|
+
return firstInput ? this._firstHiddenInput : this._lastHiddenInput;
|
4049
4097
|
};
|
4050
4098
|
|
4051
4099
|
/** Focus grid element without bringing grid into window's view. This is useful when grid is very wide or tall, since window can be scrolled to focused element by default in some browsers.
|
@@ -4054,8 +4102,8 @@ Core.prototype.getHiddenInput = function () {
|
|
4054
4102
|
* @see {@link http://help.dottoro.com/ljqmdirr.php}
|
4055
4103
|
*/
|
4056
4104
|
Core.prototype.focus = function () {
|
4057
|
-
let elem = this.
|
4058
|
-
let activeElem =
|
4105
|
+
let elem = this._lastHiddenInput;
|
4106
|
+
let activeElem = _getActiveElement(elem);
|
4059
4107
|
if(elem && elem !== activeElem) {
|
4060
4108
|
let x = window.pageXOffset;
|
4061
4109
|
let y = window.pageYOffset;
|
@@ -4186,7 +4234,7 @@ Core.prototype.selectColumn = function (colIndex, selected) {
|
|
4186
4234
|
for (let i = this._settings.length; --i >= 0; ) {
|
4187
4235
|
this._settings[i].getSection().selectColumn(colIndex, selected);
|
4188
4236
|
}
|
4189
|
-
this.
|
4237
|
+
this.updateColumnBounds();
|
4190
4238
|
};
|
4191
4239
|
/** @public
|
4192
4240
|
* @param {number} colIndex
|
@@ -4200,9 +4248,9 @@ Core.prototype.isSelectedColumn = function (colIndex) {
|
|
4200
4248
|
return false;
|
4201
4249
|
};
|
4202
4250
|
|
4203
|
-
/** @
|
4251
|
+
/** @public
|
4204
4252
|
*/
|
4205
|
-
Core.prototype.
|
4253
|
+
Core.prototype.updateColumnBounds = function () {
|
4206
4254
|
if(this._columnBoundConflator.conflate()) {
|
4207
4255
|
return;
|
4208
4256
|
}
|
@@ -4689,14 +4737,14 @@ Core.prototype._newSection = function (opt_type, sectionName) {
|
|
4689
4737
|
Core.prototype._putToLast = function(section) {
|
4690
4738
|
let sectionCount = this._settings.length;
|
4691
4739
|
if (sectionCount === 0) {
|
4692
|
-
section.
|
4740
|
+
section.insertBefore(this._lastHiddenInput);
|
4693
4741
|
} else {
|
4694
4742
|
let lastGrid = this.getLastSection();
|
4695
4743
|
let nextSibling = lastGrid.getElement().nextSibling;
|
4696
4744
|
if (nextSibling !== null) {
|
4697
4745
|
section.insertBefore(nextSibling);
|
4698
4746
|
} else {
|
4699
|
-
section.
|
4747
|
+
section.insertBefore(this._lastHiddenInput);
|
4700
4748
|
}
|
4701
4749
|
}
|
4702
4750
|
};
|
@@ -5082,7 +5130,7 @@ Core.prototype._onVScroll = function (e) {
|
|
5082
5130
|
Core.prototype._onHScroll = function (e) {
|
5083
5131
|
let scrollVal = this._hscrollbar.getScrollLeft();
|
5084
5132
|
this._colVirtualizer.setViewOffset(scrollVal); // Trigger virtualization event
|
5085
|
-
this.
|
5133
|
+
this.updateColumnBounds();
|
5086
5134
|
this._dispatchColumnPositionChanged();
|
5087
5135
|
};
|
5088
5136
|
/** @private
|
@@ -5381,14 +5429,66 @@ Core.prototype._onMouseMove = function () {
|
|
5381
5429
|
};
|
5382
5430
|
/** @private */
|
5383
5431
|
Core.prototype._onGridClicked = function () {
|
5384
|
-
// research for dragging
|
5385
5432
|
let selection = window.getSelection();
|
5386
|
-
if(selection.toString()){
|
5433
|
+
if(!selection.toString()){
|
5434
|
+
if(!this._element.contains(_getActiveElement(this._element))){
|
5435
|
+
this.focus();
|
5436
|
+
}
|
5437
|
+
}
|
5438
|
+
};
|
5439
|
+
|
5440
|
+
/** @private
|
5441
|
+
* @param {Object} e
|
5442
|
+
*/
|
5443
|
+
Core.prototype._onKeyDown = function (e) {
|
5444
|
+
if(!_isTabCommand(e)) {
|
5387
5445
|
return;
|
5388
5446
|
}
|
5389
|
-
let
|
5390
|
-
|
5391
|
-
|
5447
|
+
let activeElement = _getActiveElement(this._element);
|
5448
|
+
let onTheEdge = false;
|
5449
|
+
if(this._firstHiddenInput === activeElement) {
|
5450
|
+
onTheEdge = -1;
|
5451
|
+
} else if(this._lastHiddenInput === activeElement) {
|
5452
|
+
onTheEdge = 1;
|
5453
|
+
}
|
5454
|
+
|
5455
|
+
this._dispatch("tabNavigation", {
|
5456
|
+
"activeElement": activeElement,
|
5457
|
+
"firstHiddenInput": this._firstHiddenInput,
|
5458
|
+
"lastHiddenInput": this._lastHiddenInput,
|
5459
|
+
"onTheEdge": onTheEdge,
|
5460
|
+
"shiftKey": e.shiftKey,
|
5461
|
+
"event": e
|
5462
|
+
});
|
5463
|
+
|
5464
|
+
if(onTheEdge && !e.defaultPrevented) {
|
5465
|
+
if(onTheEdge > 0 && e.shiftKey) {
|
5466
|
+
this._firstHiddenInput.focus(); // jump to the top
|
5467
|
+
e.preventDefault();
|
5468
|
+
} else if(onTheEdge < 0 && !e.shiftKey) {
|
5469
|
+
this._lastHiddenInput.focus(); // skip to the end
|
5470
|
+
e.preventDefault();
|
5471
|
+
}
|
5472
|
+
}
|
5473
|
+
};
|
5474
|
+
/** @private
|
5475
|
+
* @param {Object} e
|
5476
|
+
*/
|
5477
|
+
Core.prototype._onKeyUp = function (e) {
|
5478
|
+
if(!_isTabCommand(e)) {
|
5479
|
+
return;
|
5480
|
+
}
|
5481
|
+
var activeElem = _getActiveElement(this._element);
|
5482
|
+
if(e.shiftKey) {
|
5483
|
+
if(activeElem === this._lastHiddenInput) {
|
5484
|
+
this._firstHiddenInput.focus();
|
5485
|
+
e.preventDefault();
|
5486
|
+
}
|
5487
|
+
} else {
|
5488
|
+
if(activeElem === this._firstHiddenInput) {
|
5489
|
+
this._lastHiddenInput.focus();
|
5490
|
+
e.preventDefault();
|
5491
|
+
}
|
5392
5492
|
}
|
5393
5493
|
};
|
5394
5494
|
|
@@ -5571,6 +5671,7 @@ Core.prototype._onSectionCountChanged = function (opt_suppressLayout) {
|
|
5571
5671
|
|
5572
5672
|
// Reinsert sections
|
5573
5673
|
this._vscrollbar.setScrollContent(this, this._getAllSections(), this._startVScrollbarIndex);
|
5674
|
+
this._element.appendChild(this._lastHiddenInput); // Ensure that the hidden input is always at the last position
|
5574
5675
|
|
5575
5676
|
if(!opt_suppressLayout) {
|
5576
5677
|
this._updateScrollbarHeight(true, true);
|
@@ -5588,7 +5689,7 @@ Core.prototype._onColumnCountChanged = function () {
|
|
5588
5689
|
let pinnedLeft = this._countPinnedLeftColumns();
|
5589
5690
|
let pinnedRight = this._countPinnedRightColumns();
|
5590
5691
|
|
5591
|
-
this.
|
5692
|
+
this.updateColumnBounds();
|
5592
5693
|
this._updateColumnSeparators();
|
5593
5694
|
|
5594
5695
|
if (this._hScrollbarEnabled && pinnedLeft + pinnedRight < this.getColumnCount()) {
|
@@ -5884,7 +5985,7 @@ Core.prototype._syncLayoutToColumns = function (from, to, opt_forceDispatching)
|
|
5884
5985
|
// TODO: Check if "to" should be greater than or equal to first pinnied right index
|
5885
5986
|
let paneChanged = forceUpdate || (from < this.getHScrollStartIndex()) || (to > this.getFirstPinnedRightIndex());
|
5886
5987
|
this._updateScrollbarWidth(paneChanged, true /* contentChanged */);
|
5887
|
-
this.
|
5988
|
+
this.updateColumnBounds();
|
5888
5989
|
this._updateColumnSeparators();
|
5889
5990
|
this._dispatchColumnPositionChanged();
|
5890
5991
|
|
@@ -537,7 +537,7 @@ ILayoutGrid.prototype.setRowOffset = function (index) { };
|
|
537
537
|
ILayoutGrid.prototype.updateLayout = function () { };
|
538
538
|
|
539
539
|
/** This will make the specified cell horizontally span to fit entire row regardless of position of the cell -- cell will shift to the left most of the section.<br>
|
540
|
-
* If
|
540
|
+
* If onlyToTheRight is true, the cell will not extend to the left most position<br>
|
541
541
|
* This is different from cell colSpan, which the cell remain in the same position. tr-stretched class will also be added to the cell
|
542
542
|
* @public
|
543
543
|
* @param {number|Cell} cellRef Either column index or cell reference is acceptable
|
@@ -375,7 +375,6 @@ Scrollbar.updateTrackThickness = function () {
|
|
375
375
|
|
376
376
|
/** @override */
|
377
377
|
Scrollbar.prototype.dispose = function () {
|
378
|
-
|
379
378
|
let sbListeners = Scrollbar._listeners;
|
380
379
|
if(sbListeners) {
|
381
380
|
let idx = sbListeners.indexOf(this._onThicknessChanged);
|
@@ -839,7 +838,7 @@ Scrollbar.prototype._clearAllPanes = function() {
|
|
839
838
|
*/
|
840
839
|
Scrollbar.prototype.disableKeyboardInput = function (opt_disabled) {
|
841
840
|
if(opt_disabled === false) {
|
842
|
-
this._element.setAttribute("tabindex", "
|
841
|
+
this._element.setAttribute("tabindex", "-1"); // tabindex makes the element focusable. The negative value exclude it from tab key navigation
|
843
842
|
this._element.addEventListener("keydown", this._onKeyDown, false);
|
844
843
|
} else {
|
845
844
|
this._element.removeAttribute("tabindex");
|
@@ -1034,8 +1033,11 @@ Scrollbar.prototype._onStartFading = function (e) {
|
|
1034
1033
|
* @param {Object} e
|
1035
1034
|
*/
|
1036
1035
|
Scrollbar.prototype._onTrackScroll = function (e) {
|
1037
|
-
|
1036
|
+
if(!this._element) {
|
1037
|
+
return; // Element has been disposed
|
1038
|
+
}
|
1038
1039
|
|
1040
|
+
let tScrollVal = (this._vertical) ? e.target["scrollTop"] : e.target["scrollLeft"];
|
1039
1041
|
let pScrollVal = this._convertTrackToPane(tScrollVal);
|
1040
1042
|
|
1041
1043
|
pScrollVal = this._calcProperScrollValue(pScrollVal);
|
@@ -27,6 +27,8 @@ declare namespace FilterDialog {
|
|
27
27
|
sortState?: string|null,
|
28
28
|
sortUI?: boolean|null,
|
29
29
|
filterUI?: boolean|null,
|
30
|
+
advancedFilter?: boolean|null,
|
31
|
+
compactMode?: boolean|null,
|
30
32
|
blankValues?: (string|boolean)|null,
|
31
33
|
filterChanged?: ((...params: any[]) => any)|null,
|
32
34
|
confirm?: ((...params: any[]) => any)|null,
|
@@ -25,6 +25,8 @@ import "./checkbox-list.js";
|
|
25
25
|
* @property {string=} sortState "a" for ascending or "d" for descending
|
26
26
|
* @property {boolean=} sortUI Show Sort area
|
27
27
|
* @property {boolean=} filterUI Show Filter area
|
28
|
+
* @property {boolean=} advancedFilter Show advanced tab
|
29
|
+
* @property {boolean=} compactMode Force compact mode in dialog
|
28
30
|
* @property {(string|boolean)=} blankValues Display a Blanks item in the filter dialog to represent an empty value. If a string is passed, it will be used as the label for the blank item
|
29
31
|
* @property {Function=} filterChanged Filter changed handler
|
30
32
|
* @property {Function=} confirm Alias of filterChanged
|
@@ -141,6 +143,7 @@ class FilterDialog extends BasicElement {
|
|
141
143
|
conditions: {attribute: false},
|
142
144
|
hiddenSortUI: {type: Boolean},
|
143
145
|
hiddenFilterUI: {type: Boolean},
|
146
|
+
hiddenAdvancedFilter: {type: Boolean},
|
144
147
|
sortState: {type: String},
|
145
148
|
useUTCTime: {type: Boolean},
|
146
149
|
fieldDataType: {type: String},
|
@@ -163,11 +166,13 @@ class FilterDialog extends BasicElement {
|
|
163
166
|
this._translation = translation;
|
164
167
|
this.hiddenSortUI = false;
|
165
168
|
this.hiddenFilterUI = false;
|
169
|
+
this.hiddenAdvancedFilter = false;
|
166
170
|
this.isShown = false;
|
167
171
|
this.sortState = "n";
|
168
172
|
this.fieldDataType = "";
|
169
173
|
this._blankValues = false;
|
170
174
|
this._blankValuesChecked = false;
|
175
|
+
this._compactMode = false;
|
171
176
|
this.useUTCTime = true;
|
172
177
|
this._popup = new Popup({
|
173
178
|
"shown": this._onPopupShown.bind(this),
|
@@ -212,10 +217,18 @@ class FilterDialog extends BasicElement {
|
|
212
217
|
this.hiddenFilterUI = options.filterUI === false;
|
213
218
|
}
|
214
219
|
|
220
|
+
if(options.advancedFilter != null) {
|
221
|
+
this.hiddenAdvancedFilter = options.advancedFilter === false;
|
222
|
+
}
|
223
|
+
|
215
224
|
if(options.blankValues != null ) {
|
216
225
|
this._blankValues = options.blankValues;
|
217
226
|
}
|
218
227
|
|
228
|
+
if(options.compactMode != null) {
|
229
|
+
this._compactMode = options.compactMode;
|
230
|
+
}
|
231
|
+
|
219
232
|
this._blankValuesChecked = false;
|
220
233
|
if(options.blankValuesChecked != null) {
|
221
234
|
this._blankValuesChecked = options.blankValuesChecked;
|
@@ -409,6 +422,7 @@ class FilterDialog extends BasicElement {
|
|
409
422
|
// Update Sort UI
|
410
423
|
var isHiddenSortUIChanged = changedProps.has("hiddenSortUI");
|
411
424
|
var isHiddenFilterUIChanged = changedProps.has("hiddenFilterUI");
|
425
|
+
var isHiddenAdvancedFilterChanged = changedProps.has("hiddenAdvancedFilter");
|
412
426
|
if (isHiddenSortUIChanged) {
|
413
427
|
let pn = this._sortUI.parentNode;
|
414
428
|
if (this.hiddenSortUI) {
|
@@ -447,6 +461,10 @@ class FilterDialog extends BasicElement {
|
|
447
461
|
var isHide = this.hiddenSortUI || this.hiddenFilterUI;
|
448
462
|
this._separator.classList.toggle("hide", isHide);
|
449
463
|
}
|
464
|
+
if(isHiddenAdvancedFilterChanged) {
|
465
|
+
// TODO: Add class for no advance filter
|
466
|
+
this._filterBtns.classList.toggle("hide", this.hiddenAdvancedFilter);
|
467
|
+
}
|
450
468
|
|
451
469
|
if (changedProps.has("isShown")) {
|
452
470
|
if (this.isShown) {
|
@@ -934,7 +952,11 @@ class FilterDialog extends BasicElement {
|
|
934
952
|
* @returns {boolean}
|
935
953
|
*/
|
936
954
|
_updateDialogHeight() {
|
937
|
-
this.
|
955
|
+
if(!this._compactMode) {
|
956
|
+
this._rootContainer.classList.remove("compact");
|
957
|
+
} else {
|
958
|
+
this._rootContainer.classList.add("compact"); // Compact mode impact height of element, so we need to set it before height changed to calculate exactly height
|
959
|
+
}
|
938
960
|
this._rootContainer.style.height = "";
|
939
961
|
this._popup.updatePosition(false); // update position without fallback
|
940
962
|
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import "./imports/native-elements.js";
|
2
2
|
|
3
3
|
|
4
|
-
dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#3e444f;scrollbar-shadow-color:#3e444f;scrollbar-highlight-color:#3e444f;scrollbar-arrow-color:#3e444f;scrollbar-track-color:#21242a;scrollbar-3dlight-color:#21242a;scrollbar-darkshadow-color:#21242a;scrollbar-color:#3e444f #21242a}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:
|
4
|
+
dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#3e444f;scrollbar-shadow-color:#3e444f;scrollbar-highlight-color:#3e444f;scrollbar-arrow-color:#3e444f;scrollbar-track-color:#21242a;scrollbar-3dlight-color:#21242a;scrollbar-darkshadow-color:#21242a;scrollbar-color:#3e444f #21242a}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}:host #container{border:1px solid #3e444f;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:15px;height:15px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #21242a;height:15px;width:15px;display:block}::-webkit-scrollbar-thumb{background:#3e444f;border-radius:8px;border:2px solid #21242a}::-webkit-scrollbar-thumb:hover{background:#b7bcc6}::-webkit-scrollbar-thumb:active{background:#707a8e}::-webkit-scrollbar-track{background:#21242a}::-webkit-scrollbar-corner{background:#21242a}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}' }}));
|
@@ -1,4 +1,4 @@
|
|
1
1
|
dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'filter-dialog', styles: ':host{display:block}:host *{margin-bottom:0;margin-top:0}:host .compact{padding-top:8px;padding-bottom:8px}:host .compact #filterAdvancedUI,:host .compact #filterValueUI{margin-top:5px}:host .compact #filterValueUI>*+*{margin-top:4px}:host .compact .input-group ef-combo-box+ef-combo-box,:host .compact .input-group ef-combo-box+ef-datetime-picker{margin-top:10px}:host .compact .input-group ef-combo-box+div.radio-group,:host .compact .input-group ef-datetime-picker+div.radio-group{margin-top:6px}:host .compact .input-group div.radio-group+ef-combo-box{margin-top:8px}:host .compact .cancel-ok{margin-top:4px}:host .compact #separator,:host .compact .group-label{display:none}:host ef-panel{box-shadow:0 0 10px rgba(0,0,0,.5);padding-top:17px;padding-bottom:31px;display:block}:host label{line-height:18px;font-size:12px}:host hr{border-top:1px solid;margin-top:9px;margin-bottom:6px;width:100%}:host ef-radio-button{height:18px}:host #filterCoralSplitBtn,:host ef-combo-box,:host ef-input,:host ef-search-field,:host ef-datetime-picker{width:100%}:host ef-radio-group{text-align:center}:host #root_panel{display:flex;flex-direction:column}:host #filterUI{display:flex;flex-direction:column;overflow-y:hidden;flex:1}:host #dataSelector{overflow:hidden;display:flex;flex-direction:column}:host #filterAdvancedUI,:host #filterValueUI{margin-top:19px;display:flex;flex-direction:column;flex:1;overflow:auto}:host #filterValueUI>*+*{margin-top:19px}:host #filterDialogContent{width:243px;display:flex;flex-direction:column;overflow:hidden;flex:1}:host #dataFilter{flex:0 0 auto}:host .group-block>*+*{margin-top:4px}:host .group-block label{display:block}:host .group-filter{overflow:hidden;display:flex;flex-direction:column;flex:1}:host .input-group ef-combo-box+ef-combo-box,:host .input-group ef-combo-box+ef-datetime-picker{margin-top:19px}:host .input-group ef-radio-button+ef-radio-button{margin-left:6px}:host .input-group ef-combo-box+div.radio-group,:host .input-group ef-datetime-picker+div.radio-group{margin-top:13px}:host .input-group div.radio-group+ef-combo-box{margin-top:16px}:host .cancel-ok{text-align:right;margin-top:31px}:host .cancel-ok #cancel_btn{margin-left:12px}:host .cancel-ok #clear_btn{float:left}:host .hide{display:none!important}' }}))
|
2
2
|
|
3
|
-
dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#3e444f;scrollbar-shadow-color:#3e444f;scrollbar-highlight-color:#3e444f;scrollbar-arrow-color:#3e444f;scrollbar-track-color:#21242a;scrollbar-3dlight-color:#21242a;scrollbar-darkshadow-color:#21242a;scrollbar-color:#3e444f #21242a}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:
|
3
|
+
dispatchEvent(new CustomEvent('ef.customStyles.define', { detail: { name: 'checkbox-list', styles: ':host{display:block;scrollbar-face-color:#3e444f;scrollbar-shadow-color:#3e444f;scrollbar-highlight-color:#3e444f;scrollbar-arrow-color:#3e444f;scrollbar-track-color:#21242a;scrollbar-3dlight-color:#21242a;scrollbar-darkshadow-color:#21242a;scrollbar-color:#3e444f #21242a}:host .hidden{display:none}:host .select-btn{margin-top:0;margin-bottom:4px}:host #container{border:1px solid #3e444f;overflow-y:auto;min-height:48px;flex-grow:1}:host .item-container{display:flex;width:100%;align-items:center}:host .item-label{margin-left:7px;min-width:0;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}:host .root{display:flex;flex-flow:column;overflow:hidden}::-webkit-scrollbar{width:15px;height:15px}::-webkit-scrollbar-button{background:0 0/1px 2px no-repeat #21242a;height:15px;width:15px;display:block}::-webkit-scrollbar-thumb{background:#3e444f;border-radius:8px;border:2px solid #21242a}::-webkit-scrollbar-thumb:hover{background:#b7bcc6}::-webkit-scrollbar-thumb:active{background:#707a8e}::-webkit-scrollbar-track{background:#21242a}::-webkit-scrollbar-corner{background:#21242a}::-webkit-scrollbar-button:end:decrement,::-webkit-scrollbar-button:start:increment{display:none}::-webkit-scrollbar-button:horizontal{background-size:2px 1px}::-webkit-scrollbar-button:vertical:start:decrement{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:start:decrement:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:start:decrement:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:12px 8.5px,11px 7.5px,10px 6.5px,9px 5.5px,8px 4.5px,7px 3.5px,6px 4.5px,5px 5.5px,4px 6.5px,3px 7.5px,2px 8.5px}::-webkit-scrollbar-button:vertical:end:increment{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:vertical:end:increment:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:vertical:end:increment:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:12px 4.5px,11px 5.5px,10px 6.5px,9px 7.5px,8px 8.5px,7px 9.5px,6px 8.5px,5px 7.5px,4px 6.5px,3px 5.5px,2px 4.5px}::-webkit-scrollbar-button:horizontal:start:decrement{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:start:decrement:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:8.5px 12px,7.5px 11px,6.5px 10px,5.5px 9px,4.5px 8px,3.5px 7px,4.5px 6px,5.5px 5px,6.5px 4px,7.5px 3px,8.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment{background-image:linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f),linear-gradient(#3e444f,#3e444f);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:hover{background-image:linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6),linear-gradient(#b7bcc6,#b7bcc6);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}::-webkit-scrollbar-button:horizontal:end:increment:active{background-image:linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e),linear-gradient(#707a8e,#707a8e);background-position:4.5px 12px,5.5px 11px,6.5px 10px,7.5px 9px,8.5px 8px,9.5px 7px,8.5px 6px,7.5px 5px,6.5px 4px,5.5px 3px,4.5px 2px}' }}));
|
4
4
|
|