@deephaven/iris-grid 0.42.1-beta.4 → 0.43.0
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/package.json +15 -15
- package/dist/AdvancedFilterCreator.css +0 -106
- package/dist/AdvancedFilterCreator.css.map +0 -1
- package/dist/AdvancedFilterCreator.js +0 -541
- package/dist/AdvancedFilterCreator.js.map +0 -1
- package/dist/AdvancedFilterCreatorFilterItem.css +0 -9
- package/dist/AdvancedFilterCreatorFilterItem.css.map +0 -1
- package/dist/AdvancedFilterCreatorFilterItem.js +0 -184
- package/dist/AdvancedFilterCreatorFilterItem.js.map +0 -1
- package/dist/AdvancedFilterCreatorSelectValue.css +0 -50
- package/dist/AdvancedFilterCreatorSelectValue.css.map +0 -1
- package/dist/AdvancedFilterCreatorSelectValue.js +0 -301
- package/dist/AdvancedFilterCreatorSelectValue.js.map +0 -1
- package/dist/AdvancedFilterCreatorSelectValueList.js +0 -272
- package/dist/AdvancedFilterCreatorSelectValueList.js.map +0 -1
- package/dist/ColumnHeaderGroup.js +0 -61
- package/dist/ColumnHeaderGroup.js.map +0 -1
- package/dist/ColumnStatistics.css +0 -76
- package/dist/ColumnStatistics.css.map +0 -1
- package/dist/ColumnStatistics.js +0 -202
- package/dist/ColumnStatistics.js.map +0 -1
- package/dist/CommonTypes.js +0 -2
- package/dist/CommonTypes.js.map +0 -1
- package/dist/CrossColumnSearch.css +0 -35
- package/dist/CrossColumnSearch.css.map +0 -1
- package/dist/CrossColumnSearch.js +0 -199
- package/dist/CrossColumnSearch.js.map +0 -1
- package/dist/FilterInputField.css +0 -56
- package/dist/FilterInputField.css.map +0 -1
- package/dist/FilterInputField.js +0 -232
- package/dist/FilterInputField.js.map +0 -1
- package/dist/GotoRow.css +0 -45
- package/dist/GotoRow.css.map +0 -1
- package/dist/GotoRow.js +0 -298
- package/dist/GotoRow.js.map +0 -1
- package/dist/IrisGrid.css +0 -359
- package/dist/IrisGrid.css.map +0 -1
- package/dist/IrisGrid.js +0 -3651
- package/dist/IrisGrid.js.map +0 -1
- package/dist/IrisGridBottomBar.css +0 -85
- package/dist/IrisGridBottomBar.css.map +0 -1
- package/dist/IrisGridBottomBar.js +0 -36
- package/dist/IrisGridBottomBar.js.map +0 -1
- package/dist/IrisGridCellOverflowModal.css +0 -17
- package/dist/IrisGridCellOverflowModal.css.map +0 -1
- package/dist/IrisGridCellOverflowModal.js +0 -157
- package/dist/IrisGridCellOverflowModal.js.map +0 -1
- package/dist/IrisGridCellRendererUtils.js +0 -20
- package/dist/IrisGridCellRendererUtils.js.map +0 -1
- package/dist/IrisGridCopyHandler.css +0 -64
- package/dist/IrisGridCopyHandler.css.map +0 -1
- package/dist/IrisGridCopyHandler.js +0 -331
- package/dist/IrisGridCopyHandler.js.map +0 -1
- package/dist/IrisGridDataBarCellRenderer.js +0 -10
- package/dist/IrisGridDataBarCellRenderer.js.map +0 -1
- package/dist/IrisGridIcons.js +0 -25
- package/dist/IrisGridIcons.js.map +0 -1
- package/dist/IrisGridMetricCalculator.js +0 -33
- package/dist/IrisGridMetricCalculator.js.map +0 -1
- package/dist/IrisGridModel.js +0 -263
- package/dist/IrisGridModel.js.map +0 -1
- package/dist/IrisGridModelFactory.js +0 -27
- package/dist/IrisGridModelFactory.js.map +0 -1
- package/dist/IrisGridModelUpdater.js +0 -96
- package/dist/IrisGridModelUpdater.js.map +0 -1
- package/dist/IrisGridPartitionSelector.css +0 -48
- package/dist/IrisGridPartitionSelector.css.map +0 -1
- package/dist/IrisGridPartitionSelector.js +0 -198
- package/dist/IrisGridPartitionSelector.js.map +0 -1
- package/dist/IrisGridProxyModel.js +0 -530
- package/dist/IrisGridProxyModel.js.map +0 -1
- package/dist/IrisGridRenderer.js +0 -779
- package/dist/IrisGridRenderer.js.map +0 -1
- package/dist/IrisGridShortcuts.js +0 -59
- package/dist/IrisGridShortcuts.js.map +0 -1
- package/dist/IrisGridTableModel.js +0 -273
- package/dist/IrisGridTableModel.js.map +0 -1
- package/dist/IrisGridTableModelTemplate.js +0 -1589
- package/dist/IrisGridTableModelTemplate.js.map +0 -1
- package/dist/IrisGridTestUtils.js +0 -121
- package/dist/IrisGridTestUtils.js.map +0 -1
- package/dist/IrisGridTextCellRenderer.js +0 -139
- package/dist/IrisGridTextCellRenderer.js.map +0 -1
- package/dist/IrisGridTheme.js +0 -96
- package/dist/IrisGridTheme.js.map +0 -1
- package/dist/IrisGridTheme.module.css +0 -69
- package/dist/IrisGridTheme.module.css.map +0 -1
- package/dist/IrisGridTreeTableModel.js +0 -145
- package/dist/IrisGridTreeTableModel.js.map +0 -1
- package/dist/IrisGridUtils.js +0 -1279
- package/dist/IrisGridUtils.js.map +0 -1
- package/dist/MissingKeyError.js +0 -15
- package/dist/MissingKeyError.js.map +0 -1
- package/dist/PartitionSelectorSearch.css +0 -22
- package/dist/PartitionSelectorSearch.css.map +0 -1
- package/dist/PartitionSelectorSearch.js +0 -317
- package/dist/PartitionSelectorSearch.js.map +0 -1
- package/dist/PendingDataBottomBar.css +0 -13
- package/dist/PendingDataBottomBar.css.map +0 -1
- package/dist/PendingDataBottomBar.js +0 -98
- package/dist/PendingDataBottomBar.js.map +0 -1
- package/dist/TableViewportUpdater.js +0 -156
- package/dist/TableViewportUpdater.js.map +0 -1
- package/dist/ToastBottomBar.js +0 -42
- package/dist/ToastBottomBar.js.map +0 -1
- package/dist/TreeTableViewportUpdater.js +0 -96
- package/dist/TreeTableViewportUpdater.js.map +0 -1
- package/dist/declaration.d.js +0 -2
- package/dist/declaration.d.js.map +0 -1
- package/dist/format-context-menus/CustomFormatAction.css +0 -25
- package/dist/format-context-menus/CustomFormatAction.css.map +0 -1
- package/dist/format-context-menus/CustomFormatAction.js +0 -132
- package/dist/format-context-menus/CustomFormatAction.js.map +0 -1
- package/dist/format-context-menus/DateTimeFormatContextMenu.js +0 -53
- package/dist/format-context-menus/DateTimeFormatContextMenu.js.map +0 -1
- package/dist/format-context-menus/DecimalFormatContextMenu.js +0 -59
- package/dist/format-context-menus/DecimalFormatContextMenu.js.map +0 -1
- package/dist/format-context-menus/FormatContextMenuUtils.js +0 -63
- package/dist/format-context-menus/FormatContextMenuUtils.js.map +0 -1
- package/dist/format-context-menus/IntegerFormatContextMenu.js +0 -43
- package/dist/format-context-menus/IntegerFormatContextMenu.js.map +0 -1
- package/dist/format-context-menus/index.js +0 -4
- package/dist/format-context-menus/index.js.map +0 -1
- package/dist/index.js +0 -24
- package/dist/index.js.map +0 -1
- package/dist/key-handlers/ClearFilterKeyHandler.js +0 -21
- package/dist/key-handlers/ClearFilterKeyHandler.js.map +0 -1
- package/dist/key-handlers/CopyKeyHandler.js +0 -31
- package/dist/key-handlers/CopyKeyHandler.js.map +0 -1
- package/dist/key-handlers/ReverseKeyHandler.js +0 -32
- package/dist/key-handlers/ReverseKeyHandler.js.map +0 -1
- package/dist/key-handlers/index.js +0 -4
- package/dist/key-handlers/index.js.map +0 -1
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js +0 -175
- package/dist/mousehandlers/IrisGridCellOverflowMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js +0 -139
- package/dist/mousehandlers/IrisGridColumnSelectMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js +0 -83
- package/dist/mousehandlers/IrisGridColumnTooltipMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.css +0 -19
- package/dist/mousehandlers/IrisGridContextMenuHandler.css.map +0 -1
- package/dist/mousehandlers/IrisGridContextMenuHandler.js +0 -1220
- package/dist/mousehandlers/IrisGridContextMenuHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js +0 -28
- package/dist/mousehandlers/IrisGridDataSelectMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js +0 -80
- package/dist/mousehandlers/IrisGridFilterMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js +0 -126
- package/dist/mousehandlers/IrisGridRowTreeMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridSortMouseHandler.js +0 -46
- package/dist/mousehandlers/IrisGridSortMouseHandler.js.map +0 -1
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js +0 -151
- package/dist/mousehandlers/IrisGridTokenMouseHandler.js.map +0 -1
- package/dist/mousehandlers/PendingMouseHandler.js +0 -39
- package/dist/mousehandlers/PendingMouseHandler.js.map +0 -1
- package/dist/mousehandlers/index.js +0 -11
- package/dist/mousehandlers/index.js.map +0 -1
- package/dist/sidebar/AdvancedSettings.js +0 -6
- package/dist/sidebar/AdvancedSettings.js.map +0 -1
- package/dist/sidebar/AdvancedSettingsMenu.js +0 -29
- package/dist/sidebar/AdvancedSettingsMenu.js.map +0 -1
- package/dist/sidebar/AdvancedSettingsType.js +0 -7
- package/dist/sidebar/AdvancedSettingsType.js.map +0 -1
- package/dist/sidebar/ChartBuilder.css +0 -56
- package/dist/sidebar/ChartBuilder.css.map +0 -1
- package/dist/sidebar/ChartBuilder.js +0 -443
- package/dist/sidebar/ChartBuilder.js.map +0 -1
- package/dist/sidebar/CustomColumnBuilder.css +0 -58
- package/dist/sidebar/CustomColumnBuilder.css.map +0 -1
- package/dist/sidebar/CustomColumnBuilder.js +0 -384
- package/dist/sidebar/CustomColumnBuilder.js.map +0 -1
- package/dist/sidebar/CustomColumnInput.js +0 -90
- package/dist/sidebar/CustomColumnInput.js.map +0 -1
- package/dist/sidebar/InputEditor.css +0 -35
- package/dist/sidebar/InputEditor.css.map +0 -1
- package/dist/sidebar/InputEditor.js +0 -177
- package/dist/sidebar/InputEditor.js.map +0 -1
- package/dist/sidebar/OptionType.js +0 -19
- package/dist/sidebar/OptionType.js.map +0 -1
- package/dist/sidebar/RollupRows.css +0 -120
- package/dist/sidebar/RollupRows.css.map +0 -1
- package/dist/sidebar/RollupRows.js +0 -519
- package/dist/sidebar/RollupRows.js.map +0 -1
- package/dist/sidebar/SelectDistinctBuilder.css +0 -41
- package/dist/sidebar/SelectDistinctBuilder.css.map +0 -1
- package/dist/sidebar/SelectDistinctBuilder.js +0 -155
- package/dist/sidebar/SelectDistinctBuilder.js.map +0 -1
- package/dist/sidebar/TableCsvExporter.css +0 -32
- package/dist/sidebar/TableCsvExporter.css.map +0 -1
- package/dist/sidebar/TableCsvExporter.js +0 -399
- package/dist/sidebar/TableCsvExporter.js.map +0 -1
- package/dist/sidebar/TableSaver.js +0 -487
- package/dist/sidebar/TableSaver.js.map +0 -1
- package/dist/sidebar/aggregations/AggregationEdit.css +0 -61
- package/dist/sidebar/aggregations/AggregationEdit.css.map +0 -1
- package/dist/sidebar/aggregations/AggregationEdit.js +0 -155
- package/dist/sidebar/aggregations/AggregationEdit.js.map +0 -1
- package/dist/sidebar/aggregations/AggregationOperation.js +0 -19
- package/dist/sidebar/aggregations/AggregationOperation.js.map +0 -1
- package/dist/sidebar/aggregations/AggregationUtils.js +0 -59
- package/dist/sidebar/aggregations/AggregationUtils.js.map +0 -1
- package/dist/sidebar/aggregations/Aggregations.css +0 -43
- package/dist/sidebar/aggregations/Aggregations.css.map +0 -1
- package/dist/sidebar/aggregations/Aggregations.js +0 -178
- package/dist/sidebar/aggregations/Aggregations.js.map +0 -1
- package/dist/sidebar/aggregations/index.js +0 -2
- package/dist/sidebar/aggregations/index.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js +0 -123
- package/dist/sidebar/conditional-formatting/ColumnFormatEditor.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionEditor.js +0 -243
- package/dist/sidebar/conditional-formatting/ConditionEditor.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css +0 -22
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.css.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js +0 -109
- package/dist/sidebar/conditional-formatting/ConditionalFormatEditor.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js +0 -18
- package/dist/sidebar/conditional-formatting/ConditionalFormattingAPIUtils.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css +0 -57
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.css.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js +0 -150
- package/dist/sidebar/conditional-formatting/ConditionalFormattingMenu.js.map +0 -1
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js +0 -635
- package/dist/sidebar/conditional-formatting/ConditionalFormattingUtils.js.map +0 -1
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js +0 -122
- package/dist/sidebar/conditional-formatting/RowFormatEditor.js.map +0 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.css +0 -55
- package/dist/sidebar/conditional-formatting/StyleEditor.css.map +0 -1
- package/dist/sidebar/conditional-formatting/StyleEditor.js +0 -150
- package/dist/sidebar/conditional-formatting/StyleEditor.js.map +0 -1
- package/dist/sidebar/icons/BarIcon.js +0 -24
- package/dist/sidebar/icons/BarIcon.js.map +0 -1
- package/dist/sidebar/icons/FormatColumnWhereIcon.js +0 -42
- package/dist/sidebar/icons/FormatColumnWhereIcon.js.map +0 -1
- package/dist/sidebar/icons/FormatRowWhereIcon.js +0 -36
- package/dist/sidebar/icons/FormatRowWhereIcon.js.map +0 -1
- package/dist/sidebar/icons/HistogramIcon.js +0 -24
- package/dist/sidebar/icons/HistogramIcon.js.map +0 -1
- package/dist/sidebar/icons/LineIcon.js +0 -27
- package/dist/sidebar/icons/LineIcon.js.map +0 -1
- package/dist/sidebar/icons/PieIcon.js +0 -24
- package/dist/sidebar/icons/PieIcon.js.map +0 -1
- package/dist/sidebar/icons/ScatterIcon.js +0 -74
- package/dist/sidebar/icons/ScatterIcon.js.map +0 -1
- package/dist/sidebar/icons/index.js +0 -8
- package/dist/sidebar/icons/index.js.map +0 -1
- package/dist/sidebar/index.js +0 -18
- package/dist/sidebar/index.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.css +0 -68
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.css.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js +0 -964
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilder.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js +0 -132
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingBuilderUtils.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.css +0 -29
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.css.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js +0 -188
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingGroup.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js +0 -81
- package/dist/sidebar/visibility-ordering-builder/VisibilityOrderingItem.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js +0 -30
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/PointerSensorWithInteraction.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js +0 -158
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTree.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js +0 -146
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeInner.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js +0 -59
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/SortableTreeItem.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.css +0 -139
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.css.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js +0 -44
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js +0 -129
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js +0 -4
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/types.js.map +0 -1
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js +0 -261
- package/dist/sidebar/visibility-ordering-builder/sortable-tree/utilities.js.map +0 -1
|
@@ -1,139 +0,0 @@
|
|
|
1
|
-
/* stylelint-disable scss/at-import-no-partial-leading-underscore */
|
|
2
|
-
.visibility-ordering-list .tree-item {
|
|
3
|
-
position: relative;
|
|
4
|
-
display: flex;
|
|
5
|
-
gap: 0.25rem;
|
|
6
|
-
flex-direction: row;
|
|
7
|
-
flex-wrap: nowrap;
|
|
8
|
-
justify-content: flex-start;
|
|
9
|
-
align-items: center;
|
|
10
|
-
flex-grow: 1;
|
|
11
|
-
min-width: 0;
|
|
12
|
-
border: 1px solid transparent;
|
|
13
|
-
user-select: none;
|
|
14
|
-
border-radius: 4px;
|
|
15
|
-
padding: 0 0.25rem;
|
|
16
|
-
}
|
|
17
|
-
.visibility-ordering-list .tree-item svg:not(.color-swatch) {
|
|
18
|
-
color: #929192;
|
|
19
|
-
}
|
|
20
|
-
.visibility-ordering-list .tree-item:hover {
|
|
21
|
-
background: #5b5a5c;
|
|
22
|
-
cursor: grab;
|
|
23
|
-
}
|
|
24
|
-
.visibility-ordering-list .tree-item.isSelected {
|
|
25
|
-
background-color: rgba(72, 120, 234, 0.4);
|
|
26
|
-
}
|
|
27
|
-
.visibility-ordering-list .tree-item.isSelected:hover {
|
|
28
|
-
background-color: #4878ea;
|
|
29
|
-
}
|
|
30
|
-
.visibility-ordering-list .tree-item.isSelected:hover svg:not(.color-swatch) {
|
|
31
|
-
color: #f0f0ee;
|
|
32
|
-
}
|
|
33
|
-
.visibility-ordering-list .tree-item:focus {
|
|
34
|
-
outline: 0;
|
|
35
|
-
border: 1px solid rgba(72, 120, 234, 0.85);
|
|
36
|
-
box-shadow: 0 0 0 0.2rem rgba(72, 120, 234, 0.35);
|
|
37
|
-
}
|
|
38
|
-
.visibility-ordering-list .tree-item .column-name {
|
|
39
|
-
flex-grow: 1;
|
|
40
|
-
flex-shrink: 1;
|
|
41
|
-
overflow-x: hidden;
|
|
42
|
-
text-overflow: ellipsis;
|
|
43
|
-
}
|
|
44
|
-
.visibility-ordering-list .tree-item .item-count {
|
|
45
|
-
padding: 0 0.5rem;
|
|
46
|
-
border-radius: 1rem;
|
|
47
|
-
background-color: rgba(240, 240, 238, 0.25);
|
|
48
|
-
margin-right: 0.25rem;
|
|
49
|
-
}
|
|
50
|
-
.visibility-ordering-list .marching-ants {
|
|
51
|
-
background-image: linear-gradient(to right, #1a171a 50%, #f0f0ee 50%), linear-gradient(to right, #1a171a 50%, #f0f0ee 50%), linear-gradient(to bottom, #1a171a 50%, #f0f0ee 50%), linear-gradient(to bottom, #1a171a 50%, #f0f0ee 50%);
|
|
52
|
-
background-size: 8px 1px, 8px 1px, 1px 8px, 1px 8px;
|
|
53
|
-
background-position: 0 top, 0 bottom, left 0, right 0;
|
|
54
|
-
background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;
|
|
55
|
-
animation: march 0.5s;
|
|
56
|
-
animation-timing-function: linear;
|
|
57
|
-
animation-iteration-count: infinite;
|
|
58
|
-
}
|
|
59
|
-
.visibility-ordering-list .item-wrapper {
|
|
60
|
-
list-style: none;
|
|
61
|
-
box-sizing: border-box;
|
|
62
|
-
margin-bottom: 1px;
|
|
63
|
-
width: 100%;
|
|
64
|
-
display: flex;
|
|
65
|
-
flex-direction: row;
|
|
66
|
-
flex-wrap: nowrap;
|
|
67
|
-
}
|
|
68
|
-
.visibility-ordering-list .item-wrapper.clone {
|
|
69
|
-
pointer-events: none;
|
|
70
|
-
padding: 0;
|
|
71
|
-
}
|
|
72
|
-
.visibility-ordering-list .item-wrapper.clone .tree-item {
|
|
73
|
-
opacity: 1;
|
|
74
|
-
background-color: #4878ea;
|
|
75
|
-
box-shadow: 0 0.1rem 1rem rgba(26, 23, 26, 0.45);
|
|
76
|
-
}
|
|
77
|
-
.visibility-ordering-list .item-wrapper.clone .tree-item svg:not(.color-swatch) {
|
|
78
|
-
color: #f0f0ee;
|
|
79
|
-
}
|
|
80
|
-
.visibility-ordering-list .item-wrapper.clone .tree-item.two-dragged::before {
|
|
81
|
-
content: " ";
|
|
82
|
-
background: #4878ea;
|
|
83
|
-
box-shadow: 0 0.1rem 1rem rgba(26, 23, 26, 0.45);
|
|
84
|
-
border-radius: 4px;
|
|
85
|
-
position: absolute;
|
|
86
|
-
height: 100%;
|
|
87
|
-
width: 100%;
|
|
88
|
-
top: 4px;
|
|
89
|
-
left: 2px;
|
|
90
|
-
opacity: 0.8;
|
|
91
|
-
z-index: -1;
|
|
92
|
-
}
|
|
93
|
-
.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged::before {
|
|
94
|
-
content: " ";
|
|
95
|
-
background: #4878ea;
|
|
96
|
-
box-shadow: 0 0.1rem 1rem rgba(26, 23, 26, 0.45);
|
|
97
|
-
border-radius: 4px;
|
|
98
|
-
position: absolute;
|
|
99
|
-
height: 100%;
|
|
100
|
-
width: 100%;
|
|
101
|
-
top: 4px;
|
|
102
|
-
left: 2px;
|
|
103
|
-
opacity: 0.8;
|
|
104
|
-
z-index: -1;
|
|
105
|
-
}
|
|
106
|
-
.visibility-ordering-list .item-wrapper.clone .tree-item.multiple-dragged::after {
|
|
107
|
-
content: " ";
|
|
108
|
-
background: #4878ea;
|
|
109
|
-
box-shadow: 0 0.1rem 1rem rgba(26, 23, 26, 0.45);
|
|
110
|
-
border-radius: 4px;
|
|
111
|
-
position: absolute;
|
|
112
|
-
height: 100%;
|
|
113
|
-
width: 100%;
|
|
114
|
-
top: 8px;
|
|
115
|
-
left: 4px;
|
|
116
|
-
opacity: 0.6;
|
|
117
|
-
z-index: -2;
|
|
118
|
-
}
|
|
119
|
-
.visibility-ordering-list .item-wrapper.ghost {
|
|
120
|
-
opacity: 0.5;
|
|
121
|
-
}
|
|
122
|
-
.visibility-ordering-list .item-wrapper.ghost .tree-item > * {
|
|
123
|
-
box-shadow: none;
|
|
124
|
-
background-color: transparent;
|
|
125
|
-
}
|
|
126
|
-
.visibility-ordering-list .item-wrapper.disableInteraction {
|
|
127
|
-
pointer-events: none;
|
|
128
|
-
}
|
|
129
|
-
.visibility-ordering-list .item-wrapper.disableInteraction:not(.ghost) .tree-item.isSelected {
|
|
130
|
-
opacity: 0.3;
|
|
131
|
-
}
|
|
132
|
-
.visibility-ordering-list .item-wrapper .depth-line {
|
|
133
|
-
margin-left: calc(0.5rem + 8px + 0.5px);
|
|
134
|
-
margin-right: 0.25rem;
|
|
135
|
-
margin-top: -1px;
|
|
136
|
-
border-left: 1px solid #555356;
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
/*# sourceMappingURL=TreeItem.css.map */
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../../../../../../node_modules/@deephaven/components/scss/custom.scss","../../../../src/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.scss","../../../../../../node_modules/@deephaven/components/scss/new_variables.scss","../../../../../../node_modules/@deephaven/components/scss/bootstrap_overrides.scss"],"names":[],"mappings":"AAAA;ACQE;EACE;EACA;EACA,KCTO;EDUP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,eEqGY;EFpGZ;;AAEA;EACE,OEHK;;AFMP;EACE,YENK;EFOL;;AAGF;EACE;;AAEA;EACE,kBExBQ;;AF0BR;EACE,OE1BO;;AF+Bb;EACE;EACA;EACA,YE+FuB;;AF5FzB;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EACA;EACA,cC3DK;;AD+DT;EC/CA;EAIA;EAEA;EACA;EACA;EACA;EACA;;ADyCA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;EACA;;AAEA;EACE;EACA,kBExEQ;EFyER,YEqCK;;AFnCL;EACE,OE3EO;;ADmBf;EACE;EACA,YCtBY;EDuBZ,YCuFS;EDtFT,eCqFY;EDpFZ;EACA;EACA;EDsDQ;EACA;EACA;EACA;;AChEV;EACE;EACA,YCtBY;EDuBZ,YCuFS;EDtFT,eCqFY;EDpFZ;EACA;EACA;ED+DQ;EACA;EACA;EACA;;ACzEV;EACE;EACA,YCtBY;EDuBZ,YCuFS;EDtFT,eCqFY;EDpFZ;EACA;EACA;EDqEQ;EACA;EACA;EACA;;AAMR;EACE;;AAEA;EACE;EACA;;AAIJ;EACE;;AAEA;EACE;;AAIJ;EACE,aApIS;EAqIT,cCtIK;EDuIL;EACA","file":"TreeItem.css","sourcesContent":["/* stylelint-disable scss/at-import-no-partial-leading-underscore */\n// Consumers should be able to resolve bootstrap/ to node_modules/bootstrap\n\n//Make bootstrap functions available for use in overrides\n@import 'bootstrap/scss/_functions.scss';\n@import './bootstrap_overrides.scss';\n\n//_variable imports come after bootstrap default overrides,\n// makes all other variables and mixins from bootstrap available\n/// with just importing customer.scss\n@import 'bootstrap/scss/_variables.scss';\n@import 'bootstrap/scss/_mixins.scss';\n\n//New variables come after imports\n@import './new_variables.scss';\n","@import '@deephaven/components/scss/custom.scss';\n\n$depth-line-color: $gray-600;\n$depth-margin: calc(\n 0.5rem + 8px + 0.5px\n); // Tree item 0.25rem padding, Icon button 0.25rem, half of icon size, and half pixel to offset 1px border\n\n.visibility-ordering-list {\n .tree-item {\n position: relative;\n display: flex;\n gap: $spacer-1;\n flex-direction: row;\n flex-wrap: nowrap;\n justify-content: flex-start;\n align-items: center;\n flex-grow: 1;\n min-width: 0; // Needed so column names don't grow past the edge\n border: $input-border-width solid transparent;\n user-select: none;\n border-radius: $border-radius;\n padding: 0 $spacer-1; // space for focus border\n\n svg:not(.color-swatch) {\n color: $text-muted;\n }\n\n &:hover {\n background: $gray-500;\n cursor: grab;\n }\n\n &.isSelected {\n background-color: rgba($primary, 0.4);\n\n &:hover {\n background-color: $primary;\n\n svg:not(.color-swatch) {\n color: $foreground;\n }\n }\n }\n\n &:focus {\n outline: 0;\n border: $input-border-width solid $input-focus-border-color;\n box-shadow: $input-focus-box-shadow;\n }\n\n .column-name {\n flex-grow: 1;\n flex-shrink: 1;\n overflow-x: hidden;\n text-overflow: ellipsis;\n }\n\n .item-count {\n padding: 0 $spacer-2;\n border-radius: 1rem;\n background-color: rgba($foreground, 0.25);\n margin-right: $spacer-1;\n }\n }\n\n .marching-ants {\n @include ants-base($foreground, $background);\n }\n\n .item-wrapper {\n list-style: none;\n box-sizing: border-box;\n margin-bottom: 1px;\n width: 100%;\n display: flex;\n flex-direction: row;\n flex-wrap: nowrap;\n\n &.clone {\n pointer-events: none;\n padding: 0;\n\n .tree-item {\n opacity: 1;\n background-color: $primary;\n box-shadow: $box-shadow;\n\n svg:not(.color-swatch) {\n color: $foreground;\n }\n\n &.two-dragged {\n @include drag-stack(before) {\n top: 4px;\n left: 2px;\n opacity: 0.8;\n z-index: -1;\n }\n }\n\n &.multiple-dragged {\n @include drag-stack(before) {\n top: 4px;\n left: 2px;\n opacity: 0.8;\n z-index: -1;\n }\n @include drag-stack(after) {\n top: 8px;\n left: 4px;\n opacity: 0.6;\n z-index: -2;\n }\n }\n }\n }\n\n &.ghost {\n opacity: 0.5;\n\n .tree-item > * {\n box-shadow: none;\n background-color: transparent;\n }\n }\n\n &.disableInteraction {\n pointer-events: none;\n\n &:not(.ghost) .tree-item.isSelected {\n opacity: 0.3;\n }\n }\n\n .depth-line {\n margin-left: $depth-margin;\n margin-right: $spacer-1; // Gives breathing room to the item boxes\n margin-top: -1px; // removes gaps between depth lines caused by item's margin-bottom\n border-left: 1px solid $depth-line-color;\n }\n }\n}\n","//Set of spacer variables from the spacer map\n$spacer-0: map-get($spacers, 0); //0\n$spacer-1: map-get($spacers, 1);\n$spacer-2: map-get($spacers, 2);\n$spacer-3: map-get($spacers, 3);\n$spacer-4: map-get($spacers, 4);\n$spacer-5: map-get($spacers, 5);\n\n//Marching Ants for golden layout dropzone and drag and drop\n//top bottom, left right.\n//create 4 background images that are 50% color 1, 50% color 2 using graidents, two veritical, two horizontal\n//size them to ant-size and thickness\n//position those images along the egdes and make top/bottom repeat-x and left/right repeat-y\n//then offest each of those background positions by ant-size in animation to make them march.\n$ant-size: 8px;\n$ant-thickness: 1px;\n\n@mixin ants-base($color-1: black, $color-2: white) {\n background-image: linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to right, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%),\n linear-gradient(to bottom, $color-2 50%, $color-1 50%);\n background-size: $ant-size $ant-thickness, $ant-size $ant-thickness,\n $ant-thickness $ant-size, $ant-thickness $ant-size;\n background-position: 0 top, 0 bottom, left 0, right 0;\n background-repeat: repeat-x, repeat-x, repeat-y, repeat-y;\n animation: march 0.5s;\n animation-timing-function: linear;\n animation-iteration-count: infinite;\n}\n\n@mixin drag-stack($pseudo-element) {\n &::#{$pseudo-element} {\n content: ' ';\n background: $primary;\n box-shadow: $box-shadow;\n border-radius: $border-radius;\n position: absolute;\n height: 100%;\n width: 100%;\n @content;\n }\n}\n\n$focus-bg-transparency: 0.12;\n$hover-bg-transparency: 0.14;\n$active-bg-transparency: 0.28;\n$exception-transparency: 0.13;\n","// Styling overrides for bootstrap\n\n// Override / set color variables\n$red: #f95d84;\n$orange: #f37e3f;\n$yellow: #fcd65b;\n$green: #9edc6f;\n$blue: #76d9e4;\n$purple: #aa9af4;\n\n//Define some UI colors\n$interfacegray: #2d2a2e;\n$interfaceblue: #4878ea;\n$interfacewhite: #f0f0ee; //same as gray-200\n$interfaceblack: #1a171a;\n\n//Define our Gray scale\n$white: $interfacewhite;\n$gray-100: #fcfcfa;\n$gray-200: $interfacewhite;\n$gray-300: #c0bfbf;\n$gray-400: #929192;\n$gray-500: #5b5a5c;\n$gray-600: #555356;\n$gray-700: #403e41;\n$gray-800: #373438;\n$gray-850: #322f33;\n$gray-900: #211f22;\n$black: $interfaceblack;\n$content-bg: $interfacegray;\n$background: $interfaceblack;\n$foreground: $interfacewhite;\n\n//Load colors into map\n$colors: ();\n$colors: map-merge(\n (\n 'red': $red,\n 'orange': $orange,\n 'yellow': $yellow,\n 'green': $green,\n 'blue': $blue,\n 'purple': $purple,\n 'white': $white,\n 'black': $black,\n ),\n $colors\n);\n\n//Set default colors\n$body-bg: $black;\n$body-color: $interfacewhite;\n\n// Set brand colors\n$primary: $interfaceblue;\n$primary-hover: darken($primary, 8%);\n$primary-dark: mix($primary, $content-bg, 25%);\n$primary-light: scale-color($primary, $lightness: -25%);\n$secondary: $gray-500;\n$secondary-hover: darken($secondary, 8%);\n$success: $green;\n$info: $yellow;\n$warning: $orange;\n$danger: $red;\n$danger-hover: darken($danger, 8%);\n$light: $gray-100;\n$mid: $gray-400; //Added a mid color, useful for input styling\n$dark: $gray-800;\n$green-dark: scale-color($green, $lightness: -45%, $saturation: -10%);\n\n$theme-colors: () !default;\n$theme-colors: map-merge(\n (\n 'primary': $primary,\n 'primary-hover': $primary-hover,\n 'primary-light': $primary-light,\n 'primary-dark': $primary-dark,\n 'secondary': $secondary,\n 'success': $success,\n 'info': $info,\n 'warning': $warning,\n 'danger': $danger,\n 'light': $light,\n 'dark': $dark,\n 'mid': $mid,\n 'content-bg': $interfacegray,\n 'background': $interfaceblack,\n 'foreground': $interfacewhite,\n ),\n $theme-colors\n);\n\n$component-active-bg: $primary;\n$theme-color-interval: 9%;\n$yiq-contrasted-threshold: 180;\n\n// Override fonts\n$font-family-sans-serif: 'Fira Sans', -apple-system, blinkmacsystemfont,\n 'Segoe UI', 'Roboto', 'Helvetica Neue', arial, sans-serif; //fira sans then native system ui fallbacks\n$font-family-monospace: 'Fira Mono', menlo, monaco, consolas, 'Liberation Mono',\n 'Courier New', monospace;\n$font-family-base: $font-family-sans-serif;\n\n$headings-font-weight: 400;\n\n//Text overides\n$text-muted: $gray-400;\n\n//Style Selection highlight color\n//so browsers add alpha to your color by default, ignoring opacity 1\n//by setting rgba with 0.99 it tricks browser into thinking there is alpha applied\n$text-select-color: $primary-hover;\n$text-select-color-editor: lighten(\n $gray-700,\n 15%\n); //we lighten it abit to account for that 0.01 loss, and because it needs some anyways.\n\n//Grid variables, same value as default just making easily accessible\n$grid-gutter-width: 30px;\n\n//Visual Overrides\n$border-radius: 4px;\n$box-shadow: 0 0.1rem 1rem rgba($black, 45%); //because our UI is so dark, we need darker default shadows\n$box-shadow-900: 0 0.1rem 1rem rgba(0, 0, 0, 45%); //darkest shadow for $black popups over $black UI\n\n//Override Btn\n$btn-border-radius: 4rem;\n$btn-padding-x: 1.5rem;\n$btn-transition: color 0.12s ease-in-out, background-color 0.12s ease-in-out,\n border-color 0.12s ease-in-out, box-shadow 0.12s ease-in-out; //default 0.15 is too long\n$btn-border-width: 2px;\n\n//Override Inputs\n$input-bg: $gray-600;\n$input-disabled-bg: $gray-800;\n$input-color: $foreground;\n$input-border-color: $gray-400;\n$input-placeholder-color: $gray-400;\n$input-focus-border-color: rgba($primary, 85%);\n\n$input-btn-focus-width: 0.2rem;\n$input-btn-focus-color: rgba($component-active-bg, 35%);\n$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color;\n\n//checkbox\n$custom-control-indicator-bg: $gray-600;\n$custom-control-indicator-bg-size: 75% 75%;\n$custom-control-indicator-disabled-bg: $gray-800;\n$custom-control-indicator-checked-disabled-bg: $gray-800;\n$custom-control-label-disabled-color: $gray-400;\n\n//Custom Select\n$custom-select-indicator-color: $gray-400;\n$custom-select-bg-size: 16px 16px;\n//dhSort icon encoded\n$custom-select-indicator: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='#{$custom-select-indicator-color}' d='M4 7l-.4-.8 4-3.7h.8l4 3.7-.4.8H4zm0 2l-.4.8 4 3.7h.8l4-3.7L12 9H4z'/%3E%3C/svg%3E\"),\n '#',\n '%23'\n);\n$custom-select-focus-box-shadow: $input-btn-focus-box-shadow;\n$custom-select-disabled-color: darken($gray-400, 5%);\n$custom-select-disabled-bg: $gray-800;\n\n//modal\n$modal-content-bg: $gray-200;\n$modal-content-border-width: 0;\n$modal-md: 550px;\n\n// Toast notification\n$toast-bg: $primary-dark;\n$toast-color: $foreground;\n$toast-error-bg: mix($danger, $content-bg, 15%);\n$toast-error-color: $foreground;\n\n//tooltips\n$tooltip-bg: $gray-700;\n$tooltip-color: $foreground;\n$tooltip-box-shadow: 0 0.1rem 1.5rem 0.1rem rgba($black, 80%);\n\n//drowdowns\n$dropdown-bg: $gray-600;\n$dropdown-link-color: $foreground;\n$dropdown-link-hover-color: $foreground;\n$dropdown-link-hover-bg: $primary;\n$dropdown-divider-bg: $gray-700;\n\n//context menus\n$contextmenu-bg: $gray-600;\n$contextmenu-color: $foreground;\n$contextmenu-disabled-color: $text-muted;\n$contextmenu-keyboard-selected-bg: rgba($primary, 50%);\n$contextmenu-selected-bg: $primary;\n$contextmenu-selected-color: $foreground;\n\n//links\n$link-color: $gray-400;\n$link-hover-color: $foreground;\n\n//progress-bar\n$progress-bg: $gray-600;\n$progress-border-radius: 1rem;\n\n// Set global options\n$enable-shadows: false;\n$enable-gradients: false;\n$enable-print-styles: false; //I don't think anyone should expect to \"print\" this app.\n\n// Transition times\n$transition: 0.15s;\n$transition-mid: 0.2s;\n$transition-long: 0.3s;\n$transition-slow: 0.6s;\n\n//form-validation icon, uses vsWarning icon encoded here as svg\n$form-feedback-icon-invalid-color: theme-color('danger');\n$form-feedback-icon-invalid: str-replace(\n url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cg fill='none'%3E%3Cg fill='#{$form-feedback-icon-invalid-color}'%3E%3Cpath d='M7.56 1h.88l6.54 12.26-.44.74H1.44L1 13.26 7.56 1zM8 2.28 2.28 13H13.7L8 2.28zM8.625 12v-1h-1.25v1h1.25zm-1.25-2V6h1.25v4h-1.25z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E \"),\n '#',\n '%23'\n);\n"]}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
/* eslint-disable react/jsx-props-no-spreading */
|
|
2
|
-
import React, { useMemo } from 'react';
|
|
3
|
-
import classNames from 'classnames';
|
|
4
|
-
import "./TreeItem.css";
|
|
5
|
-
export function TreeItem(props) {
|
|
6
|
-
var {
|
|
7
|
-
clone = false,
|
|
8
|
-
depth,
|
|
9
|
-
disableInteraction = false,
|
|
10
|
-
ghost = false,
|
|
11
|
-
handleProps,
|
|
12
|
-
value,
|
|
13
|
-
dragRef = null,
|
|
14
|
-
wrapperRef = null,
|
|
15
|
-
renderItem,
|
|
16
|
-
item,
|
|
17
|
-
childCount
|
|
18
|
-
} = props;
|
|
19
|
-
var depthMarkers = useMemo(() => Array(depth).fill(0)
|
|
20
|
-
// eslint-disable-next-line react/no-array-index-key
|
|
21
|
-
.map((_, i) => /*#__PURE__*/React.createElement("span", {
|
|
22
|
-
key: "depth-line-".concat(i),
|
|
23
|
-
className: "depth-line"
|
|
24
|
-
})), [depth]);
|
|
25
|
-
var renderItemProps = useMemo(() => ({
|
|
26
|
-
ref: dragRef,
|
|
27
|
-
clone,
|
|
28
|
-
value,
|
|
29
|
-
item,
|
|
30
|
-
childCount,
|
|
31
|
-
handleProps
|
|
32
|
-
}), [dragRef, clone, value, item, childCount, handleProps]);
|
|
33
|
-
return /*#__PURE__*/React.createElement("li", {
|
|
34
|
-
key: value,
|
|
35
|
-
className: classNames('item-wrapper', {
|
|
36
|
-
clone,
|
|
37
|
-
ghost,
|
|
38
|
-
disableInteraction
|
|
39
|
-
}),
|
|
40
|
-
ref: wrapperRef
|
|
41
|
-
}, !clone && depthMarkers, renderItem(renderItemProps));
|
|
42
|
-
}
|
|
43
|
-
TreeItem.displayName = 'TreeItem';
|
|
44
|
-
//# sourceMappingURL=TreeItem.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TreeItem.js","names":["React","useMemo","classNames","TreeItem","props","clone","depth","disableInteraction","ghost","handleProps","value","dragRef","wrapperRef","renderItem","item","childCount","depthMarkers","Array","fill","map","_","i","renderItemProps","ref","displayName"],"sources":["../../../../src/sidebar/visibility-ordering-builder/sortable-tree/TreeItem.tsx"],"sourcesContent":["/* eslint-disable react/jsx-props-no-spreading */\nimport React, { useMemo } from 'react';\nimport classNames from 'classnames';\nimport type { FlattenedItem, TreeItem as TreeItemType } from './types';\nimport './TreeItem.scss';\n\nexport interface Props<T> {\n childCount?: number;\n clone?: boolean;\n depth: number;\n disableInteraction?: boolean;\n ghost?: boolean;\n handleProps?: unknown;\n value: string;\n item: FlattenedItem<T>;\n dragRef?: React.Ref<HTMLDivElement> | null;\n wrapperRef?: React.Ref<HTMLLIElement> | null;\n renderItem(props: {\n ref: React.Ref<HTMLDivElement> | null;\n clone: boolean;\n childCount?: number;\n value: string;\n item: FlattenedItem<T>;\n handleProps: unknown;\n }): JSX.Element;\n}\n\nexport type TreeItemRenderFn<T> = (props: {\n ref: React.Ref<HTMLDivElement> | null;\n clone: boolean;\n childCount?: number;\n value: string;\n item: T extends TreeItemType<infer D> ? FlattenedItem<D> : FlattenedItem<T>;\n handleProps: Record<string, unknown>;\n}) => JSX.Element;\n\nexport function TreeItem<T>(props: Props<T>) {\n const {\n clone = false,\n depth,\n disableInteraction = false,\n ghost = false,\n handleProps,\n value,\n dragRef = null,\n wrapperRef = null,\n renderItem,\n item,\n childCount,\n } = props;\n\n const depthMarkers = useMemo(\n () =>\n Array(depth)\n .fill(0)\n // eslint-disable-next-line react/no-array-index-key\n .map((_, i) => <span key={`depth-line-${i}`} className=\"depth-line\" />),\n [depth]\n );\n\n const renderItemProps = useMemo(\n () => ({\n ref: dragRef,\n clone,\n value,\n item,\n childCount,\n handleProps,\n }),\n [dragRef, clone, value, item, childCount, handleProps]\n );\n\n return (\n <li\n key={value}\n className={classNames('item-wrapper', {\n clone,\n ghost,\n disableInteraction,\n })}\n ref={wrapperRef}\n >\n {!clone && depthMarkers}\n {renderItem(renderItemProps)}\n </li>\n );\n}\n\nTreeItem.displayName = 'TreeItem';\n"],"mappings":"AAAA;AACA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AACtC,OAAOC,UAAU,MAAM,YAAY;AAAC;AAkCpC,OAAO,SAASC,QAAQ,CAAIC,KAAe,EAAE;EAC3C,IAAM;IACJC,KAAK,GAAG,KAAK;IACbC,KAAK;IACLC,kBAAkB,GAAG,KAAK;IAC1BC,KAAK,GAAG,KAAK;IACbC,WAAW;IACXC,KAAK;IACLC,OAAO,GAAG,IAAI;IACdC,UAAU,GAAG,IAAI;IACjBC,UAAU;IACVC,IAAI;IACJC;EACF,CAAC,GAAGX,KAAK;EAET,IAAMY,YAAY,GAAGf,OAAO,CAC1B,MACEgB,KAAK,CAACX,KAAK,CAAC,CACTY,IAAI,CAAC,CAAC;EACP;EAAA,CACCC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,kBAAK;IAAM,GAAG,uBAAgBA,CAAC,CAAG;IAAC,SAAS,EAAC;EAAY,EAAG,CAAC,EAC3E,CAACf,KAAK,CAAC,CACR;EAED,IAAMgB,eAAe,GAAGrB,OAAO,CAC7B,OAAO;IACLsB,GAAG,EAAEZ,OAAO;IACZN,KAAK;IACLK,KAAK;IACLI,IAAI;IACJC,UAAU;IACVN;EACF,CAAC,CAAC,EACF,CAACE,OAAO,EAAEN,KAAK,EAAEK,KAAK,EAAEI,IAAI,EAAEC,UAAU,EAAEN,WAAW,CAAC,CACvD;EAED,oBACE;IACE,GAAG,EAAEC,KAAM;IACX,SAAS,EAAER,UAAU,CAAC,cAAc,EAAE;MACpCG,KAAK;MACLG,KAAK;MACLD;IACF,CAAC,CAAE;IACH,GAAG,EAAEK;EAAW,GAEf,CAACP,KAAK,IAAIW,YAAY,EACtBH,UAAU,CAACS,eAAe,CAAC,CACzB;AAET;AAEAnB,QAAQ,CAACqB,WAAW,GAAG,UAAU"}
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
-
/* eslint-disable import/prefer-default-export */
|
|
7
|
-
import { closestCorners, getFirstCollision, KeyboardCode } from '@dnd-kit/core';
|
|
8
|
-
import { getProjection } from "./utilities.js";
|
|
9
|
-
var DIRECTIONS = [KeyboardCode.Down, KeyboardCode.Right, KeyboardCode.Up, KeyboardCode.Left];
|
|
10
|
-
var HORIZONTAL = [KeyboardCode.Left, KeyboardCode.Right];
|
|
11
|
-
export function sortableTreeKeyboardCoordinates(context, indicator, indentationWidth) {
|
|
12
|
-
return (event, _ref) => {
|
|
13
|
-
var {
|
|
14
|
-
currentCoordinates,
|
|
15
|
-
context: {
|
|
16
|
-
active,
|
|
17
|
-
over,
|
|
18
|
-
collisionRect,
|
|
19
|
-
droppableRects,
|
|
20
|
-
droppableContainers
|
|
21
|
-
}
|
|
22
|
-
} = _ref;
|
|
23
|
-
if (DIRECTIONS.includes(event.code)) {
|
|
24
|
-
if (!active || !collisionRect) {
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
event.preventDefault();
|
|
28
|
-
var {
|
|
29
|
-
current: {
|
|
30
|
-
items,
|
|
31
|
-
offset
|
|
32
|
-
}
|
|
33
|
-
} = context;
|
|
34
|
-
if (HORIZONTAL.includes(event.code) && (over === null || over === void 0 ? void 0 : over.id) != null) {
|
|
35
|
-
var {
|
|
36
|
-
depth,
|
|
37
|
-
maxDepth,
|
|
38
|
-
minDepth
|
|
39
|
-
} = getProjection(items, active.id, over.id, offset, indentationWidth);
|
|
40
|
-
switch (event.code) {
|
|
41
|
-
case KeyboardCode.Left:
|
|
42
|
-
if (depth > minDepth) {
|
|
43
|
-
return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
|
|
44
|
-
x: currentCoordinates.x - indentationWidth
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
break;
|
|
48
|
-
case KeyboardCode.Right:
|
|
49
|
-
if (depth < maxDepth) {
|
|
50
|
-
return _objectSpread(_objectSpread({}, currentCoordinates), {}, {
|
|
51
|
-
x: currentCoordinates.x + indentationWidth
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
break;
|
|
55
|
-
}
|
|
56
|
-
return undefined;
|
|
57
|
-
}
|
|
58
|
-
var containers = [];
|
|
59
|
-
droppableContainers.forEach(container => {
|
|
60
|
-
if (container !== null && container !== void 0 && container.disabled || container.id === (over === null || over === void 0 ? void 0 : over.id)) {
|
|
61
|
-
return;
|
|
62
|
-
}
|
|
63
|
-
var rect = droppableRects.get(container.id);
|
|
64
|
-
if (!rect) {
|
|
65
|
-
return;
|
|
66
|
-
}
|
|
67
|
-
switch (event.code) {
|
|
68
|
-
case KeyboardCode.Down:
|
|
69
|
-
if (collisionRect.top < rect.top) {
|
|
70
|
-
containers.push(container);
|
|
71
|
-
}
|
|
72
|
-
break;
|
|
73
|
-
case KeyboardCode.Up:
|
|
74
|
-
if (collisionRect.top > rect.top) {
|
|
75
|
-
containers.push(container);
|
|
76
|
-
}
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
var collisions = closestCorners({
|
|
81
|
-
active,
|
|
82
|
-
collisionRect,
|
|
83
|
-
pointerCoordinates: null,
|
|
84
|
-
droppableRects,
|
|
85
|
-
droppableContainers: containers
|
|
86
|
-
});
|
|
87
|
-
var closestId = getFirstCollision(collisions, 'id');
|
|
88
|
-
if (closestId === (over === null || over === void 0 ? void 0 : over.id) && collisions.length > 1) {
|
|
89
|
-
closestId = collisions[1].id;
|
|
90
|
-
}
|
|
91
|
-
if (closestId != null && (over === null || over === void 0 ? void 0 : over.id) != null) {
|
|
92
|
-
var activeRect = droppableRects.get(active.id);
|
|
93
|
-
var newRect = droppableRects.get(closestId);
|
|
94
|
-
var newDroppable = droppableContainers.get(closestId);
|
|
95
|
-
if (activeRect && newRect && newDroppable) {
|
|
96
|
-
var newIndex = items.findIndex(_ref2 => {
|
|
97
|
-
var {
|
|
98
|
-
id
|
|
99
|
-
} = _ref2;
|
|
100
|
-
return id === closestId;
|
|
101
|
-
});
|
|
102
|
-
var newItem = items[newIndex];
|
|
103
|
-
var activeIndex = items.findIndex(_ref3 => {
|
|
104
|
-
var {
|
|
105
|
-
id
|
|
106
|
-
} = _ref3;
|
|
107
|
-
return id === active.id;
|
|
108
|
-
});
|
|
109
|
-
var activeItem = items[activeIndex];
|
|
110
|
-
if (newItem != null && activeItem != null) {
|
|
111
|
-
var {
|
|
112
|
-
depth: _depth
|
|
113
|
-
} = getProjection(items, active.id, closestId, (newItem.depth - activeItem.depth) * indentationWidth, indentationWidth);
|
|
114
|
-
var isBelow = newIndex > activeIndex;
|
|
115
|
-
var modifier = isBelow ? 1 : -1;
|
|
116
|
-
var nextOffset = indicator ? (collisionRect.height - activeRect.height) / 2 : 0;
|
|
117
|
-
var newCoordinates = {
|
|
118
|
-
x: newRect.left + _depth * indentationWidth,
|
|
119
|
-
y: newRect.top + modifier * nextOffset
|
|
120
|
-
};
|
|
121
|
-
return newCoordinates;
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
}
|
|
126
|
-
return undefined;
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=keyboardCoordinates.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"keyboardCoordinates.js","names":["closestCorners","getFirstCollision","KeyboardCode","getProjection","DIRECTIONS","Down","Right","Up","Left","HORIZONTAL","sortableTreeKeyboardCoordinates","context","indicator","indentationWidth","event","currentCoordinates","active","over","collisionRect","droppableRects","droppableContainers","includes","code","preventDefault","current","items","offset","id","depth","maxDepth","minDepth","x","undefined","containers","forEach","container","disabled","rect","get","top","push","collisions","pointerCoordinates","closestId","length","activeRect","newRect","newDroppable","newIndex","findIndex","newItem","activeIndex","activeItem","isBelow","modifier","nextOffset","height","newCoordinates","left","y"],"sources":["../../../../src/sidebar/visibility-ordering-builder/sortable-tree/keyboardCoordinates.ts"],"sourcesContent":["/* eslint-disable import/prefer-default-export */\nimport {\n closestCorners,\n getFirstCollision,\n KeyboardCode,\n KeyboardCoordinateGetter,\n DroppableContainer,\n} from '@dnd-kit/core';\nimport type { SensorContext } from './types';\nimport { getProjection } from './utilities';\n\nconst DIRECTIONS: string[] = [\n KeyboardCode.Down,\n KeyboardCode.Right,\n KeyboardCode.Up,\n KeyboardCode.Left,\n];\n\nconst HORIZONTAL: string[] = [KeyboardCode.Left, KeyboardCode.Right];\n\nexport function sortableTreeKeyboardCoordinates(\n context: SensorContext,\n indicator: boolean,\n indentationWidth: number\n): KeyboardCoordinateGetter {\n return (\n event,\n {\n currentCoordinates,\n context: {\n active,\n over,\n collisionRect,\n droppableRects,\n droppableContainers,\n },\n }\n ) => {\n if (DIRECTIONS.includes(event.code)) {\n if (!active || !collisionRect) {\n return;\n }\n\n event.preventDefault();\n\n const {\n current: { items, offset },\n } = context;\n\n if (HORIZONTAL.includes(event.code) && over?.id != null) {\n const { depth, maxDepth, minDepth } = getProjection(\n items,\n active.id as string,\n over.id as string,\n offset,\n indentationWidth\n );\n\n switch (event.code) {\n case KeyboardCode.Left:\n if (depth > minDepth) {\n return {\n ...currentCoordinates,\n x: currentCoordinates.x - indentationWidth,\n };\n }\n break;\n case KeyboardCode.Right:\n if (depth < maxDepth) {\n return {\n ...currentCoordinates,\n x: currentCoordinates.x + indentationWidth,\n };\n }\n break;\n }\n\n return undefined;\n }\n\n const containers: DroppableContainer[] = [];\n\n droppableContainers.forEach(container => {\n if (container?.disabled || container.id === over?.id) {\n return;\n }\n\n const rect = droppableRects.get(container.id);\n\n if (!rect) {\n return;\n }\n\n switch (event.code) {\n case KeyboardCode.Down:\n if (collisionRect.top < rect.top) {\n containers.push(container);\n }\n break;\n case KeyboardCode.Up:\n if (collisionRect.top > rect.top) {\n containers.push(container);\n }\n break;\n }\n });\n\n const collisions = closestCorners({\n active,\n collisionRect,\n pointerCoordinates: null,\n droppableRects,\n droppableContainers: containers,\n });\n let closestId = getFirstCollision(collisions, 'id');\n\n if (closestId === over?.id && collisions.length > 1) {\n closestId = collisions[1].id;\n }\n\n if (closestId != null && over?.id != null) {\n const activeRect = droppableRects.get(active.id);\n const newRect = droppableRects.get(closestId);\n const newDroppable = droppableContainers.get(closestId);\n\n if (activeRect && newRect && newDroppable) {\n const newIndex = items.findIndex(({ id }) => id === closestId);\n const newItem = items[newIndex];\n const activeIndex = items.findIndex(({ id }) => id === active.id);\n const activeItem = items[activeIndex];\n\n if (newItem != null && activeItem != null) {\n const { depth } = getProjection(\n items,\n active.id as string,\n closestId as string,\n (newItem.depth - activeItem.depth) * indentationWidth,\n indentationWidth\n );\n const isBelow = newIndex > activeIndex;\n const modifier = isBelow ? 1 : -1;\n const nextOffset = indicator\n ? (collisionRect.height - activeRect.height) / 2\n : 0;\n\n const newCoordinates = {\n x: newRect.left + depth * indentationWidth,\n y: newRect.top + modifier * nextOffset,\n };\n\n return newCoordinates;\n }\n }\n }\n }\n\n return undefined;\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","names":["isFlattenedTreeItem","item","parentId","undefined"],"sources":["../../../../src/sidebar/visibility-ordering-builder/sortable-tree/types.ts"],"sourcesContent":["import type { MutableRefObject } from 'react';\n\nexport type TreeItem<T = undefined> = {\n id: string;\n children: TreeItem<T>[];\n selected: boolean;\n} & (T extends undefined\n ? // eslint-disable-next-line @typescript-eslint/ban-types\n {}\n : {\n data: T;\n });\n\nexport type TreeItems<T = undefined> = TreeItem<T>[];\nexport type ReadonlyTreeItems<T = undefined> = readonly TreeItem<T>[];\n\nexport type FlattenedItem<T = undefined> = TreeItem<T> & {\n parentId: string | null;\n depth: number;\n index: number;\n};\n\nexport function isFlattenedTreeItem<T>(\n item: TreeItem<T>\n): item is FlattenedItem<T> {\n return (item as FlattenedItem<T>).parentId !== undefined;\n}\n\nexport type SensorContext = MutableRefObject<{\n items: FlattenedItem[];\n offset: number;\n}>;\n"],"mappings":"AAsBA,OAAO,SAASA,mBAAmB,CACjCC,IAAiB,EACS;EAC1B,OAAQA,IAAI,CAAsBC,QAAQ,KAAKC,SAAS;AAC1D"}
|
|
@@ -1,261 +0,0 @@
|
|
|
1
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
2
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
3
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
4
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return typeof key === "symbol" ? key : String(key); }
|
|
5
|
-
function _toPrimitive(input, hint) { if (typeof input !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (typeof res !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
6
|
-
import { arrayMove } from '@dnd-kit/sortable';
|
|
7
|
-
import { GridUtils } from '@deephaven/grid';
|
|
8
|
-
import { isFlattenedTreeItem } from "./types.js";
|
|
9
|
-
/**
|
|
10
|
-
* Gets the depth of an item dragged with a given x-axis offset
|
|
11
|
-
*
|
|
12
|
-
* @param offset x-axis offset of the dragging item
|
|
13
|
-
* @param indentationWidth Width of indentation for each depth
|
|
14
|
-
* @returns The drag depth for the given offset
|
|
15
|
-
*/
|
|
16
|
-
function getDragDepth(offset, indentationWidth) {
|
|
17
|
-
return Math.round(offset / indentationWidth);
|
|
18
|
-
}
|
|
19
|
-
function getTreeItem(columns, movedColumns, columnHeaderGroupMap, name, hiddenColumnSet, selectedItems) {
|
|
20
|
-
var modelIndex = columns.findIndex(col => col.name === name);
|
|
21
|
-
if (modelIndex === -1) {
|
|
22
|
-
var group = columnHeaderGroupMap.get(name);
|
|
23
|
-
if (group == null) {
|
|
24
|
-
throw new Error("Column or header group not found: ".concat(name));
|
|
25
|
-
}
|
|
26
|
-
var modelIndexes = group.childIndexes.flat();
|
|
27
|
-
return {
|
|
28
|
-
id: name,
|
|
29
|
-
selected: selectedItems.has(name),
|
|
30
|
-
children: group.children.map(childName => getTreeItem(columns, movedColumns, columnHeaderGroupMap, childName, hiddenColumnSet, selectedItems)).sort((a, b) => {
|
|
31
|
-
var aVal = Array.isArray(a.data.visibleIndex) ? a.data.visibleIndex[0] : a.data.visibleIndex;
|
|
32
|
-
var bVal = Array.isArray(b.data.visibleIndex) ? b.data.visibleIndex[0] : b.data.visibleIndex;
|
|
33
|
-
return aVal - bVal;
|
|
34
|
-
}),
|
|
35
|
-
data: {
|
|
36
|
-
modelIndex: modelIndexes,
|
|
37
|
-
visibleIndex: group.getVisibleRange(movedColumns),
|
|
38
|
-
group,
|
|
39
|
-
isVisible: modelIndexes.some(index => !hiddenColumnSet.has(index))
|
|
40
|
-
}
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
id: name,
|
|
45
|
-
children: [],
|
|
46
|
-
selected: selectedItems.has(name),
|
|
47
|
-
data: {
|
|
48
|
-
modelIndex,
|
|
49
|
-
visibleIndex: GridUtils.getVisibleIndex(modelIndex, movedColumns),
|
|
50
|
-
isVisible: !hiddenColumnSet.has(modelIndex)
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
export function getTreeItems(columns, movedColumns, columnHeaderGroups, hiddenColumns, selectedItems) {
|
|
55
|
-
var items = [];
|
|
56
|
-
var selectedItemsSet = new Set(selectedItems);
|
|
57
|
-
var groupMap = new Map(columnHeaderGroups.map(group => [group.name, group]));
|
|
58
|
-
var hiddenColumnSet = new Set(hiddenColumns);
|
|
59
|
-
var visibleIndex = 0;
|
|
60
|
-
var _loop = function _loop() {
|
|
61
|
-
var modelIndex = GridUtils.getModelIndex(visibleIndex, movedColumns);
|
|
62
|
-
var columnName = columns[modelIndex].name;
|
|
63
|
-
var group = columnHeaderGroups.find(_ref => {
|
|
64
|
-
var {
|
|
65
|
-
children
|
|
66
|
-
} = _ref;
|
|
67
|
-
return children.includes(columnName);
|
|
68
|
-
});
|
|
69
|
-
while (group !== undefined && group.parent !== undefined) {
|
|
70
|
-
group = groupMap.get(group.parent);
|
|
71
|
-
}
|
|
72
|
-
var item = getTreeItem(columns, movedColumns, groupMap, group ? group.name : columnName, hiddenColumnSet, selectedItemsSet);
|
|
73
|
-
items.push(item);
|
|
74
|
-
if (Array.isArray(item.data.visibleIndex)) {
|
|
75
|
-
visibleIndex += item.data.visibleIndex[1] - item.data.visibleIndex[0] + 1;
|
|
76
|
-
} else {
|
|
77
|
-
visibleIndex += 1;
|
|
78
|
-
}
|
|
79
|
-
};
|
|
80
|
-
while (visibleIndex < columns.length) {
|
|
81
|
-
_loop();
|
|
82
|
-
}
|
|
83
|
-
return items;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Gets the projected drop position and depth of the dragged item
|
|
88
|
-
*
|
|
89
|
-
* @param items List of flattened items
|
|
90
|
-
* @param activeId ID of the actively dragged item
|
|
91
|
-
* @param overId ID of the item currently being dragged over
|
|
92
|
-
* @param dragOffset The x-axis offset of the dragged item
|
|
93
|
-
* @param indentationWidth The width for each level of the tree
|
|
94
|
-
* @returns The projected position and depth if the item were to be dropped
|
|
95
|
-
*/
|
|
96
|
-
export function getProjection(items, activeId, overId, dragOffset, indentationWidth) {
|
|
97
|
-
var overItemIndex = items.findIndex(_ref2 => {
|
|
98
|
-
var {
|
|
99
|
-
id
|
|
100
|
-
} = _ref2;
|
|
101
|
-
return id === overId;
|
|
102
|
-
});
|
|
103
|
-
var activeItemIndex = items.findIndex(_ref3 => {
|
|
104
|
-
var {
|
|
105
|
-
id
|
|
106
|
-
} = _ref3;
|
|
107
|
-
return id === activeId;
|
|
108
|
-
});
|
|
109
|
-
var activeItem = items[activeItemIndex];
|
|
110
|
-
var newItems = arrayMove(items, activeItemIndex, overItemIndex);
|
|
111
|
-
var previousItem = newItems[overItemIndex - 1];
|
|
112
|
-
var nextItem = newItems[overItemIndex + 1];
|
|
113
|
-
var dragDepth = getDragDepth(dragOffset, indentationWidth);
|
|
114
|
-
var projectedDepth = activeItem.depth + dragDepth;
|
|
115
|
-
var maxDepth = getMaxDepth({
|
|
116
|
-
previousItem,
|
|
117
|
-
nextItem
|
|
118
|
-
});
|
|
119
|
-
var minDepth = getMinDepth({
|
|
120
|
-
nextItem
|
|
121
|
-
});
|
|
122
|
-
var depth = projectedDepth;
|
|
123
|
-
if (projectedDepth >= maxDepth) {
|
|
124
|
-
depth = maxDepth;
|
|
125
|
-
} else if (projectedDepth < minDepth) {
|
|
126
|
-
depth = minDepth;
|
|
127
|
-
}
|
|
128
|
-
return {
|
|
129
|
-
depth,
|
|
130
|
-
maxDepth,
|
|
131
|
-
minDepth,
|
|
132
|
-
parentId: getParentId()
|
|
133
|
-
};
|
|
134
|
-
function getParentId() {
|
|
135
|
-
var _newItems$slice$rever;
|
|
136
|
-
if (depth === 0 || !previousItem) {
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
if (depth === previousItem.depth) {
|
|
140
|
-
return previousItem.parentId;
|
|
141
|
-
}
|
|
142
|
-
if (depth > previousItem.depth) {
|
|
143
|
-
return previousItem.id;
|
|
144
|
-
}
|
|
145
|
-
var newParent = (_newItems$slice$rever = newItems.slice(0, overItemIndex).reverse().find(item => item.depth === depth)) === null || _newItems$slice$rever === void 0 ? void 0 : _newItems$slice$rever.parentId;
|
|
146
|
-
return newParent !== null && newParent !== void 0 ? newParent : null;
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
function getMaxDepth(_ref4) {
|
|
150
|
-
var _previousItem$depth, _nextItem$depth;
|
|
151
|
-
var {
|
|
152
|
-
previousItem,
|
|
153
|
-
nextItem
|
|
154
|
-
} = _ref4;
|
|
155
|
-
return Math.max((_previousItem$depth = previousItem === null || previousItem === void 0 ? void 0 : previousItem.depth) !== null && _previousItem$depth !== void 0 ? _previousItem$depth : 0, (_nextItem$depth = nextItem === null || nextItem === void 0 ? void 0 : nextItem.depth) !== null && _nextItem$depth !== void 0 ? _nextItem$depth : 0);
|
|
156
|
-
}
|
|
157
|
-
function getMinDepth(_ref5) {
|
|
158
|
-
var {
|
|
159
|
-
nextItem
|
|
160
|
-
} = _ref5;
|
|
161
|
-
if (nextItem) {
|
|
162
|
-
return nextItem.depth;
|
|
163
|
-
}
|
|
164
|
-
return 0;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
/**
|
|
168
|
-
* Helper function to recursively flatten a tree
|
|
169
|
-
*
|
|
170
|
-
* @param items Items to flatten
|
|
171
|
-
* @param parentId The current parentId of the items
|
|
172
|
-
* @param depth The current depth of the items
|
|
173
|
-
* @returns Flattened items
|
|
174
|
-
*/
|
|
175
|
-
function flatten(items) {
|
|
176
|
-
var parentId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
177
|
-
var depth = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 0;
|
|
178
|
-
return items.reduce((acc, item, index) => [...acc, _objectSpread(_objectSpread({}, item), {}, {
|
|
179
|
-
parentId,
|
|
180
|
-
depth,
|
|
181
|
-
index
|
|
182
|
-
}), ...flatten(item.children, item.id, depth + 1)], []);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Flattens a tree into a 1D array given the items
|
|
187
|
-
* @param items The tree items to flatten
|
|
188
|
-
* @returns The flattened tree items list
|
|
189
|
-
*/
|
|
190
|
-
export function flattenTree(items) {
|
|
191
|
-
// Should help prevent double flattening since FlattenedItems are valid TreeItems
|
|
192
|
-
if (items.every(isFlattenedTreeItem)) {
|
|
193
|
-
return [...items];
|
|
194
|
-
}
|
|
195
|
-
return flatten(items);
|
|
196
|
-
}
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Recursively checks for the item in a list of items.
|
|
200
|
-
* The list does not have to be flattened prior to searching.
|
|
201
|
-
*
|
|
202
|
-
* @param items Items to search
|
|
203
|
-
* @param itemId Item to find
|
|
204
|
-
* @returns The item if found
|
|
205
|
-
*/
|
|
206
|
-
export function findItemDeep(items, itemId) {
|
|
207
|
-
for (var i = 0; i < items.length; i += 1) {
|
|
208
|
-
var item = items[i];
|
|
209
|
-
var {
|
|
210
|
-
id,
|
|
211
|
-
children
|
|
212
|
-
} = item;
|
|
213
|
-
if (id === itemId) {
|
|
214
|
-
return item;
|
|
215
|
-
}
|
|
216
|
-
if (children.length) {
|
|
217
|
-
var child = findItemDeep(children, itemId);
|
|
218
|
-
if (child) {
|
|
219
|
-
return child;
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
}
|
|
223
|
-
return undefined;
|
|
224
|
-
}
|
|
225
|
-
function countChildren(items) {
|
|
226
|
-
var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
|
|
227
|
-
return items.reduce((acc, _ref6) => {
|
|
228
|
-
var {
|
|
229
|
-
children
|
|
230
|
-
} = _ref6;
|
|
231
|
-
if (children.length) {
|
|
232
|
-
return countChildren(children, acc + 1);
|
|
233
|
-
}
|
|
234
|
-
return acc + 1;
|
|
235
|
-
}, count);
|
|
236
|
-
}
|
|
237
|
-
export function getChildCount(items, id) {
|
|
238
|
-
var item = findItemDeep(items, id);
|
|
239
|
-
return item ? countChildren(item.children) : 0;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Removes the children of the list of parents from the list of flattened items
|
|
244
|
-
*
|
|
245
|
-
* @param items The flattened items to remove from
|
|
246
|
-
* @param ids The parents we want to remove the children of
|
|
247
|
-
* @returns The flattened items without the children of the parents
|
|
248
|
-
*/
|
|
249
|
-
export function removeChildrenOf(items, ids) {
|
|
250
|
-
var excludeParentIds = new Set(ids);
|
|
251
|
-
return items.filter(item => {
|
|
252
|
-
if (item.parentId != null && excludeParentIds.has(item.parentId)) {
|
|
253
|
-
if (item.children.length) {
|
|
254
|
-
excludeParentIds.add(item.id);
|
|
255
|
-
}
|
|
256
|
-
return false;
|
|
257
|
-
}
|
|
258
|
-
return true;
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
//# sourceMappingURL=utilities.js.map
|