@talxis/base-controls 1.2509.1-alpha.6 → 1.2509.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +49 -0
- package/README.md +3 -40
- package/dist/components/DatasetControl/DatasetControl.js +55 -59
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/DatasetControl/Paging/DatasetPaging.d.ts +3 -0
- package/dist/components/DatasetControl/Paging/DatasetPaging.js +69 -0
- package/dist/components/DatasetControl/Paging/DatasetPaging.js.map +1 -0
- package/dist/components/DatasetControl/Paging/Paging.d.ts +26 -0
- package/dist/components/DatasetControl/Paging/Paging.js +80 -0
- package/dist/components/DatasetControl/Paging/Paging.js.map +1 -0
- package/dist/components/DatasetControl/Paging/index.d.ts +3 -0
- package/dist/components/DatasetControl/Paging/index.js +3 -0
- package/dist/components/DatasetControl/Paging/index.js.map +1 -0
- package/dist/components/DatasetControl/Paging/interfaces.d.ts +16 -0
- package/dist/components/DatasetControl/Paging/styles.d.ts +35 -0
- package/dist/components/DatasetControl/Paging/styles.js +41 -0
- package/dist/components/DatasetControl/Paging/styles.js.map +1 -0
- package/dist/components/DatasetControl/Paging/translations.d.ts +38 -0
- package/dist/components/DatasetControl/Paging/translations.js +14 -0
- package/dist/components/DatasetControl/Paging/translations.js.map +1 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +12 -4
- package/dist/components/DatasetControl/QuickFind/QuickFind.js +32 -36
- 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 +1 -0
- package/dist/components/DatasetControl/index.js +2 -0
- package/dist/components/DatasetControl/index.js.map +1 -1
- package/dist/components/DatasetControl/interfaces.d.ts +20 -54
- package/dist/components/DatasetControl/styles.d.ts +11 -4
- package/dist/components/DatasetControl/styles.js +11 -5
- package/dist/components/DatasetControl/styles.js.map +1 -1
- package/dist/components/DatasetControl/translations.d.ts +0 -44
- package/dist/components/DatasetControl/translations.js +1 -15
- package/dist/components/DatasetControl/translations.js.map +1 -1
- package/dist/components/Grid/Grid.d.ts +3 -0
- package/dist/components/Grid/Grid.js +37 -0
- package/dist/components/Grid/Grid.js.map +1 -0
- package/dist/components/Grid/GridContext.d.ts +3 -0
- package/dist/components/Grid/GridContext.js.map +1 -0
- package/dist/components/Grid/aggregation/Aggregation.d.ts +18 -0
- package/dist/components/Grid/aggregation/Aggregation.js +129 -0
- package/dist/components/Grid/aggregation/Aggregation.js.map +1 -0
- package/dist/components/Grid/{grid/Grid.d.ts → core/components/AgGrid/AgGrid.d.ts} +2 -2
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +203 -0
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js +12 -0
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.js.map +1 -0
- package/dist/components/Grid/{overlays/empty-records → core/components/AgGrid/components/EmptyRecordsOverlay}/styles.d.ts +1 -1
- package/dist/components/Grid/{overlays/empty-records → core/components/AgGrid/components/EmptyRecordsOverlay}/styles.js +1 -1
- package/dist/components/Grid/core/components/AgGrid/components/EmptyRecordsOverlay/styles.js.map +1 -0
- package/dist/components/Grid/core/components/AgGrid/components/LoadingOverlay/LoadingOverlay.js.map +1 -0
- package/dist/components/Grid/{grid/ag-grid/AgGridContext.d.ts → core/components/AgGrid/context.d.ts} +2 -2
- package/dist/components/Grid/{grid/ag-grid/AgGridContext.js → core/components/AgGrid/context.js} +1 -1
- package/dist/components/Grid/core/components/AgGrid/context.js.map +1 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +52 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +343 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -0
- package/dist/components/Grid/{grid/ValueComparator.d.ts → core/components/AgGrid/model/Comparator.d.ts} +1 -1
- package/dist/components/Grid/{grid/ValueComparator.js → core/components/AgGrid/model/Comparator.js} +1 -7
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +1 -0
- package/dist/components/Grid/{grid → core/components/AgGrid}/styles.d.ts +4 -24
- package/dist/components/Grid/{grid → core/components/AgGrid}/styles.js +6 -37
- package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -0
- package/dist/components/Grid/{cells/cell → core/components/Cell}/Cell.d.ts +3 -3
- package/dist/components/Grid/core/components/Cell/Cell.js +158 -0
- package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -0
- package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/CellContent.d.ts +2 -2
- package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/CellContent.js +31 -40
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +1 -0
- package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/Notifications.d.ts +1 -1
- package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/Notifications.js +5 -5
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +1 -0
- package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/styles.js +1 -1
- package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +1 -0
- package/dist/components/Grid/{cells/cell → core/components/Cell}/styles.d.ts +3 -34
- package/dist/components/Grid/core/components/Cell/styles.js +59 -0
- package/dist/components/Grid/core/components/Cell/styles.js.map +1 -0
- package/dist/components/Grid/{column-headers/column-header → core/components/ColumnHeader}/ColumnHeader.d.ts +1 -1
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js +61 -0
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.d.ts +2 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +50 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +42 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +48 -0
- package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Dialog/Constants.d.ts +2 -0
- package/dist/components/Grid/core/components/Dialog/Constants.js +9 -0
- package/dist/components/Grid/core/components/Dialog/Constants.js.map +1 -0
- package/dist/components/Grid/core/components/Dialog/Styles.d.ts +2 -0
- package/dist/components/Grid/core/components/Dialog/Styles.js +61 -0
- package/dist/components/Grid/core/components/Dialog/Styles.js.map +1 -0
- package/dist/components/Grid/core/components/Dialog/index.d.ts +4 -0
- package/dist/components/Grid/core/components/Dialog/index.js +16 -0
- package/dist/components/Grid/core/components/Dialog/index.js.map +1 -0
- package/dist/components/Grid/core/components/Dialog/interfaces/index.d.ts +6 -0
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js +2 -0
- package/dist/components/Grid/core/components/Dialog/interfaces/index.js.map +1 -0
- package/dist/components/Grid/core/components/Save/Save.d.ts +2 -0
- package/dist/components/Grid/core/components/Save/Save.js +59 -0
- package/dist/components/Grid/core/components/Save/Save.js.map +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.d.ts +7 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +73 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +11 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +231 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.d.ts +39 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js +45 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.d.ts +31 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js +37 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Save/styles.d.ts +35 -0
- package/dist/components/Grid/core/components/Save/styles.js +42 -0
- package/dist/components/Grid/core/components/Save/styles.js.map +1 -0
- package/dist/components/Grid/core/controllers/useGridController.d.ts +7 -0
- package/dist/components/Grid/core/controllers/useGridController.js +29 -0
- package/dist/components/Grid/core/controllers/useGridController.js.map +1 -0
- package/dist/components/Grid/core/enums/ConditionOperator.d.ts +48 -0
- package/dist/components/Grid/core/enums/ConditionOperator.js +52 -0
- package/dist/components/Grid/core/enums/ConditionOperator.js.map +1 -0
- package/dist/components/Grid/core/enums/DataType.d.ts +25 -0
- package/dist/components/Grid/core/enums/DataType.js +30 -0
- package/dist/components/Grid/core/enums/DataType.js.map +1 -0
- package/dist/components/Grid/core/hooks/useGridInstance.d.ts +2 -0
- package/dist/components/Grid/{grid → core/hooks}/useGridInstance.js +2 -2
- package/dist/components/Grid/core/hooks/useGridInstance.js.map +1 -0
- package/dist/components/Grid/core/hooks/useRefreshCallback.d.ts +2 -0
- package/dist/components/Grid/core/hooks/useRefreshCallback.js +20 -0
- package/dist/components/Grid/core/hooks/useRefreshCallback.js.map +1 -0
- package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +13 -0
- package/dist/components/Grid/core/interfaces/IGridContext.d.ts +4 -0
- package/dist/components/Grid/core/model/Grid.d.ts +83 -0
- package/dist/components/Grid/core/model/Grid.js +528 -0
- package/dist/components/Grid/core/model/Grid.js.map +1 -0
- package/dist/components/Grid/core/model/GridDependency.d.ts +13 -0
- package/dist/components/Grid/core/model/GridDependency.js +28 -0
- package/dist/components/Grid/core/model/GridDependency.js.map +1 -0
- package/dist/components/Grid/core/services/KeyListener.d.ts +12 -0
- package/dist/components/Grid/core/services/KeyListener.js +31 -0
- package/dist/components/Grid/core/services/KeyListener.js.map +1 -0
- package/dist/components/Grid/{column-headers/column-header → filtering/components/FilterCallout}/FilterCallout.d.ts +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js +59 -0
- package/dist/components/Grid/filtering/components/FilterCallout/FilterCallout.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.d.ts +7 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js +56 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionOperator/ConditionOperator.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.d.ts +7 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +73 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.d.ts +7 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js +90 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValueBetween.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +48 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js +146 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.d.ts +11 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js +53 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.d.ts +9 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js +31 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.d.ts +10 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +294 -0
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -0
- package/dist/components/Grid/filtering/components/FilterCallout/styles.d.ts +35 -0
- package/dist/components/Grid/{column-headers/column-header → filtering/components/FilterCallout}/styles.js +11 -20
- package/dist/components/Grid/filtering/components/FilterCallout/styles.js.map +1 -0
- package/dist/components/Grid/filtering/constants.d.ts +5 -0
- package/dist/components/Grid/filtering/constants.js +53 -0
- package/dist/components/Grid/filtering/constants.js.map +1 -0
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.d.ts +21 -0
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js +44 -0
- package/dist/components/Grid/filtering/controller/useColumnFilterConditionController.js.map +1 -0
- package/dist/components/Grid/filtering/model/Condition.d.ts +49 -0
- package/dist/components/Grid/filtering/model/Condition.js +347 -0
- package/dist/components/Grid/filtering/model/Condition.js.map +1 -0
- package/dist/components/Grid/filtering/model/Filtering.d.ts +11 -0
- package/dist/components/Grid/filtering/model/Filtering.js +78 -0
- package/dist/components/Grid/filtering/model/Filtering.js.map +1 -0
- package/dist/components/Grid/filtering/utils/FilteringUtilts.d.ts +34 -0
- package/dist/components/Grid/filtering/utils/FilteringUtilts.js +195 -0
- package/dist/components/Grid/filtering/utils/FilteringUtilts.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 +0 -9
- package/dist/components/Grid/selection/model/Selection.d.ts +12 -0
- package/dist/components/Grid/selection/model/Selection.js +55 -0
- package/dist/components/Grid/selection/model/Selection.js.map +1 -0
- package/dist/components/Grid/sorting/Sorting.d.ts +10 -0
- package/dist/components/Grid/sorting/Sorting.js +31 -0
- package/dist/components/Grid/sorting/Sorting.js.map +1 -0
- package/dist/components/Grid/{column-headers/column-header/ColumnHeaderContextualMenu.d.ts → sorting/components/SortingContextualMenu/SortingContextualMenu.d.ts} +3 -3
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +157 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js.map +1 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.d.ts +9 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js +15 -0
- package/dist/components/Grid/sorting/components/SortingContextualMenu/styles.js.map +1 -0
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.d.ts +9 -0
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js +22 -0
- package/dist/components/Grid/sorting/controllers/useColumnSortingController.js.map +1 -0
- package/dist/components/Grid/translations.d.ts +180 -20
- package/dist/components/Grid/translations.js +48 -5
- package/dist/components/Grid/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.d.ts +2 -0
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js +11 -0
- package/dist/components/GridCellRenderer/DefaultContentRenderer/DefaultContentRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.d.ts +1 -0
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js +2 -0
- package/dist/components/GridCellRenderer/DefaultContentRenderer/index.js.map +1 -0
- package/dist/components/GridCellRenderer/GridCellRenderer.js +282 -99
- package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +5 -0
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +75 -0
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js.map +1 -0
- package/dist/components/GridCellRenderer/OptionSet/index.d.ts +1 -0
- package/dist/components/GridCellRenderer/OptionSet/index.js +2 -0
- package/dist/components/GridCellRenderer/OptionSet/index.js.map +1 -0
- package/dist/components/GridCellRenderer/OptionSet/styles.d.ts +20 -0
- package/dist/components/GridCellRenderer/OptionSet/styles.js +29 -0
- package/dist/components/GridCellRenderer/OptionSet/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/RecordCommands/Icon.d.ts +7 -0
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js +32 -0
- package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +1 -0
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +13 -0
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +103 -0
- package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +1 -0
- package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +13 -0
- package/dist/components/GridCellRenderer/RecordCommands/styles.js +32 -0
- package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/interfaces.d.ts +42 -53
- package/dist/components/GridCellRenderer/styles.d.ts +60 -34
- package/dist/components/GridCellRenderer/styles.js +77 -69
- package/dist/components/GridCellRenderer/styles.js.map +1 -1
- package/dist/components/GridCellRenderer/translations.d.ts +1 -1
- package/dist/components/GridCellRenderer/translations.js +32 -30
- package/dist/components/GridCellRenderer/translations.js.map +1 -1
- package/dist/components/GridCellRenderer/useComponentProps.d.ts +6 -0
- package/dist/components/GridCellRenderer/useComponentProps.js +10 -0
- package/dist/components/GridCellRenderer/useComponentProps.js.map +1 -0
- package/dist/components/Lookup/Lookup.js +1 -1
- package/dist/components/Lookup/Lookup.js.map +1 -1
- package/dist/components/Lookup/hooks/useLookup.js +2 -2
- package/dist/components/Lookup/hooks/useLookup.js.map +1 -1
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +2 -2
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControl.d.ts +0 -2
- package/dist/components/NestedControlRenderer/NestedControl.js +2 -5
- package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +6 -11
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -1
- package/dist/components/NestedControlRenderer/interfaces.d.ts +0 -4
- 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 +4 -5
- package/dist/components/OptionSet/OptionSet.js.map +1 -1
- package/dist/components/TextField/TextField.js +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/index.js +3 -1
- package/dist/components/index.js.map +1 -1
- package/dist/hooks/useControl.d.ts +0 -1
- package/dist/hooks/useControl.js +0 -1
- package/dist/hooks/useControl.js.map +1 -1
- package/dist/hooks/useInputBasedControl.js +1 -2
- package/dist/hooks/useInputBasedControl.js.map +1 -1
- package/dist/index.d.ts +299 -162
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces/property.d.ts +1 -1
- package/dist/utils/BaseControls.d.ts +1 -2
- package/dist/utils/BaseControls.js +1 -5
- package/dist/utils/BaseControls.js.map +1 -1
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +16 -12
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +72 -27
- package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
- 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 +1 -2
- package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
- package/package.json +5 -9
- package/dist/components/DatasetControl/DatasetControlModel.d.ts +0 -37
- package/dist/components/DatasetControl/DatasetControlModel.js +0 -110
- package/dist/components/DatasetControl/DatasetControlModel.js.map +0 -1
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.d.ts +0 -3
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +0 -166
- package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js.map +0 -1
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.d.ts +0 -15
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js +0 -59
- package/dist/components/DatasetControl/Filtering/DatasetColumnFilteringModel.js.map +0 -1
- package/dist/components/DatasetControl/Filtering/interfaces.d.ts +0 -31
- package/dist/components/DatasetControl/Filtering/styles.d.ts +0 -16
- package/dist/components/DatasetControl/Filtering/styles.js +0 -23
- package/dist/components/DatasetControl/Filtering/styles.js.map +0 -1
- package/dist/components/DatasetControl/Filtering/translations.d.ts +0 -154
- package/dist/components/DatasetControl/Filtering/translations.js +0 -43
- package/dist/components/DatasetControl/Filtering/translations.js.map +0 -1
- package/dist/components/DatasetControl/Header/Header.d.ts +0 -5
- package/dist/components/DatasetControl/Header/Header.js +0 -89
- package/dist/components/DatasetControl/Header/Header.js.map +0 -1
- package/dist/components/DatasetControl/Header/styles.d.ts +0 -22
- package/dist/components/DatasetControl/Header/styles.js +0 -29
- package/dist/components/DatasetControl/Header/styles.js.map +0 -1
- package/dist/components/DatasetControl/Pagination/Pagination.d.ts +0 -5
- package/dist/components/DatasetControl/Pagination/Pagination.js +0 -91
- package/dist/components/DatasetControl/Pagination/Pagination.js.map +0 -1
- package/dist/components/DatasetControl/Pagination/PaginationModel.d.ts +0 -10
- package/dist/components/DatasetControl/Pagination/PaginationModel.js +0 -45
- package/dist/components/DatasetControl/Pagination/PaginationModel.js.map +0 -1
- package/dist/components/DatasetControl/Pagination/styles.d.ts +0 -23
- package/dist/components/DatasetControl/Pagination/styles.js +0 -29
- package/dist/components/DatasetControl/Pagination/styles.js.map +0 -1
- package/dist/components/DatasetControl/useModel.d.ts +0 -4
- package/dist/components/DatasetControl/useModel.js +0 -9
- package/dist/components/DatasetControl/useModel.js.map +0 -1
- package/dist/components/Grid/cells/cell/Cell.js +0 -302
- package/dist/components/Grid/cells/cell/Cell.js.map +0 -1
- package/dist/components/Grid/cells/cell/content/CellContent.js.map +0 -1
- package/dist/components/Grid/cells/cell/content/styles.js.map +0 -1
- package/dist/components/Grid/cells/cell/notifications/Notifications.js.map +0 -1
- package/dist/components/Grid/cells/cell/notifications/styles.js.map +0 -1
- package/dist/components/Grid/cells/cell/styles.js +0 -78
- package/dist/components/Grid/cells/cell/styles.js.map +0 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +0 -83
- package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +0 -1
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js +0 -115
- package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.js.map +0 -1
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js +0 -103
- package/dist/components/Grid/column-headers/column-header/FilterCallout.js.map +0 -1
- package/dist/components/Grid/column-headers/column-header/styles.d.ts +0 -84
- package/dist/components/Grid/column-headers/column-header/styles.js.map +0 -1
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +0 -2
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js +0 -50
- package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.js.map +0 -1
- package/dist/components/Grid/column-headers/record-selection-checkbox/styles.js.map +0 -1
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +0 -6
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js +0 -15
- package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.js.map +0 -1
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.d.ts +0 -6
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js +0 -13
- package/dist/components/Grid/errors/FullWidthCellRendererError/styles.js.map +0 -1
- package/dist/components/Grid/grid/Grid.js +0 -64
- package/dist/components/Grid/grid/Grid.js.map +0 -1
- package/dist/components/Grid/grid/GridContext.d.ts +0 -3
- package/dist/components/Grid/grid/GridContext.js.map +0 -1
- package/dist/components/Grid/grid/GridModel.d.ts +0 -117
- package/dist/components/Grid/grid/GridModel.js +0 -787
- package/dist/components/Grid/grid/GridModel.js.map +0 -1
- package/dist/components/Grid/grid/ValueComparator.js.map +0 -1
- package/dist/components/Grid/grid/ag-grid/AgGridContext.js.map +0 -1
- package/dist/components/Grid/grid/ag-grid/AgGridModel.d.ts +0 -88
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js +0 -565
- package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +0 -1
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.d.ts +0 -7
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js +0 -38
- package/dist/components/Grid/grid/ag-grid/ServerSideDatasource.js.map +0 -1
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.d.ts +0 -2
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js +0 -9
- package/dist/components/Grid/grid/ag-grid/useAgGridInstance.js.map +0 -1
- package/dist/components/Grid/grid/styles.js.map +0 -1
- package/dist/components/Grid/grid/useGridInstance.d.ts +0 -2
- package/dist/components/Grid/grid/useGridInstance.js.map +0 -1
- package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +0 -3
- package/dist/components/Grid/loading/full-row/FullRowLoading.js +0 -33
- package/dist/components/Grid/loading/full-row/FullRowLoading.js.map +0 -1
- package/dist/components/Grid/loading/full-row/styles.d.ts +0 -9
- package/dist/components/Grid/loading/full-row/styles.js +0 -16
- package/dist/components/Grid/loading/full-row/styles.js.map +0 -1
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js +0 -13
- package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.js.map +0 -1
- package/dist/components/Grid/overlays/empty-records/styles.js.map +0 -1
- package/dist/components/Grid/overlays/loading/LoadingOverlay.js.map +0 -1
- package/dist/components/GridCellRenderer/GridCellRendererModel.d.ts +0 -51
- package/dist/components/GridCellRenderer/GridCellRendererModel.js +0 -211
- package/dist/components/GridCellRenderer/GridCellRendererModel.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.d.ts +0 -9
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js +0 -53
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/ColorfulOptionSetValueRenderer.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.d.ts +0 -20
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js +0 -29
- package/dist/components/GridCellRenderer/ValueRenderer/ColorfulOptionSetValueRenderer/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.d.ts +0 -7
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js +0 -76
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/FileRenderer.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.d.ts +0 -18
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js +0 -25
- package/dist/components/GridCellRenderer/ValueRenderer/FileRenderer/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +0 -3
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js +0 -52
- package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.js.map +0 -1
- package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +0 -1666
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js +0 -31
- package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Email.d.ts +0 -5
- package/dist/components/GridCellRenderer/properties/Email.js +0 -15
- package/dist/components/GridCellRenderer/properties/Email.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/File.d.ts +0 -19
- package/dist/components/GridCellRenderer/properties/File.js +0 -99
- package/dist/components/GridCellRenderer/properties/File.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Image.d.ts +0 -4
- package/dist/components/GridCellRenderer/properties/Image.js +0 -15
- package/dist/components/GridCellRenderer/properties/Image.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Lookup.d.ts +0 -6
- package/dist/components/GridCellRenderer/properties/Lookup.js +0 -19
- package/dist/components/GridCellRenderer/properties/Lookup.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.d.ts +0 -5
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js +0 -11
- package/dist/components/GridCellRenderer/properties/MultiSelectOptionSet.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/MultilineText.d.ts +0 -4
- package/dist/components/GridCellRenderer/properties/MultilineText.js +0 -10
- package/dist/components/GridCellRenderer/properties/MultilineText.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/OptionSet.d.ts +0 -5
- package/dist/components/GridCellRenderer/properties/OptionSet.js +0 -11
- package/dist/components/GridCellRenderer/properties/OptionSet.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/OptionSetBase.d.ts +0 -7
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js +0 -19
- package/dist/components/GridCellRenderer/properties/OptionSetBase.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Phone.d.ts +0 -9
- package/dist/components/GridCellRenderer/properties/Phone.js +0 -15
- package/dist/components/GridCellRenderer/properties/Phone.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Property.d.ts +0 -19
- package/dist/components/GridCellRenderer/properties/Property.js +0 -54
- package/dist/components/GridCellRenderer/properties/Property.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/TwoOptions.d.ts +0 -5
- package/dist/components/GridCellRenderer/properties/TwoOptions.js +0 -11
- package/dist/components/GridCellRenderer/properties/TwoOptions.js.map +0 -1
- package/dist/components/GridCellRenderer/properties/Url.d.ts +0 -5
- package/dist/components/GridCellRenderer/properties/Url.js +0 -15
- package/dist/components/GridCellRenderer/properties/Url.js.map +0 -1
- package/dist/components/GridCellRenderer/useModel.d.ts +0 -4
- package/dist/components/GridCellRenderer/useModel.js +0 -9
- package/dist/components/GridCellRenderer/useModel.js.map +0 -1
- package/dist/components/GridColumnHeader/GridColumnHeader.d.ts +0 -3
- package/dist/components/GridColumnHeader/GridColumnHeader.js +0 -134
- package/dist/components/GridColumnHeader/GridColumnHeader.js.map +0 -1
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.d.ts +0 -26
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js +0 -87
- package/dist/components/GridColumnHeader/GridColumnHeaderModel.js.map +0 -1
- package/dist/components/GridColumnHeader/interfaces.d.ts +0 -45
- package/dist/components/GridColumnHeader/styles.d.ts +0 -37
- package/dist/components/GridColumnHeader/styles.js +0 -55
- package/dist/components/GridColumnHeader/styles.js.map +0 -1
- package/dist/components/GridColumnHeader/translations.d.ts +0 -26
- package/dist/components/GridColumnHeader/translations.js +0 -29
- package/dist/components/GridColumnHeader/translations.js.map +0 -1
- package/dist/components/Ribbon/Ribbon.d.ts +0 -3
- package/dist/components/Ribbon/Ribbon.js +0 -97
- package/dist/components/Ribbon/Ribbon.js.map +0 -1
- package/dist/components/Ribbon/RibbonModel.d.ts +0 -4
- package/dist/components/Ribbon/interfaces.d.ts +0 -19
- package/dist/components/Ribbon/styles.d.ts +0 -11
- package/dist/components/Ribbon/styles.js +0 -18
- package/dist/components/Ribbon/styles.js.map +0 -1
- package/dist/hooks/useEventEmitter.d.ts +0 -2
- package/dist/hooks/useEventEmitter.js +0 -18
- package/dist/hooks/useEventEmitter.js.map +0 -1
- /package/dist/components/Grid/{grid/GridContext.js → GridContext.js} +0 -0
- /package/dist/components/Grid/{overlays/empty-records/EmptyRecordsOverlay.d.ts → core/components/AgGrid/components/EmptyRecordsOverlay/EmptyRecords.d.ts} +0 -0
- /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.d.ts +0 -0
- /package/dist/components/Grid/{overlays/loading → core/components/AgGrid/components/LoadingOverlay}/LoadingOverlay.js +0 -0
- /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.d.ts +0 -0
- /package/dist/components/Grid/{cells/cell/content → core/components/Cell/CellContent}/styles.js +0 -0
- /package/dist/components/Grid/{cells/cell/notifications → core/components/Cell/Notifications}/styles.d.ts +0 -0
- /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.d.ts +0 -0
- /package/dist/components/Grid/{column-headers/record-selection-checkbox → core/components/ColumnHeader/components/GlobalCheckbox}/styles.js +0 -0
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useState, useMemo, useRef } from 'react';
|
|
3
|
+
import { useTheme, CommandBarButton, Icon, Label } from '@fluentui/react';
|
|
4
|
+
import { FilterCallout } from '../../../filtering/components/FilterCallout/FilterCallout.js';
|
|
5
|
+
import { SortingContextualMenu } from '../../../sorting/components/SortingContextualMenu/SortingContextualMenu.js';
|
|
6
|
+
import { getColumnHeaderStyles } from './styles.js';
|
|
7
|
+
import { useGridInstance } from '../../hooks/useGridInstance.js';
|
|
8
|
+
|
|
9
|
+
const ColumnHeader = (props) => {
|
|
10
|
+
const grid = useGridInstance();
|
|
11
|
+
const column = props.baseColumn;
|
|
12
|
+
const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState(null);
|
|
13
|
+
const [filterCalloutProps, setFilterCalloutProps] = useState(null);
|
|
14
|
+
const theme = useTheme();
|
|
15
|
+
const columnHeaderStyles = useMemo(() => getColumnHeaderStyles(theme, column.alignment), [theme, column.alignment]);
|
|
16
|
+
const buttonRef = useRef(null);
|
|
17
|
+
const onClick = () => {
|
|
18
|
+
if ((column.isFilterable === false && column.disableSorting && !column.canBeAggregated)) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
setColumnHeaderContextualMenuProps({
|
|
22
|
+
column: column,
|
|
23
|
+
onDismiss: (e, dismissAll, showFilterCallout) => {
|
|
24
|
+
setColumnHeaderContextualMenuProps(null);
|
|
25
|
+
if (!showFilterCallout) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
setFilterCalloutProps({
|
|
29
|
+
column: column,
|
|
30
|
+
onDismiss: () => {
|
|
31
|
+
setFilterCalloutProps(null);
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}
|
|
35
|
+
});
|
|
36
|
+
};
|
|
37
|
+
const preventDismissOnEvent = (e) => {
|
|
38
|
+
if (e.type !== 'scroll') {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
const target = e.target;
|
|
42
|
+
//check for vertical scroll
|
|
43
|
+
if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
//ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout
|
|
47
|
+
if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {
|
|
48
|
+
return true;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
};
|
|
52
|
+
return (jsxs(Fragment, { children: [jsxs(CommandBarButton, { elementRef: buttonRef, title: column.displayName, className: columnHeaderStyles.root, onClick: onClick, children: [grid.isEditable && !column.isEditable && column.type !== 'action' && jsx(Icon, { className: columnHeaderStyles.editIcon, iconName: 'Uneditable' }), jsxs("div", { className: columnHeaderStyles.labelWrapper, children: [jsx(Label, { className: columnHeaderStyles.label, children: column.displayName }), column.isRequired &&
|
|
53
|
+
jsx("span", { className: columnHeaderStyles.requiredSymbol, children: "*" })] }), jsxs("div", { className: columnHeaderStyles.filterSortIcons, children: [column.isSorted && jsx(Icon, { iconName: column.isSortedDescending ? 'SortDown' : 'SortUp' }), column.isFiltered && jsx(Icon, { iconName: 'Filter' })] })] }), columnHeaderContextualMenuProps &&
|
|
54
|
+
jsx(SortingContextualMenu, { target: buttonRef, calloutProps: {
|
|
55
|
+
preventDismissOnEvent: preventDismissOnEvent
|
|
56
|
+
}, ...columnHeaderContextualMenuProps }), filterCalloutProps &&
|
|
57
|
+
jsx(FilterCallout, { preventDismissOnEvent: preventDismissOnEvent, target: buttonRef, ...filterCalloutProps })] }));
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { ColumnHeader };
|
|
61
|
+
//# sourceMappingURL=ColumnHeader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColumnHeader.js","sources":["../../../../../../src/components/Grid/core/components/ColumnHeader/ColumnHeader.tsx"],"sourcesContent":["import { useMemo, useRef, useState } from 'react';\nimport { CommandBarButton, Icon, Label, useTheme } from '@fluentui/react';\nimport { FilterCallout, IFilterCallout } from '../../../filtering/components/FilterCallout/FilterCallout';\nimport { IGridColumn } from '../../interfaces/IGridColumn';\nimport { ISortingContextualMenu, SortingContextualMenu } from '../../../sorting/components/SortingContextualMenu/SortingContextualMenu';\nimport { getColumnHeaderStyles } from './styles';\nimport { useGridInstance } from '../../hooks/useGridInstance';\nimport React from 'react';\n\nexport interface IColumnHeader {\n baseColumn: IGridColumn;\n}\n\nexport const ColumnHeader = (props: IColumnHeader) => {\n const grid = useGridInstance();\n const column = props.baseColumn;\n const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState<ISortingContextualMenu | null>(null);\n const [filterCalloutProps, setFilterCalloutProps] = useState<IFilterCallout | null>(null);\n const theme = useTheme();\n const columnHeaderStyles = useMemo(() => getColumnHeaderStyles(theme, column.alignment), [theme, column.alignment])\n const buttonRef = useRef<HTMLElement>(null);\n\n const onClick = () => {\n if ((column.isFilterable === false && column.disableSorting && !column.canBeAggregated)) {\n return;\n }\n setColumnHeaderContextualMenuProps({\n column: column,\n onDismiss: (e, dismissAll, showFilterCallout) => {\n setColumnHeaderContextualMenuProps(null);\n if (!showFilterCallout) {\n return;\n }\n setFilterCalloutProps({\n column: column,\n onDismiss: () => {\n setFilterCalloutProps(null)\n }\n })\n }\n });\n }\n const preventDismissOnEvent = (e: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | React.FocusEvent<Element, Element>) => {\n if(e.type !== 'scroll') {\n return false;\n }\n const target = e.target as HTMLElement;\n //check for vertical scroll\n if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {\n return true;\n }\n //ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n return true;\n }\n return false;\n }\n return (\n <>\n <CommandBarButton\n elementRef={buttonRef}\n title={column.displayName}\n className={columnHeaderStyles.root}\n onClick={onClick}\n >\n {grid.isEditable && !column.isEditable && column.type !== 'action' && <Icon className={columnHeaderStyles.editIcon} iconName='Uneditable' />}\n <div className={columnHeaderStyles.labelWrapper}>\n <Label className={columnHeaderStyles.label}>{column.displayName}</Label>\n {column.isRequired &&\n <span className={columnHeaderStyles.requiredSymbol}>*</span>\n }\n </div>\n <div className={columnHeaderStyles.filterSortIcons}>\n {column.isSorted && <Icon iconName={column.isSortedDescending ? 'SortDown' : 'SortUp'} />}\n {column.isFiltered && <Icon iconName='Filter' />}\n </div>\n </CommandBarButton>\n {columnHeaderContextualMenuProps &&\n <SortingContextualMenu \n target={buttonRef}\n calloutProps={{\n preventDismissOnEvent: preventDismissOnEvent\n }} \n {...columnHeaderContextualMenuProps} />\n }\n {filterCalloutProps &&\n <FilterCallout preventDismissOnEvent={preventDismissOnEvent} target={buttonRef} {...filterCalloutProps} />\n }\n </>\n )\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { jsx, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { useTheme, ThemeProvider, Checkbox } from '@fluentui/react';
|
|
3
|
+
import { useContext, useEffect } from 'react';
|
|
4
|
+
import { useGridInstance } from '../../../../hooks/useGridInstance.js';
|
|
5
|
+
import { getGlobalCheckboxStyles } from './styles.js';
|
|
6
|
+
import { AgGridContext } from '../../../AgGrid/context.js';
|
|
7
|
+
import { useThemeGenerator, Theming, useRerender } from '@talxis/react-components';
|
|
8
|
+
|
|
9
|
+
const GlobalCheckBox = () => {
|
|
10
|
+
const grid = useGridInstance();
|
|
11
|
+
const baseTheme = useTheme();
|
|
12
|
+
const theme = useThemeGenerator(baseTheme.palette.themePrimary, baseTheme.semanticColors.bodyBackground, Theming.GetTextColorForBackground(baseTheme.semanticColors.bodyBackground),
|
|
13
|
+
//@ts-ignore - typings
|
|
14
|
+
grid.pcfContext.fluentDesignLanguage?.v8FluentOverrides);
|
|
15
|
+
const styles = getGlobalCheckboxStyles(theme);
|
|
16
|
+
const selection = grid.selection;
|
|
17
|
+
const agGrid = useContext(AgGridContext);
|
|
18
|
+
const rerender = useRerender();
|
|
19
|
+
const getCheckBoxState = () => {
|
|
20
|
+
if (grid.selection.allRecordsSelected) {
|
|
21
|
+
return 'checked';
|
|
22
|
+
}
|
|
23
|
+
if (grid.dataset.getSelectedRecordIds().length > 0) {
|
|
24
|
+
return 'intermediate';
|
|
25
|
+
}
|
|
26
|
+
return 'unchecked';
|
|
27
|
+
};
|
|
28
|
+
const onChange = (checked) => {
|
|
29
|
+
if (checked) {
|
|
30
|
+
selection.selectAll();
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
selection.clear();
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
const checkboxState = getCheckBoxState();
|
|
37
|
+
useEffect(() => {
|
|
38
|
+
agGrid.setGlobalCheckBoxRenderer(() => rerender());
|
|
39
|
+
}, []);
|
|
40
|
+
if (grid.dataset.sortedRecordIds.length === 0) {
|
|
41
|
+
return jsx(Fragment, {});
|
|
42
|
+
}
|
|
43
|
+
return (jsx(ThemeProvider, { theme: theme, className: styles.root, children: selection.type === 'multiple' &&
|
|
44
|
+
jsx(Checkbox, { checked: checkboxState === 'checked', styles: {
|
|
45
|
+
checkbox: styles.checkbox
|
|
46
|
+
}, indeterminate: checkboxState === 'intermediate', onChange: (e, checked) => onChange(checked) }) }));
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
export { GlobalCheckBox };
|
|
50
|
+
//# sourceMappingURL=GlobalCheckbox.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalCheckbox.js","sources":["../../../../../../../../src/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.tsx"],"sourcesContent":["import { Checkbox, ThemeProvider, useTheme } from \"@fluentui/react\";\nimport { useContext, useEffect } from \"react\";\nimport { useGridInstance } from \"../../../../hooks/useGridInstance\";\nimport { getGlobalCheckboxStyles } from \"./styles\";\nimport { AgGridContext } from \"../../../AgGrid/context\";\nimport { Theming, useRerender, useThemeGenerator } from \"@talxis/react-components\";\n\n\nexport const GlobalCheckBox = () => {\n const grid = useGridInstance();\n const baseTheme = useTheme();\n const theme = useThemeGenerator(\n baseTheme.palette.themePrimary,\n baseTheme.semanticColors.bodyBackground,\n Theming.GetTextColorForBackground(baseTheme.semanticColors.bodyBackground),\n //@ts-ignore - typings\n grid.pcfContext.fluentDesignLanguage?.v8FluentOverrides\n )\n const styles = getGlobalCheckboxStyles(theme);\n const selection = grid.selection;\n const agGrid = useContext(AgGridContext);\n const rerender = useRerender();\n\n const getCheckBoxState = () => {\n if (grid.selection.allRecordsSelected) {\n return 'checked';\n }\n if (grid.dataset.getSelectedRecordIds().length > 0) {\n return 'intermediate';\n }\n return 'unchecked';\n }\n\n const onChange = (checked?: boolean) => {\n if (checked) {\n selection.selectAll();\n }\n else {\n selection.clear();\n }\n }\n\n const checkboxState = getCheckBoxState();\n\n useEffect(() => {\n agGrid.setGlobalCheckBoxRenderer(() => rerender())\n }, []);\n\n if (grid.dataset.sortedRecordIds.length === 0) {\n return <></>\n }\n return (\n <ThemeProvider theme={theme} className={styles.root}>\n {selection.type === 'multiple' &&\n <Checkbox\n checked={checkboxState === 'checked'}\n styles={{\n checkbox: styles.checkbox\n }}\n indeterminate={checkboxState === 'intermediate'}\n onChange={(e, checked) => onChange(checked)} />\n }\n </ThemeProvider>\n )\n};"],"names":["_jsx"],"mappings":";;;;;;;;AAQO,MAAM,cAAc,GAAG,MAAK;AAC/B,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,SAAS,GAAG,QAAQ,EAAE,CAAC;IAC7B,MAAM,KAAK,GAAG,iBAAiB,CAC3B,SAAS,CAAC,OAAO,CAAC,YAAY,EAC9B,SAAS,CAAC,cAAc,CAAC,cAAc,EACvC,OAAO,CAAC,yBAAyB,CAAC,SAAS,CAAC,cAAc,CAAC,cAAc,CAAC;;AAE1E,IAAA,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,iBAAiB,CAC1D,CAAA;AACD,IAAA,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAC9C,IAAA,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;AACjC,IAAA,MAAM,MAAM,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;AACzC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,MAAM,gBAAgB,GAAG,MAAK;AAC1B,QAAA,IAAI,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAE;AACnC,YAAA,OAAO,SAAS,CAAC;AACpB,SAAA;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,MAAM,GAAG,CAAC,EAAE;AAChD,YAAA,OAAO,cAAc,CAAC;AACzB,SAAA;AACD,QAAA,OAAO,WAAW,CAAC;AACvB,KAAC,CAAA;AAED,IAAA,MAAM,QAAQ,GAAG,CAAC,OAAiB,KAAI;AACnC,QAAA,IAAI,OAAO,EAAE;YACT,SAAS,CAAC,SAAS,EAAE,CAAC;AACzB,SAAA;AACI,aAAA;YACD,SAAS,CAAC,KAAK,EAAE,CAAC;AACrB,SAAA;AACL,KAAC,CAAA;AAED,IAAA,MAAM,aAAa,GAAG,gBAAgB,EAAE,CAAC;IAEzC,SAAS,CAAC,MAAK;QACX,MAAM,CAAC,yBAAyB,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAA;KACrD,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3C,QAAA,OAAOA,iBAAK,CAAA;AACf,KAAA;AACD,IAAA,QACIA,GAAC,CAAA,aAAa,IAAC,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC,IAAI,EAAA,QAAA,EAC9C,SAAS,CAAC,IAAI,KAAK,UAAU;YAC1BA,GAAC,CAAA,QAAQ,IACL,OAAO,EAAE,aAAa,KAAK,SAAS,EACpC,MAAM,EAAE;oBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;iBAC5B,EACD,aAAa,EAAE,aAAa,KAAK,cAAc,EAC/C,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,QAAQ,CAAC,OAAO,CAAC,EAAA,CAAI,EAE3C,CAAA,EACnB;AACL;;;;"}
|
package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../../../src/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\"\n\nexport const getGlobalCheckboxStyles = (theme: ITheme) => {\n return mergeStyleSets({\n root: {\n backgroundColor: theme.semanticColors.bodyBackground,\n flexGrow: 1,\n display: 'flex',\n justifyContent: 'center',\n height: '100%',\n alignItems: 'center'\n },\n checkbox: {\n marginRight: 0.5\n }\n });\n}"],"names":[],"mappings":";;AAEa,MAAA,uBAAuB,GAAG,CAAC,KAAa,KAAI;AACrD,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,eAAe,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc;AACpD,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,cAAc,EAAE,QAAQ;AACxB,YAAA,MAAM,EAAE,MAAM;AACd,YAAA,UAAU,EAAE,QAAQ;AACvB,SAAA;AACD,QAAA,QAAQ,EAAE;AACN,YAAA,WAAW,EAAE,GAAG;AACnB,SAAA;AACJ,KAAA,CAAC,CAAC;AACP;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { ITheme } from "@fluentui/react";
|
|
2
|
+
import { IColumn } from "@talxis/client-libraries";
|
|
3
|
+
export declare const getColumnHeaderStyles: (theme: ITheme, columnAlignment: Required<IColumn['alignment']>) => import("@fluentui/react").IProcessedStyleSet<{
|
|
4
|
+
root: {
|
|
5
|
+
width: string;
|
|
6
|
+
textAlign: string;
|
|
7
|
+
height: number;
|
|
8
|
+
paddingLeft: number;
|
|
9
|
+
paddingRight: number;
|
|
10
|
+
justifyContent: string;
|
|
11
|
+
'.ms-Button-flexContainer': {
|
|
12
|
+
justifyContent: string;
|
|
13
|
+
width: string;
|
|
14
|
+
gap: number;
|
|
15
|
+
pointerEvents: string;
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
labelWrapper: {
|
|
19
|
+
flex: number;
|
|
20
|
+
display: string;
|
|
21
|
+
minWidth: number;
|
|
22
|
+
justifyContent: string | undefined;
|
|
23
|
+
};
|
|
24
|
+
label: {
|
|
25
|
+
overflow: string;
|
|
26
|
+
textOverflow: string;
|
|
27
|
+
cursor: string;
|
|
28
|
+
};
|
|
29
|
+
requiredSymbol: {
|
|
30
|
+
color: string;
|
|
31
|
+
position: string;
|
|
32
|
+
top: number;
|
|
33
|
+
left: number;
|
|
34
|
+
};
|
|
35
|
+
filterSortIcons: {
|
|
36
|
+
display: string;
|
|
37
|
+
gap: number;
|
|
38
|
+
};
|
|
39
|
+
editIcon: {
|
|
40
|
+
marginRight: number;
|
|
41
|
+
};
|
|
42
|
+
}>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { mergeStyleSets } from '@fluentui/react';
|
|
2
|
+
import { getJustifyContent } from '../Cell/styles.js';
|
|
3
|
+
|
|
4
|
+
const getColumnHeaderStyles = (theme, columnAlignment) => {
|
|
5
|
+
return mergeStyleSets({
|
|
6
|
+
root: {
|
|
7
|
+
width: '100%',
|
|
8
|
+
textAlign: 'left',
|
|
9
|
+
height: 42,
|
|
10
|
+
paddingLeft: 10,
|
|
11
|
+
paddingRight: 10,
|
|
12
|
+
justifyContent: 'flex-start',
|
|
13
|
+
'.ms-Button-flexContainer': {
|
|
14
|
+
justifyContent: 'flex-start',
|
|
15
|
+
width: '100%',
|
|
16
|
+
gap: 2,
|
|
17
|
+
pointerEvents: 'none'
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
labelWrapper: {
|
|
21
|
+
flex: 1,
|
|
22
|
+
display: 'flex',
|
|
23
|
+
minWidth: 0,
|
|
24
|
+
justifyContent: getJustifyContent(columnAlignment)
|
|
25
|
+
},
|
|
26
|
+
label: {
|
|
27
|
+
overflow: 'hidden',
|
|
28
|
+
textOverflow: 'ellipsis',
|
|
29
|
+
cursor: 'pointer',
|
|
30
|
+
},
|
|
31
|
+
requiredSymbol: {
|
|
32
|
+
color: theme.semanticColors.errorIcon,
|
|
33
|
+
position: 'relative',
|
|
34
|
+
top: 4,
|
|
35
|
+
left: 2
|
|
36
|
+
},
|
|
37
|
+
filterSortIcons: {
|
|
38
|
+
display: 'flex',
|
|
39
|
+
gap: 2
|
|
40
|
+
},
|
|
41
|
+
editIcon: {
|
|
42
|
+
marginRight: 3
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
};
|
|
46
|
+
|
|
47
|
+
export { getColumnHeaderStyles };
|
|
48
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../src/components/Grid/core/components/ColumnHeader/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\";\nimport { IColumn } from \"@talxis/client-libraries\";\nimport { getJustifyContent } from \"../Cell/styles\";\n\nexport const getColumnHeaderStyles = (theme: ITheme, columnAlignment: Required<IColumn['alignment']>) => {\n return mergeStyleSets({\n root: {\n width: '100%',\n textAlign: 'left',\n height: 42,\n paddingLeft: 10,\n paddingRight: 10,\n justifyContent: 'flex-start',\n '.ms-Button-flexContainer': {\n justifyContent: 'flex-start',\n width: '100%',\n gap: 2,\n pointerEvents: 'none'\n }\n },\n labelWrapper: {\n flex: 1,\n display: 'flex',\n minWidth: 0,\n justifyContent: getJustifyContent(columnAlignment)\n },\n label: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n cursor: 'pointer',\n },\n requiredSymbol: {\n color: theme.semanticColors.errorIcon,\n position: 'relative',\n top: 4,\n left: 2\n },\n filterSortIcons: {\n display: 'flex',\n gap: 2\n },\n editIcon: {\n marginRight: 3\n }\n })\n}"],"names":[],"mappings":";;;MAIa,qBAAqB,GAAG,CAAC,KAAa,EAAE,eAA+C,KAAI;AACpG,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,IAAI,EAAE;AACF,YAAA,KAAK,EAAE,MAAM;AACb,YAAA,SAAS,EAAE,MAAM;AACjB,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,YAAY,EAAE,EAAE;AAChB,YAAA,cAAc,EAAE,YAAY;AAC5B,YAAA,0BAA0B,EAAE;AACxB,gBAAA,cAAc,EAAE,YAAY;AAC5B,gBAAA,KAAK,EAAE,MAAM;AACb,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,aAAa,EAAE,MAAM;AACxB,aAAA;AACJ,SAAA;AACD,QAAA,YAAY,EAAE;AACV,YAAA,IAAI,EAAE,CAAC;AACP,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,QAAQ,EAAE,CAAC;AACX,YAAA,cAAc,EAAE,iBAAiB,CAAC,eAAe,CAAC;AACrD,SAAA;AACD,QAAA,KAAK,EAAE;AACH,YAAA,QAAQ,EAAE,QAAQ;AAClB,YAAA,YAAY,EAAE,UAAU;AACxB,YAAA,MAAM,EAAE,SAAS;AACpB,SAAA;AACD,QAAA,cAAc,EAAE;AACZ,YAAA,KAAK,EAAE,KAAK,CAAC,cAAc,CAAC,SAAS;AACrC,YAAA,QAAQ,EAAE,UAAU;AACpB,YAAA,GAAG,EAAE,CAAC;AACN,YAAA,IAAI,EAAE,CAAC;AACV,SAAA;AACD,QAAA,eAAe,EAAE;AACb,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,GAAG,EAAE,CAAC;AACT,SAAA;AACD,QAAA,QAAQ,EAAE;AACN,YAAA,WAAW,EAAE,CAAC;AACjB,SAAA;AACJ,KAAA,CAAC,CAAA;AACN;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Constants.js","sources":["../../../../../../src/components/Grid/core/components/Dialog/Constants.tsx"],"sourcesContent":["import { IDialogProps } from \"./interfaces\";\n\nexport const defaultProps: IDialogProps = {\n dialogContentProps: {},\n modalProps: {\n className: ''\n }\n};"],"names":[],"mappings":"AAEa,MAAA,YAAY,GAAiB;AACtC,IAAA,kBAAkB,EAAE,EAAE;AACtB,IAAA,UAAU,EAAE;AACR,QAAA,SAAS,EAAE,EAAE;AAChB,KAAA;;;;;"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { getTheme, mergeStyles } from '@fluentui/react';
|
|
2
|
+
|
|
3
|
+
const getRootStyles = (props) => {
|
|
4
|
+
const theme = getTheme();
|
|
5
|
+
const rootStyles = mergeStyles(({
|
|
6
|
+
selectors: {
|
|
7
|
+
'.ms-Dialog-main': {
|
|
8
|
+
width: props.width,
|
|
9
|
+
minHeight: props.minHeight ?? 0,
|
|
10
|
+
height: props.height,
|
|
11
|
+
},
|
|
12
|
+
'@media(max-width: 768px)': {
|
|
13
|
+
'.ms-Dialog-main': {
|
|
14
|
+
width: '100vw',
|
|
15
|
+
height: '100svh',
|
|
16
|
+
maxWidth: '100vw',
|
|
17
|
+
maxHeight: '100svh'
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
'.ms-Dialog-subText': {
|
|
21
|
+
color: theme.palette.black
|
|
22
|
+
},
|
|
23
|
+
'.ms-Dialog-content': {
|
|
24
|
+
overflow: 'auto',
|
|
25
|
+
paddingBottom: 24,
|
|
26
|
+
flex: 1
|
|
27
|
+
},
|
|
28
|
+
'.ms-Dialog-content, .ms-Dialog-actions': {
|
|
29
|
+
paddingLeft: 24,
|
|
30
|
+
paddingRight: 24,
|
|
31
|
+
width: 'initial'
|
|
32
|
+
},
|
|
33
|
+
'.ms-Dialog-actions': {
|
|
34
|
+
borderTop: `1px solid ${theme.semanticColors.bodyDivider}`,
|
|
35
|
+
paddingBottom: 24,
|
|
36
|
+
paddingTop: 24,
|
|
37
|
+
margin: 'initial',
|
|
38
|
+
flex: '0 0 auto'
|
|
39
|
+
},
|
|
40
|
+
'.ms-Dialog-inner': {
|
|
41
|
+
padding: 0,
|
|
42
|
+
display: 'flex',
|
|
43
|
+
flexDirection: 'column',
|
|
44
|
+
flexGrow: 1,
|
|
45
|
+
overflow: 'hidden'
|
|
46
|
+
},
|
|
47
|
+
'.ms-Modal-scrollableContent': {
|
|
48
|
+
overflow: 'hidden',
|
|
49
|
+
display: 'flex',
|
|
50
|
+
'> div': {
|
|
51
|
+
display: 'flex',
|
|
52
|
+
flexDirection: 'column'
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
}
|
|
56
|
+
}));
|
|
57
|
+
return rootStyles;
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export { getRootStyles };
|
|
61
|
+
//# sourceMappingURL=Styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Styles.js","sources":["../../../../../../src/components/Grid/core/components/Dialog/Styles.tsx"],"sourcesContent":["import { mergeStyles, getTheme } from \"@fluentui/react\";\nimport { IDialogProps } from './interfaces/index';\n\nexport const getRootStyles = (props: IDialogProps): string => {\n const theme = getTheme();\n const rootStyles = mergeStyles(({\n selectors: {\n '.ms-Dialog-main': {\n width: props.width,\n minHeight: props.minHeight ?? 0,\n height: props.height,\n },\n '@media(max-width: 768px)': {\n '.ms-Dialog-main': {\n width: '100vw',\n height: '100svh',\n maxWidth: '100vw',\n maxHeight: '100svh'\n }\n },\n '.ms-Dialog-subText': {\n color: theme.palette.black\n },\n '.ms-Dialog-content': {\n overflow: 'auto',\n paddingBottom: 24,\n flex: 1\n },\n '.ms-Dialog-content, .ms-Dialog-actions': {\n paddingLeft: 24,\n paddingRight: 24,\n width: 'initial'\n },\n '.ms-Dialog-actions': {\n borderTop: `1px solid ${theme.semanticColors.bodyDivider}`,\n paddingBottom: 24,\n paddingTop: 24,\n margin: 'initial',\n flex: '0 0 auto'\n },\n '.ms-Dialog-inner': {\n padding: 0,\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n overflow: 'hidden'\n },\n '.ms-Modal-scrollableContent': {\n overflow: 'hidden',\n display: 'flex',\n '> div': {\n display: 'flex',\n flexDirection: 'column'\n }\n\n },\n\n }\n }));\n return rootStyles;\n};"],"names":[],"mappings":";;AAGa,MAAA,aAAa,GAAG,CAAC,KAAmB,KAAY;AACzD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,UAAU,GAAG,WAAW,EAAE;AAC5B,QAAA,SAAS,EAAE;AACP,YAAA,iBAAiB,EAAE;gBACf,KAAK,EAAE,KAAK,CAAC,KAAK;AAClB,gBAAA,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,CAAC;gBAC/B,MAAM,EAAE,KAAK,CAAC,MAAM;AACvB,aAAA;AACD,YAAA,0BAA0B,EAAE;AACxB,gBAAA,iBAAiB,EAAE;AACf,oBAAA,KAAK,EAAE,OAAO;AACd,oBAAA,MAAM,EAAE,QAAQ;AAChB,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,SAAS,EAAE,QAAQ;AACtB,iBAAA;AACJ,aAAA;AACD,YAAA,oBAAoB,EAAE;AAClB,gBAAA,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,KAAK;AAC7B,aAAA;AACD,YAAA,oBAAoB,EAAE;AAClB,gBAAA,QAAQ,EAAE,MAAM;AAChB,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,IAAI,EAAE,CAAC;AACV,aAAA;AACD,YAAA,wCAAwC,EAAE;AACtC,gBAAA,WAAW,EAAE,EAAE;AACf,gBAAA,YAAY,EAAE,EAAE;AAChB,gBAAA,KAAK,EAAE,SAAS;AACnB,aAAA;AACD,YAAA,oBAAoB,EAAE;AAClB,gBAAA,SAAS,EAAE,CAAa,UAAA,EAAA,KAAK,CAAC,cAAc,CAAC,WAAW,CAAE,CAAA;AAC1D,gBAAA,aAAa,EAAE,EAAE;AACjB,gBAAA,UAAU,EAAE,EAAE;AACd,gBAAA,MAAM,EAAE,SAAS;AACjB,gBAAA,IAAI,EAAE,UAAU;AACnB,aAAA;AACD,YAAA,kBAAkB,EAAE;AAChB,gBAAA,OAAO,EAAE,CAAC;AACV,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,aAAa,EAAE,QAAQ;AACvB,gBAAA,QAAQ,EAAE,CAAC;AACX,gBAAA,QAAQ,EAAE,QAAQ;AACrB,aAAA;AACD,YAAA,6BAA6B,EAAE;AAC3B,gBAAA,QAAQ,EAAE,QAAQ;AAClB,gBAAA,OAAO,EAAE,MAAM;AACf,gBAAA,OAAO,EAAE;AACL,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,aAAa,EAAE,QAAQ;AAC1B,iBAAA;AAEJ,aAAA;AAEJ,SAAA;AACJ,KAAA,EAAE,CAAC;AACJ,IAAA,OAAO,UAAU,CAAC;AACtB;;;;"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { Dialog as Dialog$1 } from '@fluentui/react';
|
|
3
|
+
import { defaultProps } from './Constants.js';
|
|
4
|
+
import { getRootStyles } from './Styles.js';
|
|
5
|
+
|
|
6
|
+
const Dialog = (props) => {
|
|
7
|
+
return (jsx(Dialog$1, { ...props, modalProps: {
|
|
8
|
+
...props.modalProps,
|
|
9
|
+
allowTouchBodyScroll: props.modalProps?.allowTouchBodyScroll ?? matchMedia('(hover: none)').matches ? true : undefined,
|
|
10
|
+
className: `${props.modalProps?.className} ${getRootStyles(props)}`
|
|
11
|
+
}, children: props.children }));
|
|
12
|
+
};
|
|
13
|
+
Dialog.defaultProps = defaultProps;
|
|
14
|
+
|
|
15
|
+
export { Dialog as default };
|
|
16
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../../src/components/Grid/core/components/Dialog/index.tsx"],"sourcesContent":["import React, { useEffect } from 'react';\nimport { Dialog as DialogBase } from '@fluentui/react';\nimport { IDialogProps } from './interfaces';\nimport { defaultProps } from './Constants';\nimport { getRootStyles } from './Styles';\n\nconst Dialog: React.FC<IDialogProps> = (props) => {\n return (\n <DialogBase\n {...props}\n modalProps={{\n ...props.modalProps,\n allowTouchBodyScroll: props.modalProps?.allowTouchBodyScroll ?? matchMedia('(hover: none)').matches ? true : undefined,\n className: `${props.modalProps?.className} ${getRootStyles(props)}`\n }}\n >\n {props.children}\n </DialogBase>\n );\n};\nexport default Dialog;\nDialog.defaultProps = defaultProps;"],"names":["_jsx","DialogBase"],"mappings":";;;;;AAMA,MAAM,MAAM,GAA2B,CAAC,KAAK,KAAI;AAC7C,IAAA,QACIA,GAAC,CAAAC,QAAU,OACH,KAAK,EACT,UAAU,EAAE;YACR,GAAG,KAAK,CAAC,UAAU;YACnB,oBAAoB,EAAE,KAAK,CAAC,UAAU,EAAE,oBAAoB,IAAI,UAAU,CAAC,eAAe,CAAC,CAAC,OAAO,GAAG,IAAI,GAAG,SAAS;AACtH,YAAA,SAAS,EAAE,CAAA,EAAG,KAAK,CAAC,UAAU,EAAE,SAAS,CAAA,CAAA,EAAI,aAAa,CAAC,KAAK,CAAC,CAAE,CAAA;AACtE,SAAA,EAAA,QAAA,EAEA,KAAK,CAAC,QAAQ,EAAA,CACN,EACf;AACN,EAAE;AAEF,MAAM,CAAC,YAAY,GAAG,YAAY;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { MessageBar, MessageBarType, CommandBarButton } from '@fluentui/react';
|
|
3
|
+
import { useGridInstance } from '../../hooks/useGridInstance.js';
|
|
4
|
+
import { useState } from 'react';
|
|
5
|
+
import { getSaveStyles } from './styles.js';
|
|
6
|
+
import { ChangeEditor } from './components/ChangeEditor/ChangeEditor.js';
|
|
7
|
+
|
|
8
|
+
const Save = () => {
|
|
9
|
+
const grid = useGridInstance();
|
|
10
|
+
const labels = grid.labels;
|
|
11
|
+
const styles = getSaveStyles(grid.parameters.EnableChangeEditor?.raw !== false);
|
|
12
|
+
const [isSaving, setIsSaving] = useState(false);
|
|
13
|
+
const [changeEditorOpened, setChangeEditorOpened] = useState(false);
|
|
14
|
+
const isDatasetValid = grid.dataset.isValid() && !grid.dataset.hasInvalidChanges();
|
|
15
|
+
const isDirty = grid.dataset.isDirty?.();
|
|
16
|
+
const numOfChanges = Object.keys(grid.dataset.getChanges?.() ?? []).length;
|
|
17
|
+
const onMessageClick = () => {
|
|
18
|
+
if (!isDirty || isSaving || grid.parameters.EnableChangeEditor?.raw === false) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
setChangeEditorOpened(true);
|
|
22
|
+
};
|
|
23
|
+
return (jsxs(Fragment, { children: [jsx("div", { onClick: onMessageClick, className: `${styles.root} talxis__grid-control__notification-bar`, children: jsx(MessageBar, { messageBarType: isDatasetValid ? MessageBarType.info : MessageBarType.error, actions: jsxs("div", { className: styles.actions, children: [jsx(CommandBarButton, { disabled: !isDatasetValid || grid.dataset.loading, text: isSaving ? grid.labels["saving-saving"]() : undefined, iconProps: {
|
|
24
|
+
iconName: 'Save',
|
|
25
|
+
}, onClick: async (e) => {
|
|
26
|
+
e.stopPropagation();
|
|
27
|
+
setIsSaving(true);
|
|
28
|
+
await grid.dataset.paging.loadExactPage(grid.paging.pageNumber, true);
|
|
29
|
+
setIsSaving(false);
|
|
30
|
+
} }), jsx(CommandBarButton, { text: grid.labels['saving-discard-changes'](), disabled: isSaving || grid.dataset.loading, iconProps: {
|
|
31
|
+
iconName: 'EraseTool'
|
|
32
|
+
}, onClick: async (e) => {
|
|
33
|
+
e.stopPropagation();
|
|
34
|
+
if (window.confirm(grid.labels['saving-discard-all-confirmation']())) {
|
|
35
|
+
grid.dataset.clearChanges?.();
|
|
36
|
+
grid.pcfContext.factory.requestRender();
|
|
37
|
+
}
|
|
38
|
+
} })] }), isMultiline: false, children: jsx("span", { className: styles.notificationText, dangerouslySetInnerHTML: {
|
|
39
|
+
__html: (() => {
|
|
40
|
+
let message = labels["saving-changenotification"]({ numOfChanges: numOfChanges });
|
|
41
|
+
if (grid.parameters.EnableChangeEditor?.raw !== false) {
|
|
42
|
+
message += ` ${grid.labels['saving-clickreview']()}`;
|
|
43
|
+
}
|
|
44
|
+
return message;
|
|
45
|
+
})()
|
|
46
|
+
} }) }) }), changeEditorOpened &&
|
|
47
|
+
jsx(ChangeEditor, { onDismiss: (e, shouldRefresh) => {
|
|
48
|
+
setChangeEditorOpened(false);
|
|
49
|
+
if (shouldRefresh) {
|
|
50
|
+
grid.dataset.paging.loadExactPage(grid.dataset.paging.pageNumber);
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
grid.pcfContext.factory.requestRender();
|
|
54
|
+
}
|
|
55
|
+
} })] }));
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
export { Save };
|
|
59
|
+
//# sourceMappingURL=Save.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Save.js","sources":["../../../../../../src/components/Grid/core/components/Save/Save.tsx"],"sourcesContent":["import { CommandBarButton, MessageBar, MessageBarType } from \"@fluentui/react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { useState } from 'react';\nimport { getSaveStyles } from \"./styles\";\nimport { ChangeEditor } from \"./components/ChangeEditor/ChangeEditor\";\n\n\nexport const Save = () => {\n const grid = useGridInstance();\n const labels = grid.labels;\n const styles = getSaveStyles(grid.parameters.EnableChangeEditor?.raw !== false);\n const [isSaving, setIsSaving] = useState(false);\n const [changeEditorOpened, setChangeEditorOpened] = useState<boolean>(false);\n const isDatasetValid = grid.dataset.isValid() && !grid.dataset.hasInvalidChanges();\n const isDirty = grid.dataset.isDirty?.();\n const numOfChanges = Object.keys(grid.dataset.getChanges?.() ?? []).length;\n\n const onMessageClick = () => {\n if (!isDirty || isSaving || grid.parameters.EnableChangeEditor?.raw === false) {\n return;\n }\n setChangeEditorOpened(true);\n }\n return (\n <>\n <div onClick={onMessageClick} className={`${styles.root} talxis__grid-control__notification-bar`}>\n <MessageBar\n messageBarType={isDatasetValid ? MessageBarType.info : MessageBarType.error}\n actions={\n <div className={styles.actions}>\n <CommandBarButton\n disabled={!isDatasetValid || grid.dataset.loading}\n text={isSaving ? grid.labels[\"saving-saving\"]() : undefined}\n iconProps={{\n iconName: 'Save',\n }}\n onClick={async (e) => {\n e.stopPropagation()\n setIsSaving(true);\n await grid.dataset.paging.loadExactPage(grid.paging.pageNumber, true);\n setIsSaving(false);\n }}\n />\n <CommandBarButton\n text={grid.labels['saving-discard-changes']()}\n disabled={isSaving || grid.dataset.loading}\n iconProps={{\n iconName: 'EraseTool'\n }}\n onClick={async (e) => {\n e.stopPropagation();\n if (window.confirm(grid.labels['saving-discard-all-confirmation']())) {\n grid.dataset.clearChanges?.();\n grid.pcfContext.factory.requestRender();\n }\n }}\n />\n </div>\n } isMultiline={false}>\n <span className={styles.notificationText} dangerouslySetInnerHTML={{\n __html: (() => {\n let message = labels[\"saving-changenotification\"]({ numOfChanges: numOfChanges })\n if (grid.parameters.EnableChangeEditor?.raw !== false) {\n message += ` ${grid.labels['saving-clickreview']()}`\n }\n return message;\n })()\n }}></span>\n </MessageBar>\n </div>\n {changeEditorOpened &&\n <ChangeEditor onDismiss={(e, shouldRefresh) => {\n setChangeEditorOpened(false);\n if(shouldRefresh) {\n grid.dataset.paging.loadExactPage(grid.dataset.paging.pageNumber);\n }\n else {\n grid.pcfContext.factory.requestRender();\n }\n }} />\n }\n </>\n )\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IDialogProps } from "@fluentui/react";
|
|
3
|
+
interface IChangeDialogProps extends IDialogProps {
|
|
4
|
+
onDismiss: (ev?: React.MouseEvent<HTMLButtonElement>, shoulRefreshGrid?: boolean) => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const ChangeEditor: (props: IChangeDialogProps) => JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useTheme, DialogFooter, PrimaryButton, DefaultButton } from '@fluentui/react';
|
|
3
|
+
import { useGridInstance } from '../../../../hooks/useGridInstance.js';
|
|
4
|
+
import Dialog from '../../../Dialog/index.js';
|
|
5
|
+
import { getChangeEditorStyles } from './styles.js';
|
|
6
|
+
import { ChangeGrid } from './components/ChangeGrid/ChangeGrid.js';
|
|
7
|
+
import { useState, useRef, useEffect } from 'react';
|
|
8
|
+
import { useRerender } from '@talxis/react-components';
|
|
9
|
+
|
|
10
|
+
const ChangeEditor = (props) => {
|
|
11
|
+
const grid = useGridInstance();
|
|
12
|
+
const recordChanges = grid.dataset.getChanges?.() ?? [];
|
|
13
|
+
const labels = grid.labels;
|
|
14
|
+
const [activeSaveOperationsCount, setActiveSaveOperationsCount] = useState(0);
|
|
15
|
+
const styles = getChangeEditorStyles(useTheme());
|
|
16
|
+
const datasetsRef = useRef(new Set());
|
|
17
|
+
const shouldRefreshOnDismissRef = useRef(false);
|
|
18
|
+
const rerender = useRerender();
|
|
19
|
+
const onDismiss = (ev) => {
|
|
20
|
+
//@ts-ignore
|
|
21
|
+
if (ev?.code === 'Escape') {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
//do not close the dialog if we have pending save operations
|
|
25
|
+
if (activeSaveOperationsCount > 0) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
props.onDismiss?.(ev, shouldRefreshOnDismissRef.current);
|
|
29
|
+
};
|
|
30
|
+
const isSaveDisabled = () => {
|
|
31
|
+
if (activeSaveOperationsCount > 0) {
|
|
32
|
+
return true;
|
|
33
|
+
}
|
|
34
|
+
return !grid.dataset.isValid() || grid.dataset.hasInvalidChanges();
|
|
35
|
+
};
|
|
36
|
+
useEffect(() => {
|
|
37
|
+
return () => {
|
|
38
|
+
props.onDismiss?.(undefined, shouldRefreshOnDismissRef.current);
|
|
39
|
+
};
|
|
40
|
+
}, []);
|
|
41
|
+
useEffect(() => {
|
|
42
|
+
if (activeSaveOperationsCount > 0) {
|
|
43
|
+
shouldRefreshOnDismissRef.current = true;
|
|
44
|
+
}
|
|
45
|
+
}, [activeSaveOperationsCount]);
|
|
46
|
+
return jsxs(Dialog, { ...props, onDismiss: onDismiss, width: 1000, minWidth: '80%', modalProps: {
|
|
47
|
+
isBlocking: true,
|
|
48
|
+
className: styles.root,
|
|
49
|
+
layerProps: {
|
|
50
|
+
eventBubblingEnabled: true
|
|
51
|
+
}
|
|
52
|
+
}, dialogContentProps: {
|
|
53
|
+
showCloseButton: true,
|
|
54
|
+
title: labels["saving-changepreview-title"]({
|
|
55
|
+
numOfChanges: Object.keys(recordChanges).length
|
|
56
|
+
})
|
|
57
|
+
}, hidden: false, children: [jsx("div", { className: styles.recordGrids, children: Object.values(recordChanges).map(recordChange => jsx(ChangeGrid, { onDatasetDestroyed: (dataset) => datasetsRef.current.delete(dataset), onDatasetReady: (dataset) => datasetsRef.current.add(dataset), onIsSaving: (value) => {
|
|
58
|
+
setActiveSaveOperationsCount(count => value ? count + 1 : count - 1);
|
|
59
|
+
}, onRequestRender: () => setTimeout(() => rerender(), 0), recordChange: recordChange }, recordChange.record.getRecordId())) }), jsxs(DialogFooter, { children: [jsx(PrimaryButton, { className: styles.saveBtn, disabled: isSaveDisabled(), text: activeSaveOperationsCount > 0 ? grid.labels['saving-saving']() : grid.labels['saving-save-all'](), onClick: async () => {
|
|
60
|
+
setActiveSaveOperationsCount(count => count + 1);
|
|
61
|
+
await Promise.all([...datasetsRef.current.values()].map(dataset => dataset.save?.()));
|
|
62
|
+
grid.dataset.clearChanges?.();
|
|
63
|
+
setActiveSaveOperationsCount(count => count - 1);
|
|
64
|
+
} }), jsx(DefaultButton, { text: grid.labels['saving-discard-all'](), disabled: activeSaveOperationsCount > 0, onClick: async (e) => {
|
|
65
|
+
if (window.confirm(grid.labels['saving-discard-all-confirmation']())) {
|
|
66
|
+
grid.dataset.clearChanges?.();
|
|
67
|
+
props.onDismiss(e, shouldRefreshOnDismissRef.current);
|
|
68
|
+
}
|
|
69
|
+
} })] })] });
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { ChangeEditor };
|
|
73
|
+
//# sourceMappingURL=ChangeEditor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChangeEditor.js","sources":["../../../../../../../../src/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.tsx"],"sourcesContent":["import { DefaultButton, DialogFooter, IDialogProps, PrimaryButton, useTheme } from \"@fluentui/react\";\nimport { useGridInstance } from \"../../../../hooks/useGridInstance\";\nimport Dialog from \"../../../Dialog\";\nimport { getChangeEditorStyles } from \"./styles\";\nimport { ChangeGrid } from \"./components/ChangeGrid/ChangeGrid\";\nimport { useEffect, useRef, useState } from \"react\";\nimport { IDataset } from \"@talxis/client-libraries\";\nimport { useRerender } from \"@talxis/react-components\";\n\ninterface IChangeDialogProps extends IDialogProps {\n onDismiss: (ev?: React.MouseEvent<HTMLButtonElement>, shoulRefreshGrid?: boolean) => void;\n}\n\nexport const ChangeEditor = (props: IChangeDialogProps) => {\n const grid = useGridInstance();\n const recordChanges = grid.dataset.getChanges?.() ?? [];\n const labels = grid.labels;\n const [activeSaveOperationsCount, setActiveSaveOperationsCount] = useState(0);\n const styles = getChangeEditorStyles(useTheme());\n const datasetsRef = useRef<Set<IDataset>>(new Set());\n const shouldRefreshOnDismissRef = useRef(false);\n const rerender = useRerender();\n\n const onDismiss = (ev?: React.MouseEvent<HTMLButtonElement>) => {\n //@ts-ignore\n if (ev?.code === 'Escape') {\n return;\n }\n //do not close the dialog if we have pending save operations\n if (activeSaveOperationsCount > 0) {\n return;\n }\n props.onDismiss?.(ev, shouldRefreshOnDismissRef.current);\n }\n\n const isSaveDisabled = () => {\n if (activeSaveOperationsCount > 0) {\n return true;\n }\n return !grid.dataset.isValid() || grid.dataset.hasInvalidChanges();\n }\n\n useEffect(() => {\n return () => {\n props.onDismiss?.(undefined, shouldRefreshOnDismissRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (activeSaveOperationsCount > 0) {\n shouldRefreshOnDismissRef.current = true;\n }\n }, [activeSaveOperationsCount])\n return <Dialog\n {...props}\n onDismiss={onDismiss}\n width={1000}\n minWidth={'80%'}\n modalProps={{\n isBlocking: true,\n className: styles.root,\n layerProps: {\n eventBubblingEnabled: true\n }\n }}\n dialogContentProps={{\n showCloseButton: true,\n title: labels[\"saving-changepreview-title\"]({\n numOfChanges: Object.keys(recordChanges).length\n })\n }}\n hidden={false}>\n <div className={styles.recordGrids}>\n {Object.values(recordChanges).map(recordChange => <ChangeGrid\n onDatasetDestroyed={(dataset) => datasetsRef.current.delete(dataset)}\n onDatasetReady={(dataset) => datasetsRef.current.add(dataset)}\n onIsSaving={(value) => {\n setActiveSaveOperationsCount(count => value ? count + 1 : count - 1);\n }}\n onRequestRender={() => setTimeout(() => rerender(), 0)}\n key={recordChange.record.getRecordId()}\n recordChange={recordChange} />)}\n </div>\n <DialogFooter>\n <PrimaryButton\n className={styles.saveBtn}\n disabled={isSaveDisabled()}\n text={activeSaveOperationsCount > 0 ? grid.labels['saving-saving']() : grid.labels['saving-save-all']()}\n onClick={async () => {\n setActiveSaveOperationsCount(count => count + 1);\n await Promise.all([...datasetsRef.current.values()].map(dataset => dataset.save?.()));\n grid.dataset.clearChanges?.();\n setActiveSaveOperationsCount(count => count - 1);\n }}\n />\n <DefaultButton\n text={grid.labels['saving-discard-all']()}\n disabled={activeSaveOperationsCount > 0}\n onClick={async (e) => {\n if (window.confirm(grid.labels['saving-discard-all-confirmation']())) {\n grid.dataset.clearChanges?.();\n props.onDismiss(e as any, shouldRefreshOnDismissRef.current);\n }\n }}\n />\n </DialogFooter>\n </Dialog>\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { IDataset, IRecordChange } from "@talxis/client-libraries";
|
|
3
|
+
interface IChangeGrid {
|
|
4
|
+
recordChange: IRecordChange;
|
|
5
|
+
onDatasetReady: (dataset: IDataset) => void;
|
|
6
|
+
onDatasetDestroyed: (dataset: IDataset) => void;
|
|
7
|
+
onIsSaving: (value: boolean) => void;
|
|
8
|
+
onRequestRender: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const ChangeGrid: (props: IChangeGrid) => JSX.Element;
|
|
11
|
+
export {};
|