@talxis/base-controls 1.2602.4 → 1.2604.1
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/DateTime/hooks/useDateTime.js +11 -3
- package/dist/components/DateTime/hooks/useDateTime.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 +71 -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 +640 -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 +5 -2
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { mergeStyleSets } from '@fluentui/react';
|
|
2
|
+
|
|
3
|
+
const getViewManagerDialogStyles = () => {
|
|
4
|
+
return mergeStyleSets({
|
|
5
|
+
dialogContent: {
|
|
6
|
+
'.ms-Dialog-content': {
|
|
7
|
+
display: 'flex',
|
|
8
|
+
flexGrow: 1,
|
|
9
|
+
'>div': {
|
|
10
|
+
flexGrow: 1
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
datasetControlRoot: {
|
|
15
|
+
width: 600
|
|
16
|
+
},
|
|
17
|
+
layerRoot: {
|
|
18
|
+
zIndex: 1,
|
|
19
|
+
position: 'absolute'
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
|
|
24
|
+
export { getViewManagerDialogStyles };
|
|
25
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../../src/components/TaskGrid/components/header/view-switcher/view-manager/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\n\nexport const getViewManagerDialogStyles = () => {\n return mergeStyleSets({\n dialogContent: {\n '.ms-Dialog-content': {\n display: 'flex',\n flexGrow: 1,\n '>div': {\n flexGrow: 1\n }\n }\n },\n datasetControlRoot: {\n width: 600\n },\n layerRoot: {\n zIndex: 1,\n position: 'absolute'\n }\n })\n}"],"names":[],"mappings":";;AAEO,MAAM,0BAA0B,GAAG,MAAK;AAC3C,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,aAAa,EAAE;AACX,YAAA,oBAAoB,EAAE;AAClB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,MAAM,EAAE;AACJ,oBAAA,QAAQ,EAAE,CAAC;AACd,iBAAA;AACJ,aAAA;AACJ,SAAA;AACD,QAAA,kBAAkB,EAAE;AAChB,YAAA,KAAK,EAAE,GAAG;AACb,SAAA;AACD,QAAA,SAAS,EAAE;AACP,YAAA,MAAM,EAAE,CAAC;AACT,YAAA,QAAQ,EAAE,UAAU;AACvB,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './components';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { useTheme } from '@fluentui/react';
|
|
4
|
+
import { getSkeletonStyles } from './styles.js';
|
|
5
|
+
|
|
6
|
+
// flex values per column: checkbox, name (wide), status, assignee, due date, priority
|
|
7
|
+
const COLUMN_FLEX = ['0 0 32px', '2 1 0', '1 1 0', '1 1 0', '1 1 0', '1 1 0'];
|
|
8
|
+
const COLUMN_HEADER_FILL = [0, 0.50, 0.60, 0.55, 0.70, 0.50];
|
|
9
|
+
// cell fill ratios per column (index 0 = checkbox column, skipped)
|
|
10
|
+
const ROW_PATTERNS = [
|
|
11
|
+
[0, 0.70, 0.60, 0.80, 0.50, 0.70],
|
|
12
|
+
[0, 0.50, 0.90, 0.40, 0.70, 0.60],
|
|
13
|
+
[0, 0.85, 0.50, 0.60, 0.60, 0.90],
|
|
14
|
+
[0, 0.60, 0.70, 0.90, 0.80, 0.50],
|
|
15
|
+
[0, 0.90, 0.40, 0.70, 0.50, 0.80],
|
|
16
|
+
];
|
|
17
|
+
const ROW_COUNT = 20;
|
|
18
|
+
const Skeleton = ({ height }) => {
|
|
19
|
+
const theme = useTheme();
|
|
20
|
+
const styles = React.useMemo(() => getSkeletonStyles(theme), [theme]);
|
|
21
|
+
return (jsxs("div", { className: styles.root, style: { height: height }, children: [jsxs("div", { className: styles.header, children: [jsx("div", { className: styles.headerLeft, children: jsx("div", { className: styles.headerPill, style: { width: 120 } }) }), jsxs("div", { className: styles.headerRight, children: [jsx("div", { className: styles.headerPill, style: { width: 100 } }), jsx("div", { className: styles.headerPill, style: { width: 100 } }), jsx("div", { className: styles.headerPill, style: { width: 90 } }), jsx("div", { className: styles.headerPill, style: { width: 160 } })] })] }), jsx("div", { className: styles.columnHeaderRow, children: COLUMN_FLEX.map((flex, i) => (jsx("div", { className: styles.columnCell, style: { flex }, children: i === 0
|
|
22
|
+
? jsx("div", { className: styles.checkboxShimmer })
|
|
23
|
+
: jsx("div", { className: styles.shimmerLine, style: { width: `${COLUMN_HEADER_FILL[i] * 100}%` } }) }, i))) }), jsx("div", { className: styles.rows, children: Array.from({ length: ROW_COUNT }, (_, rowIdx) => {
|
|
24
|
+
const pattern = ROW_PATTERNS[rowIdx % ROW_PATTERNS.length];
|
|
25
|
+
return (jsx("div", { className: styles.row, children: COLUMN_FLEX.map((flex, colIdx) => (jsx("div", { className: styles.columnCell, style: { flex }, children: colIdx === 0
|
|
26
|
+
? jsx("div", { className: styles.checkboxShimmer })
|
|
27
|
+
: jsx("div", { className: styles.shimmerLine, style: { width: `${pattern[colIdx] * 100}%` } }) }, colIdx))) }, rowIdx));
|
|
28
|
+
}) }), jsx("div", { className: styles.footer, children: jsx("div", { className: styles.headerPill, style: { width: 110 } }) })] }));
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export { Skeleton };
|
|
32
|
+
//# sourceMappingURL=Skeleton.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Skeleton.js","sources":["../../../../../src/components/TaskGrid/components/skeleton/Skeleton.tsx"],"sourcesContent":["import * as React from 'react';\nimport { useTheme } from '@fluentui/react';\nimport { getSkeletonStyles } from './styles';\n\nexport interface ISkeletonProps {\n height: string;\n}\n\n// flex values per column: checkbox, name (wide), status, assignee, due date, priority\nconst COLUMN_FLEX = ['0 0 32px', '2 1 0', '1 1 0', '1 1 0', '1 1 0', '1 1 0'];\nconst COLUMN_HEADER_FILL = [0, 0.50, 0.60, 0.55, 0.70, 0.50];\n\n// cell fill ratios per column (index 0 = checkbox column, skipped)\nconst ROW_PATTERNS = [\n [0, 0.70, 0.60, 0.80, 0.50, 0.70],\n [0, 0.50, 0.90, 0.40, 0.70, 0.60],\n [0, 0.85, 0.50, 0.60, 0.60, 0.90],\n [0, 0.60, 0.70, 0.90, 0.80, 0.50],\n [0, 0.90, 0.40, 0.70, 0.50, 0.80],\n];\n\nconst ROW_COUNT = 20;\n\nexport const Skeleton = ({ height }: ISkeletonProps) => {\n const theme = useTheme();\n const styles = React.useMemo(() => getSkeletonStyles(theme), [theme]);\n\n return (\n <div className={styles.root} style={{height: height}}>\n <div className={styles.header}>\n <div className={styles.headerLeft}>\n <div className={styles.headerPill} style={{ width: 120 }} />\n </div>\n <div className={styles.headerRight}>\n <div className={styles.headerPill} style={{ width: 100 }} />\n <div className={styles.headerPill} style={{ width: 100 }} />\n <div className={styles.headerPill} style={{ width: 90 }} />\n <div className={styles.headerPill} style={{ width: 160 }} />\n </div>\n </div>\n\n <div className={styles.columnHeaderRow}>\n {COLUMN_FLEX.map((flex, i) => (\n <div key={i} className={styles.columnCell} style={{ flex }}>\n {i === 0\n ? <div className={styles.checkboxShimmer} />\n : <div className={styles.shimmerLine} style={{ width: `${COLUMN_HEADER_FILL[i] * 100}%` }} />\n }\n </div>\n ))}\n </div>\n\n <div className={styles.rows}>\n {Array.from({ length: ROW_COUNT }, (_, rowIdx) => {\n const pattern = ROW_PATTERNS[rowIdx % ROW_PATTERNS.length];\n return (\n <div key={rowIdx} className={styles.row}>\n {COLUMN_FLEX.map((flex, colIdx) => (\n <div key={colIdx} className={styles.columnCell} style={{ flex }}>\n {colIdx === 0\n ? <div className={styles.checkboxShimmer} />\n : <div className={styles.shimmerLine} style={{ width: `${pattern[colIdx] * 100}%` }} />\n }\n </div>\n ))}\n </div>\n );\n })}\n </div>\n <div className={styles.footer}>\n <div className={styles.headerPill} style={{ width: 110 }} />\n </div>\n </div>\n );\n};"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './Skeleton';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { ITheme } from '@fluentui/react';
|
|
2
|
+
export declare const getSkeletonStyles: (theme: ITheme) => import("@fluentui/react").IProcessedStyleSet<{
|
|
3
|
+
root: {
|
|
4
|
+
display: string;
|
|
5
|
+
flexDirection: string;
|
|
6
|
+
backgroundColor: string;
|
|
7
|
+
};
|
|
8
|
+
header: {
|
|
9
|
+
height: number;
|
|
10
|
+
display: string;
|
|
11
|
+
alignItems: string;
|
|
12
|
+
justifyContent: string;
|
|
13
|
+
padding: string;
|
|
14
|
+
borderBottom: string;
|
|
15
|
+
flexShrink: number;
|
|
16
|
+
};
|
|
17
|
+
headerLeft: {
|
|
18
|
+
display: string;
|
|
19
|
+
alignItems: string;
|
|
20
|
+
gap: number;
|
|
21
|
+
};
|
|
22
|
+
headerRight: {
|
|
23
|
+
display: string;
|
|
24
|
+
alignItems: string;
|
|
25
|
+
gap: number;
|
|
26
|
+
};
|
|
27
|
+
headerPill: {
|
|
28
|
+
height: number;
|
|
29
|
+
borderRadius: number;
|
|
30
|
+
flexShrink: number;
|
|
31
|
+
background: string;
|
|
32
|
+
backgroundSize: string;
|
|
33
|
+
animationName: string;
|
|
34
|
+
animationDuration: string;
|
|
35
|
+
animationTimingFunction: string;
|
|
36
|
+
animationIterationCount: string;
|
|
37
|
+
};
|
|
38
|
+
columnHeaderRow: {
|
|
39
|
+
height: number;
|
|
40
|
+
display: string;
|
|
41
|
+
alignItems: string;
|
|
42
|
+
borderBottom: string;
|
|
43
|
+
flexShrink: number;
|
|
44
|
+
};
|
|
45
|
+
columnCell: {
|
|
46
|
+
display: string;
|
|
47
|
+
alignItems: string;
|
|
48
|
+
padding: string;
|
|
49
|
+
minWidth: number;
|
|
50
|
+
};
|
|
51
|
+
shimmerLine: {
|
|
52
|
+
height: number;
|
|
53
|
+
borderRadius: number;
|
|
54
|
+
background: string;
|
|
55
|
+
backgroundSize: string;
|
|
56
|
+
animationName: string;
|
|
57
|
+
animationDuration: string;
|
|
58
|
+
animationTimingFunction: string;
|
|
59
|
+
animationIterationCount: string;
|
|
60
|
+
};
|
|
61
|
+
checkboxShimmer: {
|
|
62
|
+
width: number;
|
|
63
|
+
height: number;
|
|
64
|
+
borderRadius: number;
|
|
65
|
+
flexShrink: number;
|
|
66
|
+
background: string;
|
|
67
|
+
backgroundSize: string;
|
|
68
|
+
animationName: string;
|
|
69
|
+
animationDuration: string;
|
|
70
|
+
animationTimingFunction: string;
|
|
71
|
+
animationIterationCount: string;
|
|
72
|
+
};
|
|
73
|
+
rows: {
|
|
74
|
+
flexGrow: number;
|
|
75
|
+
overflow: string;
|
|
76
|
+
height: number;
|
|
77
|
+
};
|
|
78
|
+
row: {
|
|
79
|
+
height: number;
|
|
80
|
+
display: string;
|
|
81
|
+
alignItems: string;
|
|
82
|
+
borderBottom: string;
|
|
83
|
+
};
|
|
84
|
+
footer: {
|
|
85
|
+
height: number;
|
|
86
|
+
display: string;
|
|
87
|
+
alignItems: string;
|
|
88
|
+
padding: string;
|
|
89
|
+
borderTop: string;
|
|
90
|
+
flexShrink: number;
|
|
91
|
+
};
|
|
92
|
+
}>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { keyframes, mergeStyleSets } from '@fluentui/react';
|
|
2
|
+
|
|
3
|
+
const HEADER_HEIGHT = 64;
|
|
4
|
+
const COLUMN_HEADER_HEIGHT = 42;
|
|
5
|
+
const ROW_HEIGHT = 42;
|
|
6
|
+
const FOOTER_HEIGHT = 44;
|
|
7
|
+
const getSkeletonStyles = (theme) => {
|
|
8
|
+
const shimmerKeyframe = keyframes({
|
|
9
|
+
'0%': { backgroundPosition: '-600px 0' },
|
|
10
|
+
'100%': { backgroundPosition: '600px 0' },
|
|
11
|
+
});
|
|
12
|
+
const shimmerBase = {
|
|
13
|
+
background: `linear-gradient(90deg, ${theme.semanticColors.disabledBackground} 25%, ${theme.palette.neutralLight} 50%, ${theme.semanticColors.disabledBackground} 75%)`,
|
|
14
|
+
backgroundSize: '1200px 100%',
|
|
15
|
+
animationName: shimmerKeyframe,
|
|
16
|
+
animationDuration: '1.5s',
|
|
17
|
+
animationTimingFunction: 'linear',
|
|
18
|
+
animationIterationCount: 'infinite',
|
|
19
|
+
borderRadius: 2,
|
|
20
|
+
};
|
|
21
|
+
return mergeStyleSets({
|
|
22
|
+
root: {
|
|
23
|
+
display: 'flex',
|
|
24
|
+
flexDirection: 'column',
|
|
25
|
+
backgroundColor: theme.semanticColors.bodyBackground,
|
|
26
|
+
},
|
|
27
|
+
header: {
|
|
28
|
+
height: HEADER_HEIGHT,
|
|
29
|
+
display: 'flex',
|
|
30
|
+
alignItems: 'center',
|
|
31
|
+
justifyContent: 'space-between',
|
|
32
|
+
padding: '0 8px',
|
|
33
|
+
borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,
|
|
34
|
+
flexShrink: 0,
|
|
35
|
+
},
|
|
36
|
+
headerLeft: {
|
|
37
|
+
display: 'flex',
|
|
38
|
+
alignItems: 'center',
|
|
39
|
+
gap: 8,
|
|
40
|
+
},
|
|
41
|
+
headerRight: {
|
|
42
|
+
display: 'flex',
|
|
43
|
+
alignItems: 'center',
|
|
44
|
+
gap: 8,
|
|
45
|
+
},
|
|
46
|
+
headerPill: {
|
|
47
|
+
...shimmerBase,
|
|
48
|
+
height: 26,
|
|
49
|
+
borderRadius: 2,
|
|
50
|
+
flexShrink: 0,
|
|
51
|
+
},
|
|
52
|
+
columnHeaderRow: {
|
|
53
|
+
height: COLUMN_HEADER_HEIGHT,
|
|
54
|
+
display: 'flex',
|
|
55
|
+
alignItems: 'center',
|
|
56
|
+
borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,
|
|
57
|
+
flexShrink: 0,
|
|
58
|
+
},
|
|
59
|
+
columnCell: {
|
|
60
|
+
display: 'flex',
|
|
61
|
+
alignItems: 'center',
|
|
62
|
+
padding: '0 8px',
|
|
63
|
+
minWidth: 0,
|
|
64
|
+
},
|
|
65
|
+
shimmerLine: {
|
|
66
|
+
...shimmerBase,
|
|
67
|
+
height: 11,
|
|
68
|
+
borderRadius: 2,
|
|
69
|
+
},
|
|
70
|
+
checkboxShimmer: {
|
|
71
|
+
...shimmerBase,
|
|
72
|
+
width: 16,
|
|
73
|
+
height: 16,
|
|
74
|
+
borderRadius: 2,
|
|
75
|
+
flexShrink: 0,
|
|
76
|
+
},
|
|
77
|
+
rows: {
|
|
78
|
+
flexGrow: 1,
|
|
79
|
+
overflow: 'auto',
|
|
80
|
+
height: 0
|
|
81
|
+
},
|
|
82
|
+
row: {
|
|
83
|
+
height: ROW_HEIGHT,
|
|
84
|
+
display: 'flex',
|
|
85
|
+
alignItems: 'center',
|
|
86
|
+
borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,
|
|
87
|
+
},
|
|
88
|
+
footer: {
|
|
89
|
+
height: FOOTER_HEIGHT,
|
|
90
|
+
display: 'flex',
|
|
91
|
+
alignItems: 'center',
|
|
92
|
+
padding: '0 8px',
|
|
93
|
+
borderTop: `1px solid ${theme.semanticColors.bodyDivider}`,
|
|
94
|
+
flexShrink: 0,
|
|
95
|
+
},
|
|
96
|
+
});
|
|
97
|
+
};
|
|
98
|
+
|
|
99
|
+
export { getSkeletonStyles };
|
|
100
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../src/components/TaskGrid/components/skeleton/styles.ts"],"sourcesContent":["import { ITheme, keyframes, mergeStyleSets } from '@fluentui/react';\n\nconst HEADER_HEIGHT = 64;\nconst COLUMN_HEADER_HEIGHT = 42;\nconst ROW_HEIGHT = 42;\nconst FOOTER_HEIGHT = 44;\n\nexport const getSkeletonStyles = (theme: ITheme) => {\n const shimmerKeyframe = keyframes({\n '0%': { backgroundPosition: '-600px 0' },\n '100%': { backgroundPosition: '600px 0' },\n });\n\n const shimmerBase = {\n background: `linear-gradient(90deg, ${theme.semanticColors.disabledBackground} 25%, ${theme.palette.neutralLight} 50%, ${theme.semanticColors.disabledBackground} 75%)`,\n backgroundSize: '1200px 100%',\n animationName: shimmerKeyframe,\n animationDuration: '1.5s',\n animationTimingFunction: 'linear',\n animationIterationCount: 'infinite',\n borderRadius: 2,\n };\n\n return mergeStyleSets({\n root: {\n display: 'flex',\n flexDirection: 'column',\n backgroundColor: theme.semanticColors.bodyBackground,\n },\n header: {\n height: HEADER_HEIGHT,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n padding: '0 8px',\n borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,\n flexShrink: 0,\n },\n headerLeft: {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n },\n headerRight: {\n display: 'flex',\n alignItems: 'center',\n gap: 8,\n },\n headerPill: {\n ...shimmerBase,\n height: 26,\n borderRadius: 2,\n flexShrink: 0,\n },\n columnHeaderRow: {\n height: COLUMN_HEADER_HEIGHT,\n display: 'flex',\n alignItems: 'center',\n borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,\n flexShrink: 0,\n },\n columnCell: {\n display: 'flex',\n alignItems: 'center',\n padding: '0 8px',\n minWidth: 0,\n },\n shimmerLine: {\n ...shimmerBase,\n height: 11,\n borderRadius: 2,\n },\n checkboxShimmer: {\n ...shimmerBase,\n width: 16,\n height: 16,\n borderRadius: 2,\n flexShrink: 0,\n },\n rows: {\n flexGrow: 1,\n overflow: 'auto',\n height: 0\n },\n row: {\n height: ROW_HEIGHT,\n display: 'flex',\n alignItems: 'center',\n borderBottom: `1px solid ${theme.semanticColors.bodyDivider}`,\n },\n footer: {\n height: FOOTER_HEIGHT,\n display: 'flex',\n alignItems: 'center',\n padding: '0 8px',\n borderTop: `1px solid ${theme.semanticColors.bodyDivider}`,\n flexShrink: 0,\n },\n });\n};\n"],"names":[],"mappings":";;AAEA,MAAM,aAAa,GAAG,EAAE,CAAC;AACzB,MAAM,oBAAoB,GAAG,EAAE,CAAC;AAChC,MAAM,UAAU,GAAG,EAAE,CAAC;AACtB,MAAM,aAAa,GAAG,EAAE,CAAC;AAEZ,MAAA,iBAAiB,GAAG,CAAC,KAAa,KAAI;IAC/C,MAAM,eAAe,GAAG,SAAS,CAAC;AAC9B,QAAA,IAAI,EAAE,EAAE,kBAAkB,EAAE,UAAU,EAAE;AACxC,QAAA,MAAM,EAAE,EAAE,kBAAkB,EAAE,SAAS,EAAE;AAC5C,KAAA,CAAC,CAAC;AAEH,IAAA,MAAM,WAAW,GAAG;AAChB,QAAA,UAAU,EAAE,CAA0B,uBAAA,EAAA,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAS,MAAA,EAAA,KAAK,CAAC,OAAO,CAAC,YAAY,CAAS,MAAA,EAAA,KAAK,CAAC,cAAc,CAAC,kBAAkB,CAAO,KAAA,CAAA;AACvK,QAAA,cAAc,EAAE,aAAa;AAC7B,QAAA,aAAa,EAAE,eAAe;AAC9B,QAAA,iBAAiB,EAAE,MAAM;AACzB,QAAA,uBAAuB,EAAE,QAAQ;AACjC,QAAA,uBAAuB,EAAE,UAAU;AACnC,QAAA,YAAY,EAAE,CAAC;KAClB,CAAC;AAEF,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc;AACvD,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,cAAc,EAAE,eAAe;AAC/B,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,YAAY,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;AAC7D,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,WAAW,EAAE;AACT,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,GAAG,WAAW;AACd,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,eAAe,EAAE;AACb,YAAA,MAAM,EAAE,oBAAoB;AAC5B,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,YAAY,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;AAC7D,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,QAAQ,EAAE,CAAC;AACd,SAAA;AACD,QAAA,WAAW,EAAE;AACT,YAAA,GAAG,WAAW;AACd,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,CAAC;AAClB,SAAA;AACD,QAAA,eAAe,EAAE;AACb,YAAA,GAAG,WAAW;AACd,YAAA,KAAK,EAAE,EAAE;AACT,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,YAAY,EAAE,CAAC;AACf,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACD,QAAA,IAAI,EAAE;AACF,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,QAAQ,EAAE,MAAM;AAChB,YAAA,MAAM,EAAE,CAAC;AACZ,SAAA;AACD,QAAA,GAAG,EAAE;AACD,YAAA,MAAM,EAAE,UAAU;AAClB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,YAAY,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;AAChE,SAAA;AACD,QAAA,MAAM,EAAE;AACJ,YAAA,MAAM,EAAE,aAAa;AACrB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,UAAU,EAAE,QAAQ;AACpB,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,SAAS,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;AAC1D,YAAA,UAAU,EAAE,CAAC;AAChB,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import { ITaskDataProvider } from "./data-providers/task-data-provider";
|
|
4
|
+
import { ITaskGridDatasetControl, ITaskGridDescriptor } from "./interfaces";
|
|
5
|
+
import { ITaskGridLabels, LocalizationService } from "./labels";
|
|
6
|
+
import { ITaskGridComponents } from "./components/components";
|
|
7
|
+
export declare const PcfContext: React.Context<ComponentFramework.Context<any, ComponentFramework.IEventBag> | null>;
|
|
8
|
+
export declare const DatasetControlContext: React.Context<ITaskGridDatasetControl | null>;
|
|
9
|
+
export declare const TaskDataProviderContext: React.Context<ITaskDataProvider | null>;
|
|
10
|
+
export declare const TaskGridComponentsContext: React.Context<ITaskGridComponents>;
|
|
11
|
+
export declare const TaskGridDescriptorContext: React.Context<ITaskGridDescriptor | null>;
|
|
12
|
+
export declare const RootElementIdContext: React.Context<string>;
|
|
13
|
+
export declare const LocalizationServiceContext: React.Context<LocalizationService<ITaskGridLabels> | null>;
|
|
14
|
+
export declare const AgGridLicenseKeyContext: React.Context<string | null>;
|
|
15
|
+
export declare const useTaskGridDescriptor: () => ITaskGridDescriptor;
|
|
16
|
+
export declare const useLocalizationService: () => LocalizationService<ITaskGridLabels>;
|
|
17
|
+
export declare const useRootElementId: () => string;
|
|
18
|
+
export declare const useDatasetControl: () => ITaskGridDatasetControl;
|
|
19
|
+
export declare const useTaskGridComponents: () => ITaskGridComponents;
|
|
20
|
+
export declare const useTaskDataProvider: () => ITaskDataProvider;
|
|
21
|
+
export declare const usePcfContext: () => ComponentFramework.Context<any, ComponentFramework.IEventBag>;
|
|
22
|
+
export declare const useAgGridLicenseKey: () => string | null;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TaskGridComponents } from './components/components.js';
|
|
3
|
+
|
|
4
|
+
const PcfContext = React.createContext(null);
|
|
5
|
+
PcfContext.displayName = 'PcfContext';
|
|
6
|
+
const DatasetControlContext = React.createContext(null);
|
|
7
|
+
DatasetControlContext.displayName = 'DatasetControl';
|
|
8
|
+
const TaskDataProviderContext = React.createContext(null);
|
|
9
|
+
TaskDataProviderContext.displayName = 'TaskDataProvider';
|
|
10
|
+
const TaskGridComponentsContext = React.createContext(TaskGridComponents);
|
|
11
|
+
TaskGridComponentsContext.displayName = 'TaskGridComponents';
|
|
12
|
+
const TaskGridDescriptorContext = React.createContext(null);
|
|
13
|
+
TaskGridDescriptorContext.displayName = 'TaskGridDescriptor';
|
|
14
|
+
const RootElementIdContext = React.createContext('');
|
|
15
|
+
RootElementIdContext.displayName = 'RootElementId';
|
|
16
|
+
const LocalizationServiceContext = React.createContext(null);
|
|
17
|
+
LocalizationServiceContext.displayName = 'LocalizationService';
|
|
18
|
+
const AgGridLicenseKeyContext = React.createContext(null);
|
|
19
|
+
AgGridLicenseKeyContext.displayName = 'AgGridLicenseKey';
|
|
20
|
+
const useContextWithNullCheck = (ctx) => {
|
|
21
|
+
const value = React.useContext(ctx);
|
|
22
|
+
if (value == null) {
|
|
23
|
+
throw new Error(`Context "${ctx.displayName ?? 'unknown'}" is not provided.`);
|
|
24
|
+
}
|
|
25
|
+
return value;
|
|
26
|
+
};
|
|
27
|
+
const useTaskGridDescriptor = () => {
|
|
28
|
+
return useContextWithNullCheck(TaskGridDescriptorContext);
|
|
29
|
+
};
|
|
30
|
+
const useLocalizationService = () => {
|
|
31
|
+
return useContextWithNullCheck(LocalizationServiceContext);
|
|
32
|
+
};
|
|
33
|
+
const useRootElementId = () => {
|
|
34
|
+
return React.useContext(RootElementIdContext);
|
|
35
|
+
};
|
|
36
|
+
const useDatasetControl = () => {
|
|
37
|
+
return useContextWithNullCheck(DatasetControlContext);
|
|
38
|
+
};
|
|
39
|
+
const useTaskGridComponents = () => {
|
|
40
|
+
return React.useContext(TaskGridComponentsContext);
|
|
41
|
+
};
|
|
42
|
+
const useTaskDataProvider = () => {
|
|
43
|
+
return useContextWithNullCheck(TaskDataProviderContext);
|
|
44
|
+
};
|
|
45
|
+
const usePcfContext = () => {
|
|
46
|
+
return useContextWithNullCheck(PcfContext);
|
|
47
|
+
};
|
|
48
|
+
const useAgGridLicenseKey = () => {
|
|
49
|
+
return React.useContext(AgGridLicenseKeyContext);
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
export { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, useAgGridLicenseKey, useDatasetControl, useLocalizationService, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor };
|
|
53
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../src/components/TaskGrid/context.ts"],"sourcesContent":["import * as React from \"react\";\nimport { ITaskDataProvider } from \"./data-providers/task-data-provider\";\nimport { ITaskGridDatasetControl, ITaskGridDescriptor } from \"./interfaces\";\nimport { ITaskGridLabels, LocalizationService } from \"./labels\";\nimport { ITaskGridComponents, TaskGridComponents } from \"./components/components\";\n\nexport const PcfContext = React.createContext<ComponentFramework.Context<any> | null>(null);\nPcfContext.displayName = 'PcfContext';\n\nexport const DatasetControlContext = React.createContext<ITaskGridDatasetControl | null>(null);\nDatasetControlContext.displayName = 'DatasetControl';\n\nexport const TaskDataProviderContext = React.createContext<ITaskDataProvider | null>(null);\nTaskDataProviderContext.displayName = 'TaskDataProvider';\n\nexport const TaskGridComponentsContext = React.createContext<ITaskGridComponents>(TaskGridComponents);\nTaskGridComponentsContext.displayName = 'TaskGridComponents';\n\nexport const TaskGridDescriptorContext = React.createContext<ITaskGridDescriptor | null>(null);\nTaskGridDescriptorContext.displayName = 'TaskGridDescriptor';\n\nexport const RootElementIdContext = React.createContext<string>('');\nRootElementIdContext.displayName = 'RootElementId';\n\nexport const LocalizationServiceContext = React.createContext<LocalizationService<ITaskGridLabels> | null>(null);\nLocalizationServiceContext.displayName = 'LocalizationService';\n\nexport const AgGridLicenseKeyContext = React.createContext<string | null>(null);\nAgGridLicenseKeyContext.displayName = 'AgGridLicenseKey';\n\nconst useContextWithNullCheck = <T>(ctx: React.Context<T | null>): T => {\n const value = React.useContext(ctx);\n if (value == null) {\n throw new Error(`Context \"${ctx.displayName ?? 'unknown'}\" is not provided.`);\n }\n return value;\n}\n\nexport const useTaskGridDescriptor = () => {\n return useContextWithNullCheck(TaskGridDescriptorContext);\n}\n\nexport const useLocalizationService = () => {\n return useContextWithNullCheck(LocalizationServiceContext);\n}\n\nexport const useRootElementId = () => {\n return React.useContext(RootElementIdContext);\n}\n\nexport const useDatasetControl = () => {\n return useContextWithNullCheck(DatasetControlContext);\n}\n\nexport const useTaskGridComponents = () => {\n return React.useContext(TaskGridComponentsContext);\n}\n\nexport const useTaskDataProvider = () => {\n return useContextWithNullCheck(TaskDataProviderContext);\n}\n\nexport const usePcfContext = () => {\n return useContextWithNullCheck(PcfContext);\n}\n\nexport const useAgGridLicenseKey = () => {\n return React.useContext(AgGridLicenseKeyContext);\n}\n"],"names":[],"mappings":";;;AAMa,MAAA,UAAU,GAAG,KAAK,CAAC,aAAa,CAAyC,IAAI,EAAE;AAC5F,UAAU,CAAC,WAAW,GAAG,YAAY,CAAC;AAEzB,MAAA,qBAAqB,GAAG,KAAK,CAAC,aAAa,CAAiC,IAAI,EAAE;AAC/F,qBAAqB,CAAC,WAAW,GAAG,gBAAgB,CAAC;AAExC,MAAA,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAA2B,IAAI,EAAE;AAC3F,uBAAuB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAE5C,MAAA,yBAAyB,GAAG,KAAK,CAAC,aAAa,CAAsB,kBAAkB,EAAE;AACtG,yBAAyB,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAEhD,MAAA,yBAAyB,GAAG,KAAK,CAAC,aAAa,CAA6B,IAAI,EAAE;AAC/F,yBAAyB,CAAC,WAAW,GAAG,oBAAoB,CAAC;AAEhD,MAAA,oBAAoB,GAAG,KAAK,CAAC,aAAa,CAAS,EAAE,EAAE;AACpE,oBAAoB,CAAC,WAAW,GAAG,eAAe,CAAC;AAEtC,MAAA,0BAA0B,GAAG,KAAK,CAAC,aAAa,CAA8C,IAAI,EAAE;AACjH,0BAA0B,CAAC,WAAW,GAAG,qBAAqB,CAAC;AAElD,MAAA,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAAgB,IAAI,EAAE;AAChF,uBAAuB,CAAC,WAAW,GAAG,kBAAkB,CAAC;AAEzD,MAAM,uBAAuB,GAAG,CAAI,GAA4B,KAAO;IACnE,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACpC,IAAI,KAAK,IAAI,IAAI,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,CAAY,SAAA,EAAA,GAAG,CAAC,WAAW,IAAI,SAAS,CAAoB,kBAAA,CAAA,CAAC,CAAC;AACjF,KAAA;AACD,IAAA,OAAO,KAAK,CAAC;AACjB,CAAC,CAAA;AAEM,MAAM,qBAAqB,GAAG,MAAK;AACtC,IAAA,OAAO,uBAAuB,CAAC,yBAAyB,CAAC,CAAC;AAC9D,EAAC;AAEM,MAAM,sBAAsB,GAAG,MAAK;AACvC,IAAA,OAAO,uBAAuB,CAAC,0BAA0B,CAAC,CAAC;AAC/D,EAAC;AAEM,MAAM,gBAAgB,GAAG,MAAK;AACjC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;AAClD,EAAC;AAEM,MAAM,iBAAiB,GAAG,MAAK;AAClC,IAAA,OAAO,uBAAuB,CAAC,qBAAqB,CAAC,CAAC;AAC1D,EAAC;AAEM,MAAM,qBAAqB,GAAG,MAAK;AACtC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;AACvD,EAAC;AAEM,MAAM,mBAAmB,GAAG,MAAK;AACpC,IAAA,OAAO,uBAAuB,CAAC,uBAAuB,CAAC,CAAC;AAC5D,EAAC;AAEM,MAAM,aAAa,GAAG,MAAK;AAC9B,IAAA,OAAO,uBAAuB,CAAC,UAAU,CAAC,CAAC;AAC/C,EAAC;AAEM,MAAM,mBAAmB,GAAG,MAAK;AACpC,IAAA,OAAO,KAAK,CAAC,UAAU,CAAC,uBAAuB,CAAC,CAAC;AACrD;;;;"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { IColumn, IEventEmitter } from "@talxis/client-libraries";
|
|
2
|
+
/** Strategy interface for managing user-defined (dynamic) column definitions. */
|
|
3
|
+
export interface ICustomColumnsStrategy {
|
|
4
|
+
/** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
5
|
+
onCreateColumn: () => Promise<string | null>;
|
|
6
|
+
/** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
7
|
+
onDeleteColumn: (columnName: string) => Promise<string | null>;
|
|
8
|
+
/** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
9
|
+
onUpdateColumn: (columnName: string) => Promise<string | null>;
|
|
10
|
+
/** Fetches/reloads all custom column definitions and returns the resolved `IColumn[]`. */
|
|
11
|
+
onRefresh: () => Promise<IColumn[]>;
|
|
12
|
+
/** Returns the currently loaded custom columns synchronously without a network fetch. */
|
|
13
|
+
onGetColumns: () => IColumn[];
|
|
14
|
+
}
|
|
15
|
+
/** Manages the lifecycle of dynamic (user-defined) columns and wraps the strategy with error handling. */
|
|
16
|
+
export interface ICustomColumnsDataProvider {
|
|
17
|
+
/** EventEmitter for error events raised by column operations. */
|
|
18
|
+
events: IEventEmitter<ICustomColumnsDataProviderEvents>;
|
|
19
|
+
/** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
20
|
+
createColumn: () => Promise<string | null>;
|
|
21
|
+
/** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
22
|
+
deleteColumn: (columnName: string) => Promise<string | null>;
|
|
23
|
+
/** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
24
|
+
updateColumn: (columnName: string) => Promise<string | null>;
|
|
25
|
+
/** Refreshes the list of custom columns from the underlying strategy. */
|
|
26
|
+
refresh: () => Promise<IColumn[]>;
|
|
27
|
+
/** Returns the currently cached list of custom columns. */
|
|
28
|
+
getColumns: () => IColumn[];
|
|
29
|
+
/** Returns the underlying strategy cast to the given type for strategy-specific operations. */
|
|
30
|
+
getStrategy<T extends ICustomColumnsStrategy>(): T;
|
|
31
|
+
/** Returns `true` when the given column name is a custom (dynamic) column. */
|
|
32
|
+
isCustomColumn: (columnName: string) => boolean;
|
|
33
|
+
destroy: () => void;
|
|
34
|
+
}
|
|
35
|
+
export interface ICustomColumnsDataProviderEvents {
|
|
36
|
+
onError: (error: any, message: string) => void;
|
|
37
|
+
}
|
|
38
|
+
export declare class CustomColumnsDataProvider implements ICustomColumnsDataProvider {
|
|
39
|
+
private _strategy;
|
|
40
|
+
events: IEventEmitter<ICustomColumnsDataProviderEvents>;
|
|
41
|
+
constructor(strategy: ICustomColumnsStrategy);
|
|
42
|
+
getStrategy<T extends ICustomColumnsStrategy>(): T;
|
|
43
|
+
createColumn(): Promise<string | null>;
|
|
44
|
+
deleteColumn(columnName: string): Promise<string | null>;
|
|
45
|
+
updateColumn(columnName: string): Promise<string | null>;
|
|
46
|
+
destroy(): void;
|
|
47
|
+
getColumns(): IColumn[];
|
|
48
|
+
refresh(): Promise<IColumn[]>;
|
|
49
|
+
isCustomColumn(columnName: string): boolean;
|
|
50
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { EventEmitter, DatasetConstants } from '@talxis/client-libraries';
|
|
2
|
+
import { ErrorHelper } from '../../../../utils/error-handling/ErrorHelper.js';
|
|
3
|
+
|
|
4
|
+
class CustomColumnsDataProvider {
|
|
5
|
+
constructor(strategy) {
|
|
6
|
+
this.events = new EventEmitter();
|
|
7
|
+
this._strategy = strategy;
|
|
8
|
+
}
|
|
9
|
+
getStrategy() {
|
|
10
|
+
return this._strategy;
|
|
11
|
+
}
|
|
12
|
+
async createColumn() {
|
|
13
|
+
return ErrorHelper.executeWithErrorHandling({
|
|
14
|
+
operation: () => this._strategy.onCreateColumn(),
|
|
15
|
+
onError: (error, message) => this.events.dispatchEvent('onError', error, message)
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async deleteColumn(columnName) {
|
|
19
|
+
return ErrorHelper.executeWithErrorHandling({
|
|
20
|
+
operation: () => this._strategy.onDeleteColumn(columnName),
|
|
21
|
+
onError: (error, message) => this.events.dispatchEvent('onError', error, message)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
async updateColumn(columnName) {
|
|
25
|
+
return ErrorHelper.executeWithErrorHandling({
|
|
26
|
+
operation: () => this._strategy.onUpdateColumn(columnName),
|
|
27
|
+
onError: (error, message) => this.events.dispatchEvent('onError', error, message)
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
destroy() {
|
|
31
|
+
this.events.clearEventListeners();
|
|
32
|
+
}
|
|
33
|
+
getColumns() {
|
|
34
|
+
return this._strategy.onGetColumns();
|
|
35
|
+
}
|
|
36
|
+
async refresh() {
|
|
37
|
+
return await this._strategy.onRefresh();
|
|
38
|
+
}
|
|
39
|
+
isCustomColumn(columnName) {
|
|
40
|
+
return columnName.endsWith(DatasetConstants.CUSTOM_COLUMN_NAME_SUFFIX);
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
export { CustomColumnsDataProvider };
|
|
45
|
+
//# sourceMappingURL=CustomColumnsDataProvider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CustomColumnsDataProvider.js","sources":["../../../../../src/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.ts"],"sourcesContent":["import { DatasetConstants, IColumn, IEventEmitter, EventEmitter } from \"@talxis/client-libraries\";\nimport { ErrorHelper } from \"../../../../utils\";\n\n\n/** Strategy interface for managing user-defined (dynamic) column definitions. */\nexport interface ICustomColumnsStrategy {\n /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onCreateColumn: () => Promise<string | null>;\n /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onDeleteColumn: (columnName: string) => Promise<string | null>;\n /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onUpdateColumn: (columnName: string) => Promise<string | null>;\n /** Fetches/reloads all custom column definitions and returns the resolved `IColumn[]`. */\n onRefresh: () => Promise<IColumn[]>;\n /** Returns the currently loaded custom columns synchronously without a network fetch. */\n onGetColumns: () => IColumn[];\n}\n\n/** Manages the lifecycle of dynamic (user-defined) columns and wraps the strategy with error handling. */\nexport interface ICustomColumnsDataProvider {\n /** EventEmitter for error events raised by column operations. */\n events: IEventEmitter<ICustomColumnsDataProviderEvents>;\n /** @returns The created column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n createColumn: () => Promise<string | null>;\n /** @returns The deleted column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n deleteColumn: (columnName: string) => Promise<string | null>;\n /** @returns The updated column name, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n updateColumn: (columnName: string) => Promise<string | null>;\n /** Refreshes the list of custom columns from the underlying strategy. */\n refresh: () => Promise<IColumn[]>;\n /** Returns the currently cached list of custom columns. */\n getColumns: () => IColumn[];\n /** Returns the underlying strategy cast to the given type for strategy-specific operations. */\n getStrategy<T extends ICustomColumnsStrategy>(): T;\n /** Returns `true` when the given column name is a custom (dynamic) column. */\n isCustomColumn: (columnName: string) => boolean;\n destroy: () => void;\n}\n\nexport interface ICustomColumnsDataProviderEvents {\n onError: (error: any, message: string) => void;\n}\n\nexport class CustomColumnsDataProvider implements ICustomColumnsDataProvider {\n private _strategy: ICustomColumnsStrategy;\n public events: IEventEmitter<ICustomColumnsDataProviderEvents> = new EventEmitter();\n\n constructor(strategy: ICustomColumnsStrategy) {\n this._strategy = strategy;\n }\n public getStrategy<T extends ICustomColumnsStrategy>(): T {\n return this._strategy as T;\n }\n public async createColumn(): Promise<string | null> {\n return ErrorHelper.executeWithErrorHandling({\n operation: () => this._strategy.onCreateColumn(),\n onError: (error, message) => this.events.dispatchEvent('onError', error, message)\n })\n }\n public async deleteColumn(columnName: string): Promise<string | null> {\n return ErrorHelper.executeWithErrorHandling({\n operation: () => this._strategy.onDeleteColumn(columnName),\n onError: (error, message) => this.events.dispatchEvent('onError', error, message)\n })\n }\n public async updateColumn(columnName: string): Promise<string | null> {\n return ErrorHelper.executeWithErrorHandling({\n operation: () => this._strategy.onUpdateColumn(columnName),\n onError: (error, message) => this.events.dispatchEvent('onError', error, message)\n })\n }\n public destroy(): void {\n this.events.clearEventListeners();\n }\n public getColumns(): IColumn[] {\n return this._strategy.onGetColumns();\n }\n public async refresh(): Promise<IColumn[]> {\n return await this._strategy.onRefresh();\n }\n public isCustomColumn(columnName: string): boolean {\n return columnName.endsWith(DatasetConstants.CUSTOM_COLUMN_NAME_SUFFIX);\n }\n}"],"names":[],"mappings":";;;MA2Ca,yBAAyB,CAAA;AAIlC,IAAA,WAAA,CAAY,QAAgC,EAAA;AAFrC,QAAA,IAAA,CAAA,MAAM,GAAoD,IAAI,YAAY,EAAE,CAAC;AAGhF,QAAA,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;KAC7B;IACM,WAAW,GAAA;QACd,OAAO,IAAI,CAAC,SAAc,CAAC;KAC9B;AACM,IAAA,MAAM,YAAY,GAAA;QACrB,OAAO,WAAW,CAAC,wBAAwB,CAAC;YACxC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE;AAChD,YAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;AACpF,SAAA,CAAC,CAAA;KACL;IACM,MAAM,YAAY,CAAC,UAAkB,EAAA;QACxC,OAAO,WAAW,CAAC,wBAAwB,CAAC;YACxC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC;AAC1D,YAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;AACpF,SAAA,CAAC,CAAA;KACL;IACM,MAAM,YAAY,CAAC,UAAkB,EAAA;QACxC,OAAO,WAAW,CAAC,wBAAwB,CAAC;YACxC,SAAS,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,UAAU,CAAC;AAC1D,YAAA,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,EAAE,KAAK,EAAE,OAAO,CAAC;AACpF,SAAA,CAAC,CAAA;KACL;IACM,OAAO,GAAA;AACV,QAAA,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC;KACrC;IACM,UAAU,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC;KACxC;AACM,IAAA,MAAM,OAAO,GAAA;AAChB,QAAA,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;KAC3C;AACM,IAAA,cAAc,CAAC,UAAkB,EAAA;QACpC,OAAO,UAAU,CAAC,QAAQ,CAAC,gBAAgB,CAAC,yBAAyB,CAAC,CAAC;KAC1E;AACJ;;;;"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { IColumn, IRawRecord, IRecord, IRecordSaveOperationResult } from "@talxis/client-libraries";
|
|
2
|
+
import { ICustomColumnsStrategy } from "./CustomColumnsDataProvider";
|
|
3
|
+
export declare const ATTRIBUTE_DEFINITION_ENTITY_NAME = "talxis_attributedefinition";
|
|
4
|
+
export declare const ATTRIBUTE_VALUE_ENTITY_NAME = "talxis_attributevalue";
|
|
5
|
+
export declare const CUSTOM_COLUMNS_REFERENED_ENTITY_NAVIGATION_NAME = "talxis_task_talxis_attributevalue_regardingobjectid";
|
|
6
|
+
interface ITalxisCustomColumnsStrategyParameters {
|
|
7
|
+
entityName: string;
|
|
8
|
+
recordId?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ITalxisCustomColumnsStrategy extends ICustomColumnsStrategy {
|
|
11
|
+
saveValueToCustomColumn: (record: IRecord) => Promise<IRecordSaveOperationResult>;
|
|
12
|
+
getValueFromRawRecord: (recordId: string, rawRecord: IRawRecord, column: IColumn) => any;
|
|
13
|
+
}
|
|
14
|
+
export declare class TalxisCustomColumnsStrategy implements ITalxisCustomColumnsStrategy {
|
|
15
|
+
private _entityName;
|
|
16
|
+
private _recordId?;
|
|
17
|
+
private _attributes;
|
|
18
|
+
private _attributeIdsMap;
|
|
19
|
+
constructor(parameters: ITalxisCustomColumnsStrategyParameters);
|
|
20
|
+
onRefresh(): Promise<IColumn[]>;
|
|
21
|
+
onGetColumns(): IColumn[];
|
|
22
|
+
onDeleteColumn(columnName: string): Promise<string | null>;
|
|
23
|
+
onCreateColumn(): Promise<string | null>;
|
|
24
|
+
onUpdateColumn(columnName: string): Promise<string | null>;
|
|
25
|
+
saveValueToCustomColumn(record: IRecord): Promise<IRecordSaveOperationResult>;
|
|
26
|
+
getValueFromRawRecord(recordId: string, rawRecord: IRawRecord, column: IColumn): any;
|
|
27
|
+
private _getAttributeFromRawRecord;
|
|
28
|
+
private _getFieldNameForColumn;
|
|
29
|
+
private _getValueForPayload;
|
|
30
|
+
private _getSerializedValue;
|
|
31
|
+
private _getMetadataForDataType;
|
|
32
|
+
}
|
|
33
|
+
export {};
|