@talxis/base-controls 1.2508.1 → 1.2509.1-alpha.0
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/DatasetControl.js +59 -55
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/DatasetControl/DatasetControlModel.d.ts +37 -0
- package/dist/components/DatasetControl/DatasetControlModel.js +110 -0
- package/dist/components/DatasetControl/DatasetControlModel.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +3 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +166 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +16 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +59 -0
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/interfaces.d.ts +32 -0
- package/dist/components/DatasetControl/Filtering/styles.d.ts +16 -0
- package/dist/components/DatasetControl/Filtering/styles.js +23 -0
- package/dist/components/DatasetControl/Filtering/styles.js.map +1 -0
- package/dist/components/DatasetControl/Filtering/translations.d.ts +154 -0
- package/dist/components/DatasetControl/Filtering/translations.js +43 -0
- package/dist/components/DatasetControl/Filtering/translations.js.map +1 -0
- package/dist/components/DatasetControl/Header/Header.d.ts +5 -0
- package/dist/components/DatasetControl/Header/Header.js +89 -0
- package/dist/components/DatasetControl/Header/Header.js.map +1 -0
- package/dist/components/DatasetControl/Header/styles.d.ts +22 -0
- package/dist/components/DatasetControl/Header/styles.js +29 -0
- package/dist/components/DatasetControl/Header/styles.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/Pagination.d.ts +5 -0
- package/dist/components/DatasetControl/Pagination/Pagination.js +91 -0
- package/dist/components/DatasetControl/Pagination/Pagination.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +10 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.js +42 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/styles.d.ts +17 -0
- package/dist/components/DatasetControl/Pagination/styles.js +23 -0
- package/dist/components/DatasetControl/Pagination/styles.js.map +1 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +4 -12
- package/dist/components/DatasetControl/QuickFind/QuickFind.js +36 -32
- package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -1
- package/dist/components/DatasetControl/QuickFind/styles.d.ts +1 -1
- package/dist/components/DatasetControl/QuickFind/styles.js +2 -2
- package/dist/components/DatasetControl/QuickFind/styles.js.map +1 -1
- package/dist/components/DatasetControl/index.d.ts +0 -1
- package/dist/components/DatasetControl/index.js +0 -2
- package/dist/components/DatasetControl/index.js.map +1 -1
- package/dist/components/DatasetControl/interfaces.d.ts +54 -20
- package/dist/components/DatasetControl/styles.d.ts +4 -11
- package/dist/components/DatasetControl/styles.js +5 -11
- package/dist/components/DatasetControl/styles.js.map +1 -1
- package/dist/components/DatasetControl/translations.d.ts +44 -0
- package/dist/components/DatasetControl/translations.js +15 -1
- package/dist/components/DatasetControl/translations.js.map +1 -1
- package/dist/components/DatasetControl/useModel.d.ts +4 -0
- package/dist/components/DatasetControl/useModel.js +9 -0
- package/dist/components/DatasetControl/useModel.js.map +1 -0
- package/dist/components/DateTime/translations.d.ts +1 -0
- package/dist/components/Duration/durationOptions.d.ts +1 -0
- package/dist/components/Grid/{core/components/Cell → cells/cell}/Cell.d.ts +3 -3
- package/dist/components/Grid/cells/cell/Cell.js +302 -0
- package/dist/components/Grid/cells/cell/Cell.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.d.ts +2 -2
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.js +41 -32
- package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -0
- package/dist/components/Grid/cells/cell/content/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.d.ts +1 -1
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/Notifications.js +5 -5
- package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.js +1 -1
- package/dist/components/Grid/cells/cell/notifications/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.d.ts +34 -3
- package/dist/components/Grid/cells/cell/styles.js +78 -0
- package/dist/components/Grid/cells/cell/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/ColumnHeader → column-headers/column-header}/ColumnHeader.d.ts +1 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +82 -0
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -0
- package/dist/components/Grid/{sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts → column-headers/column-header/ColumnHeaderContextualMenu.d.ts} +3 -3
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +115 -0
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +1 -0
- package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/FilterCallout.d.ts +1 -1
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js +103 -0
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +1 -0
- package/dist/components/Grid/column-headers/column-header/styles.d.ts +84 -0
- package/dist/components/Grid/{filtering/components/FilterCallout → column-headers/column-header}/styles.js +20 -11
- package/dist/components/Grid/column-headers/column-header/styles.js.map +1 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +2 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +50 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +1 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +1 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +6 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +15 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +1 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +6 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +13 -0
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/AgGrid.d.ts → grid/Grid.d.ts} +2 -2
- package/dist/components/Grid/grid/Grid.js +64 -0
- package/dist/components/Grid/grid/Grid.js.map +1 -0
- package/dist/components/Grid/grid/GridContext.d.ts +3 -0
- package/dist/components/Grid/grid/GridContext.js.map +1 -0
- package/dist/components/Grid/grid/GridModel.d.ts +118 -0
- package/dist/components/Grid/grid/GridModel.js +787 -0
- package/dist/components/Grid/grid/GridModel.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/model/Comparator.d.ts → grid/ValueComparator.d.ts} +1 -1
- package/dist/components/Grid/{core/components/AgGrid/model/Comparator.js → grid/ValueComparator.js} +7 -1
- package/dist/components/Grid/grid/ValueComparator.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/context.d.ts → grid/ag-grid/AgGridContext.d.ts} +2 -2
- package/dist/components/Grid/{core/components/AgGrid/context.js → grid/ag-grid/AgGridContext.js} +1 -1
- package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +87 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +554 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +7 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +38 -0
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +1 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +2 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +9 -0
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid → grid}/styles.d.ts +24 -4
- package/dist/components/Grid/{core/components/AgGrid → grid}/styles.js +37 -6
- package/dist/components/Grid/grid/styles.js.map +1 -0
- package/dist/components/Grid/grid/useGridInstance.d.ts +2 -0
- package/dist/components/Grid/{core/hooks → grid}/useGridInstance.js +2 -2
- package/dist/components/Grid/grid/useGridInstance.js.map +1 -0
- package/dist/components/Grid/index.d.ts +1 -1
- package/dist/components/Grid/index.js +1 -1
- package/dist/components/Grid/interfaces.d.ts +10 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +3 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.js +33 -0
- package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +1 -0
- package/dist/components/Grid/loading/full-row/styles.d.ts +9 -0
- package/dist/components/Grid/loading/full-row/styles.js +16 -0
- package/dist/components/Grid/loading/full-row/styles.js.map +1 -0
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +13 -0
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +1 -0
- package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.d.ts +1 -1
- package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay → overlays/empty-records}/styles.js +1 -1
- package/dist/components/Grid/overlays/empty-records/styles.js.map +1 -0
- package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +1 -0
- package/dist/components/Grid/translations.d.ts +20 -180
- package/dist/components/Grid/translations.js +5 -48
- package/dist/components/Grid/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/GridCellRenderer.js +99 -282
- package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
- package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +52 -0
- package/dist/components/GridCellRenderer/GridCellRendererModel.js +211 -0
- package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +10 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +53 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +20 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +29 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +7 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +76 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +18 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +25 -0
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +3 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +52 -0
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +1666 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js +31 -0
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/interfaces.d.ts +54 -42
- package/dist/components/GridCellRenderer/properties/Email.d.ts +5 -0
- package/dist/components/GridCellRenderer/properties/Email.js +15 -0
- package/dist/components/GridCellRenderer/properties/Email.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/File.d.ts +20 -0
- package/dist/components/GridCellRenderer/properties/File.js +99 -0
- package/dist/components/GridCellRenderer/properties/File.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Image.d.ts +4 -0
- package/dist/components/GridCellRenderer/properties/Image.js +15 -0
- package/dist/components/GridCellRenderer/properties/Image.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Lookup.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js +19 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +11 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +4 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.js +10 -0
- package/dist/components/GridCellRenderer/properties/MultilineText.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.js +11 -0
- package/dist/components/GridCellRenderer/properties/OptionSet.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +8 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js +19 -0
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Phone.d.ts +9 -0
- package/dist/components/GridCellRenderer/properties/Phone.js +15 -0
- package/dist/components/GridCellRenderer/properties/Phone.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Property.d.ts +20 -0
- package/dist/components/GridCellRenderer/properties/Property.js +54 -0
- package/dist/components/GridCellRenderer/properties/Property.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +6 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.js +11 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/Url.d.ts +5 -0
- package/dist/components/GridCellRenderer/properties/Url.js +15 -0
- package/dist/components/GridCellRenderer/properties/Url.js.map +1 -0
- package/dist/components/GridCellRenderer/styles.d.ts +32 -60
- package/dist/components/GridCellRenderer/styles.js +67 -77
- package/dist/components/GridCellRenderer/styles.js.map +1 -1
- package/dist/components/GridCellRenderer/translations.d.ts +1 -1
- package/dist/components/GridCellRenderer/translations.js +30 -32
- package/dist/components/GridCellRenderer/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/useModel.d.ts +4 -0
- package/dist/components/GridCellRenderer/useModel.js +9 -0
- package/dist/components/GridCellRenderer/useModel.js.map +1 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +3 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.js +133 -0
- package/dist/components/GridColumnHeader/GridColumnHeader.js.map +1 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +26 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +87 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +1 -0
- package/dist/components/GridColumnHeader/interfaces.d.ts +45 -0
- package/dist/components/GridColumnHeader/styles.d.ts +34 -0
- package/dist/components/GridColumnHeader/styles.js +52 -0
- package/dist/components/GridColumnHeader/styles.js.map +1 -0
- package/dist/components/GridColumnHeader/translations.d.ts +26 -0
- package/dist/components/GridColumnHeader/translations.js +29 -0
- package/dist/components/GridColumnHeader/translations.js.map +1 -0
- package/dist/components/Lookup/hooks/useFetchXml.d.ts +1 -0
- package/dist/components/Lookup/hooks/useLookup.d.ts +1 -0
- package/dist/components/Lookup/interfaces.d.ts +1 -0
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControl.d.ts +3 -0
- package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
- package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +11 -6
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
- package/dist/components/NestedControlRenderer/interfaces.d.ts +4 -0
- package/dist/components/NestedControlRenderer/properties/FileProperty.js +1 -1
- package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -1
- package/dist/components/NestedControlRenderer/properties/Property.d.ts +1 -0
- package/dist/components/OptionSet/OptionSet.js +5 -4
- package/dist/components/OptionSet/OptionSet.js.map +1 -1
- package/dist/components/OptionSet/shared.d.ts +1 -0
- package/dist/components/Ribbon/Ribbon.d.ts +3 -0
- package/dist/components/Ribbon/Ribbon.js +97 -0
- package/dist/components/Ribbon/Ribbon.js.map +1 -0
- package/dist/components/Ribbon/RibbonModel.d.ts +4 -0
- package/dist/components/Ribbon/interfaces.d.ts +19 -0
- package/dist/components/Ribbon/styles.d.ts +11 -0
- package/dist/components/Ribbon/styles.js +18 -0
- package/dist/components/Ribbon/styles.js.map +1 -0
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/index.js +1 -3
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useControl.d.ts +1 -0
- package/dist/hooks/useControl.js +1 -0
- package/dist/hooks/useControl.js.map +1 -1
- package/dist/hooks/useControlSizing.d.ts +1 -0
- package/dist/hooks/useEventEmitter.d.ts +2 -0
- package/dist/hooks/useEventEmitter.js +18 -0
- package/dist/hooks/useEventEmitter.js.map +1 -0
- package/dist/hooks/useInputBasedControl.js +2 -1
- package/dist/hooks/useInputBasedControl.js.map +1 -1
- package/dist/index.d.ts +153 -288
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/interfaces/context.d.ts +1 -0
- package/dist/interfaces/property.d.ts +2 -1
- package/dist/utils/BaseControls.d.ts +2 -1
- package/dist/utils/BaseControls.js +5 -1
- package/dist/utils/BaseControls.js.map +1 -1
- package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +1 -0
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +1 -5
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +4 -49
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
- package/dist/utils/theme/ControlTheme.d.ts +1 -0
- package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -0
- package/dist/utils/theme/hooks/useControlTheme.js +2 -1
- package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
- package/package.json +9 -5
- package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +0 -3
- package/dist/components/DatasetControl/Paging/DatasetPaging.js +0 -69
- package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +0 -1
- package/dist/components/DatasetControl/Paging/Paging.d.ts +0 -26
- package/dist/components/DatasetControl/Paging/Paging.js +0 -80
- package/dist/components/DatasetControl/Paging/Paging.js.map +0 -1
- package/dist/components/DatasetControl/Paging/index.d.ts +0 -3
- package/dist/components/DatasetControl/Paging/index.js +0 -3
- package/dist/components/DatasetControl/Paging/index.js.map +0 -1
- package/dist/components/DatasetControl/Paging/interfaces.d.ts +0 -16
- package/dist/components/DatasetControl/Paging/styles.d.ts +0 -35
- package/dist/components/DatasetControl/Paging/styles.js +0 -41
- package/dist/components/DatasetControl/Paging/styles.js.map +0 -1
- package/dist/components/DatasetControl/Paging/translations.d.ts +0 -38
- package/dist/components/DatasetControl/Paging/translations.js +0 -14
- package/dist/components/DatasetControl/Paging/translations.js.map +0 -1
- package/dist/components/Grid/Grid.d.ts +0 -3
- package/dist/components/Grid/Grid.js +0 -37
- package/dist/components/Grid/Grid.js.map +0 -1
- package/dist/components/Grid/GridContext.d.ts +0 -3
- package/dist/components/Grid/GridContext.js.map +0 -1
- package/dist/components/Grid/aggregation/Aggregation.d.ts +0 -18
- package/dist/components/Grid/aggregation/Aggregation.js +0 -129
- package/dist/components/Grid/aggregation/Aggregation.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +0 -203
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +0 -12
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/context.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +0 -52
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +0 -343
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +0 -1
- package/dist/components/Grid/core/components/AgGrid/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Cell.js +0 -158
- package/dist/components/Grid/core/components/Cell/Cell.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/styles.js +0 -59
- package/dist/components/Grid/core/components/Cell/styles.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +0 -61
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +0 -2
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +0 -50
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +0 -1
- package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +0 -42
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +0 -48
- package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/Constants.d.ts +0 -2
- package/dist/components/Grid/core/components/Dialog/Constants.js +0 -9
- package/dist/components/Grid/core/components/Dialog/Constants.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/Styles.d.ts +0 -2
- package/dist/components/Grid/core/components/Dialog/Styles.js +0 -61
- package/dist/components/Grid/core/components/Dialog/Styles.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/index.d.ts +0 -4
- package/dist/components/Grid/core/components/Dialog/index.js +0 -16
- package/dist/components/Grid/core/components/Dialog/index.js.map +0 -1
- package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +0 -6
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js +0 -2
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +0 -1
- package/dist/components/Grid/core/components/Save/Save.d.ts +0 -2
- package/dist/components/Grid/core/components/Save/Save.js +0 -59
- package/dist/components/Grid/core/components/Save/Save.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +0 -7
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +0 -73
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +0 -11
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +0 -231
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +0 -39
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +0 -45
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +0 -31
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +0 -37
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Save/styles.d.ts +0 -35
- package/dist/components/Grid/core/components/Save/styles.js +0 -42
- package/dist/components/Grid/core/components/Save/styles.js.map +0 -1
- package/dist/components/Grid/core/controllers/useGridController.d.ts +0 -7
- package/dist/components/Grid/core/controllers/useGridController.js +0 -29
- package/dist/components/Grid/core/controllers/useGridController.js.map +0 -1
- package/dist/components/Grid/core/enums/ConditionOperator.d.ts +0 -48
- package/dist/components/Grid/core/enums/ConditionOperator.js +0 -52
- package/dist/components/Grid/core/enums/ConditionOperator.js.map +0 -1
- package/dist/components/Grid/core/enums/DataType.d.ts +0 -25
- package/dist/components/Grid/core/enums/DataType.js +0 -30
- package/dist/components/Grid/core/enums/DataType.js.map +0 -1
- package/dist/components/Grid/core/hooks/useGridInstance.d.ts +0 -2
- package/dist/components/Grid/core/hooks/useGridInstance.js.map +0 -1
- package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +0 -2
- package/dist/components/Grid/core/hooks/useRefreshCallback.js +0 -20
- package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +0 -1
- package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +0 -13
- package/dist/components/Grid/core/interfaces/IGridContext.d.ts +0 -4
- package/dist/components/Grid/core/model/Grid.d.ts +0 -81
- package/dist/components/Grid/core/model/Grid.js +0 -513
- package/dist/components/Grid/core/model/Grid.js.map +0 -1
- package/dist/components/Grid/core/model/GridDependency.d.ts +0 -13
- package/dist/components/Grid/core/model/GridDependency.js +0 -28
- package/dist/components/Grid/core/model/GridDependency.js.map +0 -1
- package/dist/components/Grid/core/services/KeyListener.d.ts +0 -12
- package/dist/components/Grid/core/services/KeyListener.js +0 -31
- package/dist/components/Grid/core/services/KeyListener.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +0 -59
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +0 -56
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +0 -73
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +0 -7
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +0 -90
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +0 -48
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +0 -146
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +0 -11
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +0 -53
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +0 -9
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +0 -31
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +0 -10
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +0 -294
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +0 -1
- package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +0 -35
- package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +0 -1
- package/dist/components/Grid/filtering/constants.d.ts +0 -5
- package/dist/components/Grid/filtering/constants.js +0 -53
- package/dist/components/Grid/filtering/constants.js.map +0 -1
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +0 -21
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +0 -44
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +0 -1
- package/dist/components/Grid/filtering/model/Condition.d.ts +0 -49
- package/dist/components/Grid/filtering/model/Condition.js +0 -347
- package/dist/components/Grid/filtering/model/Condition.js.map +0 -1
- package/dist/components/Grid/filtering/model/Filtering.d.ts +0 -11
- package/dist/components/Grid/filtering/model/Filtering.js +0 -78
- package/dist/components/Grid/filtering/model/Filtering.js.map +0 -1
- package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +0 -34
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js +0 -195
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js.map +0 -1
- package/dist/components/Grid/selection/model/Selection.d.ts +0 -12
- package/dist/components/Grid/selection/model/Selection.js +0 -54
- package/dist/components/Grid/selection/model/Selection.js.map +0 -1
- package/dist/components/Grid/sorting/Sorting.d.ts +0 -10
- package/dist/components/Grid/sorting/Sorting.js +0 -31
- package/dist/components/Grid/sorting/Sorting.js.map +0 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +0 -157
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +0 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +0 -9
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +0 -15
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +0 -1
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +0 -9
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +0 -22
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +0 -2
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +0 -11
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +0 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +0 -2
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +0 -5
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +0 -75
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/index.d.ts +0 -1
- package/dist/components/GridCellRenderer/OptionSet/index.js +0 -2
- package/dist/components/GridCellRenderer/OptionSet/index.js.map +0 -1
- package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +0 -20
- package/dist/components/GridCellRenderer/OptionSet/styles.js +0 -29
- package/dist/components/GridCellRenderer/OptionSet/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +0 -7
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js +0 -32
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +0 -13
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +0 -103
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +0 -1
- package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +0 -13
- package/dist/components/GridCellRenderer/RecordCommands/styles.js +0 -32
- package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/useComponentProps.d.ts +0 -6
- package/dist/components/GridCellRenderer/useComponentProps.js +0 -10
- package/dist/components/GridCellRenderer/useComponentProps.js.map +0 -1
- /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +0 -0
- /package/dist/components/Grid/{core/components/Cell/Notifications → cells/cell/notifications}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +0 -0
- /package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +0 -0
- /package/dist/components/Grid/{GridContext.js → grid/GridContext.js} +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts → overlays/empty-records/EmptyRecordsOverlay.d.ts} +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.d.ts +0 -0
- /package/dist/components/Grid/{core/components/AgGrid/components/LoadingOverlay → overlays/loading}/LoadingOverlay.js +0 -0
|
@@ -1,71 +1,75 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
2
|
import { useRef, useMemo } from 'react';
|
|
3
3
|
import { ThemeProvider } from '@fluentui/react';
|
|
4
4
|
import { datasetControlTranslations } from './translations.js';
|
|
5
|
-
import { getDatasetControlStyles } from './styles.js';
|
|
6
|
-
import { QuickFind } from './QuickFind/QuickFind.js';
|
|
7
5
|
import { useRerender } from '@talxis/react-components';
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
6
|
+
import { DatasetControlModel } from './DatasetControlModel.js';
|
|
7
|
+
import { ModelContext } from './useModel.js';
|
|
8
|
+
import { Pagination } from './Pagination/Pagination.js';
|
|
9
|
+
import { getDatasetControlStyles } from './styles.js';
|
|
10
|
+
import { Header } from './Header/Header.js';
|
|
11
|
+
import { useEventEmitter } from '../../hooks/useEventEmitter.js';
|
|
10
12
|
import { useControl } from '../../hooks/useControl.js';
|
|
11
13
|
|
|
12
|
-
const client = new Client();
|
|
13
14
|
const DatasetControl = (props) => {
|
|
14
15
|
const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
16
|
+
const propsRef = useRef(props);
|
|
17
|
+
propsRef.current = props;
|
|
18
|
+
const model = useMemo(() => new DatasetControlModel({
|
|
19
|
+
getProps: () => propsRef.current,
|
|
20
|
+
getLabels: () => labels,
|
|
21
|
+
}), []);
|
|
19
22
|
const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
23
|
+
const rerender = useRerender();
|
|
24
|
+
const styles = useMemo(() => getDatasetControlStyles(props.parameters.Height?.raw), [props.parameters.Height?.raw]);
|
|
25
|
+
const dataset = model.getDataset();
|
|
26
|
+
useEventEmitter(dataset, 'onNewDataLoaded', rerender);
|
|
27
|
+
useEventEmitter(dataset, 'onRenderRequested', rerender);
|
|
28
|
+
useEventEmitter(dataset, 'onBeforeNewDataLoaded', rerender);
|
|
26
29
|
const componentProps = onOverrideComponentProps({
|
|
27
|
-
|
|
28
|
-
if (dataset.isVirtual()) {
|
|
29
|
-
dataset.paging.loadExactPage(dataset.paging.pageNumber);
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
containerProps: {
|
|
33
|
-
theme: theme,
|
|
34
|
-
className: styles.datasetControlRoot,
|
|
35
|
-
},
|
|
36
|
-
headerProps: {
|
|
37
|
-
headerContainerProps: {
|
|
38
|
-
className: styles.headerRoot
|
|
39
|
-
},
|
|
40
|
-
onRender: (renderQuickFind) => renderQuickFind(),
|
|
41
|
-
onGetQuickFindProps: (props) => props
|
|
42
|
-
},
|
|
43
|
-
onRenderPagination: (props, renderPagination) => renderPagination(props)
|
|
30
|
+
onRender: (props, defaultRender) => defaultRender(props),
|
|
44
31
|
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (dataset.isVirtual() && props.parameters.EnableQuickFind?.raw) {
|
|
54
|
-
return true;
|
|
32
|
+
const isFooterVisible = () => {
|
|
33
|
+
switch (true) {
|
|
34
|
+
case model.isPaginationVisible():
|
|
35
|
+
case model.isRecordCountVisible():
|
|
36
|
+
case model.isPageSizeSwitcherVisible():
|
|
37
|
+
return true;
|
|
38
|
+
default:
|
|
39
|
+
return false;
|
|
55
40
|
}
|
|
56
|
-
return false;
|
|
57
41
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
42
|
+
const isPaginationVisible = () => {
|
|
43
|
+
return isFooterVisible();
|
|
44
|
+
};
|
|
45
|
+
return jsx(ModelContext.Provider, { value: model, children: componentProps.onRender({
|
|
46
|
+
container: {
|
|
47
|
+
theme: theme,
|
|
48
|
+
className: styles.datasetControlRoot
|
|
49
|
+
},
|
|
50
|
+
onRenderHeader: (props, defaultRender) => defaultRender(props),
|
|
51
|
+
onRenderFooter: (props, defaultRender) => defaultRender(props),
|
|
52
|
+
onRenderControlContainer: (props, defaultRender) => defaultRender(props)
|
|
53
|
+
}, (props) => {
|
|
54
|
+
return jsxs(ThemeProvider, { ...props.container, children: [jsx(Header, { onRenderHeader: props.onRenderHeader }), props.onRenderControlContainer({
|
|
55
|
+
controlContainerProps: {
|
|
56
|
+
className: styles.controlContainer
|
|
57
|
+
},
|
|
58
|
+
}, (props) => {
|
|
59
|
+
return jsx("div", { ...props.controlContainerProps, children: propsRef.current.onGetControlComponent(propsRef.current) });
|
|
60
|
+
}), props.onRenderFooter({
|
|
61
|
+
footerContainerProps: {
|
|
62
|
+
className: styles.footer
|
|
63
|
+
},
|
|
64
|
+
onRenderPagination: (props, defaultRender) => defaultRender(props)
|
|
65
|
+
}, (props) => {
|
|
66
|
+
if (!isFooterVisible()) {
|
|
67
|
+
return jsx(Fragment, {});
|
|
68
|
+
}
|
|
69
|
+
return jsx("div", { ...props.footerContainerProps, children: isPaginationVisible() &&
|
|
70
|
+
jsx(Pagination, { onRenderPagination: props.onRenderPagination }) });
|
|
71
|
+
})] });
|
|
72
|
+
}) });
|
|
69
73
|
};
|
|
70
74
|
|
|
71
75
|
export { DatasetControl };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport {
|
|
1
|
+
{"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useEffect, useMemo, useRef } from \"react\";\nimport { useControl } from \"../../hooks\";\nimport { ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { DatasetControlModel } from \"./DatasetControlModel\";\nimport { ModelContext } from \"./useModel\";\nimport { Pagination } from \"./Pagination/Pagination\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Header } from \"./Header/Header\";\nimport { useEventEmitter } from \"../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\n\nexport const DatasetControl = (props: IDatasetControl) => {\n const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);\n const propsRef = useRef<IDatasetControl>(props);\n propsRef.current = props;\n const model = useMemo(() => new DatasetControlModel({\n getProps: () => propsRef.current,\n getLabels: () => labels,\n }), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const rerender = useRerender();\n const styles = useMemo(() => getDatasetControlStyles(props.parameters.Height?.raw), [props.parameters.Height?.raw]);\n const dataset = model.getDataset();\n \n useEventEmitter<IDataProviderEventListeners>(dataset, 'onNewDataLoaded', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onRenderRequested', rerender);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onBeforeNewDataLoaded', rerender);\n\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n const isFooterVisible = () => {\n switch (true) {\n case model.isPaginationVisible():\n case model.isRecordCountVisible():\n case model.isPageSizeSwitcherVisible():\n return true;\n default:\n return false;\n }\n }\n\n const isPaginationVisible = () => {\n return isFooterVisible();\n }\n\n return <ModelContext.Provider value={model}>\n {componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetControlRoot\n },\n onRenderHeader: (props, defaultRender) => defaultRender(props),\n onRenderFooter: (props, defaultRender) => defaultRender(props),\n onRenderControlContainer: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <ThemeProvider {...props.container}>\n <Header onRenderHeader={props.onRenderHeader} />\n {props.onRenderControlContainer({\n controlContainerProps: {\n className: styles.controlContainer\n },\n\n }, (props) => {\n return <div {...props.controlContainerProps}>\n {propsRef.current.onGetControlComponent(propsRef.current)}\n </div>\n })}\n {props.onRenderFooter({\n footerContainerProps: {\n className: styles.footer\n },\n onRenderPagination: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n if (!isFooterVisible()) {\n return <></>\n }\n return <div {...props.footerContainerProps}>\n {isPaginationVisible() &&\n <Pagination onRenderPagination={props.onRenderPagination} />\n }\n </div>\n })}\n </ThemeProvider>\n })}\n </ModelContext.Provider>\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { EventEmitter, ICommand } from "@talxis/client-libraries";
|
|
2
|
+
import { ITranslation } from "../../hooks";
|
|
3
|
+
import { IDatasetControl } from "./interfaces";
|
|
4
|
+
import { datasetControlTranslations } from "./translations";
|
|
5
|
+
type Labels = Required<ITranslation<typeof datasetControlTranslations>>;
|
|
6
|
+
interface IDatasetControlModelDeps {
|
|
7
|
+
getProps: () => IDatasetControl;
|
|
8
|
+
getLabels: () => Labels;
|
|
9
|
+
}
|
|
10
|
+
export interface IDatasetControlModelEvents {
|
|
11
|
+
onRecordCommandsLoaded: () => void;
|
|
12
|
+
}
|
|
13
|
+
export declare class DatasetControlModel extends EventEmitter<IDatasetControlModelEvents> {
|
|
14
|
+
private _getProps;
|
|
15
|
+
private _getLabels;
|
|
16
|
+
private _commands;
|
|
17
|
+
private _commandsLoaded;
|
|
18
|
+
private _debouncedLoadRecordCommands;
|
|
19
|
+
constructor(deps: IDatasetControlModelDeps);
|
|
20
|
+
isPaginationVisible(): boolean;
|
|
21
|
+
isRecordCountVisible(): boolean;
|
|
22
|
+
isPageSizeSwitcherVisible(): boolean;
|
|
23
|
+
isQuickFindVisible(): boolean;
|
|
24
|
+
isAutoSaveEnabled(): boolean;
|
|
25
|
+
isRibbonVisible(): boolean;
|
|
26
|
+
getDataset(): import("@talxis/client-libraries").IDataset;
|
|
27
|
+
getLabels(): Labels;
|
|
28
|
+
getPcfContext(): import("../..").IContext;
|
|
29
|
+
loadCommands(): Promise<void>;
|
|
30
|
+
retrieveRecordCommands(): ICommand[];
|
|
31
|
+
areCommandsLoaded(): boolean;
|
|
32
|
+
private _getParameters;
|
|
33
|
+
private _addEventListeners;
|
|
34
|
+
private _registerInterceptors;
|
|
35
|
+
private _getFilteredCommands;
|
|
36
|
+
}
|
|
37
|
+
export {};
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { EventEmitter, DataProvider } from '@talxis/client-libraries';
|
|
2
|
+
import debounce from 'debounce';
|
|
3
|
+
|
|
4
|
+
class DatasetControlModel extends EventEmitter {
|
|
5
|
+
constructor(deps) {
|
|
6
|
+
super();
|
|
7
|
+
this._commands = [];
|
|
8
|
+
this._commandsLoaded = false;
|
|
9
|
+
this._getProps = deps.getProps;
|
|
10
|
+
this._getLabels = deps.getLabels;
|
|
11
|
+
this._registerInterceptors();
|
|
12
|
+
this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands());
|
|
13
|
+
this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);
|
|
14
|
+
this._addEventListeners();
|
|
15
|
+
}
|
|
16
|
+
isPaginationVisible() {
|
|
17
|
+
return this._getParameters().EnablePagination?.raw ?? true;
|
|
18
|
+
}
|
|
19
|
+
isRecordCountVisible() {
|
|
20
|
+
return this._getParameters().ShowRecordCount?.raw ?? true;
|
|
21
|
+
}
|
|
22
|
+
isPageSizeSwitcherVisible() {
|
|
23
|
+
return this._getParameters().EnablePageSizeSwitcher?.raw ?? true;
|
|
24
|
+
}
|
|
25
|
+
isQuickFindVisible() {
|
|
26
|
+
return this._getParameters().EnableQuickFind?.raw ?? true;
|
|
27
|
+
}
|
|
28
|
+
isAutoSaveEnabled() {
|
|
29
|
+
return this._getParameters().EnableAutoSave?.raw ?? false;
|
|
30
|
+
}
|
|
31
|
+
isRibbonVisible() {
|
|
32
|
+
return this._getParameters().EnableCommandBar?.raw ?? true;
|
|
33
|
+
}
|
|
34
|
+
getDataset() {
|
|
35
|
+
return this._getParameters().Grid;
|
|
36
|
+
}
|
|
37
|
+
getLabels() {
|
|
38
|
+
return this._getLabels();
|
|
39
|
+
}
|
|
40
|
+
getPcfContext() {
|
|
41
|
+
return this._getProps().context;
|
|
42
|
+
}
|
|
43
|
+
async loadCommands() {
|
|
44
|
+
this._commands = await this.getDataset().getCommands();
|
|
45
|
+
this._commands = this._getFilteredCommands(this._commands);
|
|
46
|
+
this._commandsLoaded = true;
|
|
47
|
+
this.dispatchEvent('onRecordCommandsLoaded');
|
|
48
|
+
}
|
|
49
|
+
retrieveRecordCommands() {
|
|
50
|
+
return this._commands;
|
|
51
|
+
}
|
|
52
|
+
areCommandsLoaded() {
|
|
53
|
+
return this._commandsLoaded;
|
|
54
|
+
}
|
|
55
|
+
_getParameters() {
|
|
56
|
+
return this._getProps().parameters;
|
|
57
|
+
}
|
|
58
|
+
_addEventListeners() {
|
|
59
|
+
if (this.isRibbonVisible()) {
|
|
60
|
+
this.getDataset().addEventListener('onRecordsSelected', () => {
|
|
61
|
+
this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
|
|
62
|
+
});
|
|
63
|
+
this.getDataset().addEventListener('onRecordColumnValueChanged', () => {
|
|
64
|
+
this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
|
|
65
|
+
});
|
|
66
|
+
this.getDataset().addEventListener('onAfterRecordSaved', () => {
|
|
67
|
+
this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
_registerInterceptors() {
|
|
72
|
+
this.getDataset().setInterceptor('__unsavedChangesBlocker', (defaultAction) => {
|
|
73
|
+
if (!this.getDataset().isDirty()) {
|
|
74
|
+
return defaultAction();
|
|
75
|
+
}
|
|
76
|
+
else if (window.confirm(this.getLabels()['saving-discard-all-confirmation']())) {
|
|
77
|
+
//@ts-ignore
|
|
78
|
+
this.getDataset().getDataProvider()['_dirtyRecordIdsSet'].clear();
|
|
79
|
+
//@ts-ignore
|
|
80
|
+
this.getDataset().getDataProvider()['_invalidRecordFieldIdsSet'].clear();
|
|
81
|
+
return defaultAction();
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
_getFilteredCommands(commands) {
|
|
86
|
+
return commands.filter(command => {
|
|
87
|
+
switch (true) {
|
|
88
|
+
//these handles are handled by the platform in non-virtual datasets
|
|
89
|
+
case !this.getDataset().isVirtual() && DataProvider.CONST.NATIVE_COMMAND_IDS.includes(command.commandButtonId): {
|
|
90
|
+
return false;
|
|
91
|
+
}
|
|
92
|
+
//no need to display these button when auto save is active
|
|
93
|
+
case this.isAutoSaveEnabled(): {
|
|
94
|
+
switch (command.commandButtonId) {
|
|
95
|
+
case DataProvider.CONST.SAVE_COMMAND_ID:
|
|
96
|
+
case DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID: {
|
|
97
|
+
return false;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
if (command.commandButtonId === DataProvider.CONST.SAVE_COMMAND_ID)
|
|
101
|
+
return false;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return true;
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
export { DatasetControlModel };
|
|
110
|
+
//# sourceMappingURL=DatasetControlModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetControlModel.js","sources":["../../../src/components/DatasetControl/DatasetControlModel.ts"],"sourcesContent":["import { DataProvider, EventEmitter, ICommand } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../hooks\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { datasetControlTranslations } from \"./translations\";\nimport debounce from \"debounce\";\n\ntype Labels = Required<ITranslation<typeof datasetControlTranslations>>;\n\ninterface IDatasetControlModelDeps {\n getProps: () => IDatasetControl;\n getLabels: () => Labels;\n}\n\nexport interface IDatasetControlModelEvents {\n onRecordCommandsLoaded: () => void;\n}\n\nexport class DatasetControlModel extends EventEmitter<IDatasetControlModelEvents> {\n private _getProps: () => IDatasetControl;\n private _getLabels: () => Labels;\n private _commands: ICommand[] = [];\n private _commandsLoaded: boolean = false;\n private _debouncedLoadRecordCommands: debounce.DebouncedFunction<(ids: string[]) => void>;\n\n constructor(deps: IDatasetControlModelDeps) {\n super();\n this._getProps = deps.getProps;\n this._getLabels = deps.getLabels;\n this._registerInterceptors();\n this._debouncedLoadRecordCommands = debounce((ids) => this.loadCommands())\n this.getDataset().paging.loadExactPage(this.getDataset().paging.pageNumber);\n this._addEventListeners();\n }\n\n public isPaginationVisible(): boolean {\n return this._getParameters().EnablePagination?.raw ?? true;\n }\n public isRecordCountVisible(): boolean {\n return this._getParameters().ShowRecordCount?.raw ?? true;\n }\n public isPageSizeSwitcherVisible(): boolean {\n return this._getParameters().EnablePageSizeSwitcher?.raw ?? true;\n }\n public isQuickFindVisible(): boolean {\n return this._getParameters().EnableQuickFind?.raw ?? true;\n }\n public isAutoSaveEnabled(): boolean {\n return this._getParameters().EnableAutoSave?.raw ?? false;\n }\n public isRibbonVisible(): boolean {\n return this._getParameters().EnableCommandBar?.raw ?? true;\n }\n public getDataset() {\n return this._getParameters().Grid;\n }\n public getLabels(): Labels {\n return this._getLabels();\n }\n public getPcfContext() {\n return this._getProps().context;\n }\n public async loadCommands() {\n this._commands = await this.getDataset().getCommands();\n this._commands = this._getFilteredCommands(this._commands);\n this._commandsLoaded = true;\n this.dispatchEvent('onRecordCommandsLoaded');\n }\n public retrieveRecordCommands() {\n return this._commands;\n }\n public areCommandsLoaded(): boolean {\n return this._commandsLoaded;\n }\n private _getParameters() {\n return this._getProps().parameters;\n }\n private _addEventListeners() {\n if (this.isRibbonVisible()) {\n this.getDataset().addEventListener('onRecordsSelected', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onRecordColumnValueChanged', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n this.getDataset().addEventListener('onAfterRecordSaved', () => {\n this._debouncedLoadRecordCommands(this.getDataset().getSelectedRecordIds());\n })\n }\n }\n private _registerInterceptors() {\n this.getDataset().setInterceptor('__unsavedChangesBlocker', (defaultAction: any) => {\n if (!this.getDataset().isDirty()) {\n return defaultAction();\n }\n else if (window.confirm(this.getLabels()['saving-discard-all-confirmation']())) {\n //@ts-ignore\n this.getDataset().getDataProvider()['_dirtyRecordIdsSet'].clear();\n //@ts-ignore\n this.getDataset().getDataProvider()['_invalidRecordFieldIdsSet'].clear();\n return defaultAction();\n }\n })\n }\n\n private _getFilteredCommands(commands: ICommand[]): ICommand[] {\n return commands.filter(command => {\n switch (true) {\n //these handles are handled by the platform in non-virtual datasets\n case !this.getDataset().isVirtual() && DataProvider.CONST.NATIVE_COMMAND_IDS.includes(command.commandButtonId): {\n return false;\n }\n //no need to display these button when auto save is active\n case this.isAutoSaveEnabled(): {\n switch (command.commandButtonId) {\n case DataProvider.CONST.SAVE_COMMAND_ID:\n case DataProvider.CONST.CLEAR_CHANGES_COMMAND_ID: {\n return false;\n }\n }\n if (command.commandButtonId === DataProvider.CONST.SAVE_COMMAND_ID)\n return false;\n }\n }\n return true;\n })\n }\n\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { ThemeProvider, PrimaryButton, DefaultButton } from '@fluentui/react';
|
|
3
|
+
import { datasetColumnFilteringTranslations } from './translations.js';
|
|
4
|
+
import React, { useState, useCallback, useMemo, useEffect } from 'react';
|
|
5
|
+
import { DatasetColumnFilteringModel } from './DatasetColumnFilteringModel.js';
|
|
6
|
+
import { useRerender } from '@talxis/react-components';
|
|
7
|
+
import { getDatasetColumnFilteringStyles } from './styles.js';
|
|
8
|
+
import { useDebouncedCallback } from 'use-debounce';
|
|
9
|
+
import { Type } from '@talxis/client-libraries';
|
|
10
|
+
import { useControl } from '../../../hooks/useControl.js';
|
|
11
|
+
import { OptionSet } from '../../OptionSet/OptionSet.js';
|
|
12
|
+
import { NestedControlRenderer } from '../../NestedControlRenderer/NestedControlRenderer.js';
|
|
13
|
+
|
|
14
|
+
const DatasetColumnFiltering = (props) => {
|
|
15
|
+
const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
|
|
16
|
+
const { labels, theme, onNotifyOutputChanged } = useControl('DatasetFiltering', props, datasetColumnFilteringTranslations);
|
|
17
|
+
const context = props.context;
|
|
18
|
+
const filtering = props.parameters.Filtering;
|
|
19
|
+
const columnFilter = props.parameters.Filtering.getColumnFilter(props.parameters.ColumnName.raw);
|
|
20
|
+
//automatically create a condition if it's not present
|
|
21
|
+
if (columnFilter.getConditions().length === 0) {
|
|
22
|
+
columnFilter.addCondition();
|
|
23
|
+
}
|
|
24
|
+
//this is the first condition, we assume that the control is used for a single condition
|
|
25
|
+
const condition = columnFilter.getConditions()[0];
|
|
26
|
+
const rerender = useRerender();
|
|
27
|
+
const [shouldRemountValueControl, setShouldRemountValueControl] = useState(false);
|
|
28
|
+
const onOperatorChanged = useCallback(() => {
|
|
29
|
+
setShouldRemountValueControl(true);
|
|
30
|
+
}, []);
|
|
31
|
+
const isClearButtonDisabled = () => {
|
|
32
|
+
if (condition.isValueLoading()) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return model.getConditionValue().every(value => {
|
|
36
|
+
return value == null;
|
|
37
|
+
});
|
|
38
|
+
};
|
|
39
|
+
const onSave = () => {
|
|
40
|
+
condition.setIsValueRequired(true);
|
|
41
|
+
const result = filtering.getFilterExpression(Type.And.Value);
|
|
42
|
+
if (!result) {
|
|
43
|
+
rerender();
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
onNotifyOutputChanged(result);
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
const onClear = () => {
|
|
50
|
+
condition.setValue(null);
|
|
51
|
+
setShouldRemountValueControl(true);
|
|
52
|
+
};
|
|
53
|
+
const debouncedSetConditionControlValue = useDebouncedCallback((value, index) => {
|
|
54
|
+
model.setConditionValue(value, index);
|
|
55
|
+
});
|
|
56
|
+
const model = useMemo(() => {
|
|
57
|
+
condition.addEventListener('onOperatorChanged', onOperatorChanged);
|
|
58
|
+
condition.addEventListener('onValueChanged', rerender);
|
|
59
|
+
return new DatasetColumnFilteringModel(condition, labels);
|
|
60
|
+
}, []);
|
|
61
|
+
const conditionValue = model.getConditionValue();
|
|
62
|
+
const validationResult = condition.getValidationResult();
|
|
63
|
+
const styles = useMemo(() => getDatasetColumnFilteringStyles(), []);
|
|
64
|
+
const componentProps = onOverrideComponentProps({
|
|
65
|
+
onRender: (props, defaultRender) => defaultRender(props),
|
|
66
|
+
});
|
|
67
|
+
useEffect(() => {
|
|
68
|
+
if (shouldRemountValueControl) {
|
|
69
|
+
setShouldRemountValueControl(false);
|
|
70
|
+
}
|
|
71
|
+
}, [shouldRemountValueControl]);
|
|
72
|
+
return componentProps.onRender({
|
|
73
|
+
container: {
|
|
74
|
+
theme: theme,
|
|
75
|
+
className: styles.datasetColumnFilteringRoot
|
|
76
|
+
},
|
|
77
|
+
valueControlsContainer: {
|
|
78
|
+
className: styles.valueControlsContainer
|
|
79
|
+
},
|
|
80
|
+
onRenderConditionOperatorControl: (props, defaultRender) => defaultRender(props),
|
|
81
|
+
onRenderConditionValueControl: (props, defaultRender) => defaultRender(props),
|
|
82
|
+
onRenderButtons: (props, defaultRender) => defaultRender(props),
|
|
83
|
+
}, (props) => {
|
|
84
|
+
return jsxs(ThemeProvider, { ...props.container, children: [props.onRenderConditionOperatorControl({
|
|
85
|
+
context: context,
|
|
86
|
+
//@ts-ignore - typings
|
|
87
|
+
onNotifyOutputChanged: (outputs) => condition.setOperator(outputs.value),
|
|
88
|
+
parameters: {
|
|
89
|
+
value: {
|
|
90
|
+
raw: condition.getOperator(),
|
|
91
|
+
//@ts-ignore - typings
|
|
92
|
+
attributes: {
|
|
93
|
+
Options: model.getOperatorOptionSet()
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
}, (props) => jsx(OptionSet, { ...props })), jsx("div", { ...props.valueControlsContainer, children: !shouldRemountValueControl &&
|
|
98
|
+
jsx(Fragment, { children: conditionValue.map((value, index) => {
|
|
99
|
+
return jsx(React.Fragment, { children: props.onRenderConditionValueControl({
|
|
100
|
+
context: context,
|
|
101
|
+
onOverrideComponentProps: (props) => {
|
|
102
|
+
return {
|
|
103
|
+
...props,
|
|
104
|
+
onOverrideIsLoading: () => condition.isValueLoading()
|
|
105
|
+
};
|
|
106
|
+
},
|
|
107
|
+
parameters: {
|
|
108
|
+
ControlName: model.getControlName(),
|
|
109
|
+
LoadingType: 'shimmer',
|
|
110
|
+
Bindings: {
|
|
111
|
+
value: {
|
|
112
|
+
isStatic: false,
|
|
113
|
+
value: value,
|
|
114
|
+
type: condition.getDataType() ?? 'SingleLine.Text',
|
|
115
|
+
error: validationResult[index].error,
|
|
116
|
+
errorMessage: validationResult[index].errorMessage,
|
|
117
|
+
metadata: {
|
|
118
|
+
onOverrideMetadata: () => {
|
|
119
|
+
return {
|
|
120
|
+
...condition.getMetadata()
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
onNotifyOutputChanged: (value) => debouncedSetConditionControlValue(value, index)
|
|
125
|
+
},
|
|
126
|
+
AutoFocus: {
|
|
127
|
+
isStatic: true,
|
|
128
|
+
value: index === 0 && conditionValue.length === 1,
|
|
129
|
+
type: 'TwoOptions'
|
|
130
|
+
},
|
|
131
|
+
ShowErrorMessage: {
|
|
132
|
+
isStatic: true,
|
|
133
|
+
value: true,
|
|
134
|
+
type: 'TwoOptions'
|
|
135
|
+
},
|
|
136
|
+
...condition.getBindings()
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, (props) => {
|
|
140
|
+
if (!model.getControlName()) {
|
|
141
|
+
return jsx(Fragment, {});
|
|
142
|
+
}
|
|
143
|
+
return jsx(NestedControlRenderer, { ...props });
|
|
144
|
+
}) }, index);
|
|
145
|
+
}) }) }), props.onRenderButtons({
|
|
146
|
+
container: {
|
|
147
|
+
className: styles.buttons
|
|
148
|
+
},
|
|
149
|
+
onRenderApplyButton: (props, defaultRender) => defaultRender(props),
|
|
150
|
+
onRenderClearButton: (props, defaultRender) => defaultRender(props)
|
|
151
|
+
}, (props) => {
|
|
152
|
+
return jsxs("div", { ...props.container, children: [props.onRenderApplyButton({
|
|
153
|
+
text: 'Apply',
|
|
154
|
+
disabled: condition.isValueLoading(),
|
|
155
|
+
onClick: onSave,
|
|
156
|
+
}, (props) => jsx(PrimaryButton, { ...props })), props.onRenderClearButton({
|
|
157
|
+
text: 'Clear',
|
|
158
|
+
disabled: isClearButtonDisabled(),
|
|
159
|
+
onClick: onClear
|
|
160
|
+
}, (props) => jsx(DefaultButton, { ...props }))] });
|
|
161
|
+
})] });
|
|
162
|
+
});
|
|
163
|
+
};
|
|
164
|
+
|
|
165
|
+
export { DatasetColumnFiltering };
|
|
166
|
+
//# sourceMappingURL=DatasetColumnFiltering.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetColumnFiltering.js","sources":["../../../../src/components/DatasetControl/Filtering/DatasetColumnFiltering.tsx"],"sourcesContent":["import { DefaultButton, DirectionalHint, PrimaryButton, ThemeProvider } from \"@fluentui/react\";\nimport { useControl } from \"../../../hooks\"\nimport { OptionSet } from \"../../OptionSet\";\nimport { IDatasetColumnFiltering } from \"./interfaces\";\nimport { datasetColumnFilteringTranslations } from \"./translations\";\nimport { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { DatasetColumnFilteringModel } from \"./DatasetColumnFilteringModel\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { NestedControlRenderer } from \"../../NestedControlRenderer\";\nimport React from \"react\";\nimport { getDatasetColumnFilteringStyles } from \"./styles\";\nimport { useDebouncedCallback } from \"use-debounce\";\nimport { Type as FilterType } from \"@talxis/client-libraries\";\n\nexport const DatasetColumnFiltering = (props: IDatasetColumnFiltering) => {\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const { labels, theme, onNotifyOutputChanged } = useControl('DatasetFiltering', props, datasetColumnFilteringTranslations);\n const context = props.context;\n const filtering = props.parameters.Filtering;\n const columnFilter = props.parameters.Filtering.getColumnFilter(props.parameters.ColumnName.raw!);\n //automatically create a condition if it's not present\n if (columnFilter.getConditions().length === 0) {\n columnFilter.addCondition();\n }\n //this is the first condition, we assume that the control is used for a single condition\n const condition = columnFilter.getConditions()[0];\n const rerender = useRerender();\n const [shouldRemountValueControl, setShouldRemountValueControl] = useState(false);\n\n const onOperatorChanged = useCallback(() => {\n setShouldRemountValueControl(true);\n }, []);\n\n const isClearButtonDisabled = () => {\n if (condition.isValueLoading()) {\n return true;\n }\n return model.getConditionValue().every(value => {\n return value == null;\n });\n }\n const onSave = () => {\n condition.setIsValueRequired(true);\n const result = filtering.getFilterExpression(FilterType.And.Value);\n if (!result) {\n rerender();\n }\n else {\n onNotifyOutputChanged(result)\n }\n }\n\n const onClear = () => {\n condition.setValue(null);\n setShouldRemountValueControl(true);\n }\n\n const debouncedSetConditionControlValue = useDebouncedCallback((value, index) => {\n model.setConditionValue(value, index);\n })\n\n const model = useMemo(() => {\n condition.addEventListener('onOperatorChanged', onOperatorChanged);\n condition.addEventListener('onValueChanged', rerender);\n return new DatasetColumnFilteringModel(condition, labels)\n }, []);\n\n const conditionValue = model.getConditionValue();\n const validationResult = condition.getValidationResult();\n const styles = useMemo(() => getDatasetColumnFilteringStyles(), []);\n\n const componentProps = onOverrideComponentProps({\n onRender: (props, defaultRender) => defaultRender(props),\n })\n\n useEffect(() => {\n if (shouldRemountValueControl) {\n setShouldRemountValueControl(false);\n }\n }, [shouldRemountValueControl])\n\n return componentProps.onRender({\n container: {\n theme: theme,\n className: styles.datasetColumnFilteringRoot\n },\n valueControlsContainer: {\n className: styles.valueControlsContainer\n },\n onRenderConditionOperatorControl: (props, defaultRender) => defaultRender(props),\n onRenderConditionValueControl: (props, defaultRender) => defaultRender(props),\n onRenderButtons: (props, defaultRender) => defaultRender(props),\n\n }, (props) => {\n return <ThemeProvider {...props.container}>\n {props.onRenderConditionOperatorControl({\n context: context,\n //@ts-ignore - typings\n onNotifyOutputChanged: (outputs) => condition.setOperator(outputs.value),\n parameters: {\n value: {\n raw: condition.getOperator(),\n //@ts-ignore - typings\n attributes: {\n Options: model.getOperatorOptionSet()\n }\n }\n },\n }, (props) => <OptionSet {...props} />)}\n <div {...props.valueControlsContainer}>\n {!shouldRemountValueControl &&\n <>\n {\n conditionValue.map((value, index) => {\n return <React.Fragment key={index}>\n {props.onRenderConditionValueControl({\n context: context,\n onOverrideComponentProps: (props) => {\n return {\n ...props,\n onOverrideIsLoading: () => condition.isValueLoading()\n }\n },\n parameters: {\n ControlName: model.getControlName()!,\n LoadingType: 'shimmer',\n Bindings: {\n value: {\n isStatic: false,\n value: value,\n type: condition.getDataType() ?? 'SingleLine.Text',\n error: validationResult[index].error,\n errorMessage: validationResult[index].errorMessage,\n metadata: {\n onOverrideMetadata: () => {\n return {\n ...condition.getMetadata()\n }\n }\n },\n onNotifyOutputChanged: (value) => debouncedSetConditionControlValue(value, index)\n },\n AutoFocus: {\n isStatic: true,\n value: index === 0 && conditionValue.length === 1,\n type: 'TwoOptions'\n },\n ShowErrorMessage: {\n isStatic: true,\n value: true,\n type: 'TwoOptions'\n },\n ...condition.getBindings()\n }\n }\n }, (props) => {\n if (!model.getControlName()) {\n return <></>\n }\n return <NestedControlRenderer {...props} />\n })}\n </React.Fragment>\n })\n }\n </>\n }\n </div>\n {props.onRenderButtons({\n container: {\n className: styles.buttons\n },\n onRenderApplyButton: (props, defaultRender) => defaultRender(props),\n onRenderClearButton: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <div {...props.container}>\n {props.onRenderApplyButton({\n text: 'Apply',\n disabled: condition.isValueLoading(),\n onClick: onSave,\n }, (props) => <PrimaryButton {...props} />)}\n {props.onRenderClearButton({\n text: 'Clear',\n disabled: isClearButtonDisabled(),\n onClick: onClear\n }, (props) => <DefaultButton\n {...props} />)}\n </div>\n })}\n </ThemeProvider>\n })\n}"],"names":["FilterType","_jsxs","_jsx","_Fragment"],"mappings":";;;;;;;;;;;;;AAca,MAAA,sBAAsB,GAAG,CAAC,KAA8B,KAAI;AACrE,IAAA,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;AACtF,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,qBAAqB,EAAE,GAAG,UAAU,CAAC,kBAAkB,EAAE,KAAK,EAAE,kCAAkC,CAAC,CAAC;AAC3H,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;AAC9B,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC;AAC7C,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,eAAe,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,GAAI,CAAC,CAAC;;IAElG,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;QAC3C,YAAY,CAAC,YAAY,EAAE,CAAC;AAC/B,KAAA;;IAED,MAAM,SAAS,GAAG,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,CAAC,CAAC;AAClD,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAC/B,MAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;AAElF,IAAA,MAAM,iBAAiB,GAAG,WAAW,CAAC,MAAK;QACvC,4BAA4B,CAAC,IAAI,CAAC,CAAC;KACtC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,qBAAqB,GAAG,MAAK;AAC/B,QAAA,IAAI,SAAS,CAAC,cAAc,EAAE,EAAE;AAC5B,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,KAAK,IAAG;YAC3C,OAAO,KAAK,IAAI,IAAI,CAAC;AACzB,SAAC,CAAC,CAAC;AACP,KAAC,CAAA;IACD,MAAM,MAAM,GAAG,MAAK;AAChB,QAAA,SAAS,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACnC,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,mBAAmB,CAACA,IAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACnE,IAAI,CAAC,MAAM,EAAE;AACT,YAAA,QAAQ,EAAE,CAAC;AACd,SAAA;AACI,aAAA;YACD,qBAAqB,CAAC,MAAM,CAAC,CAAA;AAChC,SAAA;AACL,KAAC,CAAA;IAED,MAAM,OAAO,GAAG,MAAK;AACjB,QAAA,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzB,4BAA4B,CAAC,IAAI,CAAC,CAAC;AACvC,KAAC,CAAA;IAED,MAAM,iCAAiC,GAAG,oBAAoB,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AAC5E,QAAA,KAAK,CAAC,iBAAiB,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAC1C,KAAC,CAAC,CAAA;AAEF,IAAA,MAAM,KAAK,GAAG,OAAO,CAAC,MAAK;AACvB,QAAA,SAAS,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AACnE,QAAA,SAAS,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,QAAQ,CAAC,CAAC;AACvD,QAAA,OAAO,IAAI,2BAA2B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAA;KAC5D,EAAE,EAAE,CAAC,CAAC;AAEP,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,iBAAiB,EAAE,CAAC;AACjD,IAAA,MAAM,gBAAgB,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC;AACzD,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,+BAA+B,EAAE,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC5C,QAAQ,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;AAC3D,KAAA,CAAC,CAAA;IAEF,SAAS,CAAC,MAAK;AACX,QAAA,IAAI,yBAAyB,EAAE;YAC3B,4BAA4B,CAAC,KAAK,CAAC,CAAC;AACvC,SAAA;AACL,KAAC,EAAE,CAAC,yBAAyB,CAAC,CAAC,CAAA;IAE/B,OAAO,cAAc,CAAC,QAAQ,CAAC;AAC3B,QAAA,SAAS,EAAE;AACP,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,MAAM,CAAC,0BAA0B;AAC/C,SAAA;AACD,QAAA,sBAAsB,EAAE;YACpB,SAAS,EAAE,MAAM,CAAC,sBAAsB;AAC3C,SAAA;QACD,gCAAgC,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;QAChF,6BAA6B,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;QAC7E,eAAe,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;KAElE,EAAE,CAAC,KAAK,KAAI;QACT,OAAOC,IAAA,CAAC,aAAa,EAAA,EAAA,GAAK,KAAK,CAAC,SAAS,EACpC,QAAA,EAAA,CAAA,KAAK,CAAC,gCAAgC,CAAC;AACpC,oBAAA,OAAO,EAAE,OAAO;;AAEhB,oBAAA,qBAAqB,EAAE,CAAC,OAAO,KAAK,SAAS,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;AACxE,oBAAA,UAAU,EAAE;AACR,wBAAA,KAAK,EAAE;AACH,4BAAA,GAAG,EAAE,SAAS,CAAC,WAAW,EAAE;;AAE5B,4BAAA,UAAU,EAAE;AACR,gCAAA,OAAO,EAAE,KAAK,CAAC,oBAAoB,EAAE;AACxC,6BAAA;AACJ,yBAAA;AACJ,qBAAA;AACJ,iBAAA,EAAE,CAAC,KAAK,KAAKC,GAAA,CAAC,SAAS,EAAK,EAAA,GAAA,KAAK,EAAI,CAAA,CAAC,EACvCA,GAAS,CAAA,KAAA,EAAA,EAAA,GAAA,KAAK,CAAC,sBAAsB,EAAA,QAAA,EAChC,CAAC,yBAAyB;wBACvBA,GAEQ,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,cAAc,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;gCAChC,OAAOD,GAAA,CAAC,KAAK,CAAC,QAAQ,cACjB,KAAK,CAAC,6BAA6B,CAAC;AACjC,wCAAA,OAAO,EAAE,OAAO;AAChB,wCAAA,wBAAwB,EAAE,CAAC,KAAK,KAAI;4CAChC,OAAO;AACH,gDAAA,GAAG,KAAK;AACR,gDAAA,mBAAmB,EAAE,MAAM,SAAS,CAAC,cAAc,EAAE;6CACxD,CAAA;yCACJ;AACD,wCAAA,UAAU,EAAE;AACR,4CAAA,WAAW,EAAE,KAAK,CAAC,cAAc,EAAG;AACpC,4CAAA,WAAW,EAAE,SAAS;AACtB,4CAAA,QAAQ,EAAE;AACN,gDAAA,KAAK,EAAE;AACH,oDAAA,QAAQ,EAAE,KAAK;AACf,oDAAA,KAAK,EAAE,KAAK;AACZ,oDAAA,IAAI,EAAE,SAAS,CAAC,WAAW,EAAE,IAAI,iBAAiB;AAClD,oDAAA,KAAK,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,KAAK;AACpC,oDAAA,YAAY,EAAE,gBAAgB,CAAC,KAAK,CAAC,CAAC,YAAY;AAClD,oDAAA,QAAQ,EAAE;wDACN,kBAAkB,EAAE,MAAK;4DACrB,OAAO;gEACH,GAAG,SAAS,CAAC,WAAW,EAAE;6DAC7B,CAAA;yDACJ;AACJ,qDAAA;oDACD,qBAAqB,EAAE,CAAC,KAAK,KAAK,iCAAiC,CAAC,KAAK,EAAE,KAAK,CAAC;AACpF,iDAAA;AACD,gDAAA,SAAS,EAAE;AACP,oDAAA,QAAQ,EAAE,IAAI;oDACd,KAAK,EAAE,KAAK,KAAK,CAAC,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC;AACjD,oDAAA,IAAI,EAAE,YAAY;AACrB,iDAAA;AACD,gDAAA,gBAAgB,EAAE;AACd,oDAAA,QAAQ,EAAE,IAAI;AACd,oDAAA,KAAK,EAAE,IAAI;AACX,oDAAA,IAAI,EAAE,YAAY;AACrB,iDAAA;gDACD,GAAG,SAAS,CAAC,WAAW,EAAE;AAC7B,6CAAA;AACJ,yCAAA;qCACJ,EAAE,CAAC,KAAK,KAAI;AACT,wCAAA,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,EAAE;AACzB,4CAAA,OAAOA,iBAAK,CAAA;AACf,yCAAA;AACD,wCAAA,OAAOA,GAAC,CAAA,qBAAqB,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;AAC/C,qCAAC,CAAC,EAAA,EA9CsB,KAAK,CA+ChB,CAAA;AACrB,6BAAC,CAAC,EAEP,CAAA,EAAA,CAEL,EACL,KAAK,CAAC,eAAe,CAAC;AACnB,oBAAA,SAAS,EAAE;wBACP,SAAS,EAAE,MAAM,CAAC,OAAO;AAC5B,qBAAA;oBACD,mBAAmB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;oBACnE,mBAAmB,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,aAAa,CAAC,KAAK,CAAC;iBACtE,EAAE,CAAC,KAAK,KAAI;oBACT,OAAOD,IAAA,CAAA,KAAA,EAAA,EAAA,GAAS,KAAK,CAAC,SAAS,aAC1B,KAAK,CAAC,mBAAmB,CAAC;AACvB,gCAAA,IAAI,EAAE,OAAO;AACb,gCAAA,QAAQ,EAAE,SAAS,CAAC,cAAc,EAAE;AACpC,gCAAA,OAAO,EAAE,MAAM;AAClB,6BAAA,EAAE,CAAC,KAAK,KAAKC,GAAC,CAAA,aAAa,EAAK,EAAA,GAAA,KAAK,GAAI,CAAC,EAC1C,KAAK,CAAC,mBAAmB,CAAC;AACvB,gCAAA,IAAI,EAAE,OAAO;gCACb,QAAQ,EAAE,qBAAqB,EAAE;AACjC,gCAAA,OAAO,EAAE,OAAO;AACnB,6BAAA,EAAE,CAAC,KAAK,KAAKA,GAAA,CAAC,aAAa,EAAA,EAAA,GACpB,KAAK,EAAA,CAAI,CAAC,CAAA,EAAA,CAChB,CAAA;iBACT,CAAC,IACU,CAAA;AACpB,KAAC,CAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
/// <reference types="powerapps-component-framework" />
|
|
3
|
+
import { ITranslation } from "../../../hooks";
|
|
4
|
+
import { datasetColumnFilteringTranslations } from "./translations";
|
|
5
|
+
import { Condition } from '@talxis/client-libraries';
|
|
6
|
+
type Labels = Required<ITranslation<typeof datasetColumnFilteringTranslations>>;
|
|
7
|
+
export declare class DatasetColumnFilteringModel {
|
|
8
|
+
private _condition;
|
|
9
|
+
private _labels;
|
|
10
|
+
constructor(condition: Condition, labels: Labels);
|
|
11
|
+
getOperatorOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[];
|
|
12
|
+
setConditionValue(value: any, index: number): void;
|
|
13
|
+
getConditionValue(): any[];
|
|
14
|
+
getControlName(): "Decimal" | "TextField" | "OptionSet" | "MultiSelectOptionSet" | "DateTime" | "Duration" | "Lookup" | "TwoOptions" | null;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Operators } from '@talxis/client-libraries';
|
|
2
|
+
import { BaseControls } from '../../../utils/BaseControls.js';
|
|
3
|
+
|
|
4
|
+
class DatasetColumnFilteringModel {
|
|
5
|
+
constructor(condition, labels) {
|
|
6
|
+
this._condition = condition;
|
|
7
|
+
this._labels = labels;
|
|
8
|
+
}
|
|
9
|
+
getOperatorOptionSet() {
|
|
10
|
+
const operators = this._condition.getColumn().metadata?.SupportedFilterConditionOperators ?? [];
|
|
11
|
+
return operators.map(operator => {
|
|
12
|
+
return {
|
|
13
|
+
Value: operator,
|
|
14
|
+
//@ts-ignore - typings
|
|
15
|
+
Label: this._labels[`operator-${operator}`](),
|
|
16
|
+
Color: ''
|
|
17
|
+
};
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
setConditionValue(value, index) {
|
|
21
|
+
const operator = this._condition.getOperator();
|
|
22
|
+
if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {
|
|
23
|
+
this._condition.setValue(value);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
const values = [this._condition.getControlValue()?.[0] ?? null, this._condition.getControlValue()?.[1] ?? null];
|
|
27
|
+
if (index === 0) {
|
|
28
|
+
values[0] = value;
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
values[1] = value;
|
|
32
|
+
}
|
|
33
|
+
this._condition.setValue(values);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
getConditionValue() {
|
|
37
|
+
const operator = this._condition.getOperator();
|
|
38
|
+
if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {
|
|
39
|
+
return [this._condition.getControlValue()];
|
|
40
|
+
}
|
|
41
|
+
const value = this._condition.getControlValue();
|
|
42
|
+
if (Array.isArray(value)) {
|
|
43
|
+
return value;
|
|
44
|
+
}
|
|
45
|
+
return [null, null];
|
|
46
|
+
}
|
|
47
|
+
getControlName() {
|
|
48
|
+
const dataType = this._condition.getDataType();
|
|
49
|
+
if (!dataType) {
|
|
50
|
+
return null;
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return BaseControls.GetControlNameForDataType(dataType);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { DatasetColumnFilteringModel };
|
|
59
|
+
//# sourceMappingURL=DatasetColumnFilteringModel.js.map
|