@talxis/base-controls 1.2509.6 → 1.2512.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/DatasetControl/DatasetControl.d.ts +2 -2
- package/dist/components/DatasetControl/DatasetControl.js +78 -57
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/DatasetControl/DatasetControlModel.d.ts +16 -0
- package/dist/components/DatasetControl/DatasetControlModel.js +32 -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 +15 -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 +31 -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 +79 -0
- package/dist/components/DatasetControl/Header/Header.js.map +1 -0
- package/dist/components/DatasetControl/Header/styles.d.ts +19 -0
- package/dist/components/DatasetControl/Header/styles.js +26 -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 +93 -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 +45 -0
- package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +1 -0
- package/dist/components/DatasetControl/Pagination/styles.d.ts +23 -0
- package/dist/components/DatasetControl/Pagination/styles.js +29 -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 +37 -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 +68 -23
- 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/Grid/{core/components/Cell → cells/cell}/Cell.d.ts +3 -3
- package/dist/components/Grid/cells/cell/Cell.js +231 -0
- package/dist/components/Grid/cells/cell/Cell.js.map +1 -0
- package/dist/components/Grid/cells/cell/content/CellContent.d.ts +3 -0
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/CellContent.js +44 -35
- package/dist/components/Grid/cells/cell/content/CellContent.js.map +1 -0
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.d.ts +4 -1
- package/dist/components/Grid/{core/components/Cell/CellContent → cells/cell/content}/styles.js +8 -3
- 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 +12 -6
- package/dist/components/Grid/{core/components/Cell → cells/cell}/styles.js +14 -20
- package/dist/components/Grid/cells/cell/styles.js.map +1 -0
- package/dist/components/Grid/cells/selection-cell/SelectionCell.d.ts +8 -0
- package/dist/components/Grid/cells/selection-cell/SelectionCell.js +78 -0
- package/dist/components/Grid/cells/selection-cell/SelectionCell.js.map +1 -0
- package/dist/components/Grid/cells/selection-cell/SelectionCellModel.d.ts +7 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.d.ts +11 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.js +19 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.js.map +1 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.d.ts +17 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.js +24 -0
- package/dist/components/Grid/cells/selection-cell/record-save-error-callout/styles.js.map +1 -0
- package/dist/components/Grid/cells/selection-cell/styles.d.ts +27 -0
- package/dist/components/Grid/cells/selection-cell/styles.js +33 -0
- package/dist/components/Grid/cells/selection-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 +88 -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 +107 -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 +45 -0
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +1 -0
- package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.d.ts +1 -3
- package/dist/components/Grid/{core/components/ColumnHeader/components/GlobalCheckbox → column-headers/record-selection-checkbox}/styles.js +1 -2
- 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 +110 -0
- package/dist/components/Grid/grid/GridModel.js +767 -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 +90 -0
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +657 -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 -1
- 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 +21 -177
- package/dist/components/Grid/translations.js +6 -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 +51 -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 +9 -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 +53 -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 +19 -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 +5 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js +16 -0
- package/dist/components/GridCellRenderer/properties/Lookup.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +5 -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 +5 -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 +7 -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 +19 -0
- package/dist/components/GridCellRenderer/properties/Property.js +59 -0
- package/dist/components/GridCellRenderer/properties/Property.js.map +1 -0
- package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +5 -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 +34 -60
- package/dist/components/GridCellRenderer/styles.js +69 -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 +134 -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 +85 -0
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +1 -0
- package/dist/components/GridColumnHeader/interfaces.d.ts +48 -0
- package/dist/components/GridColumnHeader/styles.d.ts +37 -0
- package/dist/components/GridColumnHeader/styles.js +55 -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/GridInlineRibbon/GridInlineRibbon.d.ts +3 -0
- package/dist/components/GridInlineRibbon/GridInlineRibbon.js +113 -0
- package/dist/components/GridInlineRibbon/GridInlineRibbon.js.map +1 -0
- package/dist/components/GridInlineRibbon/GridInlineRibbonModel.d.ts +25 -0
- package/dist/components/GridInlineRibbon/GridInlineRibbonModel.js +49 -0
- package/dist/components/GridInlineRibbon/GridInlineRibbonModel.js.map +1 -0
- package/dist/components/GridInlineRibbon/index.d.ts +2 -0
- package/dist/components/GridInlineRibbon/index.js +2 -0
- package/dist/components/GridInlineRibbon/interfaces.d.ts +28 -0
- package/dist/components/GridInlineRibbon/styles.d.ts +22 -0
- package/dist/components/GridInlineRibbon/styles.js +29 -0
- package/dist/components/GridInlineRibbon/styles.js.map +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 +2 -0
- package/dist/components/NestedControlRenderer/NestedControl.js +5 -2
- package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +19 -6
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
- package/dist/components/NestedControlRenderer/index.d.ts +1 -0
- 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/OptionSet/OptionSet.js +5 -4
- package/dist/components/OptionSet/OptionSet.js.map +1 -1
- package/dist/components/Ribbon/Ribbon.d.ts +3 -0
- package/dist/components/Ribbon/Ribbon.js +118 -0
- package/dist/components/Ribbon/Ribbon.js.map +1 -0
- package/dist/components/Ribbon/RibbonModel.d.ts +17 -0
- package/dist/components/Ribbon/RibbonModel.js +74 -0
- package/dist/components/Ribbon/RibbonModel.js.map +1 -0
- package/dist/components/Ribbon/interfaces.d.ts +24 -0
- package/dist/components/Ribbon/styles.d.ts +16 -0
- package/dist/components/Ribbon/styles.js +23 -0
- package/dist/components/Ribbon/styles.js.map +1 -0
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/index.d.ts +1 -0
- package/dist/components/index.js +2 -3
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -0
- package/dist/hooks/index.js +1 -0
- package/dist/hooks/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/useEventEmitter.d.ts +2 -0
- package/dist/hooks/useEventEmitter.js +23 -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 +508 -522
- package/dist/index.js +3 -3
- package/dist/interfaces/property.d.ts +1 -1
- package/dist/utils/BaseControls.d.ts +4 -1
- package/dist/utils/BaseControls.js +13 -1
- package/dist/utils/BaseControls.js.map +1 -1
- package/dist/utils/dataset/adapters/DatasetAdapter.d.ts +51 -40
- package/dist/utils/dataset/adapters/DatasetAdapter.js +221 -160
- package/dist/utils/dataset/adapters/DatasetAdapter.js.map +1 -1
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +60 -28
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +183 -119
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
- package/dist/utils/dataset-control/DatasetControl.d.ts +69 -0
- package/dist/utils/dataset-control/DatasetControl.js +171 -0
- package/dist/utils/dataset-control/DatasetControl.js.map +1 -0
- package/dist/utils/dataset-control/index.d.ts +1 -0
- package/dist/utils/dataset-control/index.js +2 -0
- package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -1
- package/dist/utils/theme/components/ThemeWrapper.js.map +1 -1
- 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.d.ts +0 -8
- 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.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/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 -83
- package/dist/components/Grid/core/model/Grid.js +0 -528
- 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 -55
- 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/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/Notifications → cells/cell/notifications}/styles.d.ts +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
- /package/dist/components/{Grid/core/components/Dialog/interfaces → GridInlineRibbon}/index.js.map +0 -0
- /package/dist/{components/GridCellRenderer/DefaultContentRenderer → utils/dataset-control}/index.js.map +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
|
-
import {
|
|
3
|
-
export declare const DatasetControl: (props:
|
|
2
|
+
import { IDatasetControlProps } from "./interfaces";
|
|
3
|
+
export declare const DatasetControl: (props: IDatasetControlProps) => JSX.Element;
|
|
@@ -1,71 +1,92 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useRef, useMemo } from 'react';
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useRef, useMemo, useEffect } 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
|
-
const { labels, theme } = useControl('DatasetControl',
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
15
|
+
const { labels, theme } = useControl('DatasetControl', {
|
|
16
|
+
...props,
|
|
17
|
+
context: props.onGetDatasetControlInstance().getPcfContext(),
|
|
18
|
+
parameters: props.onGetDatasetControlInstance().getParameters(),
|
|
19
|
+
}, datasetControlTranslations);
|
|
20
|
+
const propsRef = useRef(props);
|
|
21
|
+
propsRef.current = props;
|
|
22
|
+
const datasetControl = propsRef.current.onGetDatasetControlInstance();
|
|
23
|
+
const model = useMemo(() => new DatasetControlModel({
|
|
24
|
+
datasetControl: datasetControl,
|
|
25
|
+
getLabels: () => labels,
|
|
26
|
+
}), []);
|
|
27
|
+
useMemo(() => props.onGetDatasetControlInstance().init(), []);
|
|
19
28
|
const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
const rerender = useRerender();
|
|
30
|
+
const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);
|
|
31
|
+
const dataset = datasetControl.getDataset();
|
|
32
|
+
useEventEmitter(dataset, 'onNewDataLoaded', rerender);
|
|
33
|
+
useEventEmitter(dataset, 'onRenderRequested', rerender);
|
|
34
|
+
useEventEmitter(dataset, 'onBeforeNewDataLoaded', rerender);
|
|
26
35
|
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)
|
|
36
|
+
onRender: (props, defaultRender) => defaultRender(props),
|
|
44
37
|
});
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
if (dataset.isVirtual() && props.parameters.EnableQuickFind?.raw) {
|
|
54
|
-
return true;
|
|
38
|
+
const isFooterVisible = () => {
|
|
39
|
+
switch (true) {
|
|
40
|
+
case datasetControl.isPaginationVisible():
|
|
41
|
+
case datasetControl.isRecordCountVisible():
|
|
42
|
+
case datasetControl.isPageSizeSwitcherVisible():
|
|
43
|
+
return true;
|
|
44
|
+
default:
|
|
45
|
+
return false;
|
|
55
46
|
}
|
|
56
|
-
return false;
|
|
57
47
|
};
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
48
|
+
const isPaginationVisible = () => {
|
|
49
|
+
return isFooterVisible();
|
|
50
|
+
};
|
|
51
|
+
useEffect(() => {
|
|
52
|
+
return () => {
|
|
53
|
+
datasetControl.destroy();
|
|
54
|
+
};
|
|
55
|
+
}, []);
|
|
56
|
+
return jsx(ModelContext.Provider, { value: model, children: componentProps.onRender({
|
|
57
|
+
container: {
|
|
58
|
+
theme: theme,
|
|
59
|
+
className: styles.datasetControlRoot
|
|
60
|
+
},
|
|
61
|
+
onRenderHeader: (props, defaultRender) => defaultRender(props),
|
|
62
|
+
onRenderFooter: (props, defaultRender) => defaultRender(props),
|
|
63
|
+
onRenderControlContainer: (props, defaultRender) => defaultRender(props)
|
|
64
|
+
}, (props) => {
|
|
65
|
+
return jsxs(ThemeProvider, { ...props.container, children: [jsx(Header, { onRenderHeader: props.onRenderHeader }), props.onRenderControlContainer({
|
|
66
|
+
controlContainerProps: {
|
|
67
|
+
className: styles.controlContainer
|
|
68
|
+
},
|
|
69
|
+
}, (props) => {
|
|
70
|
+
const { onOverrideComponentProps, ...filteredProps } = propsRef.current;
|
|
71
|
+
return jsx("div", { ...props.controlContainerProps, children: propsRef.current.onGetControlComponent({
|
|
72
|
+
...filteredProps,
|
|
73
|
+
parameters: datasetControl.getParameters(),
|
|
74
|
+
context: datasetControl.getPcfContext(),
|
|
75
|
+
state: datasetControl.getState()
|
|
76
|
+
}) });
|
|
77
|
+
}), props.onRenderFooter({
|
|
78
|
+
footerContainerProps: {
|
|
79
|
+
className: styles.footer
|
|
80
|
+
},
|
|
81
|
+
onRenderPagination: (props, defaultRender) => defaultRender(props)
|
|
82
|
+
}, (props) => {
|
|
83
|
+
if (!isFooterVisible()) {
|
|
84
|
+
return jsx(Fragment, {});
|
|
85
|
+
}
|
|
86
|
+
return jsx("div", { ...props.footerContainerProps, children: isPaginationVisible() &&
|
|
87
|
+
jsx(Pagination, { onRenderPagination: props.onRenderPagination }) });
|
|
88
|
+
})] });
|
|
89
|
+
}) });
|
|
69
90
|
};
|
|
70
91
|
|
|
71
92
|
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 { 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\";\nimport { IDatasetControlProps } from \"./interfaces\";\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\n\nexport const DatasetControl = (props: IDatasetControlProps) => {\n const { labels, theme } = useControl('DatasetControl', {\n ...props,\n context: props.onGetDatasetControlInstance().getPcfContext(),\n parameters: props.onGetDatasetControlInstance().getParameters(),\n }, datasetControlTranslations);\n \n const propsRef = useRef<IDatasetControlProps>(props);\n propsRef.current = props;\n const datasetControl = propsRef.current.onGetDatasetControlInstance();\n const model = useMemo(() => new DatasetControlModel({\n datasetControl: datasetControl,\n getLabels: () => labels,\n }), []);\n useMemo(() => props.onGetDatasetControlInstance().init(), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n const rerender = useRerender();\n const styles = useMemo(() => getDatasetControlStyles(datasetControl.getHeight()), [datasetControl.getHeight()]);\n const dataset = datasetControl.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 datasetControl.isPaginationVisible():\n case datasetControl.isRecordCountVisible():\n case datasetControl.isPageSizeSwitcherVisible():\n return true;\n default:\n return false;\n }\n }\n\n const isPaginationVisible = () => {\n return isFooterVisible();\n }\n\n useEffect(() => {\n return () => {\n datasetControl.destroy();\n }\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 const { onOverrideComponentProps, ...filteredProps } = propsRef.current;\n return <div {...props.controlContainerProps}>\n {propsRef.current.onGetControlComponent({\n ...filteredProps,\n parameters: datasetControl.getParameters(),\n context: datasetControl.getPcfContext(),\n state: datasetControl.getState()\n })}\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,16 @@
|
|
|
1
|
+
import { ITranslation } from "../../hooks";
|
|
2
|
+
import { IDatasetControl } from "../../utils/dataset-control";
|
|
3
|
+
import { datasetControlTranslations } from "./translations";
|
|
4
|
+
type Labels = Required<ITranslation<typeof datasetControlTranslations>>;
|
|
5
|
+
interface IDatasetControlModelOptions {
|
|
6
|
+
datasetControl: IDatasetControl;
|
|
7
|
+
getLabels: () => Labels;
|
|
8
|
+
}
|
|
9
|
+
export declare class DatasetControlModel {
|
|
10
|
+
private _options;
|
|
11
|
+
constructor(options: IDatasetControlModelOptions);
|
|
12
|
+
getDatasetControl(): IDatasetControl;
|
|
13
|
+
getLabels(): Labels;
|
|
14
|
+
private _registerInterceptors;
|
|
15
|
+
}
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
class DatasetControlModel {
|
|
2
|
+
constructor(options) {
|
|
3
|
+
this._options = options;
|
|
4
|
+
this._registerInterceptors();
|
|
5
|
+
}
|
|
6
|
+
getDatasetControl() {
|
|
7
|
+
return this._options.datasetControl;
|
|
8
|
+
}
|
|
9
|
+
getLabels() {
|
|
10
|
+
return this._options.getLabels();
|
|
11
|
+
}
|
|
12
|
+
//here due to translations, should be part of DatasetControl when we have translations settled
|
|
13
|
+
_registerInterceptors() {
|
|
14
|
+
const dataset = this._options.datasetControl.getDataset();
|
|
15
|
+
const dataProvider = dataset.getDataProvider();
|
|
16
|
+
dataProvider.setInterceptor('__unsavedChangesBlocker', (parameters, defaultAction) => {
|
|
17
|
+
if (!dataProvider.isDirty()) {
|
|
18
|
+
return defaultAction(parameters);
|
|
19
|
+
}
|
|
20
|
+
else if (window.confirm(this._options.getLabels()['saving-discard-all-confirmation']())) {
|
|
21
|
+
//@ts-ignore
|
|
22
|
+
dataProvider['_dirtyRecordIdsSet'].clear();
|
|
23
|
+
//@ts-ignore
|
|
24
|
+
dataProvider['_invalidRecordFieldIdsSet'].clear();
|
|
25
|
+
return defaultAction(parameters);
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { DatasetControlModel };
|
|
32
|
+
//# sourceMappingURL=DatasetControlModel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetControlModel.js","sources":["../../../src/components/DatasetControl/DatasetControlModel.ts"],"sourcesContent":["import { IInternalDataProvider } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../hooks\";\nimport { IDatasetControl } from \"../../utils/dataset-control\";\nimport { datasetControlTranslations } from \"./translations\";\n\ntype Labels = Required<ITranslation<typeof datasetControlTranslations>>;\n\ninterface IDatasetControlModelOptions {\n datasetControl: IDatasetControl;\n getLabels: () => Labels;\n}\n\nexport class DatasetControlModel {\n private _options: IDatasetControlModelOptions;\n\n constructor(options: IDatasetControlModelOptions) {\n this._options = options;\n this._registerInterceptors();\n }\n public getDatasetControl(): IDatasetControl {\n return this._options.datasetControl;\n }\n public getLabels(): Labels {\n return this._options.getLabels();\n }\n\n //here due to translations, should be part of DatasetControl when we have translations settled\n private _registerInterceptors() {\n const dataset = this._options.datasetControl.getDataset()\n const dataProvider = dataset.getDataProvider() as IInternalDataProvider;\n dataProvider.setInterceptor('__unsavedChangesBlocker', (parameters, defaultAction) => {\n if (!dataProvider.isDirty()) {\n return defaultAction(parameters);\n }\n else if (window.confirm(this._options.getLabels()['saving-discard-all-confirmation']()) ) {\n //@ts-ignore\n dataProvider['_dirtyRecordIdsSet'].clear();\n //@ts-ignore\n dataProvider['_invalidRecordFieldIdsSet'].clear();\n return defaultAction(parameters);\n }\n })\n }\n\n}"],"names":[],"mappings":"MAYa,mBAAmB,CAAA;AAG5B,IAAA,WAAA,CAAY,OAAoC,EAAA;AAC5C,QAAA,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QACxB,IAAI,CAAC,qBAAqB,EAAE,CAAC;KAChC;IACM,iBAAiB,GAAA;AACpB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC;KACvC;IACM,SAAS,GAAA;AACZ,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC;KACpC;;IAGO,qBAAqB,GAAA;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,UAAU,EAAE,CAAA;AACzD,QAAA,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,EAA2B,CAAC;QACxE,YAAY,CAAC,cAAc,CAAC,yBAAyB,EAAE,CAAC,UAAU,EAAE,aAAa,KAAI;AACjF,YAAA,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE;AACzB,gBAAA,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACpC,aAAA;AACI,iBAAA,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,iCAAiC,CAAC,EAAE,CAAC,EAAG;;AAEtF,gBAAA,YAAY,CAAC,oBAAoB,CAAC,CAAC,KAAK,EAAE,CAAC;;AAE3C,gBAAA,YAAY,CAAC,2BAA2B,CAAC,CAAC,KAAK,EAAE,CAAC;AAClD,gBAAA,OAAO,aAAa,CAAC,UAAU,CAAC,CAAC;AACpC,aAAA;AACL,SAAC,CAAC,CAAA;KACL;AAEJ;;;;"}
|
|
@@ -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":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
import { ITranslation } from "../../../hooks";
|
|
3
|
+
import { datasetColumnFilteringTranslations } from "./translations";
|
|
4
|
+
import { Condition } from '@talxis/client-libraries';
|
|
5
|
+
type Labels = Required<ITranslation<typeof datasetColumnFilteringTranslations>>;
|
|
6
|
+
export declare class DatasetColumnFilteringModel {
|
|
7
|
+
private _condition;
|
|
8
|
+
private _labels;
|
|
9
|
+
constructor(condition: Condition, labels: Labels);
|
|
10
|
+
getOperatorOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[];
|
|
11
|
+
setConditionValue(value: any, index: number): void;
|
|
12
|
+
getConditionValue(): any[];
|
|
13
|
+
getControlName(): "Decimal" | "TextField" | "OptionSet" | "MultiSelectOptionSet" | "DateTime" | "Duration" | "Lookup" | "TwoOptions" | null;
|
|
14
|
+
}
|
|
15
|
+
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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DatasetColumnFilteringModel.js","sources":["../../../../src/components/DatasetControl/Filtering/DatasetColumnFilteringModel.ts"],"sourcesContent":["import { Operators } from \"@talxis/client-libraries\";\nimport { ITranslation } from \"../../../hooks\";\nimport { datasetColumnFilteringTranslations } from \"./translations\";\nimport { BaseControls } from \"../../../utils\";\nimport { Condition } from '@talxis/client-libraries';\n\ntype Labels = Required<ITranslation<typeof datasetColumnFilteringTranslations>>;\n\nexport class DatasetColumnFilteringModel {\n private _condition: Condition;\n private _labels: Labels;\n\n constructor(condition: Condition, labels: Labels) {\n this._condition = condition;\n this._labels = labels;\n }\n\n public getOperatorOptionSet(): ComponentFramework.PropertyHelper.OptionMetadata[] {\n const operators = this._condition.getColumn().metadata?.SupportedFilterConditionOperators ?? []\n return operators.map(operator => {\n return {\n Value: operator,\n //@ts-ignore - typings\n Label: this._labels[`operator-${operator}`](),\n Color: ''\n }\n })\n }\n\n public setConditionValue(value: any, index: number) {\n const operator = this._condition.getOperator();\n if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {\n this._condition.setValue(value);\n }\n else {\n const values = [this._condition.getControlValue()?.[0] ?? null, this._condition.getControlValue()?.[1] ?? null];\n if (index === 0) {\n values[0] = value;\n }\n else {\n values[1] = value;\n }\n this._condition.setValue(values);\n }\n }\n\n public getConditionValue(): any[] {\n const operator = this._condition.getOperator();\n if (operator !== Operators.Between.Value && operator !== Operators.NotBetween.Value) {\n return [this._condition.getControlValue()];\n }\n const value = this._condition.getControlValue();\n if (Array.isArray(value)) {\n return value;\n }\n return [null, null];\n }\n\n public getControlName() {\n const dataType = this._condition.getDataType();\n if (!dataType) {\n return null;\n }\n else {\n return BaseControls.GetControlNameForDataType(dataType);\n }\n }\n}"],"names":[],"mappings":";;;MAQa,2BAA2B,CAAA;IAIpC,WAAY,CAAA,SAAoB,EAAE,MAAc,EAAA;AAC5C,QAAA,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC;AAC5B,QAAA,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;KACzB;IAEM,oBAAoB,GAAA;AACvB,QAAA,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,iCAAiC,IAAI,EAAE,CAAA;AAC/F,QAAA,OAAO,SAAS,CAAC,GAAG,CAAC,QAAQ,IAAG;YAC5B,OAAO;AACH,gBAAA,KAAK,EAAE,QAAQ;;gBAEf,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,CAAY,SAAA,EAAA,QAAQ,CAAE,CAAA,CAAC,EAAE;AAC7C,gBAAA,KAAK,EAAE,EAAE;aACZ,CAAA;AACL,SAAC,CAAC,CAAA;KACL;IAEM,iBAAiB,CAAC,KAAU,EAAE,KAAa,EAAA;QAC9C,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAC/C,QAAA,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;AACjF,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnC,SAAA;AACI,aAAA;AACD,YAAA,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC;YAChH,IAAI,KAAK,KAAK,CAAC,EAAE;AACb,gBAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrB,aAAA;AACI,iBAAA;AACD,gBAAA,MAAM,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC;AACrB,aAAA;AACD,YAAA,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpC,SAAA;KACJ;IAEM,iBAAiB,GAAA;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;AAC/C,QAAA,IAAI,QAAQ,KAAK,SAAS,CAAC,OAAO,CAAC,KAAK,IAAI,QAAQ,KAAK,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE;YACjF,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC,CAAC;AAC9C,SAAA;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,eAAe,EAAE,CAAC;AAChD,QAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AACtB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;KACvB;IAEM,cAAc,GAAA;QACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC;QAC/C,IAAI,CAAC,QAAQ,EAAE;AACX,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACI,aAAA;AACD,YAAA,OAAO,YAAY,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;AAC3D,SAAA;KACJ;AACJ;;;;"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="@types/powerapps-component-framework" />
|
|
2
|
+
import { ThemeProviderProps } from "@fluentui/react";
|
|
3
|
+
import { IControl, IParameters, IStringProperty, ITranslations } from "../../../interfaces";
|
|
4
|
+
import { IOptionSet } from "../../OptionSet";
|
|
5
|
+
import { datasetColumnFilteringTranslations } from "./translations";
|
|
6
|
+
import { INestedControlRenderer } from "../../NestedControlRenderer/interfaces";
|
|
7
|
+
import { IButtonProps as IFluentButtonProps } from "@fluentui/react";
|
|
8
|
+
import React from "react";
|
|
9
|
+
import { Filtering } from "@talxis/client-libraries";
|
|
10
|
+
export interface IDatasetColumnFiltering extends IControl<IDatasetColumnFilteringParameters, ComponentFramework.PropertyHelper.DataSetApi.FilterExpression, Partial<ITranslations<typeof datasetColumnFilteringTranslations>>, IDatasetColumnFilteringComponentProps> {
|
|
11
|
+
}
|
|
12
|
+
export interface IDatasetColumnFilteringParameters extends IParameters {
|
|
13
|
+
ColumnName: IStringProperty;
|
|
14
|
+
Filtering: Filtering;
|
|
15
|
+
}
|
|
16
|
+
interface IDatasetColumnFilteringComponentProps {
|
|
17
|
+
onRender: (props: IComponentProps, defaultRender: (props: IComponentProps) => React.ReactElement) => React.ReactElement;
|
|
18
|
+
}
|
|
19
|
+
interface IComponentProps {
|
|
20
|
+
container: ThemeProviderProps;
|
|
21
|
+
valueControlsContainer: React.HTMLAttributes<HTMLDivElement>;
|
|
22
|
+
onRenderConditionOperatorControl: (props: IOptionSet, defaultRender: (props: IOptionSet) => React.ReactElement) => React.ReactElement;
|
|
23
|
+
onRenderConditionValueControl: (props: INestedControlRenderer, defaultRender: (props: INestedControlRenderer) => React.ReactElement) => React.ReactElement;
|
|
24
|
+
onRenderButtons: (props: IButtonsProps, defaultRender: (props: IButtonsProps) => React.ReactElement) => React.ReactElement;
|
|
25
|
+
}
|
|
26
|
+
interface IButtonsProps {
|
|
27
|
+
container: React.HTMLAttributes<HTMLDivElement>;
|
|
28
|
+
onRenderApplyButton: (props: IFluentButtonProps, defaultRender: (props: IFluentButtonProps) => React.ReactElement) => React.ReactElement;
|
|
29
|
+
onRenderClearButton: (props: IFluentButtonProps, defaultRender: (props: IFluentButtonProps) => React.ReactElement) => React.ReactElement;
|
|
30
|
+
}
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const getDatasetColumnFilteringStyles: () => import("@fluentui/react").IProcessedStyleSet<{
|
|
2
|
+
datasetColumnFilteringRoot: {
|
|
3
|
+
display: string;
|
|
4
|
+
flexDirection: string;
|
|
5
|
+
gap: number;
|
|
6
|
+
};
|
|
7
|
+
valueControlsContainer: {
|
|
8
|
+
display: string;
|
|
9
|
+
flexDirection: string;
|
|
10
|
+
gap: number;
|
|
11
|
+
};
|
|
12
|
+
buttons: {
|
|
13
|
+
display: string;
|
|
14
|
+
gap: number;
|
|
15
|
+
};
|
|
16
|
+
}>;
|