@refinitiv-ui/efx-grid 6.0.2 → 6.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/column-dragging/es6/ColumnDragging.d.ts +49 -0
- package/lib/column-dragging/es6/ColumnDragging.js +764 -0
- package/lib/column-dragging/es6/index.d.ts +1 -0
- package/lib/column-dragging/es6/index.js +1 -0
- package/lib/column-format-dialog/lib/column-format-dialog.d.ts +13 -1
- package/lib/column-selection-dialog/lib/column-selection-dialog.d.ts +15 -2
- package/lib/column-selection-dialog/lib/column-selection-dialog.js +146 -5
- package/lib/core/dist/core.css +1 -1
- package/lib/core/dist/core.js +468 -1092
- package/lib/core/dist/core.min.js +1 -1
- package/lib/core/es6/data/ColumnStats.d.ts +2 -2
- package/lib/core/es6/data/DataCache.d.ts +4 -4
- package/lib/core/es6/data/DataTable.d.ts +5 -5
- package/lib/core/es6/data/DataTable.js +33 -11
- package/lib/core/es6/data/DataView.d.ts +12 -18
- package/lib/core/es6/data/DataView.js +0 -4
- package/lib/core/es6/data/Segment.d.ts +2 -0
- package/lib/core/es6/data/Segment.js +7 -0
- package/lib/core/es6/data/SegmentCollection.d.ts +3 -3
- package/lib/core/es6/data/WrappedView.d.ts +13 -13
- package/lib/core/es6/data/WrappedView.js +6 -6
- package/lib/core/es6/grid/Core.d.ts +31 -27
- package/lib/core/es6/grid/Core.js +47 -11
- package/lib/core/es6/grid/ILayoutGrid.d.ts +15 -15
- package/lib/core/es6/grid/LayoutGrid.js +54 -26
- package/lib/core/es6/grid/VirtualizedLayoutGrid.js +71 -0
- package/lib/core/es6/grid/components/Cell.d.ts +4 -4
- package/lib/core/es6/grid/components/CellFloatingPanel.d.ts +1 -1
- package/lib/core/es6/grid/components/CellSpans.d.ts +8 -8
- package/lib/core/es6/grid/components/Column.d.ts +1 -1
- package/lib/core/es6/grid/components/ElementWrapper.d.ts +6 -6
- package/lib/core/es6/grid/components/Scrollbar.d.ts +3 -1
- package/lib/core/es6/grid/components/Scrollbar.js +13 -0
- package/lib/core/es6/grid/components/StretchedCells.js +2 -2
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.d.ts +14 -6
- package/lib/core/es6/grid/plugins/SortableTitlePlugin.js +147 -81
- package/lib/core/es6/grid/util/Conflator.d.ts +2 -2
- package/lib/core/es6/grid/util/ElementFrameWork.d.ts +3 -3
- package/lib/core/es6/grid/util/HttpRequest.d.ts +2 -2
- package/lib/core/es6/grid/util/PercentBarRenderer.d.ts +1 -1
- package/lib/core/es6/grid/util/RangeBar.d.ts +1 -1
- package/lib/core/es6/grid/util/SectionSettings.d.ts +5 -5
- package/lib/core/es6/grid/util/SectionSettings.js +5 -0
- package/lib/core/es6/grid/util/SelectionList.d.ts +2 -2
- package/lib/core/es6/grid/util/TrackLayout.d.ts +7 -3
- package/lib/core/es6/grid/util/TrackLayout.js +27 -0
- package/lib/core/es6/grid/util/util.d.ts +2 -2
- package/lib/core/es6/index.d.ts +1 -5
- package/lib/core/es6/index.js +1 -7
- package/lib/core/es6/tr-grid-theme.js +1 -1
- package/lib/filter-dialog/lib/checkbox-list.d.ts +13 -1
- package/lib/filter-dialog/lib/filter-dialog.d.ts +14 -1
- package/lib/filter-dialog/lib/filter-dialog.js +86 -26
- package/lib/filter-dialog/themes/base-checkbox.less +8 -1
- package/lib/filter-dialog/themes/base.less +69 -1
- package/lib/filter-dialog/themes/elemental/dark/checkbox-list.js +1 -1
- package/lib/filter-dialog/themes/elemental/dark/es5/all-elements.js +2 -2
- package/lib/filter-dialog/themes/elemental/dark/filter-dialog.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 +2 -2
- package/lib/filter-dialog/themes/elemental/light/filter-dialog.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 +2 -2
- package/lib/filter-dialog/themes/halo/dark/filter-dialog.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 +2 -2
- package/lib/filter-dialog/themes/halo/light/filter-dialog.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 +2 -2
- package/lib/filter-dialog/themes/solar/charcoal/filter-dialog.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 +2 -2
- package/lib/filter-dialog/themes/solar/pearl/filter-dialog.js +1 -1
- package/lib/grid/lib/efx-grid.d.ts +25 -10
- package/lib/grid/lib/efx-grid.js +22 -56
- package/lib/grid/themes/base.less +1 -1
- package/lib/grid/themes/halo/dark/efx-grid.js +1 -1
- package/lib/grid/themes/halo/dark/es5/all-elements.js +1 -1
- package/lib/grid/themes/halo/efx-grid.less +33 -39
- package/lib/grid/themes/halo/light/efx-grid.js +1 -1
- package/lib/grid/themes/halo/light/es5/all-elements.js +1 -1
- package/lib/grid/themes/solar/charcoal/efx-grid.js +1 -1
- package/lib/grid/themes/solar/charcoal/es5/all-elements.js +1 -1
- package/lib/grid/themes/solar/pearl/efx-grid.js +1 -1
- package/lib/grid/themes/solar/pearl/es5/all-elements.js +1 -1
- package/lib/index.d.ts +2 -0
- package/lib/index.js +2 -0
- package/lib/row-segmenting/es6/RowSegmenting.d.ts +7 -2
- package/lib/row-segmenting/es6/RowSegmenting.js +98 -11
- package/lib/rt-grid/dist/rt-grid.js +1244 -1249
- package/lib/rt-grid/dist/rt-grid.min.js +1 -1
- package/lib/rt-grid/es6/ColumnDefinition.d.ts +5 -3
- package/lib/rt-grid/es6/ColumnDefinition.js +17 -108
- package/lib/rt-grid/es6/DataConnector.d.ts +3 -3
- package/lib/rt-grid/es6/Grid.d.ts +24 -9
- package/lib/rt-grid/es6/Grid.js +285 -103
- package/lib/rt-grid/es6/RowDefSorter.d.ts +19 -0
- package/lib/rt-grid/es6/RowDefSorter.js +137 -0
- package/lib/rt-grid/es6/RowDefinition.d.ts +9 -7
- package/lib/rt-grid/es6/RowDefinition.js +6 -0
- package/lib/rt-grid/es6/SnapshotFiller.d.ts +6 -1
- package/lib/rt-grid/es6/SnapshotFiller.js +144 -15
- package/lib/tr-grid-checkbox/es6/Checkbox.d.ts +4 -3
- package/lib/tr-grid-checkbox/es6/Checkbox.js +51 -21
- package/lib/tr-grid-column-selection/es6/ColumnSelection.js +46 -9
- package/lib/tr-grid-column-stack/es6/ColumnStack.d.ts +8 -4
- package/lib/tr-grid-column-stack/es6/ColumnStack.js +240 -125
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.d.ts +4 -3
- package/lib/tr-grid-conditional-coloring/es6/ConditionalColoring.js +28 -13
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.d.ts +8 -5
- package/lib/tr-grid-in-cell-editing/es6/InCellEditing.js +106 -3
- package/lib/tr-grid-percent-bar/es6/PercentBar.js +1 -1
- package/lib/tr-grid-printer/es6/CellWriter.d.ts +3 -3
- package/lib/tr-grid-printer/es6/GridPrinter.d.ts +1 -1
- package/lib/tr-grid-printer/es6/GridPrinter.js +26 -13
- package/lib/tr-grid-printer/es6/PrintTrait.d.ts +2 -2
- package/lib/tr-grid-printer/es6/SectionWriter.d.ts +3 -3
- package/lib/tr-grid-row-dragging/es6/RowDragging.d.ts +3 -4
- package/lib/tr-grid-row-dragging/es6/RowDragging.js +86 -195
- package/lib/tr-grid-row-grouping/es6/RowGrouping.d.ts +7 -2
- package/lib/tr-grid-row-grouping/es6/RowGrouping.js +97 -7
- package/lib/tr-grid-row-selection/es6/RowSelection.d.ts +8 -8
- package/lib/tr-grid-row-selection/es6/RowSelection.js +55 -31
- package/lib/tr-grid-textformatting/es6/TextFormatting.d.ts +1 -1
- package/lib/tr-grid-textformatting/es6/TextFormatting.js +12 -0
- package/lib/tr-grid-util/es6/CellPainter.js +1 -1
- package/lib/tr-grid-util/es6/DragUI.d.ts +16 -0
- package/lib/tr-grid-util/es6/DragUI.js +214 -0
- package/lib/tr-grid-util/es6/ElementObserver.d.ts +2 -0
- package/lib/tr-grid-util/es6/ElementObserver.js +32 -2
- package/lib/tr-grid-util/es6/ElfUtil.d.ts +4 -1
- package/lib/tr-grid-util/es6/ElfUtil.js +131 -28
- package/lib/tr-grid-util/es6/ExpanderIcon.js +2 -2
- package/lib/tr-grid-util/es6/FieldFormatter.js +7 -5
- package/lib/tr-grid-util/es6/GridPlugin.js +8 -4
- package/lib/tr-grid-util/es6/MultiTableManager.d.ts +8 -0
- package/lib/tr-grid-util/es6/MultiTableManager.js +164 -57
- package/lib/tr-grid-util/es6/NumberFormatter.d.ts +2 -0
- package/lib/tr-grid-util/es6/NumberFormatter.js +64 -19
- package/lib/tr-grid-util/es6/RowPainter.js +57 -19
- package/lib/tr-grid-util/es6/formula/Formula.js +9 -1
- package/lib/tr-grid-util/es6/jsx.d.ts +223 -0
- package/lib/types/es6/Checkbox.d.ts +4 -3
- package/lib/types/es6/ColumnStack.d.ts +8 -4
- package/lib/types/es6/CompositeGrid/ColumnSelectionPlugin.d.ts +3 -2
- package/lib/types/es6/CompositeGrid/ColumnWidthAdjustingPlugin.d.ts +2 -1
- package/lib/types/es6/CompositeGrid/CompositeGrid.d.ts +20 -18
- package/lib/types/es6/CompositeGrid/DragAndDropTitlePlugin.d.ts +2 -1
- package/lib/types/es6/CompositeGrid/DraggableContentPlugin.d.ts +3 -2
- package/lib/types/es6/CompositeGrid/Plugin.d.ts +28 -0
- package/lib/types/es6/CompositeGrid/ResizableTitlePlugin.d.ts +2 -1
- package/lib/types/es6/CompositeGrid/RowSelectionPlugin.d.ts +5 -4
- package/lib/types/es6/CompositeGrid/TreeIndentingPlugin.d.ts +2 -1
- package/lib/types/es6/CompositeGrid/index.d.ts +9 -9
- package/lib/types/es6/ConditionalColoring.d.ts +4 -3
- package/lib/types/es6/Core/data/ColumnStats.d.ts +2 -2
- package/lib/types/es6/Core/data/DataCache.d.ts +4 -4
- package/lib/types/es6/Core/data/DataTable.d.ts +5 -5
- package/lib/types/es6/Core/data/DataView.d.ts +12 -18
- package/lib/types/es6/Core/data/Segment.d.ts +2 -0
- package/lib/types/es6/Core/data/SegmentCollection.d.ts +3 -3
- package/lib/types/es6/Core/data/WrappedView.d.ts +13 -13
- package/lib/types/es6/Core/grid/Core.d.ts +31 -27
- package/lib/types/es6/Core/grid/ILayoutGrid.d.ts +15 -15
- package/lib/types/es6/Core/grid/components/Cell.d.ts +4 -4
- package/lib/types/es6/Core/grid/components/CellFloatingPanel.d.ts +1 -1
- package/lib/types/es6/Core/grid/components/CellSpans.d.ts +8 -8
- package/lib/types/es6/Core/grid/components/Column.d.ts +1 -1
- package/lib/types/es6/Core/grid/components/ElementWrapper.d.ts +6 -6
- package/lib/types/es6/Core/grid/components/Scrollbar.d.ts +3 -1
- package/lib/types/es6/Core/grid/plugins/SortableTitlePlugin.d.ts +14 -6
- package/lib/types/es6/Core/grid/util/Conflator.d.ts +2 -2
- package/lib/types/es6/Core/grid/util/ElementFrameWork.d.ts +3 -3
- package/lib/types/es6/Core/grid/util/HttpRequest.d.ts +2 -2
- package/lib/types/es6/Core/grid/util/PercentBarRenderer.d.ts +1 -1
- package/lib/types/es6/Core/grid/util/RangeBar.d.ts +1 -1
- package/lib/types/es6/Core/grid/util/SectionSettings.d.ts +5 -5
- package/lib/types/es6/Core/grid/util/SelectionList.d.ts +2 -2
- package/lib/types/es6/Core/grid/util/TrackLayout.d.ts +7 -3
- package/lib/types/es6/Core/grid/util/util.d.ts +2 -2
- package/lib/types/es6/Core/index.d.ts +1 -5
- package/lib/types/es6/ExtensionOptions.d.ts +2 -0
- package/lib/types/es6/InCellEditing.d.ts +8 -5
- package/lib/types/es6/RealtimeGrid/ColumnDefinition.d.ts +5 -3
- package/lib/types/es6/RealtimeGrid/DataConnector.d.ts +3 -3
- package/lib/types/es6/RealtimeGrid/Grid.d.ts +24 -9
- package/lib/types/es6/RealtimeGrid/RowDefSorter.d.ts +19 -0
- package/lib/types/es6/RealtimeGrid/RowDefinition.d.ts +9 -7
- package/lib/types/es6/RealtimeGrid/SnapshotFiller.d.ts +6 -1
- package/lib/types/es6/RowDragging.d.ts +3 -4
- package/lib/types/es6/RowGrouping.d.ts +7 -2
- package/lib/types/es6/RowSegmenting.d.ts +7 -2
- package/lib/types/es6/RowSelection.d.ts +8 -8
- package/lib/types/es6/TextFormatting.d.ts +1 -1
- package/lib/types/es6/index.d.ts +1 -0
- package/lib/versions.json +17 -16
- package/package.json +1 -1
- package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
- package/lib/core/es6/grid/plugins/DragAndDropTitlePlugin.js +0 -615
- package/lib/core/es6/grid/plugins/Plugin.d.ts +0 -28
- package/lib/core/es6/grid/plugins/Plugin.js +0 -272
- package/lib/types/es6/Core/grid/plugins/DragAndDropTitlePlugin.d.ts +0 -24
- package/lib/types/es6/Core/grid/plugins/Plugin.d.ts +0 -28
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./ColumnDragging";
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from "./ColumnDragging";
|
@@ -1,4 +1,5 @@
|
|
1
1
|
import { customElement } from "@refinitiv-ui/core/decorators/custom-element.js";
|
2
|
+
import { JSXInterface } from "../../tr-grid-util/es6/jsx";
|
2
3
|
import {
|
3
4
|
BasicElement,
|
4
5
|
html
|
@@ -60,5 +61,16 @@ declare class ColumnFormatDialog extends BasicElement {
|
|
60
61
|
|
61
62
|
}
|
62
63
|
|
64
|
+
declare global {
|
65
|
+
interface HTMLElementTagNameMap {
|
66
|
+
"column-format-dialog": ColumnFormatDialog;
|
67
|
+
}
|
68
|
+
namespace JSX {
|
69
|
+
interface IntrinsicElements {
|
70
|
+
"column-format-dialog": ColumnFormatDialog | JSXInterface.HTMLAttributes;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
63
75
|
export { ColumnFormatDialog };
|
64
|
-
export default ColumnFormatDialog;
|
76
|
+
export default ColumnFormatDialog;
|
@@ -1,12 +1,14 @@
|
|
1
1
|
import { customElement } from "@refinitiv-ui/core/decorators/custom-element.js";
|
2
|
+
import { JSXInterface } from "../../tr-grid-util/es6/jsx";
|
2
3
|
import { BasicElement, html } from "@refinitiv-ui/core";
|
3
4
|
import "@refinitiv-ui/elements/button";
|
4
|
-
import "@refinitiv-ui/elements/tree";
|
5
|
+
import { TreeRenderer } from "@refinitiv-ui/elements/tree";
|
5
6
|
import "@refinitiv-ui/elements/dialog";
|
6
7
|
import "@refinitiv-ui/elements/search-field";
|
7
8
|
import translation from "./locale/translation.js";
|
8
9
|
import ElementObserver from "../../tr-grid-util/es6/ElementObserver.js";
|
9
10
|
import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
|
11
|
+
import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
10
12
|
|
11
13
|
declare namespace ColumnSelectionDialog {
|
12
14
|
|
@@ -37,5 +39,16 @@ declare class ColumnSelectionDialog extends BasicElement {
|
|
37
39
|
|
38
40
|
}
|
39
41
|
|
42
|
+
declare global {
|
43
|
+
interface HTMLElementTagNameMap {
|
44
|
+
"column-selection-dialog": ColumnSelectionDialog;
|
45
|
+
}
|
46
|
+
namespace JSX {
|
47
|
+
interface IntrinsicElements {
|
48
|
+
"column-selection-dialog": ColumnSelectionDialog | JSXInterface.HTMLAttributes;
|
49
|
+
}
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
40
53
|
export { ColumnSelectionDialog };
|
41
|
-
export default ColumnSelectionDialog;
|
54
|
+
export default ColumnSelectionDialog;
|
@@ -1,12 +1,13 @@
|
|
1
1
|
import { customElement } from "@refinitiv-ui/core/decorators/custom-element.js";
|
2
2
|
import { BasicElement, html } from "@refinitiv-ui/core";
|
3
3
|
import "@refinitiv-ui/elements/button";
|
4
|
-
import "@refinitiv-ui/elements/tree";
|
4
|
+
import { TreeRenderer } from "@refinitiv-ui/elements/tree";
|
5
5
|
import "@refinitiv-ui/elements/dialog";
|
6
6
|
import "@refinitiv-ui/elements/search-field";
|
7
7
|
import translation from "./locale/translation.js";
|
8
8
|
import ElementObserver from "../../tr-grid-util/es6/ElementObserver.js";
|
9
9
|
import { ElfUtil } from "../../tr-grid-util/es6/ElfUtil.js";
|
10
|
+
import { injectCss, prettifyCss } from "../../tr-grid-util/es6/Util.js";
|
10
11
|
|
11
12
|
/**
|
12
13
|
* @typedef {Object} ColumnSelectionDialog~Config
|
@@ -499,6 +500,7 @@ class ColumnSelectionDialog extends BasicElement {
|
|
499
500
|
this._excludedLeftVisibleColumnList = []; // Visible left columns that is currently excluded from UI (eg. auto-generated column)
|
500
501
|
this._excludedRightVisibleColumnList = []; // Visible right columns that is currently excluded from UI
|
501
502
|
this._selectAllStatus = "";
|
503
|
+
this._treeDefualtRenderer = {};
|
502
504
|
|
503
505
|
this._isMovable = this._isMovable.bind(this);
|
504
506
|
this._treeValueChanged = this._treeValueChanged.bind(this);
|
@@ -515,7 +517,11 @@ class ColumnSelectionDialog extends BasicElement {
|
|
515
517
|
this._handleMouseover = this._handleMouseover.bind(this);
|
516
518
|
this._handleMouseout = this._handleMouseout.bind(this);
|
517
519
|
this._handleSelectAllHeaderClick = this._handleSelectAllHeaderClick.bind(this);
|
520
|
+
this._handleInfoIconClicked = this._handleInfoIconClicked.bind(this);
|
521
|
+
this._handleInfoIconMouseover = this._handleInfoIconMouseover.bind(this);
|
522
|
+
this._handleInfoIconMouseout = this._handleInfoIconMouseout.bind(this);
|
518
523
|
this._handleClick = this._handleClick.bind(this);
|
524
|
+
this._createTreeCustomRender = this._createTreeCustomRender.bind(this);
|
519
525
|
this._selectAllCheckedChanged = this._selectAllCheckedChanged.bind(this);
|
520
526
|
ElementObserver.addLanguageListener(this);
|
521
527
|
}
|
@@ -683,6 +689,52 @@ class ColumnSelectionDialog extends BasicElement {
|
|
683
689
|
this._visibleColumnsContainer.addEventListener('mouseout', this._handleMouseout);
|
684
690
|
this._visibleColumnsContainer.addEventListener('click', this._handleClick);
|
685
691
|
this._visibleColumnsContainer.addEventListener('dblclick', this._removeBtnClicked);
|
692
|
+
|
693
|
+
// icon custom renderer
|
694
|
+
if(this._descriptionBox) {
|
695
|
+
this._treeDefualtRenderer = new DefaultRenderer(this._tree);
|
696
|
+
this._tree.renderer = this._createTreeCustomRender;
|
697
|
+
}
|
698
|
+
|
699
|
+
// apply style for info icon
|
700
|
+
if(!this._styles) {
|
701
|
+
var styles = [
|
702
|
+
"ef-tree-item", [
|
703
|
+
"position: relative;"
|
704
|
+
],
|
705
|
+
".item", [
|
706
|
+
"display: flex;",
|
707
|
+
"justify-content: space-between;"
|
708
|
+
],
|
709
|
+
".div-icon", [
|
710
|
+
"position: absolute;",
|
711
|
+
"right: 0;",
|
712
|
+
"top: 0;",
|
713
|
+
"width: 24px;",
|
714
|
+
"height: 100%;",
|
715
|
+
"text-align: center;"
|
716
|
+
],
|
717
|
+
".info-icon", [
|
718
|
+
"display: block;",
|
719
|
+
"font-size: 18px;",
|
720
|
+
"height: 100%;",
|
721
|
+
"display: none"
|
722
|
+
],
|
723
|
+
"ef-tree-item:hover .item .info-icon", [ // hover item will show icon
|
724
|
+
"display: inline-block;",
|
725
|
+
"color: #ffffff;" // icon-color white both dark and light theme
|
726
|
+
],
|
727
|
+
"ef-tree-item .item .div-icon:hover", [ // hover icon will change icon background
|
728
|
+
"background-color: var(--color-scheme-primary);"
|
729
|
+
],
|
730
|
+
".bg-highligted", [ // effect ef-tree-item, when _handleInfoIconMouseover icon (disable highlighted background color)
|
731
|
+
"background-color: var(--color-scheme-tertiary);",
|
732
|
+
"color: var(--color-scheme-complementary);" // font text
|
733
|
+
]
|
734
|
+
];
|
735
|
+
this._styles = prettifyCss(styles);
|
736
|
+
injectCss(this._styles, this); // inject in column selection dialog dialog
|
737
|
+
}
|
686
738
|
}
|
687
739
|
|
688
740
|
/**
|
@@ -1188,10 +1240,7 @@ class ColumnSelectionDialog extends BasicElement {
|
|
1188
1240
|
_handleClick(e) {
|
1189
1241
|
var selectedElement = e.target; // Target should be ef-item
|
1190
1242
|
|
1191
|
-
|
1192
|
-
if (this._descriptionBox && this._initialColumnMap[selectedElement.value]) {
|
1193
|
-
this._descriptionContainer.textContent = this._initialColumnMap[selectedElement.value].description;
|
1194
|
-
}
|
1243
|
+
this._showDescription(selectedElement.value);
|
1195
1244
|
|
1196
1245
|
if (!selectedElement.highlightable) {
|
1197
1246
|
return;
|
@@ -1219,6 +1268,98 @@ class ColumnSelectionDialog extends BasicElement {
|
|
1219
1268
|
this.requestUpdate();
|
1220
1269
|
}
|
1221
1270
|
|
1271
|
+
/**
|
1272
|
+
* @private
|
1273
|
+
* @param {object} e - event object
|
1274
|
+
*/
|
1275
|
+
_handleInfoIconClicked(e) {
|
1276
|
+
var targetElem = e.currentTarget;
|
1277
|
+
var divItem = targetElem.parentNode;
|
1278
|
+
var treeItem = divItem.parentNode;
|
1279
|
+
var value = treeItem.item.value;
|
1280
|
+
this._showDescription(value);
|
1281
|
+
e.stopPropagation();
|
1282
|
+
}
|
1283
|
+
|
1284
|
+
/**
|
1285
|
+
* @private
|
1286
|
+
* @param {object} e - event object
|
1287
|
+
*/
|
1288
|
+
_handleInfoIconMouseover(e) {
|
1289
|
+
var targetElem = e.currentTarget;
|
1290
|
+
var divItem = targetElem.parentNode;
|
1291
|
+
var treeItem = divItem.parentNode;
|
1292
|
+
if(treeItem.highlighted) {
|
1293
|
+
treeItem.classList.add("bg-highligted");
|
1294
|
+
}
|
1295
|
+
}
|
1296
|
+
|
1297
|
+
/**
|
1298
|
+
* @private
|
1299
|
+
* @param {object} e - event object
|
1300
|
+
*/
|
1301
|
+
_handleInfoIconMouseout(e) {
|
1302
|
+
var targetElem = e.currentTarget;
|
1303
|
+
var divItem = targetElem.parentNode;
|
1304
|
+
var treeItem = divItem.parentNode;
|
1305
|
+
if(treeItem.highlighted) {
|
1306
|
+
treeItem.classList.remove("bg-highligted");
|
1307
|
+
}
|
1308
|
+
}
|
1309
|
+
|
1310
|
+
/**
|
1311
|
+
* @private
|
1312
|
+
* @param {string} value of mapping item for show description
|
1313
|
+
*/
|
1314
|
+
_showDescription(value) {
|
1315
|
+
if(!value) {
|
1316
|
+
return;
|
1317
|
+
}
|
1318
|
+
var rawValue = this._allItemMapping[value].rawValue; // restore rawValue for access initial value
|
1319
|
+
if (this._descriptionBox && this._initialColumnMap[rawValue]) {
|
1320
|
+
this._descriptionContainer.textContent = this._initialColumnMap[rawValue].description;
|
1321
|
+
}
|
1322
|
+
}
|
1323
|
+
|
1324
|
+
/**
|
1325
|
+
* @private
|
1326
|
+
* @param {object} item ef-tree-item element
|
1327
|
+
* @param {object} composer data collection composer for elf API wrapper
|
1328
|
+
* @param {object} element
|
1329
|
+
* @return {Object} custom renderer element
|
1330
|
+
*/
|
1331
|
+
_createTreeCustomRender(item, composer, element) {
|
1332
|
+
// Use default renderer to create/recycle element
|
1333
|
+
element = this._treeDefualtRenderer(item, composer, element);
|
1334
|
+
var isParent = composer.isItemParent(item);
|
1335
|
+
var rawValue = item.rawValue;
|
1336
|
+
if (!isParent && this._initialColumnMap[rawValue].description) {
|
1337
|
+
var treeLabel = element._treeLabel;
|
1338
|
+
if (!treeLabel) {
|
1339
|
+
var div = document.createElement("div");
|
1340
|
+
treeLabel = document.createElement("div");
|
1341
|
+
element._treeLabel = treeLabel;
|
1342
|
+
var iconEl = document.createElement("ef-icon");
|
1343
|
+
var divIcon = document.createElement("div");
|
1344
|
+
div.classList.add("item");
|
1345
|
+
treeLabel.classList.add("tree-label");
|
1346
|
+
iconEl.classList.add("info-icon");
|
1347
|
+
iconEl.icon = "info";
|
1348
|
+
divIcon.classList.add("div-icon");
|
1349
|
+
divIcon.appendChild(iconEl);
|
1350
|
+
divIcon.addEventListener("tap", this._handleInfoIconClicked );
|
1351
|
+
divIcon.addEventListener("mouseover", this._handleInfoIconMouseover);
|
1352
|
+
divIcon.addEventListener("mouseout", this._handleInfoIconMouseout);
|
1353
|
+
div.appendChild(treeLabel);
|
1354
|
+
div.appendChild(divIcon);
|
1355
|
+
element.appendChild(div);
|
1356
|
+
} else {
|
1357
|
+
treeLabel = element.querySelector(".tree-label");
|
1358
|
+
}
|
1359
|
+
treeLabel.textContent = item.label;
|
1360
|
+
}
|
1361
|
+
return element;
|
1362
|
+
}
|
1222
1363
|
|
1223
1364
|
/**
|
1224
1365
|
* update up and down button
|