@talxis/base-controls 1.2605.1 → 1.2606.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DatasetControl/EditColumns/OptionText/OptionText.js +1 -2
- package/dist/components/DatasetControl/EditColumns/OptionText/OptionText.js.map +1 -1
- package/dist/components/Grid/cells/cell/Cell.js +2 -6
- package/dist/components/Grid/cells/cell/Cell.js.map +1 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +1 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -1
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +1 -1
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
- package/dist/components/Lookup/Lookup.js +4 -1
- package/dist/components/Lookup/Lookup.js.map +1 -1
- package/dist/components/Lookup/components/TargetSelector.js +1 -1
- package/dist/components/Lookup/components/TargetSelector.js.map +1 -1
- package/dist/components/Lookup/hooks/useLookup.d.ts +8 -0
- package/dist/components/Lookup/translations.d.ts +8 -0
- package/dist/components/Lookup/translations.js +8 -0
- package/dist/components/Lookup/translations.js.map +1 -1
- package/dist/components/TaskGrid/TaskGrid.js +5 -6
- package/dist/components/TaskGrid/TaskGrid.js.map +1 -1
- package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +18 -5
- package/dist/components/TaskGrid/TaskGridDatasetControl.js +63 -30
- package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -1
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.d.ts +3 -2
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +10 -5
- package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js +3 -8
- package/dist/components/TaskGrid/components/grid/cell-renderers/add-task-button/AddTaskButton.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.d.ts +7 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js +102 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +4 -5
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/index.js +1 -1
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +0 -6
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +0 -6
- package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.d.ts +2 -7
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +47 -16
- package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/grid-drag-handler/GridDragHandler.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/group-cell/styles.js +3 -0
- package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.d.ts +13 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js +84 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.d.ts +5 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js +12 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/ColorfulLookupMany.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js +13 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js +17 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/multi-value-container/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js +17 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/Option.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/index.js +2 -0
- package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → components/grid/lookup-many/colorful-lookup-many/components/option}/index.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.d.ts +14 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js +21 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/option/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.d.ts +4 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js +9 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/context.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/index.js +2 -0
- package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → components/grid/lookup-many/colorful-lookup-many}/index.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/lookup-many/components/components.d.ts +11 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js +17 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js +10 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.d.ts +7 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js +16 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.d.ts +18 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js +24 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js +21 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.d.ts +15 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js +22 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-label/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js +18 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/MultiValueRemove.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.d.ts +22 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js +28 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-remove/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/context.d.ts +4 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/context.js +9 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/context.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/index.d.ts +4 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/index.js +5 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.d.ts +5 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js +12 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.d.ts +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js +15 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js +12 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.d.ts +9 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js +18 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js +17 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.d.ts +5 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js +6 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js +16 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/Option.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.d.ts +10 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js +11 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/option/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.d.ts +4 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js +9 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/context.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js +2 -0
- package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/index.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.d.ts +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js +27 -14
- package/dist/components/TaskGrid/components/grid/multi-record-selector/MultiRecordSelector.js.map +1 -1
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js +13 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/MultiValueContainer.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.d.ts +18 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js +24 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-container/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js +20 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.d.ts +12 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js +19 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js +16 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/MultiValueRemove.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.d.ts +22 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js +28 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-remove/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/Option.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/components/option/styles.d.ts +16 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.d.ts +3 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js +15 -0
- package/dist/components/TaskGrid/components/grid/multi-record-selector/styles.js.map +1 -0
- package/dist/components/TaskGrid/components/header/Header.d.ts +1 -1
- package/dist/components/TaskGrid/components/header/Header.js +62 -47
- package/dist/components/TaskGrid/components/header/Header.js.map +1 -1
- package/dist/components/TaskGrid/components/header/edit-columns/EditColumns.js.map +1 -1
- package/dist/components/TaskGrid/components/header/view-switcher/create-view-dialog/CreateViewDialog.js.map +1 -1
- package/dist/components/TaskGrid/components/header/view-switcher/view-manager/ViewManager.js.map +1 -1
- package/dist/components/TaskGrid/context.d.ts +5 -4
- package/dist/components/TaskGrid/context.js.map +1 -1
- package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.d.ts +75 -0
- package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js → extensions/dataverse/DataverseCustomColumnsStrategy.js} +56 -21
- package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.d.ts +20 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js +41 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.d.ts +49 -0
- package/dist/components/TaskGrid/{data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js → extensions/dataverse/DataverseSavedQueryStrategy.js} +41 -19
- package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.d.ts +102 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js +184 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.d.ts +124 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js +498 -0
- package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/index.d.ts +5 -0
- package/dist/components/TaskGrid/extensions/dataverse/index.js +6 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.d.ts +65 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js +208 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.d.ts +11 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js +16 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlDataProviderFactory.js.map +1 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.d.ts +2 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js +35 -0
- package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js.map +1 -0
- package/dist/components/TaskGrid/interfaces.d.ts +58 -26
- package/dist/components/TaskGrid/labels.d.ts +1 -15
- package/dist/components/TaskGrid/labels.js +2 -16
- package/dist/components/TaskGrid/labels.js.map +1 -1
- package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.d.ts +11 -1
- package/dist/components/TaskGrid/{data-providers/custom-columns-data-provider → providers/custom-columns}/CustomColumnsDataProvider.js +3 -0
- package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/providers/custom-columns/index.d.ts +1 -0
- package/dist/components/TaskGrid/providers/custom-columns/index.js +2 -0
- package/dist/components/TaskGrid/providers/custom-columns/index.js.map +1 -0
- package/dist/components/TaskGrid/providers/index.d.ts +3 -0
- package/dist/components/TaskGrid/providers/index.js +4 -0
- package/dist/components/TaskGrid/providers/index.js.map +1 -0
- package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.d.ts +14 -9
- package/dist/components/TaskGrid/{data-providers/saved-query-data-provider → providers/saved-query}/SavedQueryDataProvider.js +89 -69
- package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/providers/saved-query/index.d.ts +1 -0
- package/dist/components/TaskGrid/providers/saved-query/index.js +2 -0
- package/dist/components/TaskGrid/providers/saved-query/index.js.map +1 -0
- package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.d.ts +25 -39
- package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/TaskDataProvider.js +51 -34
- package/dist/components/TaskGrid/providers/task/TaskDataProvider.js.map +1 -0
- package/dist/components/TaskGrid/providers/task/index.js.map +1 -0
- package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.d.ts +8 -0
- package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/RecordTree.js +2 -0
- package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.js.map +1 -0
- package/dist/components/TaskGrid/providers/task/record-tree/index.js.map +1 -0
- package/dist/components/TaskGrid/providers/task/record-tree/patchDataBuilderPrepare.js.map +1 -0
- package/dist/index.d.ts +234 -196
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +1 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/localization/LocalizationService.d.ts +15 -0
- package/dist/utils/localization/LocalizationService.js +17 -0
- package/dist/utils/localization/LocalizationService.js.map +1 -0
- package/dist/utils/localization/index.d.ts +1 -0
- package/dist/utils/localization/index.js +2 -0
- package/dist/utils/localization/index.js.map +1 -0
- package/package.json +5 -4
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/CustomColumnsDataProvider.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.d.ts +0 -33
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/TalxisCustomColumnsDataProviderStrategy.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.d.ts +0 -2
- package/dist/components/TaskGrid/data-providers/custom-columns-data-provider/index.js +0 -3
- package/dist/components/TaskGrid/data-providers/index.d.ts +0 -3
- package/dist/components/TaskGrid/data-providers/index.js +0 -6
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/SavedQueryDataProvider.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.d.ts +0 -21
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/TalxisSavedQueryDataProvider.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.d.ts +0 -2
- package/dist/components/TaskGrid/data-providers/saved-query-data-provider/index.js +0 -3
- package/dist/components/TaskGrid/data-providers/task-data-provider/TaskDataProvider.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/RecordTree.js.map +0 -1
- package/dist/components/TaskGrid/data-providers/task-data-provider/record-tree/patchDataBuilderPrepare.js.map +0 -1
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → components/grid/cell-renderers/lookup-many}/index.js.map +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider/record-tree → components/grid/lookup-many/colorful-lookup-many/components/multi-value-container}/index.js.map +0 -0
- /package/dist/components/TaskGrid/{data-providers → extensions/dataverse}/index.js.map +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.d.ts +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/index.js +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.d.ts +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/index.js +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.d.ts +0 -0
- /package/dist/components/TaskGrid/{data-providers/task-data-provider → providers/task}/record-tree/patchDataBuilderPrepare.js +0 -0
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
/// <reference types="@types/powerapps-component-framework" />
|
|
2
2
|
import { EventEmitter, GetDataEvent, IAvailableColumnOptions, IAvailableRelatedColumn, IColumn, ICommand, IDataProvider, IDataProviderEventListeners, IEventBubbleOptions, IEventEmitter, IRawRecord, IRecord, IRecordSaveOperationResult, IRetrievedData, IRetrieveRecordCommandOptions, MemoryDataProvider } from "@talxis/client-libraries";
|
|
3
3
|
import { IRecordTree } from "./record-tree/RecordTree";
|
|
4
|
-
import { ILocalizationService
|
|
4
|
+
import { ILocalizationService } from "../../../../utils";
|
|
5
|
+
import { ITaskGridLabels } from "../../labels";
|
|
5
6
|
import { INativeColumns } from "../../interfaces";
|
|
7
|
+
import { ISavedQueryDataProvider } from "../saved-query";
|
|
8
|
+
import { ICustomColumnsDataProvider } from "../custom-columns";
|
|
6
9
|
export interface IFailedRecord {
|
|
7
10
|
id: string;
|
|
8
11
|
error: any;
|
|
@@ -15,7 +18,7 @@ export type IDeleteTasksResult = {
|
|
|
15
18
|
deletedTaskIds: string[];
|
|
16
19
|
errors: IFailedRecord[];
|
|
17
20
|
};
|
|
18
|
-
export type
|
|
21
|
+
export type IOpenDatasetItemsResult = {
|
|
19
22
|
success: true;
|
|
20
23
|
updatedRecords: IRawRecord[];
|
|
21
24
|
} | {
|
|
@@ -27,13 +30,14 @@ export interface ITaskDataProviderParameters {
|
|
|
27
30
|
nativeColumns: INativeColumns;
|
|
28
31
|
localizationService: ILocalizationService<ITaskGridLabels>;
|
|
29
32
|
strategy: ITaskDataProviderStrategy;
|
|
33
|
+
savedQueryDataProvider: ISavedQueryDataProvider;
|
|
34
|
+
customColumnsDataProvider?: ICustomColumnsDataProvider;
|
|
30
35
|
onIsFlatListEnabled: () => boolean;
|
|
31
36
|
}
|
|
32
37
|
/** Strategy interface that handles all data access and mutation operations for tasks. */
|
|
33
38
|
export interface ITaskDataProviderStrategy {
|
|
34
39
|
/**
|
|
35
|
-
* Called
|
|
36
|
-
* An empty `ids` array instructs the strategy to fetch all records.
|
|
40
|
+
* Called when the provider needs to retrieve latest data for specific tasks to synchronize the grid with the server.
|
|
37
41
|
*/
|
|
38
42
|
onGetRawRecords: (ids: string[]) => Promise<IRawRecord[]>;
|
|
39
43
|
/** Called once on first load. Must return the initial columns, raw task records, and entity metadata. */
|
|
@@ -46,8 +50,6 @@ export interface ITaskDataProviderStrategy {
|
|
|
46
50
|
onGetAvailableColumns: (options?: IAvailableColumnOptions) => Promise<IColumn[]>;
|
|
47
51
|
/** Returns linked-entity columns that can be used for filtering and sorting. */
|
|
48
52
|
onGetAvailableRelatedColumns: () => Promise<IAvailableRelatedColumn[]>;
|
|
49
|
-
/** Returns the attribute names that are searched when the user types in the quick-find input. */
|
|
50
|
-
onGetQuickFindColumns: () => string[];
|
|
51
53
|
/** @returns The created task raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
52
54
|
onCreateTask(parentTaskId?: string): Promise<IRawRecord | null>;
|
|
53
55
|
/**
|
|
@@ -61,27 +63,16 @@ export interface ITaskDataProviderStrategy {
|
|
|
61
63
|
/** @returns The created task raw records, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
62
64
|
onCreateTasksFromTemplate(templateId: string, parentTaskId?: string): Promise<IRawRecord[] | null>;
|
|
63
65
|
/**
|
|
64
|
-
*
|
|
65
|
-
*
|
|
66
|
-
* Throws on unexpected failure.
|
|
66
|
+
* Opens one or more dataset items. When `isTaskEntity` is `true` the references point to task records;
|
|
67
|
+
* when `false` they point to a related entity (e.g. a lookup target).
|
|
67
68
|
*/
|
|
68
|
-
|
|
69
|
+
onOpenDatasetItems(entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean): Promise<IOpenDatasetItemsResult | null>;
|
|
69
70
|
/** Moves a task to a new position relative to another task. Returns the updated raw records, or `null` on cancellation. */
|
|
70
71
|
onMoveTask(movingTaskId: string, movingToTaskId: string, position: 'above' | 'below' | 'child'): Promise<IRawRecord[] | null>;
|
|
71
72
|
/** Persists inline cell edits for the given record. */
|
|
72
73
|
onRecordSave(record: IRecord): Promise<IRecordSaveOperationResult>;
|
|
73
74
|
/** Returns whether the given task record is currently active (non-completed). */
|
|
74
75
|
onIsRecordActive(recordId: string): boolean;
|
|
75
|
-
/** Opens the record detail view. Called when a user clicks a non-subject cell. */
|
|
76
|
-
onOpenDatasetItem(entityReference: ComponentFramework.EntityReference, context?: {
|
|
77
|
-
columnName?: string;
|
|
78
|
-
}): void;
|
|
79
|
-
/** Return `false` to disable task creation (hide the *New* button). Defaults to `true`. */
|
|
80
|
-
onIsTaskAddingEnabled?(): boolean;
|
|
81
|
-
/** Return `false` to disable inline cell editing. Defaults to `true`. */
|
|
82
|
-
onIsTaskEditingEnabled?(): boolean;
|
|
83
|
-
/** Return `false` to disable task deletion (hide the *Delete* button). Defaults to `true`. */
|
|
84
|
-
onIsTaskDeletingEnabled?(): boolean;
|
|
85
76
|
/** When provided, the task tree is scoped to the subtree of the returned task id. */
|
|
86
77
|
onGetRootTaskId?: () => string | undefined;
|
|
87
78
|
}
|
|
@@ -94,10 +85,10 @@ export interface ITaskDataProviderEventListener {
|
|
|
94
85
|
onAfterTasksCreated: (records: IRawRecord[] | null, parentId?: string) => void;
|
|
95
86
|
onBeforeTaskMoved: () => void;
|
|
96
87
|
onAfterTaskMoved: (movingFromTaskId: string, movingToTaskId: string, position: 'above' | 'below' | 'child') => void;
|
|
97
|
-
onBeforeTasksEdited: (taskIds: string[]) => void;
|
|
98
88
|
onTaskDataUpdated: (data: IRawRecord[]) => void;
|
|
99
|
-
onAfterTasksEdited: (result: IEditTasksResult | null) => void;
|
|
100
89
|
onRecordTreeUpdated: (updatedParentIds: (string | undefined)[]) => void;
|
|
90
|
+
onBeforeDatasetItemsOpened: (entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean) => void;
|
|
91
|
+
onAfterDatasetItemsOpened: (entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean, result: IOpenDatasetItemsResult | null) => void;
|
|
101
92
|
onError: (error: any, message: string) => void;
|
|
102
93
|
}
|
|
103
94
|
/** Extended data provider interface for task records. Adds task-specific operations on top of `IDataProvider`. */
|
|
@@ -117,11 +108,10 @@ export interface ITaskDataProvider extends IDataProvider {
|
|
|
117
108
|
/** Applies updated raw record data in-place and rebuilds the tree if hierarchy changed. */
|
|
118
109
|
updateTaskData(newData: IRawRecord[]): void;
|
|
119
110
|
/**
|
|
120
|
-
*
|
|
121
|
-
*
|
|
122
|
-
* Throws on unexpected failure.
|
|
111
|
+
* Opens one or more task records by id. Builds entity references from the current records map
|
|
112
|
+
* and delegates to `strategy.onOpenDatasetItems` with `isTaskEntity: true`.
|
|
123
113
|
*/
|
|
124
|
-
|
|
114
|
+
openTaskItems(taskIds: string[]): Promise<IOpenDatasetItemsResult | null>;
|
|
125
115
|
/** @returns The created task raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */
|
|
126
116
|
createTask(parentTaskId?: string): Promise<IRawRecord | null>;
|
|
127
117
|
/**
|
|
@@ -137,11 +127,6 @@ export interface ITaskDataProvider extends IDataProvider {
|
|
|
137
127
|
/** Returns `true` when the grid is displaying a flat list instead of a tree hierarchy. */
|
|
138
128
|
isFlatListEnabled(): boolean;
|
|
139
129
|
/** Returns `true` when task creation is allowed (from `ITaskDataProviderStrategy.onIsTaskAddingEnabled`). */
|
|
140
|
-
isTaskAddingEnabled(): boolean;
|
|
141
|
-
/** Returns `true` when inline cell editing is allowed (from `ITaskDataProviderStrategy.onIsTaskEditingEnabled`). */
|
|
142
|
-
isTaskEditingEnabled(): boolean;
|
|
143
|
-
/** Returns `true` when task deletion is allowed (from `ITaskDataProviderStrategy.onIsTaskDeletingEnabled`). */
|
|
144
|
-
isTaskDeletingEnabled(): boolean;
|
|
145
130
|
/** Returns the root task id when the tree is scoped to a subtree, or `null` for a full tree. */
|
|
146
131
|
getRootTaskId: () => string | null;
|
|
147
132
|
/** Moves a task to a position relative to another task. Returns the updated raw records, or `null` on cancellation. */
|
|
@@ -153,19 +138,21 @@ export declare class TaskDataProvider extends MemoryDataProvider implements ITas
|
|
|
153
138
|
private _hasDataBeenLoaded;
|
|
154
139
|
private _taskTree;
|
|
155
140
|
private _strategy;
|
|
141
|
+
private _savedQueryDataProvider;
|
|
142
|
+
private _customColumnsDataProvider?;
|
|
156
143
|
private _onFlatListEnabled;
|
|
157
144
|
readonly taskEvents: EventEmitter<ITaskDataProviderEventListener>;
|
|
158
145
|
constructor(parameters: ITaskDataProviderParameters);
|
|
159
146
|
getStrategy<T extends ITaskDataProviderStrategy>(): T;
|
|
160
147
|
getRootTaskId(): string | null;
|
|
161
|
-
isTaskAddingEnabled(): boolean;
|
|
162
|
-
isTaskEditingEnabled(): boolean;
|
|
163
|
-
isTaskDeletingEnabled(): boolean;
|
|
164
148
|
getRecordTree(): IRecordTree;
|
|
165
149
|
isFlatListEnabled(): boolean;
|
|
166
150
|
getNativeColumns(): INativeColumns;
|
|
167
151
|
fetchRawRecords(ids: string[]): Promise<IRawRecord[]>;
|
|
168
|
-
onGetAvailableColumns(
|
|
152
|
+
onGetAvailableColumns(options?: {
|
|
153
|
+
entityName?: string;
|
|
154
|
+
}): Promise<IColumn[]>;
|
|
155
|
+
private _getColumnsWithUnusedVirtualColumns;
|
|
169
156
|
onGetAvailableRelatedColumns(): Promise<IAvailableRelatedColumn[]>;
|
|
170
157
|
retrieveRecordCommand(options?: IRetrieveRecordCommandOptions): Promise<ICommand[]>;
|
|
171
158
|
onRecordSave(record: IRecord): Promise<IRecordSaveOperationResult>;
|
|
@@ -175,15 +162,14 @@ export declare class TaskDataProvider extends MemoryDataProvider implements ITas
|
|
|
175
162
|
createTask(parentId?: string): Promise<IRawRecord | null>;
|
|
176
163
|
createTasksFromTemplate(templateId: string, parentId?: string): Promise<IRawRecord[] | null>;
|
|
177
164
|
createTemplateFromTask(taskId: string): Promise<IRawRecord | null>;
|
|
178
|
-
|
|
165
|
+
onOpenDatasetItem(entityReference: ComponentFramework.EntityReference, context?: {
|
|
179
166
|
columnName?: string;
|
|
180
|
-
}): void
|
|
167
|
+
}): Promise<void>;
|
|
181
168
|
getSorting(): ComponentFramework.PropertyHelper.DataSetApi.SortStatus[];
|
|
182
169
|
getSortedRecordIds(): string[];
|
|
183
170
|
deleteTasks(taskIds: string[]): Promise<IDeleteTasksResult | null>;
|
|
184
|
-
|
|
171
|
+
openTaskItems(taskIds: string[]): Promise<IOpenDatasetItemsResult | null>;
|
|
185
172
|
isRecordActive(recordId: string): boolean;
|
|
186
|
-
onOpenDatasetItem(entityReference: ComponentFramework.EntityReference): void;
|
|
187
173
|
destroy(): Promise<void>;
|
|
188
174
|
getQuickFindColumns(): IColumn[];
|
|
189
175
|
createGroupedRecordDataProvider(group: IRecord): IDataProvider;
|
|
@@ -10,12 +10,14 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
10
10
|
});
|
|
11
11
|
this._hasDataBeenLoaded = false;
|
|
12
12
|
this.taskEvents = new EventEmitter();
|
|
13
|
+
this._savedQueryDataProvider = parameters.savedQueryDataProvider;
|
|
13
14
|
this._nativeColumns = parameters.nativeColumns;
|
|
14
15
|
this._taskTree = new RecordTree({
|
|
15
16
|
taskDataProvider: this
|
|
16
17
|
});
|
|
17
18
|
this._localizationService = parameters.localizationService;
|
|
18
19
|
this._strategy = parameters.strategy;
|
|
20
|
+
this._customColumnsDataProvider = parameters.customColumnsDataProvider;
|
|
19
21
|
this._onFlatListEnabled = parameters.onIsFlatListEnabled;
|
|
20
22
|
}
|
|
21
23
|
getStrategy() {
|
|
@@ -24,15 +26,6 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
24
26
|
getRootTaskId() {
|
|
25
27
|
return this._strategy.onGetRootTaskId?.() ?? null;
|
|
26
28
|
}
|
|
27
|
-
isTaskAddingEnabled() {
|
|
28
|
-
return this._strategy.onIsTaskAddingEnabled?.() ?? true;
|
|
29
|
-
}
|
|
30
|
-
isTaskEditingEnabled() {
|
|
31
|
-
return this._strategy.onIsTaskEditingEnabled?.() ?? true;
|
|
32
|
-
}
|
|
33
|
-
isTaskDeletingEnabled() {
|
|
34
|
-
return this._strategy.onIsTaskDeletingEnabled?.() ?? true;
|
|
35
|
-
}
|
|
36
29
|
getRecordTree() {
|
|
37
30
|
return this._taskTree;
|
|
38
31
|
}
|
|
@@ -45,8 +38,25 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
45
38
|
async fetchRawRecords(ids) {
|
|
46
39
|
return this._strategy.onGetRawRecords(ids);
|
|
47
40
|
}
|
|
48
|
-
onGetAvailableColumns() {
|
|
49
|
-
return
|
|
41
|
+
async onGetAvailableColumns(options) {
|
|
42
|
+
return [
|
|
43
|
+
...this._getColumnsWithUnusedVirtualColumns(await this._strategy.onGetAvailableColumns(options)),
|
|
44
|
+
...(this._customColumnsDataProvider ? this._customColumnsDataProvider.getColumns() : [])
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
_getColumnsWithUnusedVirtualColumns(columns) {
|
|
48
|
+
columns = [...columns];
|
|
49
|
+
const columnsMap = new Map(columns.map(col => [col.name, col]));
|
|
50
|
+
const virtualColumns = new Map(this._savedQueryDataProvider.getSystemQueries().flatMap(query => query.columns).filter(column => column.isVirtual).map(col => [col.name, col]));
|
|
51
|
+
for (const virtualColumn of [...virtualColumns.values()]) {
|
|
52
|
+
if (!columnsMap.has(virtualColumn.name)) {
|
|
53
|
+
columns.push({
|
|
54
|
+
...virtualColumn,
|
|
55
|
+
isHidden: false
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return columns;
|
|
50
60
|
}
|
|
51
61
|
onGetAvailableRelatedColumns() {
|
|
52
62
|
return this._strategy.onGetAvailableRelatedColumns();
|
|
@@ -143,13 +153,18 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
143
153
|
onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)
|
|
144
154
|
});
|
|
145
155
|
}
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
156
|
+
async onOpenDatasetItem(entityReference, context) {
|
|
157
|
+
const isTaskEntity = !context || context?.columnName === this.getNativeColumns().subject;
|
|
158
|
+
this.taskEvents.dispatchEvent('onBeforeDatasetItemsOpened', [entityReference], isTaskEntity);
|
|
159
|
+
ErrorHelper.executeWithErrorHandling({
|
|
160
|
+
operation: async () => {
|
|
161
|
+
const result = await this._strategy.onOpenDatasetItems([entityReference], isTaskEntity);
|
|
162
|
+
if (result)
|
|
163
|
+
this.updateTaskData(result.updatedRecords);
|
|
164
|
+
this.taskEvents.dispatchEvent('onAfterDatasetItemsOpened', [entityReference], isTaskEntity, result);
|
|
165
|
+
},
|
|
166
|
+
onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)
|
|
167
|
+
});
|
|
153
168
|
}
|
|
154
169
|
getSorting() {
|
|
155
170
|
const sorting = super.getSorting();
|
|
@@ -184,14 +199,22 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
184
199
|
onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)
|
|
185
200
|
});
|
|
186
201
|
}
|
|
187
|
-
async
|
|
202
|
+
async openTaskItems(taskIds) {
|
|
203
|
+
const entityReferences = taskIds.map(id => {
|
|
204
|
+
const record = this.getRecordsMap()[id];
|
|
205
|
+
return {
|
|
206
|
+
id: { guid: id },
|
|
207
|
+
etn: this.getEntityName(),
|
|
208
|
+
name: record?.getFormattedValue(this.getNativeColumns().subject) ?? undefined
|
|
209
|
+
};
|
|
210
|
+
});
|
|
188
211
|
return ErrorHelper.executeWithErrorHandling({
|
|
189
212
|
operation: async () => {
|
|
190
|
-
this.taskEvents.dispatchEvent('
|
|
191
|
-
const result = await this._strategy.
|
|
213
|
+
this.taskEvents.dispatchEvent('onBeforeDatasetItemsOpened', entityReferences, true);
|
|
214
|
+
const result = await this._strategy.onOpenDatasetItems(entityReferences, true);
|
|
192
215
|
if (result !== null)
|
|
193
216
|
this.updateTaskData(result.updatedRecords);
|
|
194
|
-
this.taskEvents.dispatchEvent('
|
|
217
|
+
this.taskEvents.dispatchEvent('onAfterDatasetItemsOpened', entityReferences, true, result);
|
|
195
218
|
return result;
|
|
196
219
|
},
|
|
197
220
|
onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)
|
|
@@ -200,23 +223,14 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
200
223
|
isRecordActive(recordId) {
|
|
201
224
|
return this._strategy.onIsRecordActive(recordId);
|
|
202
225
|
}
|
|
203
|
-
onOpenDatasetItem(entityReference) {
|
|
204
|
-
if (entityReference.etn === this.getEntityName()) {
|
|
205
|
-
this.editTasks([entityReference.id.guid]);
|
|
206
|
-
}
|
|
207
|
-
else {
|
|
208
|
-
//@ts-ignore - typings
|
|
209
|
-
this._sourceDataProvider.onOpenDatasetItem(entityReference);
|
|
210
|
-
}
|
|
211
|
-
}
|
|
212
226
|
async destroy() {
|
|
213
227
|
super.destroy();
|
|
214
228
|
this.taskEvents.clearEventListeners();
|
|
215
229
|
}
|
|
216
230
|
getQuickFindColumns() {
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
231
|
+
const quickFindColumnNames = this._savedQueryDataProvider.getCurrentQuery().quickFindColumns ?? [];
|
|
232
|
+
const existingQuickFindColumns = quickFindColumnNames.map(columnName => this.getColumnsMap()[columnName]).filter(col => col);
|
|
233
|
+
return existingQuickFindColumns;
|
|
220
234
|
}
|
|
221
235
|
createGroupedRecordDataProvider(group) {
|
|
222
236
|
const children = this._taskTree.getNodeMap().get(group.getRecordId())?.directChildren ?? [];
|
|
@@ -248,12 +262,15 @@ class TaskDataProvider extends MemoryDataProvider {
|
|
|
248
262
|
localizationService: this._localizationService,
|
|
249
263
|
nativeColumns: this._nativeColumns,
|
|
250
264
|
strategy: this._strategy,
|
|
265
|
+
savedQueryDataProvider: this._savedQueryDataProvider,
|
|
251
266
|
onIsFlatListEnabled: () => this._onFlatListEnabled(),
|
|
252
267
|
});
|
|
253
268
|
}
|
|
254
269
|
async refresh() {
|
|
255
270
|
if (!this._hasDataBeenLoaded) {
|
|
256
271
|
await this._loadDataFromStrategy();
|
|
272
|
+
//we need to artificially wait in order for any sync outside stuff to finish (like loading grid to register events)
|
|
273
|
+
await new Promise(resolve => setTimeout(resolve, 0));
|
|
257
274
|
this._hasDataBeenLoaded = true;
|
|
258
275
|
}
|
|
259
276
|
await super.refresh();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TaskDataProvider.js","sources":["../../../../../src/components/TaskGrid/providers/task/TaskDataProvider.ts"],"sourcesContent":["import { EventEmitter, GetDataEvent, IAvailableColumnOptions, IAvailableRelatedColumn, IColumn, ICommand, IDataProvider, IDataProviderEventListeners, IEventBubbleOptions, IEventEmitter, IRawRecord, IRecord, IRecordSaveOperationResult, IRetrievedData, IRetrieveRecordCommandOptions, MemoryDataProvider, Operators, Type } from \"@talxis/client-libraries\";\nimport { IRecordTree, RecordTree } from \"./record-tree/RecordTree\";\nimport { ErrorHelper } from \"../../../../utils/error-handling\";\nimport { ILocalizationService } from \"../../../../utils\";\nimport { ITaskGridLabels } from \"../../labels\";\nimport { INativeColumns } from \"../../interfaces\";\nimport { ISavedQueryDataProvider} from \"../saved-query\";\nimport { ICustomColumnsDataProvider } from \"../custom-columns\";\n\nexport interface IFailedRecord {\n id: string;\n error: any;\n}\n\nexport type IDeleteTasksResult =\n | { success: true; deletedTaskIds: string[] }\n | { success: false; deletedTaskIds: string[]; errors: IFailedRecord[] };\n\nexport type IOpenDatasetItemsResult =\n | { success: true; updatedRecords: IRawRecord[] }\n | { success: false; updatedRecords: IRawRecord[]; errors: IFailedRecord[] };\n\n\nexport interface ITaskDataProviderParameters {\n nativeColumns: INativeColumns;\n localizationService: ILocalizationService<ITaskGridLabels>;\n strategy: ITaskDataProviderStrategy;\n savedQueryDataProvider: ISavedQueryDataProvider;\n customColumnsDataProvider?: ICustomColumnsDataProvider;\n onIsFlatListEnabled: () => boolean;\n}\n\n/** Strategy interface that handles all data access and mutation operations for tasks. */\nexport interface ITaskDataProviderStrategy {\n /**\n * Called when the provider needs to retrieve latest data for specific tasks to synchronize the grid with the server.\n */\n onGetRawRecords: (ids: string[]) => Promise<IRawRecord[]>;\n /** Called once on first load. Must return the initial columns, raw task records, and entity metadata. */\n onInitialize: (provider: ITaskDataProvider) => Promise<{ columns: IColumn[]; rawData: IRawRecord[]; metadata: any }>\n /** Returns all columns available for display in the grid (both native and custom). */\n onGetAvailableColumns: (options?: IAvailableColumnOptions) => Promise<IColumn[]>;\n /** Returns linked-entity columns that can be used for filtering and sorting. */\n onGetAvailableRelatedColumns: () => Promise<IAvailableRelatedColumn[]>;\n /** @returns The created task raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onCreateTask(parentTaskId?: string): Promise<IRawRecord | null>;\n /**\n * @returns Result indicating which tasks were deleted and which failed.\n * `success: true` means all tasks were deleted. `success: false` means some or all failed.\n * Throws on unexpected failure.\n */\n onDeleteTasks(taskIds: string[]): Promise<IDeleteTasksResult | null>;\n /** @returns The created template raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onCreateTemplateFromTask(taskId: string): Promise<IRawRecord | null>;\n /** @returns The created task raw records, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n onCreateTasksFromTemplate(templateId: string, parentTaskId?: string): Promise<IRawRecord[] | null>;\n /**\n * Opens one or more dataset items. When `isTaskEntity` is `true` the references point to task records;\n * when `false` they point to a related entity (e.g. a lookup target).\n */\n onOpenDatasetItems(entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean): Promise<IOpenDatasetItemsResult | null>;\n /** Moves a task to a new position relative to another task. Returns the updated raw records, or `null` on cancellation. */\n onMoveTask(movingTaskId: string, movingToTaskId: string, position: 'above' | 'below' | 'child'): Promise<IRawRecord[] | null>;\n /** Persists inline cell edits for the given record. */\n onRecordSave(record: IRecord): Promise<IRecordSaveOperationResult>;\n /** Returns whether the given task record is currently active (non-completed). */\n onIsRecordActive(recordId: string): boolean;\n /** When provided, the task tree is scoped to the subtree of the returned task id. */\n onGetRootTaskId?: () => string | undefined\n}\n\nexport interface ITaskDataProviderEventListener {\n onBeforeTemplateCreated: (taskId: string) => void;\n onAfterTemplateCreated: (record: IRawRecord | null) => void;\n onBeforeTasksDeleted: (taskIds: string[]) => void;\n onAfterTasksDeleted: (result: IDeleteTasksResult | null) => void;\n onBeforeTasksCreated: (parentId?: string) => void;\n onAfterTasksCreated: (records: IRawRecord[] | null, parentId?: string) => void;\n onBeforeTaskMoved: () => void;\n onAfterTaskMoved: (movingFromTaskId: string, movingToTaskId: string, position: 'above' | 'below' | 'child') => void;\n onTaskDataUpdated: (data: IRawRecord[]) => void;\n onRecordTreeUpdated: (updatedParentIds: (string | undefined)[]) => void;\n onBeforeDatasetItemsOpened: (entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean) => void;\n onAfterDatasetItemsOpened: (entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean, result: IOpenDatasetItemsResult | null) => void;\n onError: (error: any, message: string) => void;\n}\n\n/** Extended data provider interface for task records. Adds task-specific operations on top of `IDataProvider`. */\nexport interface ITaskDataProvider extends IDataProvider {\n /** EventEmitter for task lifecycle events (create, delete, edit, move, template, error). */\n taskEvents: IEventEmitter<ITaskDataProviderEventListener>;\n /** Returns the native column name mapping. */\n getNativeColumns(): INativeColumns;\n /** Returns all records regardless of current tree filtering or paging. */\n getAllRecords(): IRecord[];\n /** Returns the underlying strategy cast to the given type. */\n getStrategy<T extends ITaskDataProviderStrategy>(): T;\n /** Fetches raw task records by id via the strategy. Pass an empty array to fetch all. */\n fetchRawRecords(ids: string[]): Promise<IRawRecord[]>;\n /** Returns the current hierarchical record tree built from loaded task data. */\n getRecordTree(): IRecordTree;\n /** Applies updated raw record data in-place and rebuilds the tree if hierarchy changed. */\n updateTaskData(newData: IRawRecord[]): void;\n /**\n * Opens one or more task records by id. Builds entity references from the current records map\n * and delegates to `strategy.onOpenDatasetItems` with `isTaskEntity: true`.\n */\n openTaskItems(taskIds: string[]): Promise<IOpenDatasetItemsResult | null>;\n /** @returns The created task raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n createTask(parentTaskId?: string): Promise<IRawRecord | null>;\n /**\n * @returns Result indicating which tasks were deleted and which failed.\n * `success: true` means all tasks were deleted. `success: false` means some or all failed — `deletedTaskIds` still contains the ids that succeeded.\n * Throws on unexpected failure before any deletes could be attempted.\n */\n deleteTasks(taskIds: string[]): Promise<IDeleteTasksResult | null>;\n /** @returns The created template raw record, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n createTemplateFromTask(taskId: string): Promise<IRawRecord | null>;\n /** @returns The created task raw records, or `null` if the operation was cancelled by the user. Throws on unexpected failure. */\n createTasksFromTemplate(templateId: string, parentId?: string): Promise<IRawRecord[] | null>;\n /** Returns `true` when the grid is displaying a flat list instead of a tree hierarchy. */\n isFlatListEnabled(): boolean;\n /** Returns `true` when task creation is allowed (from `ITaskDataProviderStrategy.onIsTaskAddingEnabled`). */\n /** Returns the root task id when the tree is scoped to a subtree, or `null` for a full tree. */\n getRootTaskId: () => string | null;\n /** Moves a task to a position relative to another task. Returns the updated raw records, or `null` on cancellation. */\n moveTask(movingTaskId: string, movingToTaskId: string, position: 'above' | 'below' | 'child'): Promise<IRawRecord[] | null>;\n}\n\nexport class TaskDataProvider extends MemoryDataProvider implements ITaskDataProvider {\n private _nativeColumns: INativeColumns;\n private _localizationService: ILocalizationService<ITaskGridLabels>;\n private _hasDataBeenLoaded: boolean = false;\n private _taskTree: IRecordTree;\n private _strategy: ITaskDataProviderStrategy;\n private _savedQueryDataProvider: ISavedQueryDataProvider;\n private _customColumnsDataProvider?: ICustomColumnsDataProvider;\n private _onFlatListEnabled: () => boolean;\n public readonly taskEvents: EventEmitter<ITaskDataProviderEventListener> = new EventEmitter<ITaskDataProviderEventListener>();\n\n constructor(parameters: ITaskDataProviderParameters) {\n super({\n dataSource: [],\n metadata: { PrimaryIdAttribute: 'id' }\n });\n this._savedQueryDataProvider = parameters.savedQueryDataProvider;\n this._nativeColumns = parameters.nativeColumns;\n this._taskTree = new RecordTree({\n taskDataProvider: this\n })\n this._localizationService = parameters.localizationService;\n this._strategy = parameters.strategy;\n this._customColumnsDataProvider = parameters.customColumnsDataProvider;\n this._onFlatListEnabled = parameters.onIsFlatListEnabled;\n }\n\n public getStrategy<T extends ITaskDataProviderStrategy>(): T {\n return this._strategy as T;\n }\n\n public getRootTaskId(): string | null {\n return this._strategy.onGetRootTaskId?.() ?? null;\n }\n\n public getRecordTree(): IRecordTree {\n return this._taskTree;\n }\n\n public isFlatListEnabled(): boolean {\n return this._onFlatListEnabled();\n }\n\n public getNativeColumns(): INativeColumns {\n return this._nativeColumns;\n }\n\n public async fetchRawRecords(ids: string[]) {\n return this._strategy.onGetRawRecords(ids);\n }\n\n public async onGetAvailableColumns(options?: { entityName?: string }): Promise<IColumn[]> {\n return [\n ...this._getColumnsWithUnusedVirtualColumns(await this._strategy.onGetAvailableColumns(options)),\n ...(this._customColumnsDataProvider ? this._customColumnsDataProvider.getColumns() : [])\n ];\n }\n\n private _getColumnsWithUnusedVirtualColumns(columns: IColumn[]): IColumn[] {\n columns = [...columns];\n const columnsMap = new Map(columns.map(col => [col.name, col]));\n const virtualColumns = new Map(this._savedQueryDataProvider.getSystemQueries().flatMap(query => query.columns).filter(column => column.isVirtual).map(col => [col.name, col]));\n for (const virtualColumn of [...virtualColumns.values()]) {\n if (!columnsMap.has(virtualColumn.name)) {\n columns.push({\n ...virtualColumn,\n isHidden: false\n });\n }\n }\n return columns;\n }\n\n public onGetAvailableRelatedColumns(): Promise<IAvailableRelatedColumn[]> {\n return this._strategy.onGetAvailableRelatedColumns();\n }\n\n public async retrieveRecordCommand(options?: IRetrieveRecordCommandOptions): Promise<ICommand[]> {\n return [];\n }\n\n public onRecordSave(record: IRecord): Promise<IRecordSaveOperationResult> {\n return this._strategy.onRecordSave(record);\n }\n\n public updateTaskData(newData: IRawRecord[]) {\n const affectedParentIds: (string | undefined)[] = [];\n let recordTreeChanged = false;\n\n for (const updatedData of newData) {\n const recordId = updatedData[this.getMetadata().PrimaryIdAttribute];\n if (!recordId) {\n throw new Error(`Updated data is missing record id. Data: ${JSON.stringify(updatedData)}`);\n }\n const record = this.getRecordsMap()[recordId];\n const originalParentId = record.getValue(this.getNativeColumns().parentId)?.[0]?.id?.guid;\n const originalStackRank = record.getValue(this.getNativeColumns().stackRank);\n record.setRawData(updatedData);\n const newParentId = record.getValue(this.getNativeColumns().parentId)?.[0]?.id?.guid;\n const newStackRank = record.getValue(this.getNativeColumns().stackRank);\n if (originalParentId !== newParentId) {\n recordTreeChanged = true;\n affectedParentIds.push(recordId, originalParentId, newParentId);\n } else if (originalStackRank !== newStackRank) {\n recordTreeChanged = true;\n }\n }\n if (recordTreeChanged) {\n this._taskTree.build();\n this.taskEvents.dispatchEvent('onRecordTreeUpdated', affectedParentIds);\n }\n this.taskEvents.dispatchEvent('onTaskDataUpdated', newData);\n }\n\n\n public getGroupedRecordDataProvider(groupedRecordId: string): IDataProvider | null {\n const provider = new MemoryDataProvider({\n dataSource: [],\n metadata: { PrimaryIdAttribute: 'id' }\n })\n provider.getErrorMessage = () => this.getErrorMessage();\n return provider;\n }\n\n public async moveTask(movingFromTaskId: string, movingToTaskId: string, position: \"above\" | \"below\" | \"child\"): Promise<IRawRecord[] | null> {\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n this.taskEvents.dispatchEvent('onBeforeTaskMoved');\n const result = await this._strategy.onMoveTask(movingFromTaskId, movingToTaskId, position);\n if (result !== null) this.updateTaskData(result);\n this.taskEvents.dispatchEvent('onAfterTaskMoved', movingFromTaskId, movingToTaskId, position);\n return result;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n })\n }\n\n public async createTask(parentId?: string): Promise<IRawRecord | null> {\n this.taskEvents.dispatchEvent('onBeforeTasksCreated', parentId);\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const rawRecord = await this._strategy.onCreateTask(parentId);\n if (rawRecord) this._createTasks([rawRecord], parentId);\n this.taskEvents.dispatchEvent('onAfterTasksCreated', rawRecord ? [rawRecord] : null, parentId);\n return rawRecord;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n });\n }\n\n public async createTasksFromTemplate(templateId: string, parentId?: string): Promise<IRawRecord[] | null> {\n this.taskEvents.dispatchEvent('onBeforeTasksCreated', parentId);\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const rawRecords = await this._strategy.onCreateTasksFromTemplate(templateId, parentId);\n if (rawRecords) this._createTasks(rawRecords, parentId);\n this.taskEvents.dispatchEvent('onAfterTasksCreated', rawRecords, parentId);\n return rawRecords;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n })\n }\n\n public async createTemplateFromTask(taskId: string): Promise<IRawRecord | null> {\n this.taskEvents.dispatchEvent('onBeforeTemplateCreated', taskId);\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const rawRecord = await this._strategy.onCreateTemplateFromTask(taskId);\n this.taskEvents.dispatchEvent('onAfterTemplateCreated', rawRecord);\n return rawRecord;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n });\n }\n\n public async onOpenDatasetItem(entityReference: ComponentFramework.EntityReference, context?: { columnName?: string }): Promise<void> {\n const isTaskEntity = !context || context?.columnName === this.getNativeColumns().subject;\n this.taskEvents.dispatchEvent('onBeforeDatasetItemsOpened', [entityReference], isTaskEntity);\n ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const result = await this._strategy.onOpenDatasetItems([entityReference], isTaskEntity);\n if(result) this.updateTaskData(result.updatedRecords);\n this.taskEvents.dispatchEvent('onAfterDatasetItemsOpened', [entityReference], isTaskEntity, result);\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n });\n }\n\n public getSorting(): ComponentFramework.PropertyHelper.DataSetApi.SortStatus[] {\n const sorting = super.getSorting();\n if (sorting.length === 0) {\n return [{\n name: this._nativeColumns.stackRank,\n sortDirection: 0\n }];\n }\n else {\n return sorting;\n }\n }\n\n public getSortedRecordIds(): string[] {\n return this._taskTree.getSortedIds();\n }\n\n public async deleteTasks(taskIds: string[]): Promise<IDeleteTasksResult | null> {\n this.taskEvents.dispatchEvent('onBeforeTasksDeleted', taskIds);\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const result = await this._strategy.onDeleteTasks(taskIds);\n if (result !== null) {\n const deletedTaskIds = result.deletedTaskIds;\n await this.deleteRecords(deletedTaskIds);\n this.setSelectedRecordIds(this.getSelectedRecordIds().filter(id => !deletedTaskIds.includes(id)));\n this._taskTree.build();\n this.taskEvents.dispatchEvent('onRecordTreeUpdated', deletedTaskIds);\n }\n this.taskEvents.dispatchEvent('onAfterTasksDeleted', result);\n return result;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n })\n }\n\n public async openTaskItems(taskIds: string[]): Promise<IOpenDatasetItemsResult | null> {\n const entityReferences = taskIds.map(id => {\n const record = this.getRecordsMap()[id];\n return {\n id: { guid: id },\n etn: this.getEntityName(),\n name: record?.getFormattedValue(this.getNativeColumns().subject) ?? undefined\n } as ComponentFramework.EntityReference;\n });\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n this.taskEvents.dispatchEvent('onBeforeDatasetItemsOpened', entityReferences, true);\n const result = await this._strategy.onOpenDatasetItems(entityReferences, true);\n if (result !== null) this.updateTaskData(result.updatedRecords);\n this.taskEvents.dispatchEvent('onAfterDatasetItemsOpened', entityReferences, true, result);\n return result;\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n });\n }\n\n public isRecordActive(recordId: string): boolean {\n return this._strategy.onIsRecordActive(recordId);\n }\n\n public async destroy(): Promise<void> {\n super.destroy();\n this.taskEvents.clearEventListeners();\n }\n\n public getQuickFindColumns(): IColumn[] {\n const quickFindColumnNames = this._savedQueryDataProvider.getCurrentQuery().quickFindColumns ?? [];\n const existingQuickFindColumns = quickFindColumnNames.map(columnName => this.getColumnsMap()[columnName]).filter(col => col) as IColumn[];\n return existingQuickFindColumns;\n }\n\n public createGroupedRecordDataProvider(group: IRecord): IDataProvider {\n const children = this._taskTree.getNodeMap().get(group.getRecordId())?.directChildren ?? [];\n return {\n ...this,\n getRecords: () => children,\n isError: () => this.isError(),\n refresh: () => children\n } as IDataProvider;\n }\n\n public getPaging() {\n const paging = super.getPaging();\n paging.totalResultCount = this._taskTree.getTotalCount()\n paging.pageSize = this._taskTree.getTotalCount();\n return paging;\n }\n\n public getRecords(): IRecord[] {\n const records = super.getRecords();\n if (records.length === 0 || this._taskTree.getNodeMap().size === 0) {\n return [];\n }\n return this._taskTree.getNodeMap().get(null as any)?.directChildren ?? [];\n }\n\n public getAllRecords(): IRecord[] {\n return super.getRecords();\n }\n\n public createNewDataProvider(eventBubbleOptions?: IEventBubbleOptions): IDataProvider {\n return new TaskDataProvider({\n localizationService: this._localizationService,\n nativeColumns: this._nativeColumns,\n strategy: this._strategy,\n savedQueryDataProvider: this._savedQueryDataProvider,\n onIsFlatListEnabled: () => this._onFlatListEnabled(),\n });\n }\n public async refresh(): Promise<IRecord[]> {\n if (!this._hasDataBeenLoaded) {\n await this._loadDataFromStrategy();\n //we need to artificially wait in order for any sync outside stuff to finish (like loading grid to register events)\n await new Promise(resolve => setTimeout(resolve, 0));\n this._hasDataBeenLoaded = true;\n }\n await super.refresh();\n return this.getAllRecords();\n }\n\n public dispatchEvent<K extends keyof IDataProviderEventListeners>(event: K, ...args: Parameters<IDataProviderEventListeners[K]>): boolean {\n if (event === 'onNewDataLoaded') {\n this._taskTree.build();\n }\n return super.dispatchEvent(event, ...args);\n }\n\n public getDataSync(pageNumber: number, pageSize: number, previousPageNumber: number, event: GetDataEvent): IRetrievedData {\n return {\n data: this.getDataSource(),\n hasNextPage: false,\n totalRecordCount: this.getDataSource().length\n }\n }\n\n private async _loadDataFromStrategy() {\n return ErrorHelper.executeWithErrorHandling({\n operation: async () => {\n const { columns, rawData, metadata } = await this._strategy.onInitialize(this);\n this.setDataSource(rawData);\n this.setMetadata(metadata);\n this.setColumns(columns);\n this.getPaging().setPageSize(rawData.length);\n this.setEntityName(metadata.LogicalName);\n },\n onError: (error, message) => this.taskEvents.dispatchEvent('onError', error, message)\n })\n }\n\n private _createTasks(rawRecords: IRawRecord[], parentId?: string) {\n const records: IRecord[] = [];\n for (const rawRecord of rawRecords) {\n const record = this.newRecord({\n rawData: rawRecord,\n recordId: rawRecord[this.getMetadata().PrimaryIdAttribute],\n position: 'start',\n },);\n const stackRankAttributeName = this.getNativeColumns().stackRank;\n if (record.getValue(stackRankAttributeName) == null) {\n console.warn(`Record with id ${record.getRecordId()} is missing stack rank value. Setting it to 0.`, record);\n record.setValue(stackRankAttributeName, 0);\n const newRawData = record.toRawData()\n record.setRawData(newRawData);\n }\n records.push(record);\n }\n if (records.length > 0) {\n this._taskTree.build();\n this.taskEvents.dispatchEvent('onRecordTreeUpdated', [parentId]);\n }\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -12,15 +12,23 @@ interface IRecordTreeParameters {
|
|
|
12
12
|
taskDataProvider: ITaskDataProvider;
|
|
13
13
|
}
|
|
14
14
|
export interface IRecordTree {
|
|
15
|
+
/** Builds (or rebuilds) the node map from the current provider records. Returns the resulting map keyed by record id. */
|
|
15
16
|
build(): Map<string, ITreeNode>;
|
|
17
|
+
/** Returns the current node map keyed by record id without triggering a rebuild. */
|
|
16
18
|
getNodeMap(): Map<string, ITreeNode>;
|
|
19
|
+
/** Returns the tree node for the given record id. Pass `null` to get the virtual root node. */
|
|
17
20
|
getNode(recordId: string | null): ITreeNode;
|
|
21
|
+
/** Returns the total number of unique records in the tree. */
|
|
18
22
|
getTotalCount(): number;
|
|
23
|
+
/** Returns `true` when the tree is in flat-list mode (no parent-child hierarchy). */
|
|
19
24
|
isFlat(): boolean;
|
|
25
|
+
/** Returns `true` when the record with the given id has at least one direct child. */
|
|
20
26
|
hasChildren(recordId: string): boolean;
|
|
27
|
+
/** Returns a map of records that match the current search/filter, keyed by record id. */
|
|
21
28
|
getMatchingRecords(): {
|
|
22
29
|
[recordId: string]: IRecord;
|
|
23
30
|
};
|
|
31
|
+
/** Returns record ids in their computed display order (depth-first, stack-rank sorted). */
|
|
24
32
|
getSortedIds(): string[];
|
|
25
33
|
}
|
|
26
34
|
export declare class RecordTree implements IRecordTree {
|
|
@@ -278,6 +278,8 @@ class RecordTree {
|
|
|
278
278
|
return path;
|
|
279
279
|
}
|
|
280
280
|
_patchRecordPaths() {
|
|
281
|
+
if (!this._getTaskDataProvider().getColumnsMap()[this._getNativeColumns().path])
|
|
282
|
+
return;
|
|
281
283
|
for (const record of this._records) {
|
|
282
284
|
const path = this._buildPathForRecord(record.getRecordId());
|
|
283
285
|
const field = record.getField(this._getNativeColumns().path);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RecordTree.js","sources":["../../../../../../src/components/TaskGrid/providers/task/record-tree/RecordTree.ts"],"sourcesContent":["import { IRecord, MemoryDataProvider } from \"@talxis/client-libraries\";\nimport { ITaskDataProvider } from \"../TaskDataProvider\";\nimport { patchDataBuilderPrepare } from \"./patchDataBuilderPrepare\";\n\ninterface ITreeNode {\n directChildren: IRecord[];\n allChildren: IRecord[];\n pathIds: string[];\n pathStrings: string[];\n index: number;\n parent?: IRecord;\n}\n\ninterface IRecordTreeParameters {\n taskDataProvider: ITaskDataProvider;\n}\n\nexport interface IRecordTree {\n /** Builds (or rebuilds) the node map from the current provider records. Returns the resulting map keyed by record id. */\n build(): Map<string, ITreeNode>\n /** Returns the current node map keyed by record id without triggering a rebuild. */\n getNodeMap(): Map<string, ITreeNode>;\n /** Returns the tree node for the given record id. Pass `null` to get the virtual root node. */\n getNode(recordId: string | null): ITreeNode;\n /** Returns the total number of unique records in the tree. */\n getTotalCount(): number;\n /** Returns `true` when the tree is in flat-list mode (no parent-child hierarchy). */\n isFlat(): boolean;\n /** Returns `true` when the record with the given id has at least one direct child. */\n hasChildren(recordId: string): boolean;\n /** Returns a map of records that match the current search/filter, keyed by record id. */\n getMatchingRecords(): { [recordId: string]: IRecord };\n /** Returns record ids in their computed display order (depth-first, stack-rank sorted). */\n getSortedIds(): string[];\n}\n\nexport class RecordTree implements IRecordTree {\n private _nodeMap: Map<string, ITreeNode> = new Map();\n private _sortingMap: { [recordId: string]: number } = {};\n private _matchingRecordsMap: { [recordId: string]: IRecord } = {};\n private _isFlat: boolean = false;\n private _totalUniqueRecords: number = 0;\n private _sortedRecordIds: string[] = [];\n private _records: IRecord[] = [];\n private _recordsMap: { [recordId: string]: IRecord } = {};\n private _taskDataProvider: ITaskDataProvider;\n\n constructor(parameters: IRecordTreeParameters) {\n this._taskDataProvider = parameters.taskDataProvider;\n }\n\n public getNodeMap(): Map<string, ITreeNode> {\n return this._nodeMap;\n }\n public getTotalCount(): number {\n return this._totalUniqueRecords;\n }\n public isFlat(): boolean {\n return this._isFlat;\n }\n public getMatchingRecords(): { [recordId: string]: IRecord } {\n return this._matchingRecordsMap;\n }\n public getNode(recordId: string | null): ITreeNode {\n return this._nodeMap.get(recordId as any)!;\n }\n\n public hasChildren(recordId: string): boolean {\n const children = this._nodeMap.get(recordId)?.directChildren;\n if (children && children.length > 0) {\n return true;\n }\n return false;\n }\n\n public getSortedIds(): string[] {\n return this._sortedRecordIds;\n }\n\n public build(): Map<string, ITreeNode> {\n this._records = this._taskDataProvider.getAllRecords();\n this._recordsMap = this._taskDataProvider.getRecordsMap();\n // Clear existing record tree map and flat sorted array\n this._nodeMap.clear();\n this._patchRecordPaths();\n this._buildSortingMap();\n this._buildMatchingRecords();\n\n // Create reusable sort function\n const sortByIndex = (a: IRecord, b: IRecord): number => {\n const indexA = this._sortingMap[a.getRecordId()] ?? Number.MAX_SAFE_INTEGER;\n const indexB = this._sortingMap[b.getRecordId()] ?? Number.MAX_SAFE_INTEGER;\n return indexA - indexB;\n };\n\n const records = this._records;\n const recordsMap = this._recordsMap;\n\n const parentToDirectChildren = new Map<string, IRecord[]>();\n const topLevelRecords: IRecord[] = [];\n\n for (const record of records) {\n const parentRef = record.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n\n if (parentId && recordsMap[parentId]) {\n if (!parentToDirectChildren.has(parentId)) {\n parentToDirectChildren.set(parentId, []);\n }\n parentToDirectChildren.get(parentId)!.push(record);\n }\n else {\n topLevelRecords.push(record);\n }\n }\n\n topLevelRecords.sort(sortByIndex);\n for (const [, children] of parentToDirectChildren) {\n children.sort(sortByIndex);\n }\n\n const hasMatchingDescendantCache = new Map<string, boolean>();\n const calculateHasMatchingDescendant = (recordId: string): boolean => {\n if (hasMatchingDescendantCache.has(recordId)) {\n return hasMatchingDescendantCache.get(recordId)!;\n }\n\n if (this._matchingRecordsMap[recordId]) {\n hasMatchingDescendantCache.set(recordId, true);\n return true;\n }\n\n // Set false sentinel before recursing to break circular reference cycles\n hasMatchingDescendantCache.set(recordId, false);\n const directChildren = parentToDirectChildren.get(recordId) || [];\n const hasMatching = directChildren.some(child =>\n calculateHasMatchingDescendant(child.getRecordId())\n );\n\n hasMatchingDescendantCache.set(recordId, hasMatching);\n return hasMatching;\n };\n\n for (const record of records) {\n calculateHasMatchingDescendant(record.getRecordId());\n }\n\n const recordToAllChildren = new Map<string, IRecord[]>();\n const recordToFilteredDirectChildren = new Map<string, IRecord[]>();\n const inProgressChildren = new Set<string>();\n\n const getAllChildren = (recordId: string): IRecord[] => {\n if (recordToAllChildren.has(recordId)) {\n return recordToAllChildren.get(recordId)!;\n }\n\n // Break circular reference cycles\n if (inProgressChildren.has(recordId)) {\n console.warn(`Circular reference detected: record \"${recordsMap[recordId]?.getNamedReference().name}\" (${recordId}) was encountered twice during tree traversal. All records involved in this cycle and their descendants will be missing from the tree.`);\n return [];\n }\n inProgressChildren.add(recordId);\n\n const directChildren = parentToDirectChildren.get(recordId) || [];\n const allChildren: IRecord[] = [];\n\n const filteredDirectChildren: IRecord[] = [];\n\n for (const child of directChildren) {\n if (hasMatchingDescendantCache.get(child.getRecordId())) {\n filteredDirectChildren.push(child);\n allChildren.push(child);\n allChildren.push(...getAllChildren(child.getRecordId()));\n }\n }\n\n recordToFilteredDirectChildren.set(recordId, filteredDirectChildren);\n recordToAllChildren.set(recordId, allChildren);\n inProgressChildren.delete(recordId);\n return allChildren;\n };\n\n const filteredTopLevelRecords: IRecord[] = [];\n const allRecordsWithMatching: IRecord[] = [];\n\n for (const record of topLevelRecords) {\n if (hasMatchingDescendantCache.get(record.getRecordId())) {\n filteredTopLevelRecords.push(record);\n }\n }\n\n for (const record of records) {\n if (hasMatchingDescendantCache.get(record.getRecordId())) {\n allRecordsWithMatching.push(record);\n }\n getAllChildren(record.getRecordId());\n }\n\n allRecordsWithMatching.sort(sortByIndex);\n \n for (const record of records) {\n const recordId = record.getRecordId();\n const isTopLevel = !record.getValue(this._getNativeColumns().parentId);\n\n const allChildren = getAllChildren(recordId);\n const filteredDirectChildren = recordToFilteredDirectChildren.get(recordId) || [];\n\n let parentRecord: IRecord | undefined = undefined;\n\n let index = -1;\n\n if (!isTopLevel) {\n const parentRef = record.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n if (parentId) {\n parentRecord = recordsMap[parentId];\n const parentFilteredChildren = recordToFilteredDirectChildren.get(parentId) || [];\n index = parentFilteredChildren.findIndex(sibling => sibling.getRecordId() === recordId);\n }\n } else {\n index = filteredTopLevelRecords.findIndex(topRecord => topRecord.getRecordId() === recordId);\n }\n\n let pathIds: string[] = [];\n let pathStrings: string[] = [];\n const pathCache = new Map<string, { pathIds: string[], pathStrings: string[] }>();\n if (pathCache.has(recordId)) {\n const cached = pathCache.get(recordId)!;\n pathIds = cached.pathIds;\n pathStrings = cached.pathStrings;\n }\n else {\n const pathIdParts: string[] = [];\n const pathStringParts: string[] = [];\n let currentRecord: IRecord | null = record;\n const visited = new Set<string>();\n\n while (currentRecord) {\n const currentId = currentRecord.getRecordId();\n if (visited.has(currentId)) break;\n visited.add(currentId);\n\n pathIdParts.unshift(currentRecord.getRecordId());\n pathStringParts.unshift(currentRecord.getNamedReference().name);\n const parentRef: ComponentFramework.EntityReference[] = currentRecord.getValue(this._getNativeColumns().parentId);\n const parentId = parentRef?.[0]?.id?.guid;\n currentRecord = parentId ? recordsMap[parentId] : null;\n }\n\n pathIds = pathIdParts;\n pathStrings = pathStringParts;\n pathCache.set(recordId, { pathIds, pathStrings });\n }\n\n this._nodeMap.set(recordId, {\n directChildren: filteredDirectChildren,\n allChildren: allChildren,\n pathIds,\n pathStrings,\n parent: parentRecord,\n index\n });\n }\n this._isFlat = filteredTopLevelRecords.every(record => this._nodeMap.get(record.getRecordId())!.directChildren.length === 0);\n const rootTaskId = this._getTaskDataProvider().getRootTaskId();\n if (!rootTaskId) {\n if (this._getTaskDataProvider().isFlatListEnabled()) {\n const directlyMatchingRecords: IRecord[] = allRecordsWithMatching.filter(r => this._matchingRecordsMap[r.getRecordId()]);\n this._nodeMap.set(null as any, {\n directChildren: directlyMatchingRecords,\n allChildren: directlyMatchingRecords,\n pathIds: [],\n pathStrings: [],\n index: -1\n });\n this._totalUniqueRecords = directlyMatchingRecords.length;\n this._sortedRecordIds = directlyMatchingRecords.map(r => r.getRecordId());\n }\n else {\n this._nodeMap.set(null as any, {\n directChildren: filteredTopLevelRecords,\n allChildren: allRecordsWithMatching,\n pathIds: [],\n pathStrings: [],\n index: -1\n });\n this._totalUniqueRecords = allRecordsWithMatching.length;\n this._sortedRecordIds = allRecordsWithMatching.map(r => r.getRecordId());\n }\n }\n else {\n const topLevelNode = this._nodeMap.get(rootTaskId);\n if (this._getTaskDataProvider().isFlatListEnabled()) {\n const directlyMatchingRecords: IRecord[] = topLevelNode?.allChildren.filter(r => this._matchingRecordsMap[r.getRecordId()]) || [];\n topLevelNode!.directChildren = directlyMatchingRecords;\n topLevelNode!.allChildren = directlyMatchingRecords;\n }\n this._nodeMap.set(null as any, topLevelNode!);\n this._totalUniqueRecords = topLevelNode!.allChildren.length;\n this._sortedRecordIds = topLevelNode!.allChildren.map(r => r.getRecordId());\n }\n return this._nodeMap;\n }\n\n\n private _buildMatchingRecords() {\n this._matchingRecordsMap = {};\n const provider = this._createBaseProvider();\n provider.onGetQuickFindColumns = () => this._getTaskDataProvider().getQuickFindColumns();\n provider.setFiltering(this._getTaskDataProvider().getFiltering());\n provider.setSearchQuery(this._getTaskDataProvider().getSearchQuery());\n provider.refreshSync();\n this._matchingRecordsMap = provider.getRecordsMap();\n }\n\n private _buildSortingMap() {\n this._sortingMap = {};\n let index = -1;\n const provider = this._createBaseProvider();\n provider.addEventListener('onRecordLoaded', (record) => {\n this._sortingMap[record.getRecordId()] = ++index;\n });\n provider.refreshSync();\n }\n\n private _createBaseProvider(): MemoryDataProvider {\n const taskDataProvider = this._getTaskDataProvider();\n const provider = new MemoryDataProvider({\n dataSource: taskDataProvider.getDataSource(),\n metadata: taskDataProvider.getMetadata()\n });\n patchDataBuilderPrepare({ provider, records: this._records });\n provider.getPaging().setPageSize(taskDataProvider.getDataSource().length);\n provider.setSorting(taskDataProvider.getSorting());\n provider.setColumns(taskDataProvider.getColumns());\n return provider;\n }\n\n private _buildPathForRecord(recordId: string): string[] {\n const path: string[] = [];\n const recordsMap = this._recordsMap;\n const parentIdName = this._getNativeColumns().parentId;\n let record: IRecord | undefined = recordsMap[recordId];\n const visited = new Set<string>();\n while (record) {\n const currentId = record.getRecordId();\n if (visited.has(currentId)) break;\n visited.add(currentId);\n path.unshift(record.getNamedReference().name);\n const parentId: string = record?.getValue(parentIdName)?.[0]?.id?.guid;\n record = recordsMap[parentId];\n }\n return path;\n }\n\n private _patchRecordPaths() {\n if(!this._getTaskDataProvider().getColumnsMap()[this._getNativeColumns().path]) return;\n for (const record of this._records) {\n const path = this._buildPathForRecord(record.getRecordId());\n const field = record.getField(this._getNativeColumns().path);\n const pathString = path.join('/');\n //@ts-ignore\n field._originalValue = pathString;\n //@ts-ignore\n field._currentValue = pathString;\n }\n }\n\n private _getNativeColumns(): ReturnType<ITaskDataProvider['getNativeColumns']> {\n return this._getTaskDataProvider().getNativeColumns();\n }\n\n private _getTaskDataProvider(): ITaskDataProvider {\n const provider = this._taskDataProvider;\n if (!provider) {\n throw new Error('TaskDataProvider dependency not provided!');\n }\n return provider;\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patchDataBuilderPrepare.js","sources":["../../../../../../src/components/TaskGrid/providers/task/record-tree/patchDataBuilderPrepare.ts"],"sourcesContent":["import { IMemoryProvider, IRecord } from \"@talxis/client-libraries\";\nimport { DataBuilder } from \"@talxis/client-libraries/dist/utils/dataset/data-providers/memory-provider/DataBuilder\";\n\nexport const patchDataBuilderPrepare = (options: { provider: IMemoryProvider; records: IRecord[] }) => {\n const { provider, records } = options;\n //@ts-ignore - typings\n const dataBuilder: any = provider._dataBuilder;\n\n dataBuilder.prepare = function () {\n const topLevelDataProvider = this._dataProvider.getTopLevelDataProvider() as IMemoryProvider;\n topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', true);\n this._allRecords = records;\n this._finalRecords = this._allRecords;\n topLevelDataProvider.setCustomProperty('blockInternalOnRecordLoaded', false);\n return this;\n };\n\n}"],"names":[],"mappings":"AAGa,MAAA,uBAAuB,GAAG,CAAC,OAA0D,KAAI;AAClG,IAAA,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;;AAEtC,IAAA,MAAM,WAAW,GAAQ,QAAQ,CAAC,YAAY,CAAC;IAE/C,WAAW,CAAC,OAAO,GAAG,YAAA;QAClB,MAAM,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,uBAAuB,EAAqB,CAAC;AAC7F,QAAA,oBAAoB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC;AAC5E,QAAA,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;AAC3B,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,WAAW,CAAC;AACtC,QAAA,oBAAoB,CAAC,iBAAiB,CAAC,6BAA6B,EAAE,KAAK,CAAC,CAAC;AAC7E,QAAA,OAAO,IAAI,CAAC;AAChB,KAAC,CAAC;AAEN;;;;"}
|