@talxis/base-controls 1.2603.1 → 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/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
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ export { ThemeWrapper } from './utils/theme/components/ThemeWrapper.js';
|
|
|
14
14
|
export { BaseControls } from './utils/BaseControls.js';
|
|
15
15
|
export { DatasetAdapter } from './utils/dataset/adapters/DatasetAdapter.js';
|
|
16
16
|
export { VirtualDatasetAdapter } from './utils/dataset/adapters/VirtualDatasetAdapter.js';
|
|
17
|
+
export { ErrorHelper } from './utils/error-handling/ErrorHelper.js';
|
|
17
18
|
export { DatasetControl } from './components/DatasetControl/DatasetControl.js';
|
|
18
19
|
export { DateTime } from './components/DateTime/DateTime.js';
|
|
19
20
|
export { useDateTime } from './components/DateTime/hooks/useDateTime.js';
|
|
@@ -29,4 +30,6 @@ export { TextField } from './components/TextField/TextField.js';
|
|
|
29
30
|
export { TwoOptions } from './components/TwoOptions/TwoOptions.js';
|
|
30
31
|
export { Duration } from './components/Duration/Duration.js';
|
|
31
32
|
export { GridInlineRibbon } from './components/GridInlineRibbon/GridInlineRibbon.js';
|
|
33
|
+
export { TaskGrid } from './components/TaskGrid/TaskGrid.js';
|
|
34
|
+
export { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, useAgGridLicenseKey, useDatasetControl, useLocalizationService, usePcfContext, useRootElementId, useTaskDataProvider, useTaskGridComponents, useTaskGridDescriptor } from './components/TaskGrid/context.js';
|
|
32
35
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -84,7 +84,10 @@ class VirtualDatasetAdapter {
|
|
|
84
84
|
onGetParameters: () => {
|
|
85
85
|
return {
|
|
86
86
|
...this._getDatasetControlParameters(),
|
|
87
|
-
Grid: new Dataset(new MemoryDataProvider(
|
|
87
|
+
Grid: new Dataset(new MemoryDataProvider({
|
|
88
|
+
dataSource: [],
|
|
89
|
+
metadata: { PrimaryIdAttribute: 'id' }
|
|
90
|
+
}))
|
|
88
91
|
};
|
|
89
92
|
}
|
|
90
93
|
});
|
|
@@ -174,10 +177,15 @@ class VirtualDatasetAdapter {
|
|
|
174
177
|
}
|
|
175
178
|
switch (this._context.parameters.DataProvider.raw) {
|
|
176
179
|
case "FetchXml": {
|
|
177
|
-
return new FetchXmlDataProvider(
|
|
180
|
+
return new FetchXmlDataProvider({
|
|
181
|
+
fetchXml: this._context.parameters.Data.raw
|
|
182
|
+
});
|
|
178
183
|
}
|
|
179
184
|
case 'Memory': {
|
|
180
|
-
return new MemoryDataProvider(
|
|
185
|
+
return new MemoryDataProvider({
|
|
186
|
+
dataSource: this._context.parameters.Data.raw,
|
|
187
|
+
metadata: this._getEntityMetadata()
|
|
188
|
+
});
|
|
181
189
|
}
|
|
182
190
|
}
|
|
183
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IColumn, IDataProvider, IDataset, Interceptors, IRawRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { IDatasetControlParameters, IDatasetControlProps } from \"../../../components\";\nimport { DatasetControl, IDatasetControl } from \"../../dataset-control\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IInputs {\n Data: ComponentFramework.PropertyTypes.StringProperty | {\n raw: IRawRecord[]\n }\n EntityMetadata: ComponentFramework.PropertyTypes.StringProperty;\n DataProvider: ComponentFramework.PropertyTypes.EnumProperty<\"Memory\" | \"FetchXml\">;\n EnableQuickFind?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n Columns?: ComponentFramework.PropertyTypes.StringProperty;\n Height?: ComponentFramework.PropertyTypes.StringProperty;\n RowHeight?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n EnableEditing?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePagination?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableFiltering?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableSorting?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableNavigation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableOptionSetColors?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAggregation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGrouping?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableEditColumns?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAutoSave?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableCommandBar?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableZebra?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGroupedColumnsPinning?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePageSizeSwitcher?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableRecordCount?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n HomePageGridClientApiRibbonButtonId?: ComponentFramework.PropertyTypes.StringProperty;\n InlineRibbonButtonIds?: ComponentFramework.PropertyTypes.StringProperty;\n DefaultExpandedGroupLevel?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<\"none\" | \"single\" | \"multiple\">;\n GroupingType?: ComponentFramework.PropertyTypes.EnumProperty<\"nested\" | \"flat\">;\n IsLocalHarnessDebugMode?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n ClientApiWebresourceName?: ComponentFramework.PropertyTypes.StringProperty;\n ClientApiFunctionName?: ComponentFramework.PropertyTypes.StringProperty;\n}\n\ninterface IVirtualDatasetAdapterOptions {\n /**\n * Runs a promise that is awaited when the dataset control is initialized, before loading the first data.\n */\n onInitialize?: (dataset: IDataset) => Promise<void>;\n /**\n * If provided, this function is called when the dataset is initialized and awaited before loading first data.\n */\n CustomDataProviderClass?: new (...args: any) => IDataProvider;\n}\n\n\n/**\n * Helper class that holds boilerplate code for handling a virtual dataset in PCF, like syncing data, columns, and metadata from parameters.\n *\n */\nexport class VirtualDatasetAdapter {\n private _context!: ComponentFramework.Context<IInputs, IOutputs>;\n private _dataset!: Dataset<IDataProvider>;\n private _container!: HTMLDivElement;\n private _options?: IVirtualDatasetAdapterOptions\n private _initialized: boolean = false;\n private _state: ComponentFramework.Dictionary = {};\n private _datasetControl!: IDatasetControl;\n\n constructor(options?: IVirtualDatasetAdapterOptions) {\n this._options = options;\n }\n\n public init(context: ComponentFramework.Context<IInputs, IOutputs>, container: HTMLDivElement, state: ComponentFramework.Dictionary) {\n this._container = container;\n this._context = context;\n this._state = state ?? {};\n if (!context.parameters.Data.raw) {\n this._createDummyDatasetControl();\n return this;\n }\n const dataProvider = this._getDataProviderInstance();\n this._dataset = new Dataset(dataProvider);\n //loads parameter columns\n this._dataset.setMetadata(this._getEntityMetadata());\n this._dataset.setDataSource(context.parameters.Data.raw);\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => this._getDatasetControlParameters()\n });\n this._datasetControl.setInterceptor('onInitialize', async (parameters, defaultAction) => {\n //preloads dataset\n await defaultAction(parameters);\n //sets columns after preload\n this._dataset.setColumns(this._getColumns());\n await this._options?.onInitialize?.(this.getDataset());\n });\n if (this._context.parameters.Height?.raw === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._initialized = true;\n }\n\n /**\n * @param {?() => void} [onRenderEmptyData] - Only called when the data parameter is set to `null`. This should usually not happen since it's a required parameter, but Power Apps can pass null in certain scenarios (for example on a form with new record).\n */\n public updateView(context: ComponentFramework.Context<IInputs, IOutputs>, onRenderComponent: (datasetControlProps: Omit<IDatasetControlProps, 'onGetControlComponent'>) => void, onRenderEmptyData?: () => void) {\n this._context = context;\n if (!context.parameters.Data.raw) {\n return onRenderEmptyData?.()\n }\n //if not yet initialized, initialize, can happen if we start without data\n if (!this._initialized) {\n this.init(context, this._container, this._state);\n }\n return onRenderComponent({\n onGetDatasetControlInstance: () => this._datasetControl\n });\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public getDatasetControl(): IDatasetControl {\n return this._datasetControl;\n }\n\n private _isEditingEnabled(): boolean {\n return this._context.parameters.EnableEditing?.raw === 'true';\n }\n\n private _isAutoSaveEnabled(): boolean {\n return this._context.parameters.EnableAutoSave?.raw === 'true';\n }\n\n private _isCommandBarEnabled(): boolean {\n return this._context.parameters.EnableCommandBar?.raw !== 'false'\n }\n\n private _createDummyDatasetControl() {\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => {\n return {\n ...this._getDatasetControlParameters(),\n Grid: new Dataset(new MemoryDataProvider([], { PrimaryIdAttribute: 'id' }))\n }\n }\n });\n }\n\n private _getDatasetControlParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this._isEditingEnabled()\n },\n EnableCommandBar: {\n raw: this._isCommandBarEnabled()\n },\n EnableAutoSave: {\n raw: this._isAutoSaveEnabled()\n },\n EnablePagination: {\n raw: this._context.parameters.EnablePagination?.raw !== 'false'\n },\n EnableFiltering: {\n raw: this._context.parameters.EnableFiltering?.raw !== 'false'\n },\n EnableSorting: {\n raw: this._context.parameters.EnableSorting?.raw !== 'false'\n },\n EnableNavigation: {\n raw: this._context.parameters.EnableNavigation?.raw !== 'false'\n },\n EnableOptionSetColors: {\n raw: this._context.parameters.EnableOptionSetColors?.raw === 'true'\n },\n SelectableRows: {\n raw: this._context.parameters.SelectableRows?.raw ?? 'single'\n },\n RowHeight: {\n raw: this._context.parameters.RowHeight?.raw ?? 42\n },\n //quick find is always handled by platform\n EnableQuickFind: {\n raw: this._context.parameters.EnableQuickFind?.raw === 'true'\n },\n EnableEditColumns: {\n raw: this._context.parameters.EnableEditColumns?.raw === 'true'\n },\n EnableAggregation: {\n raw: this._context.parameters.EnableAggregation?.raw === 'true',\n },\n EnableGrouping: {\n raw: this._context.parameters.EnableGrouping?.raw === 'true'\n },\n Height: {\n raw: this._context.parameters.Height?.raw ?? null\n },\n InlineRibbonButtonIds: {\n raw: this._context.parameters.InlineRibbonButtonIds?.raw ?? null\n },\n EnableZebra: {\n raw: this._context.parameters.EnableZebra?.raw !== 'false'\n },\n DefaultExpandedGroupLevel: {\n raw: this._context.parameters.DefaultExpandedGroupLevel?.raw ?? null\n },\n EnableRecordCount: {\n raw: this._context.parameters.EnableRecordCount?.raw !== 'false'\n },\n EnableGroupedColumnsPinning: {\n raw: this._context.parameters.EnableGroupedColumnsPinning?.raw !== 'false'\n },\n EnablePageSizeSwitcher: {\n raw: this._context.parameters.EnablePageSizeSwitcher?.raw !== 'false'\n },\n GroupingType: {\n raw: this._context.parameters.GroupingType?.raw ?? 'nested'\n },\n IsLocalHarnessDebugMode: this._context.parameters.IsLocalHarnessDebugMode,\n ClientApiWebresourceName: {\n raw: this._context.parameters.ClientApiWebresourceName?.raw ?? null\n },\n ClientApiFunctionName: {\n raw: this._context.parameters.ClientApiFunctionName?.raw ?? null\n }\n }\n }\n\n private _getDataProviderInstance(): IDataProvider {\n if (this._options?.CustomDataProviderClass) {\n return new this._options.CustomDataProviderClass(this._context.parameters.Data.raw);\n }\n switch (this._context.parameters.DataProvider.raw) {\n case \"FetchXml\": {\n return new FetchXmlDataProvider(this._context.parameters.Data.raw as string)\n }\n case 'Memory': {\n return new MemoryDataProvider(this._context.parameters.Data.raw!, this._getEntityMetadata())\n }\n }\n }\n\n private _getColumns() {\n try {\n const parameterColumns = this._context.parameters.Columns?.raw;\n const columns: IColumn[] = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? \"[]\");\n return this._getMergedColumns(columns);\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map<string, IColumn>(this._dataset.columns.map((col: IColumn) => [col.name, col]));\n const stateColumnsMap = new Map<string, IColumn>(this._state?.DatasetControlState?.columns?.map((col: IColumn) => [col.name, col]) ?? []);\n //if we have state, return it\n if (stateColumnsMap.size > 0) {\n return [...stateColumnsMap.values()];\n }\n //no state, save to load from parameters\n else {\n parameterColumns.forEach(parameterCol => {\n const col = columnsMap.get(parameterCol.name);\n if (col) {\n columnsMap.set(col.name, {\n ...col,\n ...parameterCol\n });\n } else {\n columnsMap.set(parameterCol.name, parameterCol);\n }\n });\n }\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n const parameterMetadata = this._context.parameters.EntityMetadata.raw;\n if (parameterMetadata) {\n return JSON.parse(parameterMetadata);\n }\n return {};\n }\n\n private _getFullTabStyles() {\n return mergeStyles({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n });\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"VirtualDatasetAdapter.js","sources":["../../../../src/utils/dataset/adapters/VirtualDatasetAdapter.ts"],"sourcesContent":["import { mergeStyles } from \"@fluentui/react\";\nimport { Dataset, FetchXmlDataProvider, IColumn, IDataProvider, IDataset, Interceptors, IRawRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { IDatasetControlParameters, IDatasetControlProps } from \"../../../components\";\nimport { DatasetControl, IDatasetControl } from \"../../dataset-control\";\n\ninterface IOutputs {\n DatasetControl?: any;\n}\n\ninterface IInputs {\n Data: ComponentFramework.PropertyTypes.StringProperty | {\n raw: IRawRecord[]\n }\n EntityMetadata: ComponentFramework.PropertyTypes.StringProperty;\n DataProvider: ComponentFramework.PropertyTypes.EnumProperty<\"Memory\" | \"FetchXml\">;\n EnableQuickFind?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n Columns?: ComponentFramework.PropertyTypes.StringProperty;\n Height?: ComponentFramework.PropertyTypes.StringProperty;\n RowHeight?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n EnableEditing?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePagination?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableFiltering?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableSorting?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableNavigation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableOptionSetColors?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAggregation?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGrouping?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableEditColumns?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableAutoSave?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableCommandBar?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableZebra?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableGroupedColumnsPinning?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnablePageSizeSwitcher?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n EnableRecordCount?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n HomePageGridClientApiRibbonButtonId?: ComponentFramework.PropertyTypes.StringProperty;\n InlineRibbonButtonIds?: ComponentFramework.PropertyTypes.StringProperty;\n DefaultExpandedGroupLevel?: ComponentFramework.PropertyTypes.WholeNumberProperty;\n SelectableRows?: ComponentFramework.PropertyTypes.EnumProperty<\"none\" | \"single\" | \"multiple\">;\n GroupingType?: ComponentFramework.PropertyTypes.EnumProperty<\"nested\" | \"flat\">;\n IsLocalHarnessDebugMode?: ComponentFramework.PropertyTypes.EnumProperty<\"true\" | \"false\">;\n ClientApiWebresourceName?: ComponentFramework.PropertyTypes.StringProperty;\n ClientApiFunctionName?: ComponentFramework.PropertyTypes.StringProperty;\n}\n\ninterface IVirtualDatasetAdapterOptions {\n /**\n * Runs a promise that is awaited when the dataset control is initialized, before loading the first data.\n */\n onInitialize?: (dataset: IDataset) => Promise<void>;\n /**\n * If provided, this function is called when the dataset is initialized and awaited before loading first data.\n */\n CustomDataProviderClass?: new (...args: any) => IDataProvider;\n}\n\n\n/**\n * Helper class that holds boilerplate code for handling a virtual dataset in PCF, like syncing data, columns, and metadata from parameters.\n *\n */\nexport class VirtualDatasetAdapter {\n private _context!: ComponentFramework.Context<IInputs, IOutputs>;\n private _dataset!: Dataset<IDataProvider>;\n private _container!: HTMLDivElement;\n private _options?: IVirtualDatasetAdapterOptions\n private _initialized: boolean = false;\n private _state: ComponentFramework.Dictionary = {};\n private _datasetControl!: IDatasetControl;\n\n constructor(options?: IVirtualDatasetAdapterOptions) {\n this._options = options;\n }\n\n public init(context: ComponentFramework.Context<IInputs, IOutputs>, container: HTMLDivElement, state: ComponentFramework.Dictionary) {\n this._container = container;\n this._context = context;\n this._state = state ?? {};\n if (!context.parameters.Data.raw) {\n this._createDummyDatasetControl();\n return this;\n }\n const dataProvider = this._getDataProviderInstance();\n this._dataset = new Dataset(dataProvider);\n //loads parameter columns\n this._dataset.setMetadata(this._getEntityMetadata());\n this._dataset.setDataSource(context.parameters.Data.raw);\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => this._getDatasetControlParameters()\n });\n this._datasetControl.setInterceptor('onInitialize', async (parameters, defaultAction) => {\n //preloads dataset\n await defaultAction(parameters);\n //sets columns after preload\n this._dataset.setColumns(this._getColumns());\n await this._options?.onInitialize?.(this.getDataset());\n });\n if (this._context.parameters.Height?.raw === '100%') {\n this._container.classList.add(this._getFullTabStyles());\n }\n this._initialized = true;\n }\n\n /**\n * @param {?() => void} [onRenderEmptyData] - Only called when the data parameter is set to `null`. This should usually not happen since it's a required parameter, but Power Apps can pass null in certain scenarios (for example on a form with new record).\n */\n public updateView(context: ComponentFramework.Context<IInputs, IOutputs>, onRenderComponent: (datasetControlProps: Omit<IDatasetControlProps, 'onGetControlComponent'>) => void, onRenderEmptyData?: () => void) {\n this._context = context;\n if (!context.parameters.Data.raw) {\n return onRenderEmptyData?.()\n }\n //if not yet initialized, initialize, can happen if we start without data\n if (!this._initialized) {\n this.init(context, this._container, this._state);\n }\n return onRenderComponent({\n onGetDatasetControlInstance: () => this._datasetControl\n });\n }\n\n public getDataset(): Dataset<IDataProvider> {\n return this._dataset;\n }\n\n public getDatasetControl(): IDatasetControl {\n return this._datasetControl;\n }\n\n private _isEditingEnabled(): boolean {\n return this._context.parameters.EnableEditing?.raw === 'true';\n }\n\n private _isAutoSaveEnabled(): boolean {\n return this._context.parameters.EnableAutoSave?.raw === 'true';\n }\n\n private _isCommandBarEnabled(): boolean {\n return this._context.parameters.EnableCommandBar?.raw !== 'false'\n }\n\n private _createDummyDatasetControl() {\n this._datasetControl = new DatasetControl({\n state: this._state,\n //@ts-ignore - typings\n controlId: this._context.utils._customControlProperties?.controlId,\n onGetPcfContext: () => this._context,\n onGetParameters: () => {\n return {\n ...this._getDatasetControlParameters(),\n Grid: new Dataset(new MemoryDataProvider({\n dataSource: [],\n metadata: {PrimaryIdAttribute: 'id'}\n }))\n }\n }\n });\n }\n\n private _getDatasetControlParameters(): IDatasetControlParameters {\n return {\n Grid: this.getDataset(),\n EnableEditing: {\n raw: this._isEditingEnabled()\n },\n EnableCommandBar: {\n raw: this._isCommandBarEnabled()\n },\n EnableAutoSave: {\n raw: this._isAutoSaveEnabled()\n },\n EnablePagination: {\n raw: this._context.parameters.EnablePagination?.raw !== 'false'\n },\n EnableFiltering: {\n raw: this._context.parameters.EnableFiltering?.raw !== 'false'\n },\n EnableSorting: {\n raw: this._context.parameters.EnableSorting?.raw !== 'false'\n },\n EnableNavigation: {\n raw: this._context.parameters.EnableNavigation?.raw !== 'false'\n },\n EnableOptionSetColors: {\n raw: this._context.parameters.EnableOptionSetColors?.raw === 'true'\n },\n SelectableRows: {\n raw: this._context.parameters.SelectableRows?.raw ?? 'single'\n },\n RowHeight: {\n raw: this._context.parameters.RowHeight?.raw ?? 42\n },\n //quick find is always handled by platform\n EnableQuickFind: {\n raw: this._context.parameters.EnableQuickFind?.raw === 'true'\n },\n EnableEditColumns: {\n raw: this._context.parameters.EnableEditColumns?.raw === 'true'\n },\n EnableAggregation: {\n raw: this._context.parameters.EnableAggregation?.raw === 'true',\n },\n EnableGrouping: {\n raw: this._context.parameters.EnableGrouping?.raw === 'true'\n },\n Height: {\n raw: this._context.parameters.Height?.raw ?? null\n },\n InlineRibbonButtonIds: {\n raw: this._context.parameters.InlineRibbonButtonIds?.raw ?? null\n },\n EnableZebra: {\n raw: this._context.parameters.EnableZebra?.raw !== 'false'\n },\n DefaultExpandedGroupLevel: {\n raw: this._context.parameters.DefaultExpandedGroupLevel?.raw ?? null\n },\n EnableRecordCount: {\n raw: this._context.parameters.EnableRecordCount?.raw !== 'false'\n },\n EnableGroupedColumnsPinning: {\n raw: this._context.parameters.EnableGroupedColumnsPinning?.raw !== 'false'\n },\n EnablePageSizeSwitcher: {\n raw: this._context.parameters.EnablePageSizeSwitcher?.raw !== 'false'\n },\n GroupingType: {\n raw: this._context.parameters.GroupingType?.raw ?? 'nested'\n },\n IsLocalHarnessDebugMode: this._context.parameters.IsLocalHarnessDebugMode,\n ClientApiWebresourceName: {\n raw: this._context.parameters.ClientApiWebresourceName?.raw ?? null\n },\n ClientApiFunctionName: {\n raw: this._context.parameters.ClientApiFunctionName?.raw ?? null\n }\n }\n }\n\n private _getDataProviderInstance(): IDataProvider {\n if (this._options?.CustomDataProviderClass) {\n return new this._options.CustomDataProviderClass(this._context.parameters.Data.raw);\n }\n switch (this._context.parameters.DataProvider.raw) {\n case \"FetchXml\": {\n return new FetchXmlDataProvider({\n fetchXml: this._context.parameters.Data.raw as string\n })\n }\n case 'Memory': {\n return new MemoryDataProvider({\n dataSource: this._context.parameters.Data.raw!,\n metadata: this._getEntityMetadata()\n\n });\n }\n }\n }\n\n private _getColumns() {\n try {\n const parameterColumns = this._context.parameters.Columns?.raw;\n const columns: IColumn[] = Array.isArray(parameterColumns) ? parameterColumns : JSON.parse(parameterColumns ?? \"[]\");\n return this._getMergedColumns(columns);\n }\n catch (err) {\n console.error(err);\n return this._dataset.columns;\n }\n }\n\n private _getMergedColumns(parameterColumns: IColumn[]): IColumn[] {\n const columnsMap = new Map<string, IColumn>(this._dataset.columns.map((col: IColumn) => [col.name, col]));\n const stateColumnsMap = new Map<string, IColumn>(this._state?.DatasetControlState?.columns?.map((col: IColumn) => [col.name, col]) ?? []);\n //if we have state, return it\n if (stateColumnsMap.size > 0) {\n return [...stateColumnsMap.values()];\n }\n //no state, save to load from parameters\n else {\n parameterColumns.forEach(parameterCol => {\n const col = columnsMap.get(parameterCol.name);\n if (col) {\n columnsMap.set(col.name, {\n ...col,\n ...parameterCol\n });\n } else {\n columnsMap.set(parameterCol.name, parameterCol);\n }\n });\n }\n return [...columnsMap.values()];\n }\n\n private _getEntityMetadata() {\n const parameterMetadata = this._context.parameters.EntityMetadata.raw;\n if (parameterMetadata) {\n return JSON.parse(parameterMetadata);\n }\n return {};\n }\n\n private _getFullTabStyles() {\n return mergeStyles({\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n });\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -82,7 +82,10 @@ class DatasetControl extends EventEmitter {
|
|
|
82
82
|
}
|
|
83
83
|
destroy() {
|
|
84
84
|
this.saveState();
|
|
85
|
-
this
|
|
85
|
+
//this might be needed when we share dataset between multiple dataset controls, we don't want one control to destroy the dataset when another control is still using it
|
|
86
|
+
if (this.getParameters().DestroyDatasetOnUnmount?.raw !== false) {
|
|
87
|
+
this.getDataset().destroy();
|
|
88
|
+
}
|
|
86
89
|
this.clearEventListeners();
|
|
87
90
|
this._interceptors.clearInterceptors();
|
|
88
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetControl.js","sources":["../../../src/utils/dataset-control/DatasetControl.ts"],"sourcesContent":["import { Client, DataProvider, EventEmitter, ICommand, IDataset, IEventEmitter, IInterceptor, IInternalDataProvider, Interceptors } from \"@talxis/client-libraries\";\nimport debounce from \"debounce\";\nimport { IDatasetControlParameters } from \"../../components/DatasetControl/interfaces\";\nimport { EditColumns, IEditColumns } from \"./EditColumns\";\n\n\ninterface IDatasetControlOptions {\n state: ComponentFramework.Dictionary;\n controlId: string;\n onGetPcfContext: () => ComponentFramework.Context<any, any>;\n onGetParameters: () => IDatasetControlParameters;\n}\n\nexport interface IDatasetControlEvents {\n onRecordCommandsLoaded: () => void;\n onRemountRequested: () => void;\n onEditColumnsRequested: () => void;\n onInitialized: () => void;\n}\n\ninterface IDatasetControlInterceptors {\n onInitialize: () => Promise<void>;\n}\n\nexport interface IDatasetControl extends IEventEmitter<IDatasetControlEvents> {\n editColumns: IEditColumns;\n setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void;\n isPaginationVisible(): boolean;\n isRecordCountVisible(): boolean;\n isPageSizeSwitcherVisible(): boolean;\n isQuickFindVisible(): boolean;\n isAutoSaveEnabled(): boolean;\n isRibbonVisible(): boolean;\n getHeight(): string | null;\n getDataset(): IDataset;\n getPcfContext(): ComponentFramework.Context<any>;\n getParameters(): IDatasetControlParameters;\n loadCommands(ids: string[]): Promise<void>;\n retrieveRecordCommands(): ICommand[];\n areCommandsLoaded(): boolean;\n isEditColumnsVisible(): boolean;\n isViewSwitcherVisible(): boolean;\n isEditFiltersVisible(): boolean;\n //this should be removed once we have a custom edit columns button in the ribbon\n requestEditColumns(): void;\n destroy(): void;\n requestRemount(): void;\n init(): Promise<void>;\n getState(): ComponentFramework.Dictionary;\n saveState(): void;\n}\n\nexport class DatasetControl extends EventEmitter<IDatasetControlEvents> implements IDatasetControl {\n private _hasFirstDataLoaded: boolean = false;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _client: Client = new Client();\n private _options: IDatasetControlOptions;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _interceptors = new Interceptors<IDatasetControlInterceptors>();\n\n constructor(options: IDatasetControlOptions) {\n super();\n this._options = options;\n this._setDatasetProperties();\n this._setState();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands(ids))\n this._addEventListeners();\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void {\n this._interceptors.setInterceptor(event, interceptor);\n }\n public isPaginationVisible(): boolean {\n return this.getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this.getParameters().EnableRecordCount?.raw ?? true;\n }\n public isPageSizeSwitcherVisible(): boolean {\n return this.getParameters().EnablePageSizeSwitcher?.raw ?? true;\n }\n public isQuickFindVisible(): boolean {\n return this.getParameters().EnableQuickFind?.raw ?? true;\n }\n public isAutoSaveEnabled(): boolean {\n return this.getParameters().EnableAutoSave?.raw ?? false;\n }\n public isRibbonVisible(): boolean {\n return this.getParameters().EnableCommandBar?.raw ?? true;\n }\n public requestEditColumns(): void {\n this.dispatchEvent('onEditColumnsRequested');\n }\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditColumnsVisible(): boolean {\n return this.getParameters().EnableEditColumns?.raw ?? false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public getHeight() {\n return this.getParameters().Height?.raw ?? null;\n }\n public getDataset() {\n return this.getParameters().Grid;\n }\n public getPcfContext() {\n return this._options.onGetPcfContext();\n }\n public async loadCommands(ids: string[]) {\n //we need to to have our ribbon shadow call the retrieveRecordCommand method in Power Apps in order to inject it into Power Apps ribbon.\n if (!this.isRibbonVisible() && this._client.isTalxisPortal()) {\n return;\n }\n this._commands = await this.getDataset().getDataProvider().retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\n this._commandsLoaded = true;\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands() {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return this._commandsLoaded;\n }\n public destroy() {\n this.saveState();\n this.getDataset().destroy();\n this.clearEventListeners();\n this._interceptors.clearInterceptors();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init() {\n await this._interceptors.execute('onInitialize', undefined, async () => {\n if (this.getDataset().getDataProvider().getProperty('isStandalone') || !this._client.isTalxisPortal()) {\n await (<IInternalDataProvider>this.getDataset().getDataProvider()).preload();\n }\n });\n await this._executeClientApiScript();\n //this makes sure the current columns go through any dataset interceptors\n this.getDataset().setColumns(this.getDataset().columns);\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this.dispatchEvent('onInitialized');\n }\n public getParameters() {\n return this._options.onGetParameters();\n }\n public getState() {\n return this._options.state;\n }\n public saveState() {\n if (!this._hasFirstDataLoaded) {\n return;\n }\n const provider = this.getDataset().getDataProvider();\n const state = this._options.state;\n const DatasetControlState = state.DatasetControlState || {};\n DatasetControlState.columns = provider.getColumns();\n DatasetControlState.linking = provider.getLinking();\n DatasetControlState.sorting = provider.getSorting();\n DatasetControlState.filtering = provider.getFiltering();\n DatasetControlState.pageSize = provider.getPaging().pageSize;\n DatasetControlState.pageNumber = provider.getPaging().pageNumber;\n DatasetControlState.searchQuery = provider.getSearchQuery();\n DatasetControlState.selectedRecordIds = provider.getSelectedRecordIds();\n state.DatasetControlState = DatasetControlState;\n this.getPcfContext().mode.setControlState(state);\n }\n private async _executeClientApiScript(): Promise<void> {\n const clientApiWebresourceName = this.getParameters().ClientApiWebresourceName?.raw;\n const clientApiFunctionName = this.getParameters().ClientApiFunctionName?.raw;\n if (clientApiFunctionName) {\n if (!clientApiFunctionName) {\n throw new Error('ClientApiFunctionName parameter is not set.');\n }\n try {\n //@ts-ignore - typings\n await Xrm.Utility.executeFunction(clientApiWebresourceName, clientApiFunctionName, [{\n dataset: this.getDataset(),\n controlId: this._options.controlId\n }]);\n }\n catch (err) {\n console.error('Client API web resource execution failed. Client API will not be enabled! Reason: ', err);\n }\n }\n }\n\n private _setDatasetProperties() {\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('autoSave', this.isAutoSaveEnabled());\n provider.setProperty('groupingType', this.getParameters().GroupingType?.raw ?? 'nested');\n const inlineRibbonButtonsIds = [\n ...(this.getParameters().InlineRibbonButtonIds?.raw?.split(',') ?? []),\n DataProvider.CONST.SAVE_COMMAND_ID,\n DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID\n ];\n provider.setProperty('inlineRibbonButtonsIds', new Set(inlineRibbonButtonsIds));\n }\n\n private _addEventListeners() {\n this.getDataset().addEventListener('onRecordsSelected', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onRecordColumnValueChanged', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onAfterRecordSaved', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onFirstDataLoaded', () => {\n this._hasFirstDataLoaded = true;\n })\n }\n\n private _setState() {\n const state = this._options.state?.DatasetControlState;\n if (!state) {\n return;\n }\n\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('hasPreviousState', true);\n provider.setLinking(state.linking);\n provider.setSorting(state.sorting);\n provider.setFiltering(state.filtering);\n provider.getPaging().setPageSize(state.pageSize);\n provider.getPaging().setPageNumber(state.pageNumber);\n provider.setSearchQuery(state.searchQuery);\n provider.setSelectedRecordIds(state.selectedRecordIds);\n }\n\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatasetControl.js","sources":["../../../src/utils/dataset-control/DatasetControl.ts"],"sourcesContent":["import { Client, DataProvider, EventEmitter, ICommand, IDataset, IEventEmitter, IInterceptor, IInternalDataProvider, Interceptors } from \"@talxis/client-libraries\";\nimport debounce from \"debounce\";\nimport { IDatasetControlParameters } from \"../../components/DatasetControl/interfaces\";\nimport { EditColumns, IEditColumns } from \"./EditColumns\";\n\n\ninterface IDatasetControlOptions {\n state: ComponentFramework.Dictionary;\n controlId: string;\n onGetPcfContext: () => ComponentFramework.Context<any, any>;\n onGetParameters: () => IDatasetControlParameters;\n}\n\nexport interface IDatasetControlEvents {\n onRecordCommandsLoaded: () => void;\n onRemountRequested: () => void;\n onEditColumnsRequested: () => void;\n onInitialized: () => void;\n}\n\ninterface IDatasetControlInterceptors {\n onInitialize: () => Promise<void>;\n}\n\nexport interface IDatasetControl extends IEventEmitter<IDatasetControlEvents> {\n editColumns: IEditColumns;\n setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void;\n isPaginationVisible(): boolean;\n isRecordCountVisible(): boolean;\n isPageSizeSwitcherVisible(): boolean;\n isQuickFindVisible(): boolean;\n isAutoSaveEnabled(): boolean;\n isRibbonVisible(): boolean;\n getHeight(): string | null;\n getDataset(): IDataset;\n getPcfContext(): ComponentFramework.Context<any>;\n getParameters(): IDatasetControlParameters;\n loadCommands(ids: string[]): Promise<void>;\n retrieveRecordCommands(): ICommand[];\n areCommandsLoaded(): boolean;\n isEditColumnsVisible(): boolean;\n isViewSwitcherVisible(): boolean;\n isEditFiltersVisible(): boolean;\n //this should be removed once we have a custom edit columns button in the ribbon\n requestEditColumns(): void;\n destroy(): void;\n requestRemount(): void;\n init(): Promise<void>;\n getState(): ComponentFramework.Dictionary;\n saveState(): void;\n}\n\nexport class DatasetControl extends EventEmitter<IDatasetControlEvents> implements IDatasetControl {\n private _hasFirstDataLoaded: boolean = false;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _client: Client = new Client();\n private _options: IDatasetControlOptions;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _interceptors = new Interceptors<IDatasetControlInterceptors>();\n\n constructor(options: IDatasetControlOptions) {\n super();\n this._options = options;\n this._setDatasetProperties();\n this._setState();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands(ids))\n this._addEventListeners();\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n }\n\n public get editColumns(): IEditColumns {\n return new EditColumns({ datasetControl: this });\n }\n\n public setInterceptor<K extends keyof IDatasetControlInterceptors>(event: K, interceptor: IInterceptor<IDatasetControlInterceptors, K>): void {\n this._interceptors.setInterceptor(event, interceptor);\n }\n public isPaginationVisible(): boolean {\n return this.getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this.getParameters().EnableRecordCount?.raw ?? true;\n }\n public isPageSizeSwitcherVisible(): boolean {\n return this.getParameters().EnablePageSizeSwitcher?.raw ?? true;\n }\n public isQuickFindVisible(): boolean {\n return this.getParameters().EnableQuickFind?.raw ?? true;\n }\n public isAutoSaveEnabled(): boolean {\n return this.getParameters().EnableAutoSave?.raw ?? false;\n }\n public isRibbonVisible(): boolean {\n return this.getParameters().EnableCommandBar?.raw ?? true;\n }\n public requestEditColumns(): void {\n this.dispatchEvent('onEditColumnsRequested');\n }\n public isViewSwitcherVisible(): boolean {\n return false;\n }\n public isEditColumnsVisible(): boolean {\n return this.getParameters().EnableEditColumns?.raw ?? false;\n }\n public isEditFiltersVisible(): boolean {\n return false;\n }\n public getHeight() {\n return this.getParameters().Height?.raw ?? null;\n }\n public getDataset() {\n return this.getParameters().Grid;\n }\n public getPcfContext() {\n return this._options.onGetPcfContext();\n }\n public async loadCommands(ids: string[]) {\n //we need to to have our ribbon shadow call the retrieveRecordCommand method in Power Apps in order to inject it into Power Apps ribbon.\n if (!this.isRibbonVisible() && this._client.isTalxisPortal()) {\n return;\n }\n this._commands = await this.getDataset().getDataProvider().retrieveRecordCommand({\n recordIds: ids,\n refreshAllRules: true\n });\n this._commandsLoaded = true;\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands() {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return this._commandsLoaded;\n }\n public destroy() {\n this.saveState();\n //this might be needed when we share dataset between multiple dataset controls, we don't want one control to destroy the dataset when another control is still using it\n if (this.getParameters().DestroyDatasetOnUnmount?.raw !== false) {\n this.getDataset().destroy();\n }\n this.clearEventListeners();\n this._interceptors.clearInterceptors();\n }\n public requestRemount(): void {\n this.dispatchEvent('onRemountRequested');\n }\n public async init() {\n await this._interceptors.execute('onInitialize', undefined, async () => {\n if (this.getDataset().getDataProvider().getProperty('isStandalone') || !this._client.isTalxisPortal()) {\n await (<IInternalDataProvider>this.getDataset().getDataProvider()).preload();\n }\n });\n await this._executeClientApiScript();\n //this makes sure the current columns go through any dataset interceptors\n this.getDataset().setColumns(this.getDataset().columns);\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this.dispatchEvent('onInitialized');\n }\n public getParameters() {\n return this._options.onGetParameters();\n }\n public getState() {\n return this._options.state;\n }\n public saveState() {\n if (!this._hasFirstDataLoaded) {\n return;\n }\n const provider = this.getDataset().getDataProvider();\n const state = this._options.state;\n const DatasetControlState = state.DatasetControlState || {};\n DatasetControlState.columns = provider.getColumns();\n DatasetControlState.linking = provider.getLinking();\n DatasetControlState.sorting = provider.getSorting();\n DatasetControlState.filtering = provider.getFiltering();\n DatasetControlState.pageSize = provider.getPaging().pageSize;\n DatasetControlState.pageNumber = provider.getPaging().pageNumber;\n DatasetControlState.searchQuery = provider.getSearchQuery();\n DatasetControlState.selectedRecordIds = provider.getSelectedRecordIds();\n state.DatasetControlState = DatasetControlState;\n this.getPcfContext().mode.setControlState(state);\n }\n private async _executeClientApiScript(): Promise<void> {\n const clientApiWebresourceName = this.getParameters().ClientApiWebresourceName?.raw;\n const clientApiFunctionName = this.getParameters().ClientApiFunctionName?.raw;\n if (clientApiFunctionName) {\n if (!clientApiFunctionName) {\n throw new Error('ClientApiFunctionName parameter is not set.');\n }\n try {\n //@ts-ignore - typings\n await Xrm.Utility.executeFunction(clientApiWebresourceName, clientApiFunctionName, [{\n dataset: this.getDataset(),\n controlId: this._options.controlId\n }]);\n }\n catch (err) {\n console.error('Client API web resource execution failed. Client API will not be enabled! Reason: ', err);\n }\n }\n }\n\n private _setDatasetProperties() {\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('autoSave', this.isAutoSaveEnabled());\n provider.setProperty('groupingType', this.getParameters().GroupingType?.raw ?? 'nested');\n const inlineRibbonButtonsIds = [\n ...(this.getParameters().InlineRibbonButtonIds?.raw?.split(',') ?? []),\n DataProvider.CONST.SAVE_COMMAND_ID,\n DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID\n ];\n provider.setProperty('inlineRibbonButtonsIds', new Set(inlineRibbonButtonsIds));\n }\n\n private _addEventListeners() {\n this.getDataset().addEventListener('onRecordsSelected', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onRecordColumnValueChanged', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onAfterRecordSaved', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onFirstDataLoaded', () => {\n this._hasFirstDataLoaded = true;\n })\n }\n\n private _setState() {\n const state = this._options.state?.DatasetControlState;\n if (!state) {\n return;\n }\n\n const provider = this.getDataset().getDataProvider();\n provider.setProperty('hasPreviousState', true);\n provider.setLinking(state.linking);\n provider.setSorting(state.sorting);\n provider.setFiltering(state.filtering);\n provider.getPaging().setPageSize(state.pageSize);\n provider.getPaging().setPageNumber(state.pageNumber);\n provider.setSearchQuery(state.searchQuery);\n provider.setSelectedRecordIds(state.selectedRecordIds);\n }\n\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
class ErrorHelper {
|
|
2
|
+
static async executeWithErrorHandling(options) {
|
|
3
|
+
const { operation, onError } = options;
|
|
4
|
+
try {
|
|
5
|
+
return await operation();
|
|
6
|
+
}
|
|
7
|
+
catch (error) {
|
|
8
|
+
try {
|
|
9
|
+
onError?.(error, ErrorHelper.getMessageFromError(error));
|
|
10
|
+
}
|
|
11
|
+
catch { }
|
|
12
|
+
throw error;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
static getMessageFromError(error) {
|
|
16
|
+
if (error instanceof Error && error.message) {
|
|
17
|
+
return error.message;
|
|
18
|
+
}
|
|
19
|
+
else if (typeof error === 'string') {
|
|
20
|
+
return error;
|
|
21
|
+
}
|
|
22
|
+
else if (typeof error === 'object' && error !== null) {
|
|
23
|
+
if ('message' in error && typeof error.message === 'string') {
|
|
24
|
+
return error.message;
|
|
25
|
+
}
|
|
26
|
+
else if ('toString' in error && typeof error.toString === 'function') {
|
|
27
|
+
return error.toString();
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
return JSON.stringify(error);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
return String(error);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export { ErrorHelper };
|
|
40
|
+
//# sourceMappingURL=ErrorHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ErrorHelper.js","sources":["../../../src/utils/error-handling/ErrorHelper.ts"],"sourcesContent":["\nexport class ErrorHelper {\n public static async executeWithErrorHandling<T>(options: { operation: () => Promise<T>; onError?: (error: any, message: string) => void }): Promise<T> {\n const { operation, onError } = options;\n try {\n return await operation();\n }\n catch (error) {\n try {\n onError?.(error, ErrorHelper.getMessageFromError(error));\n } catch { }\n throw error;\n }\n }\n \n\n public static getMessageFromError(error: any): string {\n if (error instanceof Error && error.message) {\n return error.message;\n }\n else if (typeof error === 'string') {\n return error;\n }\n else if (typeof error === 'object' && error !== null) {\n if ('message' in error && typeof error.message === 'string') {\n return error.message;\n }\n else if ('toString' in error && typeof error.toString === 'function') {\n return error.toString();\n }\n else {\n return JSON.stringify(error);\n }\n }\n else {\n return String(error);\n }\n }\n}"],"names":[],"mappings":"MACa,WAAW,CAAA;AACb,IAAA,aAAa,wBAAwB,CAAI,OAAyF,EAAA;AACrI,QAAA,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QACvC,IAAI;YACA,OAAO,MAAM,SAAS,EAAE,CAAC;AAC5B,SAAA;AACD,QAAA,OAAO,KAAK,EAAE;YACV,IAAI;gBACA,OAAO,GAAG,KAAK,EAAE,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;AAC5D,aAAA;AAAC,YAAA,MAAM,GAAG;AACX,YAAA,MAAM,KAAK,CAAC;AACf,SAAA;KACJ;IAGM,OAAO,mBAAmB,CAAC,KAAU,EAAA;AACxC,QAAA,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,EAAE;YACzC,OAAO,KAAK,CAAC,OAAO,CAAC;AACxB,SAAA;AACI,aAAA,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;AAChC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;aACI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE;YAClD,IAAI,SAAS,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,OAAO,KAAK,QAAQ,EAAE;gBACzD,OAAO,KAAK,CAAC,OAAO,CAAC;AACxB,aAAA;iBACI,IAAI,UAAU,IAAI,KAAK,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,UAAU,EAAE;AAClE,gBAAA,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;AAC3B,aAAA;AACI,iBAAA;AACD,gBAAA,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAChC,aAAA;AACJ,SAAA;AACI,aAAA;AACD,YAAA,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;AACxB,SAAA;KACJ;AACJ;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './ErrorHelper';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/utils/index.d.ts
CHANGED
package/dist/utils/index.js
CHANGED
|
@@ -5,4 +5,5 @@ export { useControlThemeGenerator } from './theme/hooks/useControlThemeGenerator
|
|
|
5
5
|
export { ThemeWrapper } from './theme/components/ThemeWrapper.js';
|
|
6
6
|
export { DatasetAdapter } from './dataset/adapters/DatasetAdapter.js';
|
|
7
7
|
export { VirtualDatasetAdapter } from './dataset/adapters/VirtualDatasetAdapter.js';
|
|
8
|
+
export { ErrorHelper } from './error-handling/ErrorHelper.js';
|
|
8
9
|
//# sourceMappingURL=index.js.map
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@talxis/base-controls",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2604.1",
|
|
4
4
|
"description": "Set of React components that natively work with Power Apps Component Framework APIs.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -38,6 +38,7 @@
|
|
|
38
38
|
"babel-loader": "^8.2.3",
|
|
39
39
|
"esbuild": "^0.13.9",
|
|
40
40
|
"glob": "^11.0.0",
|
|
41
|
+
"@types/react-window": "1.8.8",
|
|
41
42
|
"postcss": "^8.3.11",
|
|
42
43
|
"rollup": "^2.58.1",
|
|
43
44
|
"rollup-plugin-delete": "^2.0.0",
|
|
@@ -83,7 +84,8 @@
|
|
|
83
84
|
"@dnd-kit/sortable": "^10.0.0",
|
|
84
85
|
"@dnd-kit/utilities": "^3.2.2",
|
|
85
86
|
"@fluentui/react-migration-v8-v9": "^9.6.20",
|
|
86
|
-
"@talxis/client-libraries": "1.
|
|
87
|
+
"@talxis/client-libraries": "1.2604.1",
|
|
88
|
+
"@talxis/client-metadata": "^0.0.3",
|
|
87
89
|
"color": "^4.2.3",
|
|
88
90
|
"dayjs": "^1.11.10",
|
|
89
91
|
"debounce": "^2.2.0",
|
|
@@ -95,6 +97,7 @@
|
|
|
95
97
|
"merge-anything": "^5.1.7",
|
|
96
98
|
"numeral": "^2.0.6",
|
|
97
99
|
"react-select": "^5.10.2",
|
|
100
|
+
"react-window": "1.8.10",
|
|
98
101
|
"use-debounce": "^10.0.1",
|
|
99
102
|
"validator": "^13.11.9"
|
|
100
103
|
},
|