@talxis/base-controls 1.2603.1 → 1.2604.2
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/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js +4 -4
- package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js.map +1 -1
- package/dist/components/DatasetControl/EditColumns/Selector/Selector.js +2 -2
- package/dist/components/DatasetControl/EditColumns/Selector/Selector.js.map +1 -1
- package/dist/components/DatasetControl/EditColumns/useEditColumns.js +2 -2
- package/dist/components/DatasetControl/EditColumns/useEditColumns.js.map +1 -1
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +2 -2
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -1
- package/dist/components/DatasetControl/Header/Header.js +1 -0
- package/dist/components/DatasetControl/Header/Header.js.map +1 -1
- package/dist/components/DatasetControl/interfaces.d.ts +1 -0
- package/dist/components/DatasetControl/useModel.js +3 -3
- package/dist/components/DatasetControl/useModel.js.map +1 -1
- package/dist/components/Grid/cells/cell/content/CellContent.js +8 -8
- package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -1
- package/dist/components/Grid/grid/GridModel.js +1 -1
- package/dist/components/Grid/grid/GridModel.js.map +1 -1
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +5 -8
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +3 -3
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -1
- package/dist/components/GridCellRenderer/properties/Property.js +3 -1
- package/dist/components/GridCellRenderer/properties/Property.js.map +1 -1
- package/dist/components/GridCellRenderer/useModel.js +3 -3
- package/dist/components/GridCellRenderer/useModel.js.map +1 -1
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +2 -2
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
- package/dist/components/TaskGrid/TaskGrid.d.ts +12 -0
- package/dist/components/TaskGrid/TaskGrid.js +75 -0
- package/dist/components/TaskGrid/TaskGrid.js.map +1 -0
- package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +81 -0
- package/dist/components/TaskGrid/TaskGridDatasetControl.js +335 -0
- package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -0
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.d.ts +21 -0
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +55 -0
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -0
- package/dist/components/TaskGrid/components/components.d.ts +8 -0
- package/dist/components/TaskGrid/components/components.js +11 -0
- package/dist/components/TaskGrid/components/components.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/Grid.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/Grid.js +42 -0
- package/dist/components/TaskGrid/components/grid/Grid.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.js +34 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/TreeExpandCollapseHeader.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.d.ts +17 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.js +24 -0
- package/dist/components/TaskGrid/components/grid/cell-headers/tree-expand-collapse-header/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js +81 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.d.ts +25 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.js +32 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +22 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +23 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +30 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.d.ts +74 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +308 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/grid-customizer/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.d.ts +30 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js +80 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.d.ts +7 -0
- package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.js +70 -0
- package/dist/components/TaskGrid/components/grid/group-cell/GroupCell.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/group-cell/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/group-cell/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/group-cell/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +35 -0
- package/dist/components/TaskGrid/components/grid/group-cell/styles.js +41 -0
- package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/index.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/index.js +4 -0
- package/dist/components/TaskGrid/components/grid/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.d.ts +17 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js +92 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/index.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/index.js +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.d.ts +10 -0
- package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.js +120 -0
- package/dist/components/TaskGrid/components/grid/record-selector/RecordSelector.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/record-selector/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/record-selector/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/record-selector/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/record-selector/styles.d.ts +54 -0
- package/dist/components/TaskGrid/components/grid/record-selector/styles.js +60 -0
- package/dist/components/TaskGrid/components/grid/record-selector/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/Header.d.ts +8 -0
- package/dist/components/TaskGrid/components/header/Header.js +148 -0
- package/dist/components/TaskGrid/components/header/Header.js.map +1 -0
- package/dist/components/TaskGrid/components/header/command-bar/CommandBar.d.ts +2 -0
- package/dist/components/TaskGrid/components/header/command-bar/CommandBar.js +9 -0
- package/dist/components/TaskGrid/components/header/command-bar/CommandBar.js.map +1 -0
- package/dist/components/TaskGrid/components/header/command-bar/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/command-bar/index.js +2 -0
- package/dist/components/TaskGrid/components/header/command-bar/index.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.d.ts +2 -0
- package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.js +23 -0
- package/dist/components/TaskGrid/components/header/edit-columns/CommandBar/CommandBar.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.d.ts +5 -0
- package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js +99 -0
- package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.d.ts +2 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.js +51 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/OptionCommandBar.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.d.ts +11 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.js +18 -0
- package/dist/components/TaskGrid/components/header/edit-columns/OptionCommandBar/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.d.ts +2 -0
- package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.js +27 -0
- package/dist/components/TaskGrid/components/header/edit-columns/SortableItemCommandBar/SortableItemCommandBar.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/styles.d.ts +8 -0
- package/dist/components/TaskGrid/components/header/edit-columns/styles.js +15 -0
- package/dist/components/TaskGrid/components/header/edit-columns/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.d.ts +9 -0
- package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.js +9 -0
- package/dist/components/TaskGrid/components/header/edit-columns/useTaskGridEditColumns.js.map +1 -0
- package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.js +24 -0
- package/dist/components/TaskGrid/components/header/settings-callout/SettingsCallout.js.map +1 -0
- package/dist/components/TaskGrid/components/header/settings-callout/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/settings-callout/index.js +2 -0
- package/dist/components/TaskGrid/components/header/settings-callout/index.js.map +1 -0
- package/dist/components/TaskGrid/components/header/settings-callout/styles.d.ts +5 -0
- package/dist/components/TaskGrid/components/header/settings-callout/styles.js +12 -0
- package/dist/components/TaskGrid/components/header/settings-callout/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/styles.d.ts +15 -0
- package/dist/components/TaskGrid/components/header/styles.js +22 -0
- package/dist/components/TaskGrid/components/header/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.js +104 -0
- package/dist/components/TaskGrid/components/header/view-switcher/ViewSwitcher.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.d.ts +5 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js +66 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.js +2 -0
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/index.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/index.js +2 -0
- package/dist/components/TaskGrid/components/header/view-switcher/index.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/styles.d.ts +18 -0
- package/dist/components/TaskGrid/components/header/view-switcher/styles.js +24 -0
- package/dist/components/TaskGrid/components/header/view-switcher/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.d.ts +5 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.js +54 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManageDialog.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.d.ts +18 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js +95 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.js +2 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/index.js.map +1 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.d.ts +18 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.js +25 -0
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/index.js +2 -0
- package/dist/components/TaskGrid/components/index.js.map +1 -0
- package/dist/components/TaskGrid/components/skeleton/Skeleton.d.ts +4 -0
- package/dist/components/TaskGrid/components/skeleton/Skeleton.js +32 -0
- package/dist/components/TaskGrid/components/skeleton/Skeleton.js.map +1 -0
- package/dist/components/TaskGrid/components/skeleton/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/skeleton/index.js +2 -0
- package/dist/components/TaskGrid/components/skeleton/index.js.map +1 -0
- package/dist/components/TaskGrid/components/skeleton/styles.d.ts +92 -0
- package/dist/components/TaskGrid/components/skeleton/styles.js +100 -0
- package/dist/components/TaskGrid/components/skeleton/styles.js.map +1 -0
- package/dist/components/TaskGrid/context.d.ts +22 -0
- package/dist/components/TaskGrid/context.js +53 -0
- package/dist/components/TaskGrid/context.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.d.ts +50 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js +45 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.d.ts +33 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js +227 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.d.ts +2 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js +3 -0
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/index.d.ts +3 -0
- package/dist/components/TaskGrid/data-providers/index.js +6 -0
- package/dist/components/TaskGrid/data-providers/index.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.d.ts +125 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js +192 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.d.ts +21 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js +97 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.d.ts +2 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js +3 -0
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.d.ts +213 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js +313 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/index.d.ts +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/index.js +2 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/index.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.d.ts +55 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js +304 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.d.ts +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.js +2 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/index.js.map +1 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.d.ts +5 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js +16 -0
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js.map +1 -0
- package/dist/components/TaskGrid/index.d.ts +3 -0
- package/dist/components/TaskGrid/index.js +3 -0
- package/dist/components/TaskGrid/index.js.map +1 -0
- package/dist/components/TaskGrid/interfaces.d.ts +161 -0
- package/dist/components/TaskGrid/labels.d.ts +92 -0
- package/dist/components/TaskGrid/labels.js +94 -0
- package/dist/components/TaskGrid/labels.js.map +1 -0
- package/dist/components/TaskGrid/styles.d.ts +65 -0
- package/dist/components/TaskGrid/styles.js +72 -0
- package/dist/components/TaskGrid/styles.js.map +1 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +2 -0
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useIsMounted.js +3 -3
- package/dist/hooks/useIsMounted.js.map +1 -1
- package/dist/hooks/useShouldRemount.js +2 -2
- package/dist/hooks/useShouldRemount.js.map +1 -1
- package/dist/index.d.ts +643 -34
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +11 -3
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
- package/dist/utils/dataset-control/DatasetControl.js +4 -1
- package/dist/utils/dataset-control/DatasetControl.js.map +1 -1
- package/dist/utils/error-handling/ErrorHelper.d.ts +7 -0
- package/dist/utils/error-handling/ErrorHelper.js +40 -0
- package/dist/utils/error-handling/ErrorHelper.js.map +1 -0
- package/dist/utils/error-handling/index.d.ts +1 -0
- package/dist/utils/error-handling/index.js +2 -0
- package/dist/utils/error-handling/index.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/package.json +9 -6
|
@@ -0,0 +1,304 @@
|
|
|
1
|
+
import { MemoryDataProvider } from '@talxis/client-libraries';
|
|
2
|
+
import { patchDataBuilderPrepare } from './patchDataBuilderPrepare.js';
|
|
3
|
+
|
|
4
|
+
class RecordTree {
|
|
5
|
+
constructor(parameters) {
|
|
6
|
+
this._nodeMap = new Map();
|
|
7
|
+
this._sortingMap = {};
|
|
8
|
+
this._matchingRecordsMap = {};
|
|
9
|
+
this._isFlat = false;
|
|
10
|
+
this._totalUniqueRecords = 0;
|
|
11
|
+
this._sortedRecordIds = [];
|
|
12
|
+
this._records = [];
|
|
13
|
+
this._recordsMap = {};
|
|
14
|
+
this._taskDataProvider = parameters.taskDataProvider;
|
|
15
|
+
}
|
|
16
|
+
getNodeMap() {
|
|
17
|
+
return this._nodeMap;
|
|
18
|
+
}
|
|
19
|
+
getTotalCount() {
|
|
20
|
+
return this._totalUniqueRecords;
|
|
21
|
+
}
|
|
22
|
+
isFlat() {
|
|
23
|
+
return this._isFlat;
|
|
24
|
+
}
|
|
25
|
+
getMatchingRecords() {
|
|
26
|
+
return this._matchingRecordsMap;
|
|
27
|
+
}
|
|
28
|
+
getNode(recordId) {
|
|
29
|
+
return this._nodeMap.get(recordId);
|
|
30
|
+
}
|
|
31
|
+
hasChildren(recordId) {
|
|
32
|
+
const children = this._nodeMap.get(recordId)?.directChildren;
|
|
33
|
+
if (children && children.length > 0) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
getSortedIds() {
|
|
39
|
+
return this._sortedRecordIds;
|
|
40
|
+
}
|
|
41
|
+
build() {
|
|
42
|
+
this._records = this._taskDataProvider.getAllRecords();
|
|
43
|
+
this._recordsMap = this._taskDataProvider.getRecordsMap();
|
|
44
|
+
// Clear existing record tree map and flat sorted array
|
|
45
|
+
this._nodeMap.clear();
|
|
46
|
+
this._patchRecordPaths();
|
|
47
|
+
this._buildSortingMap();
|
|
48
|
+
this._buildMatchingRecords();
|
|
49
|
+
// Create reusable sort function
|
|
50
|
+
const sortByIndex = (a, b) => {
|
|
51
|
+
const indexA = this._sortingMap[a.getRecordId()] ?? Number.MAX_SAFE_INTEGER;
|
|
52
|
+
const indexB = this._sortingMap[b.getRecordId()] ?? Number.MAX_SAFE_INTEGER;
|
|
53
|
+
return indexA - indexB;
|
|
54
|
+
};
|
|
55
|
+
const records = this._records;
|
|
56
|
+
const recordsMap = this._recordsMap;
|
|
57
|
+
const parentToDirectChildren = new Map();
|
|
58
|
+
const topLevelRecords = [];
|
|
59
|
+
for (const record of records) {
|
|
60
|
+
const parentRef = record.getValue(this._getNativeColumns().parentId);
|
|
61
|
+
const parentId = parentRef?.[0]?.id?.guid;
|
|
62
|
+
if (parentId && recordsMap[parentId]) {
|
|
63
|
+
if (!parentToDirectChildren.has(parentId)) {
|
|
64
|
+
parentToDirectChildren.set(parentId, []);
|
|
65
|
+
}
|
|
66
|
+
parentToDirectChildren.get(parentId).push(record);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
topLevelRecords.push(record);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
topLevelRecords.sort(sortByIndex);
|
|
73
|
+
for (const [, children] of parentToDirectChildren) {
|
|
74
|
+
children.sort(sortByIndex);
|
|
75
|
+
}
|
|
76
|
+
const hasMatchingDescendantCache = new Map();
|
|
77
|
+
const calculateHasMatchingDescendant = (recordId) => {
|
|
78
|
+
if (hasMatchingDescendantCache.has(recordId)) {
|
|
79
|
+
return hasMatchingDescendantCache.get(recordId);
|
|
80
|
+
}
|
|
81
|
+
if (this._matchingRecordsMap[recordId]) {
|
|
82
|
+
hasMatchingDescendantCache.set(recordId, true);
|
|
83
|
+
return true;
|
|
84
|
+
}
|
|
85
|
+
// Set false sentinel before recursing to break circular reference cycles
|
|
86
|
+
hasMatchingDescendantCache.set(recordId, false);
|
|
87
|
+
const directChildren = parentToDirectChildren.get(recordId) || [];
|
|
88
|
+
const hasMatching = directChildren.some(child => calculateHasMatchingDescendant(child.getRecordId()));
|
|
89
|
+
hasMatchingDescendantCache.set(recordId, hasMatching);
|
|
90
|
+
return hasMatching;
|
|
91
|
+
};
|
|
92
|
+
for (const record of records) {
|
|
93
|
+
calculateHasMatchingDescendant(record.getRecordId());
|
|
94
|
+
}
|
|
95
|
+
const recordToAllChildren = new Map();
|
|
96
|
+
const recordToFilteredDirectChildren = new Map();
|
|
97
|
+
const inProgressChildren = new Set();
|
|
98
|
+
const getAllChildren = (recordId) => {
|
|
99
|
+
if (recordToAllChildren.has(recordId)) {
|
|
100
|
+
return recordToAllChildren.get(recordId);
|
|
101
|
+
}
|
|
102
|
+
// Break circular reference cycles
|
|
103
|
+
if (inProgressChildren.has(recordId)) {
|
|
104
|
+
console.warn(`Circular reference detected: record "${recordsMap[recordId]?.getNamedReference().name}" (${recordId}) was encountered twice during tree traversal. All records involved in this cycle and their descendants will be missing from the tree.`);
|
|
105
|
+
return [];
|
|
106
|
+
}
|
|
107
|
+
inProgressChildren.add(recordId);
|
|
108
|
+
const directChildren = parentToDirectChildren.get(recordId) || [];
|
|
109
|
+
const allChildren = [];
|
|
110
|
+
const filteredDirectChildren = [];
|
|
111
|
+
for (const child of directChildren) {
|
|
112
|
+
if (hasMatchingDescendantCache.get(child.getRecordId())) {
|
|
113
|
+
filteredDirectChildren.push(child);
|
|
114
|
+
allChildren.push(child);
|
|
115
|
+
allChildren.push(...getAllChildren(child.getRecordId()));
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
recordToFilteredDirectChildren.set(recordId, filteredDirectChildren);
|
|
119
|
+
recordToAllChildren.set(recordId, allChildren);
|
|
120
|
+
inProgressChildren.delete(recordId);
|
|
121
|
+
return allChildren;
|
|
122
|
+
};
|
|
123
|
+
const filteredTopLevelRecords = [];
|
|
124
|
+
const allRecordsWithMatching = [];
|
|
125
|
+
for (const record of topLevelRecords) {
|
|
126
|
+
if (hasMatchingDescendantCache.get(record.getRecordId())) {
|
|
127
|
+
filteredTopLevelRecords.push(record);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
for (const record of records) {
|
|
131
|
+
if (hasMatchingDescendantCache.get(record.getRecordId())) {
|
|
132
|
+
allRecordsWithMatching.push(record);
|
|
133
|
+
}
|
|
134
|
+
getAllChildren(record.getRecordId());
|
|
135
|
+
}
|
|
136
|
+
allRecordsWithMatching.sort(sortByIndex);
|
|
137
|
+
for (const record of records) {
|
|
138
|
+
const recordId = record.getRecordId();
|
|
139
|
+
const isTopLevel = !record.getValue(this._getNativeColumns().parentId);
|
|
140
|
+
const allChildren = getAllChildren(recordId);
|
|
141
|
+
const filteredDirectChildren = recordToFilteredDirectChildren.get(recordId) || [];
|
|
142
|
+
let parentRecord = undefined;
|
|
143
|
+
let index = -1;
|
|
144
|
+
if (!isTopLevel) {
|
|
145
|
+
const parentRef = record.getValue(this._getNativeColumns().parentId);
|
|
146
|
+
const parentId = parentRef?.[0]?.id?.guid;
|
|
147
|
+
if (parentId) {
|
|
148
|
+
parentRecord = recordsMap[parentId];
|
|
149
|
+
const parentFilteredChildren = recordToFilteredDirectChildren.get(parentId) || [];
|
|
150
|
+
index = parentFilteredChildren.findIndex(sibling => sibling.getRecordId() === recordId);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
index = filteredTopLevelRecords.findIndex(topRecord => topRecord.getRecordId() === recordId);
|
|
155
|
+
}
|
|
156
|
+
let pathIds = [];
|
|
157
|
+
let pathStrings = [];
|
|
158
|
+
const pathCache = new Map();
|
|
159
|
+
if (pathCache.has(recordId)) {
|
|
160
|
+
const cached = pathCache.get(recordId);
|
|
161
|
+
pathIds = cached.pathIds;
|
|
162
|
+
pathStrings = cached.pathStrings;
|
|
163
|
+
}
|
|
164
|
+
else {
|
|
165
|
+
const pathIdParts = [];
|
|
166
|
+
const pathStringParts = [];
|
|
167
|
+
let currentRecord = record;
|
|
168
|
+
const visited = new Set();
|
|
169
|
+
while (currentRecord) {
|
|
170
|
+
const currentId = currentRecord.getRecordId();
|
|
171
|
+
if (visited.has(currentId))
|
|
172
|
+
break;
|
|
173
|
+
visited.add(currentId);
|
|
174
|
+
pathIdParts.unshift(currentRecord.getRecordId());
|
|
175
|
+
pathStringParts.unshift(currentRecord.getNamedReference().name);
|
|
176
|
+
const parentRef = currentRecord.getValue(this._getNativeColumns().parentId);
|
|
177
|
+
const parentId = parentRef?.[0]?.id?.guid;
|
|
178
|
+
currentRecord = parentId ? recordsMap[parentId] : null;
|
|
179
|
+
}
|
|
180
|
+
pathIds = pathIdParts;
|
|
181
|
+
pathStrings = pathStringParts;
|
|
182
|
+
pathCache.set(recordId, { pathIds, pathStrings });
|
|
183
|
+
}
|
|
184
|
+
this._nodeMap.set(recordId, {
|
|
185
|
+
directChildren: filteredDirectChildren,
|
|
186
|
+
allChildren: allChildren,
|
|
187
|
+
pathIds,
|
|
188
|
+
pathStrings,
|
|
189
|
+
parent: parentRecord,
|
|
190
|
+
index
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
this._isFlat = filteredTopLevelRecords.every(record => this._nodeMap.get(record.getRecordId()).directChildren.length === 0);
|
|
194
|
+
const rootTaskId = this._getTaskDataProvider().getRootTaskId();
|
|
195
|
+
if (!rootTaskId) {
|
|
196
|
+
if (this._getTaskDataProvider().isFlatListEnabled()) {
|
|
197
|
+
const directlyMatchingRecords = allRecordsWithMatching.filter(r => this._matchingRecordsMap[r.getRecordId()]);
|
|
198
|
+
this._nodeMap.set(null, {
|
|
199
|
+
directChildren: directlyMatchingRecords,
|
|
200
|
+
allChildren: directlyMatchingRecords,
|
|
201
|
+
pathIds: [],
|
|
202
|
+
pathStrings: [],
|
|
203
|
+
index: -1
|
|
204
|
+
});
|
|
205
|
+
this._totalUniqueRecords = directlyMatchingRecords.length;
|
|
206
|
+
this._sortedRecordIds = directlyMatchingRecords.map(r => r.getRecordId());
|
|
207
|
+
}
|
|
208
|
+
else {
|
|
209
|
+
this._nodeMap.set(null, {
|
|
210
|
+
directChildren: filteredTopLevelRecords,
|
|
211
|
+
allChildren: allRecordsWithMatching,
|
|
212
|
+
pathIds: [],
|
|
213
|
+
pathStrings: [],
|
|
214
|
+
index: -1
|
|
215
|
+
});
|
|
216
|
+
this._totalUniqueRecords = allRecordsWithMatching.length;
|
|
217
|
+
this._sortedRecordIds = allRecordsWithMatching.map(r => r.getRecordId());
|
|
218
|
+
}
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
const topLevelNode = this._nodeMap.get(rootTaskId);
|
|
222
|
+
if (this._getTaskDataProvider().isFlatListEnabled()) {
|
|
223
|
+
const directlyMatchingRecords = topLevelNode?.allChildren.filter(r => this._matchingRecordsMap[r.getRecordId()]) || [];
|
|
224
|
+
topLevelNode.directChildren = directlyMatchingRecords;
|
|
225
|
+
topLevelNode.allChildren = directlyMatchingRecords;
|
|
226
|
+
}
|
|
227
|
+
this._nodeMap.set(null, topLevelNode);
|
|
228
|
+
this._totalUniqueRecords = topLevelNode.allChildren.length;
|
|
229
|
+
this._sortedRecordIds = topLevelNode.allChildren.map(r => r.getRecordId());
|
|
230
|
+
}
|
|
231
|
+
return this._nodeMap;
|
|
232
|
+
}
|
|
233
|
+
_buildMatchingRecords() {
|
|
234
|
+
this._matchingRecordsMap = {};
|
|
235
|
+
const provider = this._createBaseProvider();
|
|
236
|
+
provider.onGetQuickFindColumns = () => this._getTaskDataProvider().getQuickFindColumns();
|
|
237
|
+
provider.setFiltering(this._getTaskDataProvider().getFiltering());
|
|
238
|
+
provider.setSearchQuery(this._getTaskDataProvider().getSearchQuery());
|
|
239
|
+
provider.refreshSync();
|
|
240
|
+
this._matchingRecordsMap = provider.getRecordsMap();
|
|
241
|
+
}
|
|
242
|
+
_buildSortingMap() {
|
|
243
|
+
this._sortingMap = {};
|
|
244
|
+
let index = -1;
|
|
245
|
+
const provider = this._createBaseProvider();
|
|
246
|
+
provider.addEventListener('onRecordLoaded', (record) => {
|
|
247
|
+
this._sortingMap[record.getRecordId()] = ++index;
|
|
248
|
+
});
|
|
249
|
+
provider.refreshSync();
|
|
250
|
+
}
|
|
251
|
+
_createBaseProvider() {
|
|
252
|
+
const taskDataProvider = this._getTaskDataProvider();
|
|
253
|
+
const provider = new MemoryDataProvider({
|
|
254
|
+
dataSource: taskDataProvider.getDataSource(),
|
|
255
|
+
metadata: taskDataProvider.getMetadata()
|
|
256
|
+
});
|
|
257
|
+
patchDataBuilderPrepare({ provider, records: this._records });
|
|
258
|
+
provider.getPaging().setPageSize(taskDataProvider.getDataSource().length);
|
|
259
|
+
provider.setSorting(taskDataProvider.getSorting());
|
|
260
|
+
provider.setColumns(taskDataProvider.getColumns());
|
|
261
|
+
return provider;
|
|
262
|
+
}
|
|
263
|
+
_buildPathForRecord(recordId) {
|
|
264
|
+
const path = [];
|
|
265
|
+
const recordsMap = this._recordsMap;
|
|
266
|
+
const parentIdName = this._getNativeColumns().parentId;
|
|
267
|
+
let record = recordsMap[recordId];
|
|
268
|
+
const visited = new Set();
|
|
269
|
+
while (record) {
|
|
270
|
+
const currentId = record.getRecordId();
|
|
271
|
+
if (visited.has(currentId))
|
|
272
|
+
break;
|
|
273
|
+
visited.add(currentId);
|
|
274
|
+
path.unshift(record.getNamedReference().name);
|
|
275
|
+
const parentId = record?.getValue(parentIdName)?.[0]?.id?.guid;
|
|
276
|
+
record = recordsMap[parentId];
|
|
277
|
+
}
|
|
278
|
+
return path;
|
|
279
|
+
}
|
|
280
|
+
_patchRecordPaths() {
|
|
281
|
+
for (const record of this._records) {
|
|
282
|
+
const path = this._buildPathForRecord(record.getRecordId());
|
|
283
|
+
const field = record.getField(this._getNativeColumns().path);
|
|
284
|
+
const pathString = path.join('/');
|
|
285
|
+
//@ts-ignore
|
|
286
|
+
field._originalValue = pathString;
|
|
287
|
+
//@ts-ignore
|
|
288
|
+
field._currentValue = pathString;
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
_getNativeColumns() {
|
|
292
|
+
return this._getTaskDataProvider().getNativeColumns();
|
|
293
|
+
}
|
|
294
|
+
_getTaskDataProvider() {
|
|
295
|
+
const provider = this._taskDataProvider;
|
|
296
|
+
if (!provider) {
|
|
297
|
+
throw new Error('TaskDataProvider dependency not provided!');
|
|
298
|
+
}
|
|
299
|
+
return provider;
|
|
300
|
+
}
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
export { RecordTree };
|
|
304
|
+
//# sourceMappingURL=RecordTree.js.map
|
package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordTree.js","sources":["../../../../../../src/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.ts"],"sourcesContent":["import { IRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider } from \"../TaskDataProvider\";\nimport { patchDataBuilderPrepare } from \"./patchDataBuilderPrepare\";\n\ninterface ITreeNode {\n directChildren: IRecord[];\n allChildren: IRecord[];\n pathIds: string[];\n pathStrings: string[];\n index: number;\n parent?: IRecord;\n}\n\ninterface IRecordTreeParameters {\n taskDataProvider: ITaskDataProvider;\n}\n\nexport interface IRecordTree {\n build(): Map<string, ITreeNode>\n getNodeMap(): Map<string, ITreeNode>;\n getNode(recordId: string | null): ITreeNode;\n getTotalCount(): number;\n isFlat(): boolean;\n hasChildren(recordId: string): boolean;\n getMatchingRecords(): { [recordId: string]: IRecord };\n getSortedIds(): string[];\n}\n\nexport class RecordTree implements IRecordTree {\n private _nodeMap: Map<string, ITreeNode> = new Map();\n private _sortingMap: { [recordId: string]: number } = {};\n private _matchingRecordsMap: { [recordId: string]: IRecord } = {};\n private _isFlat: boolean = false;\n private _totalUniqueRecords: number = 0;\n private _sortedRecordIds: string[] = [];\n private _records: IRecord[] = [];\n private _recordsMap: { [recordId: string]: IRecord } = {};\n private _taskDataProvider: ITaskDataProvider;\n\n constructor(parameters: IRecordTreeParameters) {\n this._taskDataProvider = parameters.taskDataProvider;\n }\n\n public getNodeMap(): Map<string, ITreeNode> {\n return this._nodeMap;\n }\n public getTotalCount(): number {\n return this._totalUniqueRecords;\n }\n public isFlat(): boolean {\n return this._isFlat;\n }\n public getMatchingRecords(): { [recordId: string]: IRecord } {\n return this._matchingRecordsMap;\n }\n public getNode(recordId: string | null): ITreeNode {\n return this._nodeMap.get(recordId as any)!;\n }\n\n public hasChildren(recordId: string): boolean {\n const children = this._nodeMap.get(recordId)?.directChildren;\n if (children && children.length > 0) {\n return true;\n }\n return false;\n }\n\n public getSortedIds(): string[] {\n return this._sortedRecordIds;\n }\n\n public build(): Map<string, ITreeNode> {\n this._records = this._taskDataProvider.getAllRecords();\n this._recordsMap = this._taskDataProvider.getRecordsMap();\n // Clear existing record tree map and flat sorted array\n this._nodeMap.clear();\n this._patchRecordPaths();\n this._buildSortingMap();\n this._buildMatchingRecords();\n\n // Create reusable sort function\n const sortByIndex = (a: IRecord, b: IRecord): number => {\n const indexA = this._sortingMap[a.getRecordId()] ?? Number.MAX_SAFE_INTEGER;\n const indexB = this._sortingMap[b.getRecordId()] ?? Number.MAX_SAFE_INTEGER;\n return indexA - indexB;\n };\n\n const records = this._records;\n const recordsMap = this._recordsMap;\n\n const parentToDirectChildren = new Map<string, IRecord[]>();\n const topLevelRecords: IRecord[] = [];\n\n for (const record of records) {\n const parentRef = record.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n\n if (parentId && recordsMap[parentId]) {\n if (!parentToDirectChildren.has(parentId)) {\n parentToDirectChildren.set(parentId, []);\n }\n parentToDirectChildren.get(parentId)!.push(record);\n }\n else {\n topLevelRecords.push(record);\n }\n }\n\n topLevelRecords.sort(sortByIndex);\n for (const [, children] of parentToDirectChildren) {\n children.sort(sortByIndex);\n }\n\n const hasMatchingDescendantCache = new Map<string, boolean>();\n const calculateHasMatchingDescendant = (recordId: string): boolean => {\n if (hasMatchingDescendantCache.has(recordId)) {\n return hasMatchingDescendantCache.get(recordId)!;\n }\n\n if (this._matchingRecordsMap[recordId]) {\n hasMatchingDescendantCache.set(recordId, true);\n return true;\n }\n\n // Set false sentinel before recursing to break circular reference cycles\n hasMatchingDescendantCache.set(recordId, false);\n const directChildren = parentToDirectChildren.get(recordId) || [];\n const hasMatching = directChildren.some(child =>\n calculateHasMatchingDescendant(child.getRecordId())\n );\n\n hasMatchingDescendantCache.set(recordId, hasMatching);\n return hasMatching;\n };\n\n for (const record of records) {\n calculateHasMatchingDescendant(record.getRecordId());\n }\n\n const recordToAllChildren = new Map<string, IRecord[]>();\n const recordToFilteredDirectChildren = new Map<string, IRecord[]>();\n const inProgressChildren = new Set<string>();\n\n const getAllChildren = (recordId: string): IRecord[] => {\n if (recordToAllChildren.has(recordId)) {\n return recordToAllChildren.get(recordId)!;\n }\n\n // Break circular reference cycles\n if (inProgressChildren.has(recordId)) {\n console.warn(`Circular reference detected: record \"${recordsMap[recordId]?.getNamedReference().name}\" (${recordId}) was encountered twice during tree traversal. All records involved in this cycle and their descendants will be missing from the tree.`);\n return [];\n }\n inProgressChildren.add(recordId);\n\n const directChildren = parentToDirectChildren.get(recordId) || [];\n const allChildren: IRecord[] = [];\n\n const filteredDirectChildren: IRecord[] = [];\n\n for (const child of directChildren) {\n if (hasMatchingDescendantCache.get(child.getRecordId())) {\n filteredDirectChildren.push(child);\n allChildren.push(child);\n allChildren.push(...getAllChildren(child.getRecordId()));\n }\n }\n\n recordToFilteredDirectChildren.set(recordId, filteredDirectChildren);\n recordToAllChildren.set(recordId, allChildren);\n inProgressChildren.delete(recordId);\n return allChildren;\n };\n\n const filteredTopLevelRecords: IRecord[] = [];\n const allRecordsWithMatching: IRecord[] = [];\n\n for (const record of topLevelRecords) {\n if (hasMatchingDescendantCache.get(record.getRecordId())) {\n filteredTopLevelRecords.push(record);\n }\n }\n\n for (const record of records) {\n if (hasMatchingDescendantCache.get(record.getRecordId())) {\n allRecordsWithMatching.push(record);\n }\n getAllChildren(record.getRecordId());\n }\n\n allRecordsWithMatching.sort(sortByIndex);\n \n for (const record of records) {\n const recordId = record.getRecordId();\n const isTopLevel = !record.getValue(this._getNativeColumns().parentId);\n\n const allChildren = getAllChildren(recordId);\n const filteredDirectChildren = recordToFilteredDirectChildren.get(recordId) || [];\n\n let parentRecord: IRecord | undefined = undefined;\n\n let index = -1;\n\n if (!isTopLevel) {\n const parentRef = record.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n if (parentId) {\n parentRecord = recordsMap[parentId];\n const parentFilteredChildren = recordToFilteredDirectChildren.get(parentId) || [];\n index = parentFilteredChildren.findIndex(sibling => sibling.getRecordId() === recordId);\n }\n } else {\n index = filteredTopLevelRecords.findIndex(topRecord => topRecord.getRecordId() === recordId);\n }\n\n let pathIds: string[] = [];\n let pathStrings: string[] = [];\n const pathCache = new Map<string, { pathIds: string[], pathStrings: string[] }>();\n if (pathCache.has(recordId)) {\n const cached = pathCache.get(recordId)!;\n pathIds = cached.pathIds;\n pathStrings = cached.pathStrings;\n }\n else {\n const pathIdParts: string[] = [];\n const pathStringParts: string[] = [];\n let currentRecord: IRecord | null = record;\n const visited = new Set<string>();\n\n while (currentRecord) {\n const currentId = currentRecord.getRecordId();\n if (visited.has(currentId)) break;\n visited.add(currentId);\n\n pathIdParts.unshift(currentRecord.getRecordId());\n pathStringParts.unshift(currentRecord.getNamedReference().name);\n const parentRef: ComponentFramework.EntityReference[] = currentRecord.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n currentRecord = parentId ? recordsMap[parentId] : null;\n }\n\n pathIds = pathIdParts;\n pathStrings = pathStringParts;\n pathCache.set(recordId, { pathIds, pathStrings });\n }\n\n this._nodeMap.set(recordId, {\n directChildren: filteredDirectChildren,\n allChildren: allChildren,\n pathIds,\n pathStrings,\n parent: parentRecord,\n index\n });\n }\n this._isFlat = filteredTopLevelRecords.every(record => this._nodeMap.get(record.getRecordId())!.directChildren.length === 0);\n const rootTaskId = this._getTaskDataProvider().getRootTaskId();\n if (!rootTaskId) {\n if (this._getTaskDataProvider().isFlatListEnabled()) {\n const directlyMatchingRecords: IRecord[] = allRecordsWithMatching.filter(r => this._matchingRecordsMap[r.getRecordId()]);\n this._nodeMap.set(null as any, {\n directChildren: directlyMatchingRecords,\n allChildren: directlyMatchingRecords,\n pathIds: [],\n pathStrings: [],\n index: -1\n });\n this._totalUniqueRecords = directlyMatchingRecords.length;\n this._sortedRecordIds = directlyMatchingRecords.map(r => r.getRecordId());\n }\n else {\n this._nodeMap.set(null as any, {\n directChildren: filteredTopLevelRecords,\n allChildren: allRecordsWithMatching,\n pathIds: [],\n pathStrings: [],\n index: -1\n });\n this._totalUniqueRecords = allRecordsWithMatching.length;\n this._sortedRecordIds = allRecordsWithMatching.map(r => r.getRecordId());\n }\n }\n else {\n const topLevelNode = this._nodeMap.get(rootTaskId);\n if (this._getTaskDataProvider().isFlatListEnabled()) {\n const directlyMatchingRecords: IRecord[] = topLevelNode?.allChildren.filter(r => this._matchingRecordsMap[r.getRecordId()]) || [];\n topLevelNode!.directChildren = directlyMatchingRecords;\n topLevelNode!.allChildren = directlyMatchingRecords;\n }\n this._nodeMap.set(null as any, topLevelNode!);\n this._totalUniqueRecords = topLevelNode!.allChildren.length;\n this._sortedRecordIds = topLevelNode!.allChildren.map(r => r.getRecordId());\n }\n return this._nodeMap;\n }\n\n\n private _buildMatchingRecords() {\n this._matchingRecordsMap = {};\n const provider = this._createBaseProvider();\n provider.onGetQuickFindColumns = () => this._getTaskDataProvider().getQuickFindColumns();\n provider.setFiltering(this._getTaskDataProvider().getFiltering());\n provider.setSearchQuery(this._getTaskDataProvider().getSearchQuery());\n provider.refreshSync();\n this._matchingRecordsMap = provider.getRecordsMap();\n }\n\n private _buildSortingMap() {\n this._sortingMap = {};\n let index = -1;\n const provider = this._createBaseProvider();\n provider.addEventListener('onRecordLoaded', (record) => {\n this._sortingMap[record.getRecordId()] = ++index;\n });\n provider.refreshSync();\n }\n\n private _createBaseProvider(): MemoryDataProvider {\n const taskDataProvider = this._getTaskDataProvider();\n const provider = new MemoryDataProvider({\n dataSource: taskDataProvider.getDataSource(),\n metadata: taskDataProvider.getMetadata()\n });\n patchDataBuilderPrepare({ provider, records: this._records });\n provider.getPaging().setPageSize(taskDataProvider.getDataSource().length);\n provider.setSorting(taskDataProvider.getSorting());\n provider.setColumns(taskDataProvider.getColumns());\n return provider;\n }\n\n private _buildPathForRecord(recordId: string): string[] {\n const path: string[] = [];\n const recordsMap = this._recordsMap;\n const parentIdName = this._getNativeColumns().parentId;\n let record: IRecord | undefined = recordsMap[recordId];\n const visited = new Set<string>();\n while (record) {\n const currentId = record.getRecordId();\n if (visited.has(currentId)) break;\n visited.add(currentId);\n path.unshift(record.getNamedReference().name);\n const parentId: string = record?.getValue(parentIdName)?.[0]?.id?.guid;\n record = recordsMap[parentId];\n }\n return path;\n }\n\n private _patchRecordPaths() {\n for (const record of this._records) {\n const path = this._buildPathForRecord(record.getRecordId());\n const field = record.getField(this._getNativeColumns().path);\n const pathString = path.join('/');\n //@ts-ignore\n field._originalValue = pathString;\n //@ts-ignore\n field._currentValue = pathString;\n }\n }\n\n private _getNativeColumns(): ReturnType<ITaskDataProvider['getNativeColumns']> {\n return this._getTaskDataProvider().getNativeColumns();\n }\n\n private _getTaskDataProvider(): ITaskDataProvider {\n const provider = this._taskDataProvider;\n if (!provider) {\n throw new Error('TaskDataProvider dependency not provided!');\n }\n return provider;\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './RecordTree';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
const patchDataBuilderPrepare = (options) => {
|
|
2
|
+
const { provider, records } = options;
|
|
3
|
+
//@ts-ignore - typings
|
|
4
|
+
const dataBuilder = provider._dataBuilder;
|
|
5
|
+
dataBuilder.prepare = function () {
|
|
6
|
+
const topLevelDataProvider = this._dataProvider.getTopLevelDataProvider();
|
|
7
|
+
topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', true);
|
|
8
|
+
this._allRecords = records;
|
|
9
|
+
this._finalRecords = this._allRecords;
|
|
10
|
+
topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', false);
|
|
11
|
+
return this;
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
|
|
15
|
+
export { patchDataBuilderPrepare };
|
|
16
|
+
//# sourceMappingURL=patchDataBuilderPrepare.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patchDataBuilderPrepare.js","sources":["../../../../../../src/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.ts"],"sourcesContent":["import { IMemoryProvider, IRecord } from \"@talxis/client-libraries\";\nimport { DataBuilder } from \"@talxis/client-libraries/dist/utils/dataset/data-providers/memory-provider/DataBuilder\";\n\nexport const patchDataBuilderPrepare = (options: { provider: IMemoryProvider; records: IRecord[] }) => {\n const { provider, records } = options;\n //@ts-ignore - typings\n const dataBuilder: any = provider._dataBuilder;\n\n dataBuilder.prepare = function () {\n const topLevelDataProvider = this._dataProvider.getTopLevelDataProvider() as IMemoryProvider;\n topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', true);\n this._allRecords = records;\n this._finalRecords = this._allRecords;\n topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', false);\n return this;\n };\n\n}"],"names":[],"mappings":"AAGa,MAAA,uBAAuB,GAAG,CAAC,OAA0D,KAAI;AAClG,IAAA,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;;AAEtC,IAAA,MAAM,WAAW,GAAQ,QAAQ,CAAC,YAAY,CAAC;IAE/C,WAAW,CAAC,OAAO,GAAG,YAAA;QAClB,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAqB,CAAC;AAC7F,QAAA,oBAAoB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;AACtC,QAAA,oBAAoB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC;AAEN;;;;"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export { TaskGrid } from './TaskGrid.js';
|
|
2
|
+
export { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, useAgGridLicenseKey, useDatasetControl, useLocalizationService, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor } from './context.js';
|
|
3
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
import { IDataset, IDataProvider } from "@talxis/client-libraries";
|
|
3
|
+
import { IDatasetControl } from "../../utils/dataset-control";
|
|
4
|
+
import { IGridCustomizerStrategy } from "./components/grid/grid-customizer";
|
|
5
|
+
import { ICustomColumnsDataProvider, ICustomColumnsStrategy } from "./data-providers/custom-columns-data-provider/CustomColumnsDataProvider";
|
|
6
|
+
import { ISavedQueryDataProvider, ISavedQueryStrategy } from "./data-providers/saved-query-data-provider";
|
|
7
|
+
import { ITaskDataProviderStrategy, ITaskDataProvider } from "./data-providers/task-data-provider";
|
|
8
|
+
import { ILocalizationService, ITaskGridLabels } from "./labels";
|
|
9
|
+
import { ITaskGridState } from "./TaskGridDatasetControlFactory";
|
|
10
|
+
export interface ITaskGridDatasetControlParameters {
|
|
11
|
+
dataset: IDataset;
|
|
12
|
+
state: ITaskGridState;
|
|
13
|
+
savedQueryDataProvider: ISavedQueryDataProvider;
|
|
14
|
+
taskGridDescriptor: ITaskGridDescriptor;
|
|
15
|
+
localizationService: ILocalizationService<ITaskGridLabels>;
|
|
16
|
+
templateDataProvider?: IDataProvider;
|
|
17
|
+
customColumnsDataProvider?: ICustomColumnsDataProvider;
|
|
18
|
+
onGetPcfContext: () => ComponentFramework.Context<any>;
|
|
19
|
+
}
|
|
20
|
+
/** Maps functional column roles to the physical attribute (field) names in the consuming entity's schema. */
|
|
21
|
+
export interface INativeColumns {
|
|
22
|
+
/** Lookup attribute pointing to the parent task — drives the tree hierarchy. */
|
|
23
|
+
parentId: string;
|
|
24
|
+
/** Display name / title attribute. Always pinned left; never hidden by the control. */
|
|
25
|
+
subject: string;
|
|
26
|
+
/** Numeric ordering attribute. Used for default sort and drag-and-drop reordering. */
|
|
27
|
+
stackRank: string;
|
|
28
|
+
/** Active/inactive status attribute. Used by the "Hide inactive tasks" filter. */
|
|
29
|
+
stateCode: string;
|
|
30
|
+
/** Virtual breadcrumb column. Its value is computed automatically from ancestor names and is never editable. */
|
|
31
|
+
path: string;
|
|
32
|
+
/** (Optional) Numeric completion percentage. When present, rendered with a progress-bar cell renderer. */
|
|
33
|
+
percentComplete?: string;
|
|
34
|
+
}
|
|
35
|
+
/** Feature flags that control which UI elements are rendered in the grid header and ribbon. */
|
|
36
|
+
export interface ITaskGridParameters {
|
|
37
|
+
/** Explicit CSS height for the grid container. When omitted the grid sizes to fit its parent. */
|
|
38
|
+
height?: string;
|
|
39
|
+
/** Show drag handles and allow rows to be dragged for reordering. Defaults to `true`. Automatically suppressed when flat-list mode is active or sorting by a non-stack-rank column. */
|
|
40
|
+
enableRowDragging?: boolean;
|
|
41
|
+
/** Show the *Edit Columns* button in the ribbon. Defaults to `true`. */
|
|
42
|
+
enableEditColumns?: boolean;
|
|
43
|
+
/** Show the search / quick-find input. Defaults to `true`. */
|
|
44
|
+
enableQuickFind?: boolean;
|
|
45
|
+
/** Show the view-switcher dropdown. Defaults to `true`. */
|
|
46
|
+
enableViewSwitcher?: boolean;
|
|
47
|
+
/** Show the *Show hierarchy* toggle. Defaults to `true`. */
|
|
48
|
+
enableShowHierarchyToggle?: boolean;
|
|
49
|
+
/** Show the *Hide inactive tasks* toggle. Defaults to `true`. */
|
|
50
|
+
enableHideInactiveTasksToggle?: boolean;
|
|
51
|
+
/** Show the personal/system scope selector inside the Edit Columns panel. Defaults to `true`. */
|
|
52
|
+
enableEditColumnsScopeSelector?: boolean;
|
|
53
|
+
/** Enable user queries. Defaults to `true`. */
|
|
54
|
+
enableUserQueries?: boolean;
|
|
55
|
+
/** Show the query manager. Defaults to `true`. */
|
|
56
|
+
enableQueryManager?: boolean;
|
|
57
|
+
/** Show the "Save as new" button in the query manager. Defaults to `true`. */
|
|
58
|
+
enableSaveAsNewQuery?: boolean;
|
|
59
|
+
/** Show the "Save changes" button in the query manager. Defaults to `true`. */
|
|
60
|
+
enableSaveChangesToQuery?: boolean;
|
|
61
|
+
enableCustomColumnCreation?: boolean;
|
|
62
|
+
enableCustomColumnEditing?: boolean;
|
|
63
|
+
enableCustomColumnDeletion?: boolean;
|
|
64
|
+
}
|
|
65
|
+
/** Available data providers injected into `ITaskDataProviderStrategy` at construction time. */
|
|
66
|
+
export interface ITaskStrategyDeps {
|
|
67
|
+
/** Present when the consumer provided `onCreateCustomColumnsStrategy`. */
|
|
68
|
+
customColumnsDataProvider?: ICustomColumnsDataProvider;
|
|
69
|
+
/** Present when the consumer provided `onCreateTemplateDataProvider`. */
|
|
70
|
+
templateDataProvider?: IDataProvider;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Primary configuration entry point for `TaskGridDatasetControlFactory`.
|
|
74
|
+
* Implement this interface to wire the TaskGrid to your business logic.
|
|
75
|
+
*/
|
|
76
|
+
export interface ITaskGridDescriptor {
|
|
77
|
+
/** Returns the mapping of logical column roles to physical schema attribute names. */
|
|
78
|
+
onGetNativeColumns: () => INativeColumns;
|
|
79
|
+
/** Returns the strategy responsible for loading system/user views and persisting view changes. */
|
|
80
|
+
onCreateSavedQueryStrategy: () => ISavedQueryStrategy;
|
|
81
|
+
/** Returns the strategy that handles all task CRUD, move, template and record-save operations. */
|
|
82
|
+
onCreateTaskStrategy: (deps: ITaskStrategyDeps) => ITaskDataProviderStrategy;
|
|
83
|
+
/** Returns an `IDataProvider` that drives the user-query creation/update dialog. */
|
|
84
|
+
onCreateUserQueryDataProvider: () => IDataProvider;
|
|
85
|
+
/** (Optional) Returns the strategy for managing dynamic (user-defined) columns. When provided, the custom-columns feature is enabled. */
|
|
86
|
+
onCreateCustomColumnsStrategy?: () => ICustomColumnsStrategy | undefined;
|
|
87
|
+
/** (Optional) Returns an `IDataProvider` for task templates. When provided, the template-based task creation feature is enabled. */
|
|
88
|
+
onCreateTemplateDataProvider?: () => IDataProvider | undefined;
|
|
89
|
+
/** (Optional) Returns a strategy for deep customization of AG Grid column definitions, renderers, editors, and row class rules. */
|
|
90
|
+
onCreateGridCustomizerStrategy?: () => IGridCustomizerStrategy | undefined;
|
|
91
|
+
/** (Optional) Returns the AG Grid Enterprise license key. */
|
|
92
|
+
onGetAgGridLicenseKey?: () => string;
|
|
93
|
+
/** (Optional) Returns a stable DOM/control identifier. Auto-generated as a UUID when omitted. */
|
|
94
|
+
onGetControlId?: () => string;
|
|
95
|
+
/** (Optional) Async hook called before any data provider is created. Use for lazy loading or authentication. */
|
|
96
|
+
onLoadDependencies?: () => Promise<void>;
|
|
97
|
+
/** (Optional) Returns UI feature flags. All flags default to `true` when omitted. */
|
|
98
|
+
onGetGridParameters?: () => ITaskGridParameters;
|
|
99
|
+
}
|
|
100
|
+
/** Runtime interface for the TaskGrid control returned by `TaskGridDatasetControlFactory.createInstance`. */
|
|
101
|
+
export interface ITaskGridDatasetControl extends IDatasetControl {
|
|
102
|
+
/**
|
|
103
|
+
* Returns the template `IDataProvider`.
|
|
104
|
+
* @throws If templating was not enabled (no `onCreateTemplateDataProvider` in the descriptor).
|
|
105
|
+
*/
|
|
106
|
+
getTemplateDataProvider: () => IDataProvider;
|
|
107
|
+
/** Returns the saved-query data provider managing system and user views. */
|
|
108
|
+
getSavedQueryDataProvider: () => ISavedQueryDataProvider;
|
|
109
|
+
/**
|
|
110
|
+
* Returns the custom-columns data provider.
|
|
111
|
+
* @throws If custom columns were not enabled (no `onCreateCustomColumnsStrategy` in the descriptor).
|
|
112
|
+
*/
|
|
113
|
+
getCustomColumnsDataProvider: () => ICustomColumnsDataProvider;
|
|
114
|
+
/** Creates a fresh `IDataProvider` for the user-query creation/update dialog. */
|
|
115
|
+
createUserQueryDataProvider: () => IDataProvider;
|
|
116
|
+
/** Returns the native column name mapping supplied by the descriptor. */
|
|
117
|
+
getNativeColumns: () => INativeColumns;
|
|
118
|
+
/** Returns the underlying `ITaskDataProvider` that backs the AG Grid data layer. */
|
|
119
|
+
getDataProvider: () => ITaskDataProvider;
|
|
120
|
+
/** Returns the localization service used to resolve all UI label strings. */
|
|
121
|
+
getLocalizationService: () => ILocalizationService<ITaskGridLabels>;
|
|
122
|
+
/** Returns `true` when inactive tasks (stateCode = 1) are currently visible in the grid. */
|
|
123
|
+
getInactiveTasksVisibility: () => boolean;
|
|
124
|
+
/** Switches between hierarchical (tree) and flat-list view modes. Triggers a column re-sort. */
|
|
125
|
+
toggleFlatList: (enabled: boolean) => void;
|
|
126
|
+
/** Adds or removes the `stateCode = 0` filter to show/hide inactive tasks. */
|
|
127
|
+
toggleHideInactiveTasks: (hide: boolean) => void;
|
|
128
|
+
/**
|
|
129
|
+
* Switches the active saved view and triggers a full control remount so the new view's
|
|
130
|
+
* columns, filters, and sorting are applied from a clean state.
|
|
131
|
+
*/
|
|
132
|
+
changeSavedQuery: (queryId: string) => void;
|
|
133
|
+
/** Returns the stable control identifier string. */
|
|
134
|
+
getControlId: () => string;
|
|
135
|
+
/** Whether row drag-and-drop reordering is enabled (from `ITaskGridParameters.enableRowDragging`). */
|
|
136
|
+
isRowDraggingEnabled: () => boolean;
|
|
137
|
+
/** Whether the *Show hierarchy* toggle is visible (from `ITaskGridParameters.enableShowHierarchyToggle`). */
|
|
138
|
+
isShowHierarchyToggleVisible: () => boolean;
|
|
139
|
+
/** Whether the *Hide inactive tasks* toggle is visible (from `ITaskGridParameters.enableHideInactiveTasksToggle`). */
|
|
140
|
+
isHideInactiveTasksToggleVisible: () => boolean;
|
|
141
|
+
/** Whether the scope selector is shown inside the Edit Columns panel (from `ITaskGridParameters.enableEditColumnsScopeSelector`). */
|
|
142
|
+
isEditColumnsScopeSelectorEnabled: () => boolean;
|
|
143
|
+
/** Returns `true` when a template data provider was supplied through the descriptor. */
|
|
144
|
+
isTemplatingEnabled: () => boolean;
|
|
145
|
+
/** Returns `true` when a custom columns strategy was supplied through the descriptor. */
|
|
146
|
+
isCustomColumnsEnabled: () => boolean;
|
|
147
|
+
/** Whether the view manager is enabled (from `ITaskGridParameters.enableQueryManager`). */
|
|
148
|
+
isViewManagerEnabled: () => boolean;
|
|
149
|
+
/** Whether the "Save as new" button is enabled (from `ITaskGridParameters.enableSaveAsNewQuery`). */
|
|
150
|
+
isSaveQueryAsNewEnabled: () => boolean;
|
|
151
|
+
/** Whether the "Save changes" button is enabled (from `ITaskGridParameters.enableSaveChangesToQuery`). */
|
|
152
|
+
isSaveQueryChangesEnabled: () => boolean;
|
|
153
|
+
/** Whether custom column creation is enabled (from `ITaskGridParameters.enableCustomColumnCreation`). */
|
|
154
|
+
isCustomColumnCreationEnabled: () => boolean;
|
|
155
|
+
/** Whether custom column editing is enabled (from `ITaskGridParameters.enableCustomColumnEditing`). */
|
|
156
|
+
isCustomColumnEditingEnabled: () => boolean;
|
|
157
|
+
/** Whether custom column deletion is enabled (from `ITaskGridParameters.enableCustomColumnDeletion`). */
|
|
158
|
+
isCustomColumnDeletionEnabled: () => boolean;
|
|
159
|
+
/** Whether user queries are enabled (from `ITaskGridParameters.enableUserQueries`). */
|
|
160
|
+
isUserQueriesFeatureEnabled: () => boolean;
|
|
161
|
+
}
|