@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
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
import { RecordBuilder, FetchXmlBuilder } from '@talxis/client-libraries';
|
|
2
|
+
import { DataverseSavedQueryStrategy } from './DataverseSavedQueryStrategy.js';
|
|
3
|
+
import { DataverseTaskStrategy } from './DataverseTaskStrategy.js';
|
|
4
|
+
import { DataverseGridCustomizerStrategy } from './DataverseGridCustomizerStrategy.js';
|
|
5
|
+
import { EntityDefinition } from '@talxis/client-metadata';
|
|
6
|
+
import { DataverseCustomColumnsStrategy } from './DataverseCustomColumnsStrategy.js';
|
|
7
|
+
|
|
8
|
+
const isSingleRecord = (record) => {
|
|
9
|
+
return !!record && typeof record.getRecordId === "function";
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Ready-to-use {@link ITaskGridDescriptor} implementation for the Dataverse / Talxis platform.
|
|
13
|
+
*
|
|
14
|
+
* Wires together all required strategies — task CRUD, saved queries, grid customization — from
|
|
15
|
+
* a single constructor parameter object. Pass an instance to `TaskGridDatasetControlFactory.createInstance`.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```ts
|
|
19
|
+
* const descriptor = new DataverseTaskGridDescriptor({
|
|
20
|
+
* baseFetchXml: myFetchXml,
|
|
21
|
+
* fieldMapping: { parentId: 'talxis_parenttaskid', subject: 'subject', stackRank: 'talxis_stackrank' },
|
|
22
|
+
* systemQueries: [myDefaultView],
|
|
23
|
+
* });
|
|
24
|
+
* const control = await TaskGridDatasetControlFactory.createInstance({ taskGridDescriptor: descriptor, ... });
|
|
25
|
+
* ```
|
|
26
|
+
*/
|
|
27
|
+
class DataverseTaskGridDescriptor {
|
|
28
|
+
/** @param params — see {@link IDataverseTaskGridDescriptorParams} for full documentation of each option. */
|
|
29
|
+
constructor(params) {
|
|
30
|
+
this._systemQueries = [];
|
|
31
|
+
this._onInitialize = params.onInitialize;
|
|
32
|
+
this._height = params.height;
|
|
33
|
+
}
|
|
34
|
+
/** Resolves the project entity reference (fetches display name when not supplied). Called once by the factory before any strategy is created. */
|
|
35
|
+
async onLoadDependencies() {
|
|
36
|
+
const params = await this._onInitialize();
|
|
37
|
+
this._params = params;
|
|
38
|
+
this._systemQueries = params.systemQueries;
|
|
39
|
+
this._fieldMapping = params.fieldMapping;
|
|
40
|
+
this._userId = params.userId;
|
|
41
|
+
this._fetchXml = params.baseFetchXml;
|
|
42
|
+
this._rootTaskId = params.rootTaskId;
|
|
43
|
+
this._editFormId = params.editFormId;
|
|
44
|
+
this._createFormId = params.createFormId;
|
|
45
|
+
this._bulkEditFormId = params.bulkEditFormId;
|
|
46
|
+
this._gridParameters = params.gridParameters;
|
|
47
|
+
this._taskEntityName = this._getTaskEntityNameFromFetchXml(params.baseFetchXml);
|
|
48
|
+
this._projectRecord = await this._getProjectRecord();
|
|
49
|
+
this._sourceRecord = await this._getSourceRecord();
|
|
50
|
+
}
|
|
51
|
+
/** Returns the field mapping with `stateCode` hard-coded to `"statecode"` (standard Dataverse attribute name). */
|
|
52
|
+
onGetFieldMapping() {
|
|
53
|
+
return {
|
|
54
|
+
...this._fieldMapping,
|
|
55
|
+
//dataverse uses this for all entities
|
|
56
|
+
stateCode: 'statecode',
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//needs to be seperate from onGetGridParameters since it is also required for skeleton rendering before the instance is created
|
|
60
|
+
onGetHeight() {
|
|
61
|
+
return this._height;
|
|
62
|
+
}
|
|
63
|
+
/** Returns a {@link DataverseSavedQueryStrategy} when `enableUserQueries` is `true`, otherwise a read-only stub that exposes only the system queries. */
|
|
64
|
+
onCreateSavedQueryStrategy() {
|
|
65
|
+
if (this._gridParameters?.enableUserQueries) {
|
|
66
|
+
return new DataverseSavedQueryStrategy({
|
|
67
|
+
onGetSystemQueries: async () => this._systemQueries,
|
|
68
|
+
ownerId: this._userId,
|
|
69
|
+
entityName: this._taskEntityName,
|
|
70
|
+
recordId: this._projectRecord?.getRecordId()
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
return {
|
|
74
|
+
onGetSystemQueries: async () => this._systemQueries,
|
|
75
|
+
onGetUserQueries: async () => [],
|
|
76
|
+
onDeleteUserQueries: function (queryIds) {
|
|
77
|
+
throw new Error("Function not implemented.");
|
|
78
|
+
},
|
|
79
|
+
onUpdateUserQuery: function (currentQuery) {
|
|
80
|
+
throw new Error("Function not implemented.");
|
|
81
|
+
},
|
|
82
|
+
onCreateUserQuery: function (newQuery, currentQuery) {
|
|
83
|
+
throw new Error("Function not implemented.");
|
|
84
|
+
}
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
onCreateCustomColumnsStrategy() {
|
|
88
|
+
return new DataverseCustomColumnsStrategy({
|
|
89
|
+
entityName: this._taskEntityName,
|
|
90
|
+
recordId: this._projectRecord?.getRecordId(),
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/** Returns a {@link DataverseTaskStrategy} configured with the descriptor's FetchXML, form IDs, and project reference. */
|
|
94
|
+
onCreateTaskStrategy(deps) {
|
|
95
|
+
return new DataverseTaskStrategy({
|
|
96
|
+
fetchXml: this._fetchXml,
|
|
97
|
+
projectRecord: this._projectRecord,
|
|
98
|
+
sourceRecord: this._sourceRecord,
|
|
99
|
+
rootTaskId: this._rootTaskId,
|
|
100
|
+
bulkEditFormId: this._bulkEditFormId,
|
|
101
|
+
createFormId: this._createFormId,
|
|
102
|
+
editFormId: this._editFormId,
|
|
103
|
+
isCascadeDeleteEnabled: this._params.enableCascadeDelete ?? false,
|
|
104
|
+
isDeletingTasksWithChildrenEnabled: this._params.enableDeletingTasksWithChildren ?? false,
|
|
105
|
+
}, deps);
|
|
106
|
+
}
|
|
107
|
+
/** Returns a {@link DataverseSavedQueryStrategy} pre-configured as a data provider for the user-query creation/update dialog, with `talxis_name` and `talxis_description` columns. */
|
|
108
|
+
onCreateUserQueryDataProvider() {
|
|
109
|
+
const provider = new DataverseSavedQueryStrategy({
|
|
110
|
+
recordId: this._projectRecord?.getRecordId(),
|
|
111
|
+
entityName: this._taskEntityName,
|
|
112
|
+
ownerId: this._userId,
|
|
113
|
+
onGetSystemQueries: async () => {
|
|
114
|
+
return [];
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
provider.setColumns([{
|
|
118
|
+
name: 'talxis_name',
|
|
119
|
+
visualSizeFactor: 200
|
|
120
|
+
}, {
|
|
121
|
+
name: 'talxis_description',
|
|
122
|
+
visualSizeFactor: 300
|
|
123
|
+
}]);
|
|
124
|
+
return provider;
|
|
125
|
+
}
|
|
126
|
+
/** Returns the feature flags supplied at construction time, or an empty object (all features enabled) when omitted. */
|
|
127
|
+
onGetGridParameters() {
|
|
128
|
+
return this._gridParameters ?? {};
|
|
129
|
+
}
|
|
130
|
+
/** Returns a {@link DataverseGridCustomizerStrategy} that adds lookup-many cell renderers for columns whose name ends with the lookup-many suffix. */
|
|
131
|
+
onCreateGridCustomizerStrategy() {
|
|
132
|
+
return new DataverseGridCustomizerStrategy();
|
|
133
|
+
}
|
|
134
|
+
async _getProjectRecord() {
|
|
135
|
+
const projectRecord = this._params.projectRecord;
|
|
136
|
+
if (!projectRecord)
|
|
137
|
+
return undefined;
|
|
138
|
+
if (isSingleRecord(projectRecord)) {
|
|
139
|
+
return projectRecord;
|
|
140
|
+
}
|
|
141
|
+
const projectId = projectRecord.id;
|
|
142
|
+
const projectEntityName = projectRecord.entityName;
|
|
143
|
+
const metadata = await EntityDefinition.fromEntityName(projectEntityName);
|
|
144
|
+
//@ts-ignore - typings
|
|
145
|
+
const attributes = (await window.Xrm.Utility.getEntityMetadata(projectEntityName, metadata.Attributes.map(attr => attr.LogicalName))).Attributes.get().filter(attr => attr.IsValidForGrid);
|
|
146
|
+
const projectData = await window.Xrm.WebApi.retrieveRecord(projectEntityName, projectId, `?$select=${metadata.PrimaryNameAttribute}`);
|
|
147
|
+
const builder = new RecordBuilder({
|
|
148
|
+
data: projectData,
|
|
149
|
+
entityMetadata: metadata,
|
|
150
|
+
attributes: attributes
|
|
151
|
+
});
|
|
152
|
+
return builder.getRecord();
|
|
153
|
+
}
|
|
154
|
+
async _getSourceRecord() {
|
|
155
|
+
const sourceRecord = this._params.sourceRecord;
|
|
156
|
+
if (!sourceRecord) {
|
|
157
|
+
return undefined;
|
|
158
|
+
}
|
|
159
|
+
const sourceRecordId = isSingleRecord(sourceRecord) ? sourceRecord.getRecordId() : sourceRecord.id;
|
|
160
|
+
if (this._projectRecord && this._projectRecord.getRecordId() === sourceRecordId) {
|
|
161
|
+
return this._projectRecord;
|
|
162
|
+
}
|
|
163
|
+
if (isSingleRecord(sourceRecord)) {
|
|
164
|
+
return sourceRecord;
|
|
165
|
+
}
|
|
166
|
+
const result = await window.Xrm.WebApi.retrieveRecord(sourceRecord.entityName, sourceRecord.id);
|
|
167
|
+
const entityMetadata = await EntityDefinition.fromEntityName(sourceRecord.entityName);
|
|
168
|
+
//@ts-ignore - typings
|
|
169
|
+
const attributes = (await window.Xrm.Utility.getEntityMetadata(sourceRecord.entityName, entityMetadata.Attributes.map(attr => attr.LogicalName))).Attributes.get().filter(attr => attr.IsValidForGrid);
|
|
170
|
+
const builder = new RecordBuilder({
|
|
171
|
+
data: result,
|
|
172
|
+
entityMetadata: entityMetadata,
|
|
173
|
+
attributes: attributes
|
|
174
|
+
});
|
|
175
|
+
return builder.getRecord();
|
|
176
|
+
}
|
|
177
|
+
_getTaskEntityNameFromFetchXml(fetchXml) {
|
|
178
|
+
const fetchXmlBuilder = FetchXmlBuilder.fetch.fromXml(fetchXml);
|
|
179
|
+
return fetchXmlBuilder.entity.name;
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export { DataverseTaskGridDescriptor };
|
|
184
|
+
//# sourceMappingURL=DataverseTaskGridDescriptor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataverseTaskGridDescriptor.js","sources":["../../../../../src/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.ts"],"sourcesContent":["import { FetchXmlBuilder, IDataProvider, IRawRecord, IRecord, ISingleRecord, RecordBuilder } from \"@talxis/client-libraries\";\nimport { ICustomColumnsStrategy, IDeletedUserQueriesResult, ISavedQuery, ISavedQueryStrategy, ITaskDataProviderStrategy } from \"../../providers\";\nimport { IFieldMapping as IFieldMappingBase, ITaskGridDescriptor, ITaskGridParameters, ITaskStrategyDeps } from \"../../interfaces\";\nimport { IGridCustomizerStrategy } from \"../../components/grid\";\nimport { DataverseSavedQueryStrategy } from \"./DataverseSavedQueryStrategy\";\nimport { DataverseTaskStrategy } from \"./DataverseTaskStrategy\";\nimport { DataverseGridCustomizerStrategy } from \"./DataverseGridCustomizerStrategy\";\nimport { EntityDefinition } from \"@talxis/client-metadata\";\nimport { DataverseCustomColumnsStrategy } from \"./DataverseCustomColumnsStrategy\";\n\n\n/** Dataverse-specific field mapping. Extends the base with an optional project lookup column. */\nexport interface IFieldMapping extends Omit<IFieldMappingBase, 'stateCode'> {\n /** Logical name of the lookup attribute that points to the parent project record. Required when `projectRecord` is set on the descriptor. */\n projectId?: string;\n}\n\n/** Lightweight entity reference shape used when only logical name + id are available. */\nexport interface IEntityRecordReference {\n entityName: string;\n id: string;\n}\n\n/** Input accepted for source/project: either a fully hydrated record or an entity reference. */\nexport type RecordInput = IEntityRecordReference | ISingleRecord;\n\nconst isSingleRecord = (record: RecordInput | undefined): record is ISingleRecord => {\n return !!record && typeof (record as ISingleRecord).getRecordId === \"function\";\n};\n\n/** Constructor parameters for {@link DataverseTaskGridDescriptor}. */\nexport interface IDataverseTaskGridDescriptorParams {\n /** FetchXML that drives the initial data load. May use Liquid template variables (e.g. `{{ projectId }}`). */\n baseFetchXml: string;\n /** Maps logical entity attribute names to the roles expected by TaskGrid (e.g. `statecode` → `stateCode`). */\n fieldMapping: IFieldMapping;\n /** System (non-deletable) views exposed in the view switcher. At least one is required. */\n systemQueries: ISavedQuery[];\n /** Optional source record. If provided, it's data will be propagated into liquid fetch XML templates. */\n sourceRecord?: RecordInput;\n\n projectRecord?: RecordInput;\n\n height?: string;\n /** Fine-grained feature flags forwarded to the grid. See {@link ITaskGridParameters}. */\n gridParameters?: ITaskGridParameters;\n /** When set, the hierarchy is rooted at this task ID instead of showing all top-level tasks. */\n rootTaskId?: string;\n /** ID of the currently logged-in user. Used to scope user queries to the current owner. */\n userId?: string;\n /** Form ID to open when editing a single existing task. */\n editFormId?: string;\n /** Form ID to open when creating a new task via the dialog flow (non-inline). */\n createFormId?: string;\n /** Form ID to open for bulk-editing multiple selected tasks. */\n bulkEditFormId?: string;\n /** Set to `true` to enable cascade delete when deleting tasks with children. Defaults to `false`. */\n enableCascadeDelete?: boolean;\n /** Set to `true` to allow deletion of tasks that have child tasks. When `false`, such tasks are excluded from deletion and an error is returned. Defaults to `false`. */\n enableDeletingTasksWithChildren?: boolean;\n}\n\n/**\n * Ready-to-use {@link ITaskGridDescriptor} implementation for the Dataverse / Talxis platform.\n *\n * Wires together all required strategies — task CRUD, saved queries, grid customization — from\n * a single constructor parameter object. Pass an instance to `TaskGridDatasetControlFactory.createInstance`.\n *\n * @example\n * ```ts\n * const descriptor = new DataverseTaskGridDescriptor({\n * baseFetchXml: myFetchXml,\n * fieldMapping: { parentId: 'talxis_parenttaskid', subject: 'subject', stackRank: 'talxis_stackrank' },\n * systemQueries: [myDefaultView],\n * });\n * const control = await TaskGridDatasetControlFactory.createInstance({ taskGridDescriptor: descriptor, ... });\n * ```\n */\nexport class DataverseTaskGridDescriptor implements ITaskGridDescriptor {\n private _fetchXml!: string;\n private _fieldMapping!: IFieldMapping;\n private _systemQueries: ISavedQuery[] = [];\n private _taskEntityName!: string;\n private _editFormId?: string;\n private _createFormId?: string;\n private _bulkEditFormId?: string;\n private _userId?: string;\n private _rootTaskId?: string;\n private _projectRecord?: ISingleRecord;\n private _sourceRecord?: ISingleRecord;\n private _params!: IDataverseTaskGridDescriptorParams;\n private _gridParameters?: ITaskGridParameters;\n private _height?: string;\n private _onInitialize: () => Promise<IDataverseTaskGridDescriptorParams>;\n\n /** @param params — see {@link IDataverseTaskGridDescriptorParams} for full documentation of each option. */\n constructor(params: { onInitialize: () => Promise<IDataverseTaskGridDescriptorParams>; height?: string }) {\n this._onInitialize = params.onInitialize;\n this._height = params.height;\n }\n\n /** Resolves the project entity reference (fetches display name when not supplied). Called once by the factory before any strategy is created. */\n public async onLoadDependencies(): Promise<void> {\n const params = await this._onInitialize();\n this._params = params;\n this._systemQueries = params.systemQueries;\n this._fieldMapping = params.fieldMapping;\n this._userId = params.userId;\n this._fetchXml = params.baseFetchXml;\n this._rootTaskId = params.rootTaskId;\n this._editFormId = params.editFormId;\n this._createFormId = params.createFormId;\n this._bulkEditFormId = params.bulkEditFormId;\n this._gridParameters = params.gridParameters;\n this._taskEntityName = this._getTaskEntityNameFromFetchXml(params.baseFetchXml);\n this._projectRecord = await this._getProjectRecord();\n this._sourceRecord = await this._getSourceRecord();\n }\n\n /** Returns the field mapping with `stateCode` hard-coded to `\"statecode\"` (standard Dataverse attribute name). */\n public onGetFieldMapping(): IFieldMappingBase {\n return {\n ...this._fieldMapping,\n //dataverse uses this for all entities\n stateCode: 'statecode',\n }\n }\n\n //needs to be seperate from onGetGridParameters since it is also required for skeleton rendering before the instance is created\n public onGetHeight(): string | undefined {\n return this._height;\n }\n\n /** Returns a {@link DataverseSavedQueryStrategy} when `enableUserQueries` is `true`, otherwise a read-only stub that exposes only the system queries. */\n public onCreateSavedQueryStrategy(): ISavedQueryStrategy {\n if (this._gridParameters?.enableUserQueries) {\n return new DataverseSavedQueryStrategy({\n onGetSystemQueries: async () => this._systemQueries,\n ownerId: this._userId,\n entityName: this._taskEntityName,\n recordId: this._projectRecord?.getRecordId()\n });\n }\n return {\n onGetSystemQueries: async () => this._systemQueries,\n onGetUserQueries: async () => [],\n onDeleteUserQueries: function (queryIds: string[]): Promise<IDeletedUserQueriesResult> {\n throw new Error(\"Function not implemented.\");\n },\n onUpdateUserQuery: function (currentQuery: ISavedQuery): Promise<string | null> {\n throw new Error(\"Function not implemented.\");\n },\n onCreateUserQuery: function (newQuery: { name: string; description?: string; }, currentQuery: ISavedQuery): Promise<string | null> {\n throw new Error(\"Function not implemented.\");\n }\n }\n }\n\n public onCreateCustomColumnsStrategy(): ICustomColumnsStrategy | undefined {\n return new DataverseCustomColumnsStrategy({\n entityName: this._taskEntityName,\n recordId: this._projectRecord?.getRecordId(),\n })\n }\n\n /** Returns a {@link DataverseTaskStrategy} configured with the descriptor's FetchXML, form IDs, and project reference. */\n public onCreateTaskStrategy(deps: ITaskStrategyDeps): ITaskDataProviderStrategy {\n return new DataverseTaskStrategy({\n fetchXml: this._fetchXml,\n projectRecord: this._projectRecord,\n sourceRecord: this._sourceRecord,\n rootTaskId: this._rootTaskId,\n bulkEditFormId: this._bulkEditFormId,\n createFormId: this._createFormId,\n editFormId: this._editFormId,\n isCascadeDeleteEnabled: this._params.enableCascadeDelete ?? false,\n isDeletingTasksWithChildrenEnabled: this._params.enableDeletingTasksWithChildren ?? false,\n }, deps);\n }\n /** Returns a {@link DataverseSavedQueryStrategy} pre-configured as a data provider for the user-query creation/update dialog, with `talxis_name` and `talxis_description` columns. */\n public onCreateUserQueryDataProvider(): IDataProvider {\n const provider = new DataverseSavedQueryStrategy({\n recordId: this._projectRecord?.getRecordId(),\n entityName: this._taskEntityName,\n ownerId: this._userId,\n onGetSystemQueries: async () => {\n return []\n }\n })\n provider.setColumns([{\n name: 'talxis_name',\n visualSizeFactor: 200\n }, {\n name: 'talxis_description',\n visualSizeFactor: 300\n }]);\n return provider;\n }\n\n /** Returns the feature flags supplied at construction time, or an empty object (all features enabled) when omitted. */\n public onGetGridParameters(): ITaskGridParameters {\n return this._gridParameters ?? {};\n }\n\n /** Returns a {@link DataverseGridCustomizerStrategy} that adds lookup-many cell renderers for columns whose name ends with the lookup-many suffix. */\n public onCreateGridCustomizerStrategy(): IGridCustomizerStrategy {\n return new DataverseGridCustomizerStrategy();\n }\n\n private async _getProjectRecord(): Promise<ISingleRecord | undefined> {\n const projectRecord = this._params.projectRecord;\n if (!projectRecord) return undefined;\n if (isSingleRecord(projectRecord)) {\n return projectRecord;\n }\n\n const projectId = projectRecord.id;\n const projectEntityName = projectRecord.entityName;\n const metadata = await EntityDefinition.fromEntityName(projectEntityName);\n //@ts-ignore - typings\n const attributes = (await window.Xrm.Utility.getEntityMetadata(projectEntityName, metadata.Attributes.map(attr => attr.LogicalName))).Attributes.get().filter(attr => attr.IsValidForGrid);\n const projectData = await window.Xrm.WebApi.retrieveRecord(projectEntityName, projectId, `?$select=${metadata.PrimaryNameAttribute}`);\n const builder = new RecordBuilder({\n data: projectData,\n entityMetadata: metadata,\n attributes: attributes\n });\n return builder.getRecord();\n }\n\n private async _getSourceRecord(): Promise<ISingleRecord | undefined> {\n const sourceRecord = this._params.sourceRecord;\n if (!sourceRecord) {\n return undefined;\n }\n const sourceRecordId = isSingleRecord(sourceRecord) ? sourceRecord.getRecordId() : sourceRecord.id;\n if (this._projectRecord && this._projectRecord.getRecordId() === sourceRecordId) {\n return this._projectRecord;\n }\n\n if (isSingleRecord(sourceRecord)) {\n return sourceRecord;\n }\n const result = await window.Xrm.WebApi.retrieveRecord(sourceRecord.entityName, sourceRecord.id);\n const entityMetadata = await EntityDefinition.fromEntityName(sourceRecord.entityName);\n //@ts-ignore - typings\n const attributes = (await window.Xrm.Utility.getEntityMetadata(sourceRecord.entityName, entityMetadata.Attributes.map(attr => attr.LogicalName))).Attributes.get().filter(attr => attr.IsValidForGrid);\n\n const builder = new RecordBuilder({\n data: result,\n entityMetadata: entityMetadata,\n attributes: attributes\n });\n\n return builder.getRecord();\n }\n\n private _getTaskEntityNameFromFetchXml(fetchXml: string): string {\n const fetchXmlBuilder = FetchXmlBuilder.fetch.fromXml(fetchXml);\n return fetchXmlBuilder.entity.name;\n }\n\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
/// <reference types="@types/xrm" />
|
|
3
|
+
import { IRecord, IRawRecord, IAvailableColumnOptions, IAvailableRelatedColumn, IRecordSaveOperationResult, IColumn, ISingleRecord } from "@talxis/client-libraries";
|
|
4
|
+
import { ITaskDataProviderStrategy, ITaskDataProvider, IDeleteTasksResult, IOpenDatasetItemsResult } from "../../providers";
|
|
5
|
+
import { ITaskStrategyDeps } from "../..";
|
|
6
|
+
interface IFormParameters {
|
|
7
|
+
pageInput: Xrm.Navigation.PageInputEntityRecord;
|
|
8
|
+
navigationOptions: Xrm.Navigation.NavigationOptions;
|
|
9
|
+
}
|
|
10
|
+
/** Constructor parameters for {@link DataverseTaskStrategy}. */
|
|
11
|
+
export interface IDataverseTaskStrategyParams {
|
|
12
|
+
/** FetchXML used to load tasks. May contain Liquid template variables (e.g. `{{ projectId }}`). */
|
|
13
|
+
fetchXml: string;
|
|
14
|
+
/** When `false`, the edit form is opened in read-only mode. Defaults to `true`. */
|
|
15
|
+
isEditingEnabled?: boolean;
|
|
16
|
+
/** When `true`, deleting a task will also delete its child tasks. Defaults to `false`. */
|
|
17
|
+
isCascadeDeleteEnabled?: boolean;
|
|
18
|
+
/** When `true`, deleting tasks with children is enabled. Defaults to `false`. */
|
|
19
|
+
isDeletingTasksWithChildrenEnabled?: boolean;
|
|
20
|
+
/** Form ID to open when editing a single existing task. */
|
|
21
|
+
editFormId?: string;
|
|
22
|
+
/** Form ID to open when creating a new task via dialog (non-inline). */
|
|
23
|
+
createFormId?: string;
|
|
24
|
+
/** Form ID to open when bulk-editing multiple selected tasks. */
|
|
25
|
+
bulkEditFormId?: string;
|
|
26
|
+
/** Project record reference. When provided, new tasks are pre-linked to this project. */
|
|
27
|
+
projectRecord?: ISingleRecord;
|
|
28
|
+
sourceRecord?: ISingleRecord;
|
|
29
|
+
/** When set, the task hierarchy is rooted at this task ID. */
|
|
30
|
+
rootTaskId?: string;
|
|
31
|
+
/**
|
|
32
|
+
* Optional hook to intercept and override the `Xrm.Navigation.navigateTo` parameters for
|
|
33
|
+
* any form operation (`create`, `edit`, `bulkEdit`, `open`).
|
|
34
|
+
* Return the modified `pageInput` and `navigationOptions` to customize the dialog.
|
|
35
|
+
*/
|
|
36
|
+
form?: {
|
|
37
|
+
onGetFormParameters?: (operation: 'create' | 'edit' | 'bulkEdit' | 'open', defaultParameters: IFormParameters) => IFormParameters;
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
/** Extends {@link ITaskDataProviderStrategy} with a Dataverse-specific accessor for the project reference. */
|
|
41
|
+
export interface IDataverseTaskStrategy extends ITaskDataProviderStrategy {
|
|
42
|
+
/** Returns the resolved project entity reference, or `null` if no project was provided at construction time. */
|
|
43
|
+
getProjectRecord(): ISingleRecord | null;
|
|
44
|
+
getSourceRecord(): ISingleRecord | null;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Ready-to-use {@link ITaskDataProviderStrategy} implementation for the Dataverse / Talxis platform.
|
|
48
|
+
*
|
|
49
|
+
* Handles all task CRUD operations, drag-and-drop reordering (via LexoRank), template-based creation,
|
|
50
|
+
* and lookup-many column rendering — all backed by the Xrm WebApi and FetchXML.
|
|
51
|
+
*
|
|
52
|
+
* Normally instantiated automatically by {@link DataverseTaskGridDescriptor}. Construct directly only
|
|
53
|
+
* when you need to pass a custom `formStrategy` or override specific behaviour.
|
|
54
|
+
*/
|
|
55
|
+
export declare class DataverseTaskStrategy implements IDataverseTaskStrategy {
|
|
56
|
+
private _fetchXml;
|
|
57
|
+
private _entitySetName;
|
|
58
|
+
private _entityName;
|
|
59
|
+
private _projectReference?;
|
|
60
|
+
private _projectRecord?;
|
|
61
|
+
private _projectMetadata?;
|
|
62
|
+
private _rootTaskId?;
|
|
63
|
+
private _taskTree;
|
|
64
|
+
private _provider;
|
|
65
|
+
private _editFormId?;
|
|
66
|
+
private _createFormId?;
|
|
67
|
+
private _bulkEditFormId?;
|
|
68
|
+
private _fetchXmlDataProvider;
|
|
69
|
+
private _isInlineCreateEnabled;
|
|
70
|
+
private _isEditingEnabled;
|
|
71
|
+
private _isDeletingTasksWithChildrenEnabled;
|
|
72
|
+
private _isCascadeDeleteEnabled;
|
|
73
|
+
private _lookupManyColumns;
|
|
74
|
+
private _customColumns;
|
|
75
|
+
private _sourceRecord?;
|
|
76
|
+
private _customColumnsDataProvider?;
|
|
77
|
+
private _lookupManyHandlers;
|
|
78
|
+
private _getFormParameters;
|
|
79
|
+
/** @param params — see {@link IDataverseTaskStrategyParams} for full documentation of each option. */
|
|
80
|
+
constructor(params: IDataverseTaskStrategyParams, deps: ITaskStrategyDeps);
|
|
81
|
+
onGetRawRecords(ids: string[], select?: string): Promise<IRawRecord[]>;
|
|
82
|
+
getProjectRecord(): ISingleRecord | null;
|
|
83
|
+
getSourceRecord(): ISingleRecord | null;
|
|
84
|
+
private _harmonizenizeCustomColumnsData;
|
|
85
|
+
private _harmonizeLookupManyData;
|
|
86
|
+
private _convertLookupManyToEntityReference;
|
|
87
|
+
private _getRawRecordsByIds;
|
|
88
|
+
onInitialize(provider: ITaskDataProvider): Promise<{
|
|
89
|
+
columns: IColumn[];
|
|
90
|
+
rawData: IRawRecord[];
|
|
91
|
+
metadata: any;
|
|
92
|
+
}>;
|
|
93
|
+
private _getLookupManyColumns;
|
|
94
|
+
private _getCustomColumns;
|
|
95
|
+
private _restoreVirtualColumnMetadata;
|
|
96
|
+
private _injectLookupManyFilterOperators;
|
|
97
|
+
private _getFieldMapping;
|
|
98
|
+
private _getFetchXml;
|
|
99
|
+
onGetAvailableColumns(options?: IAvailableColumnOptions): Promise<IColumn[]>;
|
|
100
|
+
onGetAvailableRelatedColumns(): Promise<IAvailableRelatedColumn[]>;
|
|
101
|
+
onCreateTask(parentTaskId?: string): Promise<IRawRecord | null>;
|
|
102
|
+
onDeleteTasks(taskIds: string[]): Promise<IDeleteTasksResult | null>;
|
|
103
|
+
onCreateTemplateFromTask(taskId: string): Promise<IRawRecord | null>;
|
|
104
|
+
onCreateTasksFromTemplate(templateId: string, parentTaskId?: string): Promise<IRawRecord[] | null>;
|
|
105
|
+
onOpenDatasetItems(entityReferences: ComponentFramework.EntityReference[], isTaskEntity: boolean): Promise<IOpenDatasetItemsResult | null>;
|
|
106
|
+
onMoveTask(movingTaskId: string, movingToTaskId: string, position: "above" | "below" | "child"): Promise<IRawRecord[] | null>;
|
|
107
|
+
/**
|
|
108
|
+
* Saves a single dirty field on a task record.
|
|
109
|
+
* Lookup-many fields are persisted through their dedicated {@link LookupManyHandler}; all other fields use the standard FetchXML provider save path.
|
|
110
|
+
* TaskGrid uses auto-save, so exactly one dirty field is expected per call.
|
|
111
|
+
*/
|
|
112
|
+
onRecordSave(record: IRecord): Promise<IRecordSaveOperationResult>;
|
|
113
|
+
/** Returns `true` when the task's `stateCode` attribute equals `0` (active). */
|
|
114
|
+
onIsRecordActive(recordId: string): boolean;
|
|
115
|
+
/** Returns the root task ID used to scope the displayed hierarchy. */
|
|
116
|
+
onGetRootTaskId?(): string | undefined;
|
|
117
|
+
private _getNavigationalPropertyName;
|
|
118
|
+
private _getFormNavigationOptions;
|
|
119
|
+
private _getLookupManyHandlerForColumn;
|
|
120
|
+
private _editSingleTask;
|
|
121
|
+
private _editMultipleTasks;
|
|
122
|
+
private _updateStackRank;
|
|
123
|
+
}
|
|
124
|
+
export {};
|