@talxis/base-controls 1.2502.1 → 1.2503.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.js +21 -34
- package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
- package/dist/components/DatasetControl/ErrorBoundary.js +33 -0
- package/dist/components/DatasetControl/ErrorBoundary.js.map +1 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.d.ts +10 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.js +38 -0
- package/dist/components/DatasetControl/QuickFind/QuickFind.js.map +1 -0
- package/dist/components/DatasetControl/styles.d.ts +3 -1
- package/dist/components/DatasetControl/styles.js +2 -2
- package/dist/components/DatasetControl/styles.js.map +1 -1
- package/dist/components/DatasetControl/translations.d.ts +8 -0
- package/dist/components/DatasetControl/translations.js +3 -1
- package/dist/components/DatasetControl/translations.js.map +1 -1
- package/dist/components/DateTime/DateTime.js +2 -1
- package/dist/components/DateTime/DateTime.js.map +1 -1
- package/dist/components/DateTime/components/Calendar.d.ts +2 -1
- package/dist/components/DateTime/components/Calendar.js +4 -4
- package/dist/components/DateTime/components/Calendar.js.map +1 -1
- package/dist/components/DateTime/hooks/useDateTime.js +18 -17
- package/dist/components/DateTime/hooks/useDateTime.js.map +1 -1
- package/dist/components/Decimal/Decimal.js +5 -1
- package/dist/components/Decimal/Decimal.js.map +1 -1
- package/dist/components/Duration/Duration.js +49 -26
- package/dist/components/Duration/Duration.js.map +1 -1
- package/dist/components/Grid/Grid.js +1 -1
- package/dist/components/Grid/Grid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +78 -174
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/context.d.ts +3 -0
- package/dist/components/Grid/core/components/AgGrid/context.js +6 -0
- package/dist/components/Grid/core/components/AgGrid/context.js.map +1 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.d.ts +40 -5
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +235 -49
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.d.ts +9 -0
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.js +86 -0
- package/dist/components/Grid/core/components/AgGrid/model/Comparator.js.map +1 -0
- package/dist/components/Grid/core/components/AgGrid/styles.d.ts +28 -32
- package/dist/components/Grid/core/components/AgGrid/styles.js +31 -35
- package/dist/components/Grid/core/components/AgGrid/styles.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/Cell.d.ts +13 -0
- package/dist/components/Grid/core/components/Cell/Cell.js +145 -0
- package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.d.ts +3 -0
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js +212 -0
- package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/CellContent/styles.d.ts +33 -0
- package/dist/components/Grid/core/components/Cell/CellContent/styles.js +39 -0
- package/dist/components/Grid/core/components/Cell/CellContent/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/Commands/Commands.js.map +1 -1
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.d.ts +12 -0
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js +112 -0
- package/dist/components/Grid/core/components/Cell/Notifications/Notifications.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/Notifications/styles.d.ts +39 -0
- package/dist/components/Grid/core/components/Cell/Notifications/styles.js +46 -0
- package/dist/components/Grid/core/components/Cell/Notifications/styles.js.map +1 -0
- package/dist/components/Grid/core/components/Cell/styles.d.ts +40 -0
- 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/core/components/ColumnHeader/ColumnHeader.js +3 -2
- package/dist/components/Grid/core/components/ColumnHeader/ColumnHeader.js.map +1 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js +31 -13
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js.map +1 -1
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.d.ts +3 -2
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js +5 -4
- package/dist/components/Grid/core/components/ColumnHeader/components/GlobalCheckbox/styles.js.map +1 -1
- package/dist/components/Grid/core/components/ColumnHeader/styles.d.ts +3 -1
- package/dist/components/Grid/core/components/ColumnHeader/styles.js +4 -2
- package/dist/components/Grid/core/components/ColumnHeader/styles.js.map +1 -1
- package/dist/components/Grid/core/components/Save/Save.js +5 -6
- package/dist/components/Grid/core/components/Save/Save.js.map +1 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js +10 -7
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/ChangeEditor.js.map +1 -1
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.d.ts +1 -0
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js +26 -7
- package/dist/components/Grid/core/components/Save/components/ChangeEditor/components/ChangeGrid/ChangeGrid.js.map +1 -1
- package/dist/components/Grid/core/controllers/useGridController.js +8 -2
- package/dist/components/Grid/core/controllers/useGridController.js.map +1 -1
- package/dist/components/Grid/core/interfaces/IGridColumn.d.ts +2 -0
- package/dist/components/Grid/core/model/Grid.d.ts +16 -7
- package/dist/components/Grid/core/model/Grid.js +229 -45
- package/dist/components/Grid/core/model/Grid.js.map +1 -1
- package/dist/components/Grid/core/model/Metadata.d.ts +2 -1
- package/dist/components/Grid/core/services/KeyListener.d.ts +2 -0
- package/dist/components/Grid/core/services/KeyListener.js +6 -3
- package/dist/components/Grid/core/services/KeyListener.js.map +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js +3 -3
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/ConditionValue.js.map +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/ConditionValue/model/ConditionComponentValue.d.ts +19 -7
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/Component.d.ts +2 -2
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/Component.js +9 -9
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/Component.js.map +1 -0
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/controller/useComponentController.d.ts +2 -2
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/controller/useComponentController.js +1 -1
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/controller/useComponentController.js.map +1 -0
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/model/Component.d.ts +2 -2
- package/dist/components/Grid/{core/components/Component → filtering/components/FilterCallout/components/LegacyControlRendering}/model/Component.js +15 -19
- package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -0
- package/dist/components/Grid/filtering/model/Condition.js +1 -1
- package/dist/components/Grid/filtering/model/Condition.js.map +1 -1
- package/dist/components/Grid/selection/model/Selection.d.ts +3 -4
- package/dist/components/Grid/selection/model/Selection.js +8 -26
- package/dist/components/Grid/selection/model/Selection.js.map +1 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.js +1 -1
- package/dist/components/Grid/sorting/components/SortingContextualMenu/SortingContextualMenu.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.d.ts +3 -0
- package/dist/components/GridCellRenderer/GridCellRenderer.js +252 -0
- package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -0
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.d.ts +5 -0
- package/dist/components/GridCellRenderer/OptionSet/OptionSet.js +69 -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/{Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet → GridCellRenderer/OptionSet}/styles.d.ts +10 -12
- package/dist/components/GridCellRenderer/OptionSet/styles.js +29 -0
- package/dist/components/GridCellRenderer/OptionSet/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/index.d.ts +1 -0
- package/dist/components/GridCellRenderer/index.js +2 -0
- package/dist/components/GridCellRenderer/index.js.map +1 -0
- package/dist/components/GridCellRenderer/interfaces.d.ts +53 -0
- package/dist/components/GridCellRenderer/styles.d.ts +72 -0
- package/dist/components/GridCellRenderer/styles.js +105 -0
- package/dist/components/GridCellRenderer/styles.js.map +1 -0
- package/dist/components/GridCellRenderer/translations.d.ts +6 -0
- package/dist/components/GridCellRenderer/translations.js +11 -0
- package/dist/components/GridCellRenderer/translations.js.map +1 -0
- 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 +8 -3
- package/dist/components/Lookup/Lookup.js.map +1 -1
- package/dist/components/Lookup/styles.d.ts +19 -7
- package/dist/components/Lookup/styles.js +22 -8
- package/dist/components/Lookup/styles.js.map +1 -1
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js +51 -28
- package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.js.map +1 -1
- package/dist/components/NestedControlRenderer/NestedControl.d.ts +86 -0
- package/dist/components/NestedControlRenderer/NestedControl.js +456 -0
- package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -0
- package/dist/components/NestedControlRenderer/NestedControlError.d.ts +4 -0
- package/dist/components/NestedControlRenderer/NestedControlError.js +13 -0
- package/dist/components/NestedControlRenderer/NestedControlError.js.map +1 -0
- package/dist/components/NestedControlRenderer/NestedControlRenderer.d.ts +3 -0
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js +194 -0
- package/dist/components/NestedControlRenderer/NestedControlRenderer.js.map +1 -0
- package/dist/components/NestedControlRenderer/index.d.ts +1 -0
- package/dist/components/NestedControlRenderer/index.js +2 -0
- package/dist/components/NestedControlRenderer/index.js.map +1 -0
- package/dist/components/NestedControlRenderer/interfaces.d.ts +118 -0
- package/dist/components/NestedControlRenderer/manifest/Control.d.ts +16 -0
- package/dist/components/NestedControlRenderer/manifest/Control.js +40 -0
- package/dist/components/NestedControlRenderer/manifest/Control.js.map +1 -0
- package/dist/components/NestedControlRenderer/manifest/Manifest.d.ts +5 -0
- package/dist/components/NestedControlRenderer/manifest/Manifest.js +12 -0
- package/dist/components/NestedControlRenderer/manifest/Manifest.js.map +1 -0
- package/dist/components/NestedControlRenderer/manifest/TypeGroup.d.ts +6 -0
- package/dist/components/NestedControlRenderer/manifest/TypeGroup.js +13 -0
- package/dist/components/NestedControlRenderer/manifest/TypeGroup.js.map +1 -0
- package/dist/components/NestedControlRenderer/manifest/index.d.ts +1 -0
- package/dist/components/NestedControlRenderer/manifest/index.js +2 -0
- package/dist/components/NestedControlRenderer/manifest/index.js.map +1 -0
- package/dist/components/NestedControlRenderer/manifest/property/Property.d.ts +16 -0
- package/dist/components/NestedControlRenderer/manifest/property/Property.js +34 -0
- package/dist/components/NestedControlRenderer/manifest/property/Property.js.map +1 -0
- package/dist/components/NestedControlRenderer/manifest/property/Value.d.ts +8 -0
- package/dist/components/NestedControlRenderer/manifest/property/Value.js +12 -0
- package/dist/components/NestedControlRenderer/manifest/property/Value.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/DateProperty.d.ts +5 -0
- package/dist/components/NestedControlRenderer/properties/DateProperty.js +22 -0
- package/dist/components/NestedControlRenderer/properties/DateProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/FileProperty.d.ts +5 -0
- package/dist/components/NestedControlRenderer/properties/FileProperty.js +16 -0
- package/dist/components/NestedControlRenderer/properties/FileProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/LookupProperty.d.ts +6 -0
- package/dist/components/NestedControlRenderer/properties/LookupProperty.js +36 -0
- package/dist/components/NestedControlRenderer/properties/LookupProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/NumberProperty.d.ts +5 -0
- package/dist/components/NestedControlRenderer/properties/NumberProperty.js +17 -0
- package/dist/components/NestedControlRenderer/properties/NumberProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/OptionSetProperty.d.ts +5 -0
- package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js +23 -0
- package/dist/components/NestedControlRenderer/properties/OptionSetProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/Property.d.ts +16 -0
- package/dist/components/NestedControlRenderer/properties/Property.js +41 -0
- package/dist/components/NestedControlRenderer/properties/Property.js.map +1 -0
- package/dist/components/NestedControlRenderer/properties/TextProperty.d.ts +5 -0
- package/dist/components/NestedControlRenderer/properties/TextProperty.js +15 -0
- package/dist/components/NestedControlRenderer/properties/TextProperty.js.map +1 -0
- package/dist/components/NestedControlRenderer/styles.d.ts +14 -0
- package/dist/components/NestedControlRenderer/styles.js +21 -0
- package/dist/components/NestedControlRenderer/styles.js.map +1 -0
- package/dist/components/NestedControlRenderer/translations.d.ts +14 -0
- package/dist/components/NestedControlRenderer/translations.js +19 -0
- package/dist/components/NestedControlRenderer/translations.js.map +1 -0
- package/dist/components/OptionSet/OptionSet.js +3 -3
- package/dist/components/OptionSet/OptionSet.js.map +1 -1
- package/dist/components/OptionSet/useComboBoxTheme.js +17 -17
- package/dist/components/OptionSet/useComboBoxTheme.js.map +1 -1
- package/dist/components/TextField/TextField.js.map +1 -1
- package/dist/components/TextField/interfaces.d.ts +2 -2
- package/dist/components/TwoOptions/TwoOptions.js +2 -1
- package/dist/components/TwoOptions/TwoOptions.js.map +1 -1
- package/dist/components/index.d.ts +13 -0
- package/dist/components/index.js +15 -0
- package/dist/components/index.js.map +1 -0
- 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 -7
- package/dist/hooks/useControl.js +12 -40
- package/dist/hooks/useControl.js.map +1 -1
- package/dist/hooks/useControlLabels.d.ts +14 -0
- package/dist/hooks/useControlLabels.js +47 -0
- package/dist/hooks/useControlLabels.js.map +1 -0
- package/dist/hooks/useInputBasedControl.d.ts +2 -1
- package/dist/hooks/useInputBasedControl.js +3 -5
- package/dist/hooks/useInputBasedControl.js.map +1 -1
- package/dist/hooks/usePrevious.d.ts +1 -0
- package/dist/index.d.ts +452 -140
- package/dist/index.js +7 -2
- package/dist/index.js.map +1 -1
- package/dist/interfaces/context.d.ts +2 -1
- package/dist/interfaces/index.d.ts +1 -1
- package/dist/interfaces/property.d.ts +5 -0
- package/dist/utils/BaseControls.d.ts +16 -0
- package/dist/utils/BaseControls.js +82 -0
- package/dist/utils/BaseControls.js.map +1 -0
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/theme/ControlTheme.d.ts +1 -1
- package/dist/utils/theme/ControlTheme.js +1 -1
- package/dist/utils/theme/ControlTheme.js.map +1 -1
- package/dist/utils/theme/components/ThemeWrapper.d.ts +9 -0
- package/dist/utils/theme/components/ThemeWrapper.js +11 -0
- package/dist/utils/theme/components/ThemeWrapper.js.map +1 -0
- package/dist/utils/theme/components/index.d.ts +1 -0
- package/dist/utils/theme/components/index.js +2 -0
- package/dist/utils/theme/components/index.js.map +1 -0
- package/dist/utils/theme/hooks/useControlTheme.d.ts +1 -1
- package/dist/utils/theme/hooks/useControlTheme.js.map +1 -1
- package/dist/utils/theme/index.d.ts +1 -0
- package/dist/utils/theme/index.js +1 -0
- package/dist/utils/theme/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.d.ts +0 -10
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js +0 -82
- package/dist/components/Grid/core/components/Cell/EditableCell/EditableCell.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/Notifications.d.ts +0 -11
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/Notifications.js +0 -93
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/Notifications.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/styles.d.ts +0 -36
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/styles.js +0 -42
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/Notifications/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.d.ts +0 -11
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js +0 -221
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyCell.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.d.ts +0 -10
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.js +0 -49
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/ReadOnlyOptionSet.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/styles.js +0 -27
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/ReadOnlyOptionSet/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.d.ts +0 -99
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js +0 -123
- package/dist/components/Grid/core/components/Cell/ReadOnlyCell/styles.js.map +0 -1
- package/dist/components/Grid/core/components/Component/Component.js.map +0 -1
- package/dist/components/Grid/core/components/Component/controller/useComponentController.js.map +0 -1
- package/dist/components/Grid/core/components/Component/model/Component.js.map +0 -1
- package/dist/components/Grid/core/model/Metadata.js +0 -26
- package/dist/components/Grid/core/model/Metadata.js.map +0 -1
- package/dist/components/Grid/selection/controllers/useSelectionController.d.ts +0 -11
- package/dist/components/Grid/selection/controllers/useSelectionController.js +0 -21
- package/dist/components/Grid/selection/controllers/useSelectionController.js.map +0 -1
- package/dist/hooks/useRerender.d.ts +0 -1
- package/dist/hooks/useRerender.js +0 -9
- package/dist/hooks/useRerender.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnMovedEvent, ColumnResizedEvent, GridApi, GridState, ModuleRegistry } from \"@ag-grid-community/core\";\nimport { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { useSelectionController } from \"../../../selection/controllers/useSelectionController\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { CHECKBOX_COLUMN_KEY } from '../../../constants';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\nexport const AgGrid = () => {\n const grid = useGridInstance();\n const selection = useSelectionController();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = getGridStyles(theme, grid.height);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef), [])\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n //this is to prevent AgGrid from throwing errors in some rerender edge cases - https://github.com/ag-grid/ag-grid/issues/6013\n const [records] = useDebounce(grid.records, 0);\n const userChangedColumnSizeRef = useRef(false);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n gridApiRef.current?.refreshCells({\n rowNodes: gridApiRef.current?.getRenderedNodes(),\n force: true\n });\n grid.refreshGlobalCheckBox();\n agGrid.selectRows();\n }, 0);\n\n const debouncedSetAgColumns = useDebouncedCallback(() => {\n setAgColumns(agGrid.columns);\n }, 0);\n\n debouncedRefresh();\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n agGrid.selectRows();\n }\n\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const updateColumnOrder = async (e: ColumnMovedEvent<IRecord, any>) => {\n if (e.type === 'gridOptionsChanged') {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n grid.dataset.setColumns?.(orderedColumns);\n grid.pcfContext.factory.requestRender()\n }\n\n const globalClickHandler = useCallback((e: MouseEvent) => {\n const hasAncestorWithClass = (element: HTMLElement, className: string): boolean => {\n let parent = element;\n while (!parent.classList.contains('ag-theme-balham')) {\n if (parent.classList.contains(className)) {\n return true;\n }\n if (parent.tagName === 'HTML') {\n return false;\n }\n parent = parent.parentElement!;\n if (!parent) {\n return true;\n }\n }\n return false;\n };\n try {\n if (!hasAncestorWithClass(e.target as HTMLElement, 'ag-cell')) {\n gridApiRef.current?.stopEditing();\n }\n }\n catch (err) {\n }\n }, []);\n\n const copyCellValue = useCallback((event: KeyboardEvent) => {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = gridApiRef.current?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = gridApiRef.current?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = gridApiRef.current?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }, []);\n\n const toggleOverlay = () => {\n if (!gridApiRef.current) {\n return;\n }\n if (grid.loading) {\n gridApiRef.current.showLoadingOverlay();\n return;\n }\n gridApiRef.current.hideOverlay();\n setTimeout(() => {\n if (grid.records.length === 0) {\n gridApiRef.current?.showNoRowsOverlay();\n }\n }, 0);\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n const updateColumnVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n const resizedColumnKey = grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n userChangedColumnSizeRef.current = true;\n grid.dataset.setColumns?.(columns);\n gridApiRef.current?.resetRowHeights();\n grid.pcfContext.factory.requestRender()\n }, 200);\n\n //TODO: find a better way to achieve this\n useEffect(() => {\n document.addEventListener('click', globalClickHandler)\n return () => {\n document.removeEventListener('click', globalClickHandler);\n }\n }, []);\n\n useEffect(() => {\n toggleOverlay();\n if (records.length > 0) {\n gridApiRef.current?.ensureIndexVisible(0)\n }\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => copyCellValue(event));\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n agGrid.selectRows();\n }, [records]);\n\n useEffect(() => {\n debouncedSetAgColumns();\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n return (\n <div\n ref={containerRef}\n className={`${styles.root} ag-theme-balham`}\n >\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact\n animateRows\n rowSelection={grid.selection.type}\n noRowsOverlayComponent={Object.keys(grid.dataset.sortedRecordIds.length === 0) && !grid.loading ? EmptyRecords : undefined}\n loadingOverlayComponent={grid.loading ? LoadingOverlay : undefined}\n suppressDragLeaveHidesColumns\n onColumnResized={(e) => updateColumnVisualSizeFactor(e)}\n onColumnMoved={(e) => {\n if (e.finished) {\n updateColumnOrder(e);\n }\n }}\n reactiveCustomComponents\n onRowSelected={(e) => {\n //prevent infinite loop since we are also setting the rows\n //when the selection comes from above\n if (e.source.includes('api') || e.source === 'gridInitializing') {\n return;\n }\n selection.toggle(e.data!, e.node.isSelected()!)\n }}\n onCellDoubleClicked={(e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.openDatasetItem(e.data!.getNamedReference())\n }\n }}\n onCellMouseOver={(e) => {\n if (e.colDef.colId === CHECKBOX_COLUMN_KEY) {\n gridApiRef.current?.setGridOption('suppressRowClickSelection', true)\n }\n }}\n onCellMouseOut={(e) => {\n gridApiRef.current?.setGridOption('suppressRowClickSelection', false)\n }}\n getRowId={(params) => params.data.getRecordId()}\n onGridReady={(e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n }}\n onGridSizeChanged={(e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n }}\n onFirstDataRendered={(e) => {\n sizeColumnsIfSpaceAvailable();\n }}\n \n initialState={stateValuesRef.current}\n onStateUpdated={(e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n }}\n suppressAnimationFrame\n columnDefs={agColumns as any}\n rowData={records}\n getRowHeight={(params) => {\n const columnWidths: { [name: string]: number } = {};\n params.api.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n return params?.data?.ui?.getHeight(columnWidths, grid.rowHeight)\n }}\n\n >\n </AgGridReact>\n {grid.paging.isEnabled &&\n <Paging />\n }\n </div>\n );\n}\n"],"names":["AgGridModel","_jsxs","_jsx"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { Checkbox, MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnResizedEvent, GridApi, GridState, ModuleRegistry } from \"@ag-grid-community/core\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useRerender, useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nimport { AgGridContext } from './context';\nimport { CHECKBOX_COLUMN_KEY } from '../../../constants';\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\nexport const AgGrid = () => {\n const grid = useGridInstance();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = useMemo(() => getGridStyles(theme, grid.height), [theme, grid.height]);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef, theme), []);\n const agGridProviderValue = useMemo(() => agGrid, []);\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n //this is to prevent AgGrid from throwing errors in some rerender edge cases - https://github.com/ag-gid/ag-grid/issues/6013\n const [records] = useDebounce(grid.records, 0);\n const userChangedColumnSizeRef = useRef(false);\n const rerender = useRerender();\n const innerRerenderRef = useRef(true);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n agGrid.refresh();\n }, 0);\n\n const debouncedSetAgColumns = useDebouncedCallback(() => {\n innerRerenderRef.current = true;\n setAgColumns(agGrid.getColumns());\n }, 0);\n\n const debounceUpdateVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n userChangedColumnSizeRef.current = true;\n agGrid.updateColumnVisualSizeFactor(e);\n }, 200);\n\n if (!innerRerenderRef.current) {\n debouncedRefresh();\n }\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n }\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n useEffect(() => {\n agGrid.toggleOverlay();\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => agGrid.copyCellValue(event));\n agGrid.setRerenderCallback(() => {\n innerRerenderRef.current = true;\n rerender();\n });\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n debouncedSetAgColumns();\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n innerRerenderRef.current = false;\n\n return (\n <AgGridContext.Provider value={agGridProviderValue}>\n <div\n ref={containerRef}\n className={`${styles.root} ag-theme-balham`}\n >\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact\n animateRows={false}\n rowSelection={grid.selection.type}\n noRowsOverlayComponent={Object.keys(grid.dataset.sortedRecordIds.length === 0) && !grid.loading ? EmptyRecords : undefined}\n loadingOverlayComponent={grid.loading ? LoadingOverlay : undefined}\n suppressDragLeaveHidesColumns\n onColumnResized={(e) => debounceUpdateVisualSizeFactor(e)}\n onColumnMoved={(e) => agGrid.updateColumnOrder(e)}\n reactiveCustomComponents\n onSelectionChanged={(e) => {\n if (e.source.includes('api')) {\n return;\n }\n const cell = e.api.getFocusedCell()!;\n if (cell.column.getColId() === CHECKBOX_COLUMN_KEY) {\n const node = e.api.getSelectedNodes().find(node => node.rowIndex === cell.rowIndex);\n grid.selection.toggle(node!.id!);\n }\n else {\n grid.dataset.setSelectedRecordIds(e.api.getSelectedNodes().map(node => node.data!.getRecordId()));\n }\n agGrid.refreshRowSelection();\n }}\n gridOptions={{\n getRowStyle: (params) => {\n const theme = params.rowIndex % 2 === 0 ? agGrid.evenRowCellTheme : agGrid.oddRowCellTheme;\n return {\n backgroundColor: theme.semanticColors.bodyBackground\n }\n },\n }}\n onCellDoubleClicked={(e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.dataset.openDatasetItem(e.data!.getNamedReference())\n }\n }}\n getRowId={(params) => params.data.getRecordId()}\n onGridReady={(e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n }}\n onGridSizeChanged={(e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n }}\n onFirstDataRendered={(e) => {\n sizeColumnsIfSpaceAvailable();\n agGrid.refreshRowSelection();\n }}\n onCellEditingStopped={() => {\n grid.pcfContext.factory.requestRender();\n }}\n initialState={stateValuesRef.current}\n onStateUpdated={(e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n }}\n columnDefs={agColumns as any}\n rowData={records}\n getRowHeight={(params) => agGrid.getRowHeight(params.data!)}\n >\n </AgGridReact>\n {grid.paging.isEnabled &&\n <Paging />\n }\n </div>\n </AgGridContext.Provider>\n );\n}\n"],"names":["AgGridModel","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/context.ts"],"sourcesContent":["import { createContext } from \"react\";\nimport { AgGrid } from \"./model/AgGrid\";\n\nexport const AgGridContext = createContext<AgGrid>(null as any);"],"names":[],"mappings":";;MAGa,aAAa,GAAG,aAAa,CAAS,IAAW;;;;"}
|
|
@@ -1,15 +1,50 @@
|
|
|
1
1
|
/// <reference types="react" />
|
|
2
2
|
/// <reference types="@types/powerapps-component-framework" />
|
|
3
|
-
import { ColDef, GridApi } from "@ag-grid-community/core";
|
|
3
|
+
import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, GridApi } from "@ag-grid-community/core";
|
|
4
4
|
import { Grid } from "../../../model/Grid";
|
|
5
5
|
import { GridDependency } from "../../../model/GridDependency";
|
|
6
|
+
import { IAddControlNotificationOptions, IColumn, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord } from "@talxis/client-libraries";
|
|
7
|
+
import { ITheme } from "@fluentui/react";
|
|
8
|
+
export interface ICellValues {
|
|
9
|
+
notifications: IAddControlNotificationOptions[];
|
|
10
|
+
customFormatting: Required<ICustomColumnFormatting>;
|
|
11
|
+
customControl: Required<ICustomColumnControl>;
|
|
12
|
+
customComponent: ICustomColumnComponent;
|
|
13
|
+
loading: boolean;
|
|
14
|
+
value: any;
|
|
15
|
+
error: boolean;
|
|
16
|
+
height: number;
|
|
17
|
+
errorMessage: string;
|
|
18
|
+
parameters: IControlParameters;
|
|
19
|
+
columnAlignment: Required<IColumn['alignment']>;
|
|
20
|
+
editing: boolean;
|
|
21
|
+
editable: boolean;
|
|
22
|
+
disabled: boolean;
|
|
23
|
+
}
|
|
6
24
|
export declare class AgGrid extends GridDependency {
|
|
7
25
|
private _gridApiRef;
|
|
8
|
-
|
|
9
|
-
|
|
26
|
+
private _theme;
|
|
27
|
+
private _rerenderCallback;
|
|
28
|
+
private _rerenderGlobalCheckBox;
|
|
29
|
+
private _comparator;
|
|
30
|
+
readonly oddRowCellTheme: ITheme;
|
|
31
|
+
readonly evenRowCellTheme: ITheme;
|
|
32
|
+
constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme);
|
|
33
|
+
getColumns(): ColDef<any, any>[];
|
|
34
|
+
refresh(): void;
|
|
35
|
+
setGlobalCheckBoxRenderer(renderer: () => void): void;
|
|
36
|
+
updateColumnOrder(e: ColumnMovedEvent<IRecord, any>): void;
|
|
37
|
+
updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>): void;
|
|
38
|
+
toggleOverlay(): void;
|
|
39
|
+
copyCellValue(event: KeyboardEvent): void;
|
|
40
|
+
getRowHeight(record: IRecord): number;
|
|
10
41
|
getTotalColumnsWidth(): number;
|
|
11
|
-
|
|
42
|
+
refreshRowSelection(): void;
|
|
43
|
+
getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting>;
|
|
44
|
+
setRerenderCallback(callback: () => void): void;
|
|
45
|
+
rerender(): void;
|
|
12
46
|
private get _gridApi();
|
|
13
|
-
private _getCellClassName;
|
|
14
47
|
private _isColumnEditable;
|
|
48
|
+
private _suppressKeyboardEvent;
|
|
49
|
+
private _getValue;
|
|
15
50
|
}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
1
|
import { GridDependency } from '../../../model/GridDependency.js';
|
|
2
|
-
import { DataType } from '../../../enums/DataType.js';
|
|
3
2
|
import { CHECKBOX_COLUMN_KEY } from '../../../../constants.js';
|
|
4
|
-
import {
|
|
5
|
-
import { EditableCell } from '../../Cell/EditableCell/EditableCell.js';
|
|
3
|
+
import { DataTypes } from '@talxis/client-libraries';
|
|
6
4
|
import { GlobalCheckBox } from '../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox.js';
|
|
7
5
|
import { ColumnHeader } from '../../ColumnHeader/ColumnHeader.js';
|
|
6
|
+
import { Cell } from '../../Cell/Cell.js';
|
|
7
|
+
import { Theming } from '@talxis/react-components';
|
|
8
|
+
import { Comparator } from './Comparator.js';
|
|
9
|
+
import { NestedControl } from '../../../../../NestedControlRenderer/NestedControl.js';
|
|
8
10
|
|
|
9
11
|
class AgGrid extends GridDependency {
|
|
10
|
-
constructor(grid, gridApiRef) {
|
|
12
|
+
constructor(grid, gridApiRef, theme) {
|
|
11
13
|
super(grid);
|
|
14
|
+
this._rerenderCallback = () => { };
|
|
15
|
+
this._rerenderGlobalCheckBox = () => { };
|
|
16
|
+
this._comparator = new Comparator();
|
|
12
17
|
this._gridApiRef = gridApiRef;
|
|
18
|
+
this._theme = theme;
|
|
19
|
+
this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);
|
|
20
|
+
this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);
|
|
13
21
|
}
|
|
14
|
-
|
|
22
|
+
getColumns() {
|
|
15
23
|
const agColumns = [];
|
|
16
24
|
for (const column of this._grid.columns) {
|
|
17
25
|
const agColumn = {
|
|
@@ -19,16 +27,16 @@ class AgGrid extends GridDependency {
|
|
|
19
27
|
field: column.name,
|
|
20
28
|
headerName: column.displayName,
|
|
21
29
|
hide: column.isHidden,
|
|
22
|
-
|
|
30
|
+
width: column.visualSizeFactor,
|
|
23
31
|
sortable: !column.disableSorting,
|
|
24
|
-
editable: (p) => this._isColumnEditable(column, p),
|
|
25
32
|
resizable: column.isResizable,
|
|
26
33
|
autoHeaderHeight: true,
|
|
27
34
|
suppressMovable: column.isDraggable === false ? true : false,
|
|
28
35
|
suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,
|
|
29
|
-
|
|
30
|
-
cellRenderer:
|
|
31
|
-
cellEditor:
|
|
36
|
+
suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),
|
|
37
|
+
cellRenderer: Cell,
|
|
38
|
+
cellEditor: Cell,
|
|
39
|
+
editable: (p) => this._isColumnEditable(column, p),
|
|
32
40
|
headerComponent: ColumnHeader,
|
|
33
41
|
onCellClicked: (event) => {
|
|
34
42
|
this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);
|
|
@@ -39,40 +47,21 @@ class AgGrid extends GridDependency {
|
|
|
39
47
|
}
|
|
40
48
|
return p.data.getFormattedValue(column.name);
|
|
41
49
|
},
|
|
42
|
-
valueGetter: (p) =>
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
}
|
|
46
|
-
return p.data.getValue(column.name);
|
|
50
|
+
valueGetter: (p) => this._getValue(p, column),
|
|
51
|
+
equals: (valueA, valueB) => {
|
|
52
|
+
return this._comparator.isEqual(valueA, valueB);
|
|
47
53
|
},
|
|
48
54
|
cellRendererParams: {
|
|
49
|
-
baseColumn: column
|
|
55
|
+
baseColumn: column,
|
|
56
|
+
isCellEditor: false
|
|
50
57
|
},
|
|
51
58
|
cellEditorParams: {
|
|
52
59
|
baseColumn: column,
|
|
60
|
+
isCellEditor: true
|
|
53
61
|
},
|
|
54
62
|
headerComponentParams: {
|
|
55
63
|
baseColumn: column
|
|
56
64
|
},
|
|
57
|
-
suppressKeyboardEvent: (params) => {
|
|
58
|
-
if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {
|
|
59
|
-
return false;
|
|
60
|
-
}
|
|
61
|
-
switch (column.dataType) {
|
|
62
|
-
case DataType.DATE_AND_TIME_DATE_AND_TIME:
|
|
63
|
-
case DataType.DATE_AND_TIME_DATE_ONLY:
|
|
64
|
-
case DataType.LOOKUP_OWNER:
|
|
65
|
-
case DataType.LOOKUP_SIMPLE:
|
|
66
|
-
case DataType.LOOKUP_CUSTOMER:
|
|
67
|
-
case DataType.MULTI_SELECT_OPTIONSET:
|
|
68
|
-
case DataType.OPTIONSET:
|
|
69
|
-
case DataType.TWO_OPTIONS:
|
|
70
|
-
case DataType.WHOLE_DURATION: {
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
return false;
|
|
75
|
-
},
|
|
76
65
|
};
|
|
77
66
|
if (agColumn.field === CHECKBOX_COLUMN_KEY) {
|
|
78
67
|
agColumn.lockPosition = 'left';
|
|
@@ -82,6 +71,91 @@ class AgGrid extends GridDependency {
|
|
|
82
71
|
}
|
|
83
72
|
return agColumns;
|
|
84
73
|
}
|
|
74
|
+
refresh() {
|
|
75
|
+
if (this._grid.loading) {
|
|
76
|
+
return;
|
|
77
|
+
}
|
|
78
|
+
this._gridApi?.resetRowHeights();
|
|
79
|
+
this._gridApi?.refreshCells({
|
|
80
|
+
rowNodes: this._gridApi.getRenderedNodes()
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
setGlobalCheckBoxRenderer(renderer) {
|
|
84
|
+
this._rerenderGlobalCheckBox = renderer;
|
|
85
|
+
}
|
|
86
|
+
updateColumnOrder(e) {
|
|
87
|
+
if (e.type === 'gridOptionsChanged' || !e.finished) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
const sortedIds = e.api.getState().columnOrder?.orderedColIds;
|
|
91
|
+
if (!sortedIds) {
|
|
92
|
+
return;
|
|
93
|
+
}
|
|
94
|
+
const idIndexMap = new Map();
|
|
95
|
+
sortedIds.forEach((id, index) => {
|
|
96
|
+
idIndexMap.set(id, index);
|
|
97
|
+
});
|
|
98
|
+
const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {
|
|
99
|
+
const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name) : sortedIds.length;
|
|
100
|
+
const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name) : sortedIds.length;
|
|
101
|
+
return aIndex - bIndex;
|
|
102
|
+
});
|
|
103
|
+
this._grid.dataset.setColumns?.(orderedColumns);
|
|
104
|
+
}
|
|
105
|
+
updateColumnVisualSizeFactor(e) {
|
|
106
|
+
const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;
|
|
107
|
+
if (!resizedColumnKey) {
|
|
108
|
+
return;
|
|
109
|
+
}
|
|
110
|
+
const columns = this._grid.dataset.columns;
|
|
111
|
+
for (let i = 0; i < columns.length; i++) {
|
|
112
|
+
if (columns[i].name === resizedColumnKey) {
|
|
113
|
+
columns[i].visualSizeFactor = e.column?.getActualWidth();
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
this._grid.dataset.setColumns?.(columns);
|
|
117
|
+
this.refresh();
|
|
118
|
+
}
|
|
119
|
+
toggleOverlay() {
|
|
120
|
+
if (this._grid.loading) {
|
|
121
|
+
this._gridApi?.showLoadingOverlay();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this._gridApi?.hideOverlay();
|
|
125
|
+
setTimeout(() => {
|
|
126
|
+
if (this._grid.records.length === 0) {
|
|
127
|
+
this._gridApi?.showNoRowsOverlay();
|
|
128
|
+
}
|
|
129
|
+
});
|
|
130
|
+
if (this._grid.records.length > 0) {
|
|
131
|
+
this._gridApi?.ensureIndexVisible(0);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
copyCellValue(event) {
|
|
135
|
+
if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {
|
|
136
|
+
const cell = this._gridApi?.getFocusedCell();
|
|
137
|
+
if (!cell) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);
|
|
141
|
+
const formattedValue = this._gridApi?.getCellValue({
|
|
142
|
+
rowNode: row,
|
|
143
|
+
colKey: cell.column.getColId(),
|
|
144
|
+
useFormatter: true
|
|
145
|
+
});
|
|
146
|
+
navigator.clipboard.writeText(formattedValue ?? "");
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
getRowHeight(record) {
|
|
150
|
+
const columnWidths = {};
|
|
151
|
+
this._gridApi?.getAllGridColumns().map(col => {
|
|
152
|
+
columnWidths[col.getColId()] = col.getActualWidth();
|
|
153
|
+
});
|
|
154
|
+
if (Object.keys(columnWidths).length === 0) {
|
|
155
|
+
return this._grid.rowHeight;
|
|
156
|
+
}
|
|
157
|
+
return record.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;
|
|
158
|
+
}
|
|
85
159
|
getTotalColumnsWidth() {
|
|
86
160
|
if (!this._gridApi) {
|
|
87
161
|
return 0;
|
|
@@ -92,44 +166,156 @@ class AgGrid extends GridDependency {
|
|
|
92
166
|
}
|
|
93
167
|
return width;
|
|
94
168
|
}
|
|
95
|
-
|
|
169
|
+
refreshRowSelection() {
|
|
96
170
|
if (!this._gridApi) {
|
|
97
171
|
return;
|
|
98
172
|
}
|
|
99
173
|
const nodesToSelect = [];
|
|
100
|
-
|
|
174
|
+
const nodesToDeselect = [];
|
|
101
175
|
this._gridApi.forEachNode((node) => {
|
|
102
176
|
if (this._grid.dataset.getSelectedRecordIds().includes(node.data.getRecordId())) {
|
|
103
177
|
nodesToSelect.push(node);
|
|
104
178
|
}
|
|
179
|
+
else {
|
|
180
|
+
nodesToDeselect.push(node);
|
|
181
|
+
}
|
|
105
182
|
});
|
|
106
183
|
this._gridApi.setNodesSelected({
|
|
107
184
|
nodes: nodesToSelect,
|
|
108
|
-
newValue: true
|
|
185
|
+
newValue: true,
|
|
186
|
+
});
|
|
187
|
+
this._gridApi.setNodesSelected({
|
|
188
|
+
nodes: nodesToDeselect,
|
|
189
|
+
newValue: false
|
|
109
190
|
});
|
|
110
191
|
this._gridApi.refreshCells({
|
|
111
192
|
columns: [CHECKBOX_COLUMN_KEY],
|
|
112
|
-
force: true
|
|
193
|
+
force: true,
|
|
113
194
|
});
|
|
195
|
+
this._rerenderGlobalCheckBox();
|
|
196
|
+
}
|
|
197
|
+
getCellFormatting(params) {
|
|
198
|
+
const isEven = params.node.rowIndex % 2 === 0;
|
|
199
|
+
//set colors for even/odd
|
|
200
|
+
const defaultBackgroundColor = isEven ? this.evenRowCellTheme.semanticColors.bodyBackground : this.oddRowCellTheme.semanticColors.bodyBackground;
|
|
201
|
+
switch (params.colDef.colId) {
|
|
202
|
+
case CHECKBOX_COLUMN_KEY: {
|
|
203
|
+
return {
|
|
204
|
+
primaryColor: this._theme.palette.themePrimary,
|
|
205
|
+
backgroundColor: defaultBackgroundColor,
|
|
206
|
+
textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),
|
|
207
|
+
className: '',
|
|
208
|
+
themeOverride: {}
|
|
209
|
+
};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
switch (params.colDef.colId) {
|
|
213
|
+
default: {
|
|
214
|
+
const formatting = params.data.getColumnInfo(params.colDef.colId).ui.getCustomFormatting(isEven ? this.evenRowCellTheme : this.oddRowCellTheme) ?? {};
|
|
215
|
+
if (!formatting.backgroundColor) {
|
|
216
|
+
formatting.backgroundColor = defaultBackgroundColor;
|
|
217
|
+
}
|
|
218
|
+
if (!formatting.primaryColor) {
|
|
219
|
+
formatting.primaryColor = this._theme.palette.themePrimary;
|
|
220
|
+
}
|
|
221
|
+
if (!formatting.textColor) {
|
|
222
|
+
formatting.textColor = Theming.GetTextColorForBackground(formatting.backgroundColor);
|
|
223
|
+
}
|
|
224
|
+
if (!formatting.className) {
|
|
225
|
+
formatting.className = '';
|
|
226
|
+
}
|
|
227
|
+
if (!formatting.themeOverride) {
|
|
228
|
+
formatting.themeOverride = {};
|
|
229
|
+
}
|
|
230
|
+
return formatting;
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
setRerenderCallback(callback) {
|
|
235
|
+
this._rerenderCallback = callback;
|
|
236
|
+
}
|
|
237
|
+
rerender() {
|
|
238
|
+
this._rerenderCallback();
|
|
114
239
|
}
|
|
115
240
|
get _gridApi() {
|
|
116
241
|
return this._gridApiRef.current;
|
|
117
242
|
}
|
|
118
|
-
|
|
243
|
+
_isColumnEditable(column, params) {
|
|
244
|
+
if (column.name === CHECKBOX_COLUMN_KEY) {
|
|
245
|
+
return false;
|
|
246
|
+
}
|
|
247
|
+
const columnInfo = params.data?.getColumnInfo(column.name);
|
|
248
|
+
if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {
|
|
249
|
+
return false;
|
|
250
|
+
}
|
|
251
|
+
//disable ag grid cell editor if oneClickEdit is enabled
|
|
252
|
+
//editor control will be used in cell renderer
|
|
253
|
+
if (column.oneClickEdit) {
|
|
254
|
+
return false;
|
|
255
|
+
}
|
|
256
|
+
return columnInfo?.security.editable ?? true;
|
|
257
|
+
}
|
|
258
|
+
_suppressKeyboardEvent(params, column) {
|
|
259
|
+
if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {
|
|
260
|
+
return false;
|
|
261
|
+
}
|
|
119
262
|
switch (column.dataType) {
|
|
120
|
-
case
|
|
121
|
-
case
|
|
122
|
-
case
|
|
123
|
-
|
|
263
|
+
case DataTypes.DateAndTimeDateAndTime:
|
|
264
|
+
case DataTypes.DateAndTimeDateOnly:
|
|
265
|
+
case DataTypes.LookupOwner:
|
|
266
|
+
case DataTypes.LookupCustomer:
|
|
267
|
+
case DataTypes.LookupRegarding:
|
|
268
|
+
case DataTypes.LookupSimple:
|
|
269
|
+
case DataTypes.MultiSelectOptionSet:
|
|
270
|
+
case DataTypes.OptionSet:
|
|
271
|
+
case DataTypes.TwoOptions:
|
|
272
|
+
case DataTypes.WholeDuration: {
|
|
273
|
+
return true;
|
|
124
274
|
}
|
|
125
275
|
}
|
|
126
|
-
return
|
|
276
|
+
return false;
|
|
127
277
|
}
|
|
128
|
-
|
|
129
|
-
if (
|
|
130
|
-
return
|
|
278
|
+
_getValue(p, column) {
|
|
279
|
+
if (column.name === CHECKBOX_COLUMN_KEY) {
|
|
280
|
+
return {
|
|
281
|
+
customFormatting: this.getCellFormatting(p)
|
|
282
|
+
};
|
|
283
|
+
}
|
|
284
|
+
let editing = false;
|
|
285
|
+
const record = p.data;
|
|
286
|
+
const columnInfo = p.data.getColumnInfo(column.name);
|
|
287
|
+
//i hate this, there is no other way to get the information if we are in edit mode or not
|
|
288
|
+
if (p.api.getEditingCells() > 0 || Error().stack.includes('startEditing')) {
|
|
289
|
+
editing = true;
|
|
290
|
+
}
|
|
291
|
+
const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);
|
|
292
|
+
const control = new NestedControl({
|
|
293
|
+
onGetBindings: () => this._grid.getBindings(record, column, customControl),
|
|
294
|
+
parentPcfContext: this._grid.pcfContext,
|
|
295
|
+
});
|
|
296
|
+
const parameters = columnInfo.ui.getControlParameters({
|
|
297
|
+
...control.getParameters(),
|
|
298
|
+
...this._grid.getParameters(record, column, editing),
|
|
299
|
+
});
|
|
300
|
+
if (column.oneClickEdit) {
|
|
301
|
+
editing = true;
|
|
131
302
|
}
|
|
132
|
-
|
|
303
|
+
const values = {
|
|
304
|
+
notifications: columnInfo.ui.getNotifications(),
|
|
305
|
+
value: p.data.getValue(column.name),
|
|
306
|
+
customFormatting: this.getCellFormatting(p),
|
|
307
|
+
customControl: customControl,
|
|
308
|
+
height: p.node.rowHeight,
|
|
309
|
+
error: columnInfo.error,
|
|
310
|
+
loading: columnInfo.ui.isLoading(),
|
|
311
|
+
errorMessage: columnInfo.errorMessage,
|
|
312
|
+
editable: columnInfo.security.editable,
|
|
313
|
+
editing: editing,
|
|
314
|
+
parameters: parameters,
|
|
315
|
+
columnAlignment: column.alignment,
|
|
316
|
+
customComponent: columnInfo.ui.getCustomControlComponent()
|
|
317
|
+
};
|
|
318
|
+
return values;
|
|
133
319
|
}
|
|
134
320
|
}
|
|
135
321
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { ColDef, EditableCallbackParams, GridApi, IRowNode } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { DataType } from \"../../../enums/DataType\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { IRecord } from \"@talxis/client-libraries\";\nimport { ReadOnlyCell } from \"../../Cell/ReadOnlyCell/ReadOnlyCell\";\nimport { EditableCell } from \"../../Cell/EditableCell/EditableCell\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>) {\n super(grid);\n this._gridApiRef = gridApiRef;\n }\n public get columns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n initialWidth: column.visualSizeFactor,\n sortable: !column.disableSorting,\n editable: (p) => this._isColumnEditable(column, p), \n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n cellClass: this._getCellClassName(column),\n cellRenderer: ReadOnlyCell,\n cellEditor: EditableCell,\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getFormattedValue(column.name)\n },\n valueGetter: (p) => {\n if(column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getValue(column.name)\n },\n cellRendererParams: {\n baseColumn: column\n },\n cellEditorParams: {\n baseColumn: column,\n },\n headerComponentParams: {\n baseColumn: column\n },\n suppressKeyboardEvent: (params) => {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataType.DATE_AND_TIME_DATE_AND_TIME:\n case DataType.DATE_AND_TIME_DATE_ONLY:\n case DataType.LOOKUP_OWNER:\n case DataType.LOOKUP_SIMPLE:\n case DataType.LOOKUP_CUSTOMER:\n case DataType.MULTI_SELECT_OPTIONSET:\n case DataType.OPTIONSET:\n case DataType.TWO_OPTIONS:\n case DataType.WHOLE_DURATION: {\n return true;\n }\n }\n return false;\n },\n }\n if(agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public selectRows() {\n if (!this._gridApi) {\n return;\n }\n const nodesToSelect: IRowNode[] = [];\n this._gridApi.deselectAll();\n this._gridApi.forEachNode((node: IRowNode) => {\n if (this._grid.dataset.getSelectedRecordIds().includes(node.data.getRecordId())) {\n nodesToSelect.push(node);\n }\n });\n this._gridApi.setNodesSelected({\n nodes: nodesToSelect,\n newValue: true\n });\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true\n })\n }\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n private _getCellClassName(column: IGridColumn) {\n switch (column.dataType) {\n case DataType.CURRENCY:\n case DataType.DECIMAL:\n case DataType.WHOLE_NONE: {\n return 'talxis-cell-align-right';\n }\n }\n return 'talxis-cell-align-left';\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (!this._grid.parameters.EnableEditing?.raw || params.data?.ui.isLoading?.(column.name) === true) {\n return false;\n }\n return params.data?.getColumnInfo(column.name).security.editable ?? true;\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, EditableCallbackParams, GridApi, IRowNode, RowNode, SuppressKeyboardEventParams } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { DataTypes, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\nimport { Cell } from \"../../Cell/Cell\";\nimport { ITheme } from \"@fluentui/react\";\nimport { Theming } from \"@talxis/react-components\";\nimport { Comparator } from \"./Comparator\";\nimport { NestedControl } from \"../../../../../NestedControlRenderer/NestedControl\";\n\nexport interface ICellValues {\n notifications: IAddControlNotificationOptions[];\n customFormatting: Required<ICustomColumnFormatting>;\n customControl: Required<ICustomColumnControl>;\n customComponent: ICustomColumnComponent;\n loading: boolean;\n value: any;\n error: boolean;\n height: number;\n errorMessage: string;\n parameters: IControlParameters;\n columnAlignment: Required<IColumn['alignment']>;\n editing: boolean;\n editable: boolean;\n disabled: boolean;\n}\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n private _theme: ITheme;\n private _rerenderCallback: () => void = () => { };\n private _rerenderGlobalCheckBox: () => void = () => { };\n private _comparator: Comparator = new Comparator();\n public readonly oddRowCellTheme: ITheme;\n public readonly evenRowCellTheme: ITheme;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme) {\n super(grid);\n this._gridApiRef = gridApiRef;\n this._theme = theme;\n this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);\n this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);\n }\n public getColumns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),\n cellRenderer: Cell,\n cellEditor: Cell,\n editable: (p) => this._isColumnEditable(column, p),\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data.getFormattedValue(column.name)\n },\n valueGetter: (p: any) => this._getValue(p, column),\n equals: (valueA, valueB) => {\n return this._comparator.isEqual(valueA, valueB);\n },\n cellRendererParams: {\n baseColumn: column,\n isCellEditor: false\n },\n cellEditorParams: {\n baseColumn: column,\n isCellEditor: true\n },\n headerComponentParams: {\n baseColumn: column\n },\n }\n if (agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox;\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n\n public refresh() {\n if (this._grid.loading) {\n return;\n }\n this._gridApi?.resetRowHeights();\n this._gridApi?.refreshCells({\n rowNodes: this._gridApi.getRenderedNodes()\n });\n }\n\n public setGlobalCheckBoxRenderer(renderer: () => void) {\n this._rerenderGlobalCheckBox = renderer;\n }\n\n public updateColumnOrder(e: ColumnMovedEvent<IRecord, any>) {\n if (e.type === 'gridOptionsChanged' || !e.finished) {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n this._grid.dataset.setColumns?.(orderedColumns);\n }\n\n public updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>) {\n const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n this._grid.dataset.setColumns?.(columns);\n this.refresh();\n }\n\n public toggleOverlay() {\n if (this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n return;\n }\n this._gridApi?.hideOverlay();\n setTimeout(() => {\n if (this._grid.records.length === 0) {\n this._gridApi?.showNoRowsOverlay();\n }\n })\n if (this._grid.records.length > 0) {\n this._gridApi?.ensureIndexVisible(0)\n }\n }\n\n public copyCellValue(event: KeyboardEvent) {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = this._gridApi?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = this._gridApi?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }\n\n public getRowHeight(record: IRecord) {\n const columnWidths: { [name: string]: number } = {};\n this._gridApi?.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n if (Object.keys(columnWidths).length === 0) {\n return this._grid.rowHeight;\n }\n return record.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;\n }\n\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public refreshRowSelection() {\n if (!this._gridApi) {\n return;\n }\n const nodesToSelect: IRowNode[] = [];\n const nodesToDeselect: IRowNode[] = [];\n this._gridApi.forEachNode((node: IRowNode) => {\n if (this._grid.dataset.getSelectedRecordIds().includes(node.data.getRecordId())) {\n nodesToSelect.push(node);\n }\n else {\n nodesToDeselect.push(node);\n }\n });\n this._gridApi.setNodesSelected({\n nodes: nodesToSelect,\n newValue: true,\n });\n this._gridApi.setNodesSelected({\n nodes: nodesToDeselect,\n newValue: false\n })\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true,\n })\n this._rerenderGlobalCheckBox();\n }\n\n public getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting> {\n const isEven = params.node!.rowIndex! % 2 === 0;\n //set colors for even/odd\n const defaultBackgroundColor = isEven ? this.evenRowCellTheme.semanticColors.bodyBackground : this.oddRowCellTheme.semanticColors.bodyBackground;\n switch (params.colDef.colId) {\n case CHECKBOX_COLUMN_KEY: {\n return {\n primaryColor: this._theme.palette.themePrimary,\n backgroundColor: defaultBackgroundColor,\n textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),\n className: '',\n themeOverride: {}\n }\n }\n default: {\n\n }\n }\n switch (params.colDef.colId) {\n default: {\n const formatting = params.data!.getColumnInfo(params.colDef.colId!).ui.getCustomFormatting(isEven ? this.evenRowCellTheme : this.oddRowCellTheme) ?? {}\n if (!formatting.backgroundColor) {\n formatting.backgroundColor = defaultBackgroundColor;\n }\n if (!formatting.primaryColor) {\n formatting.primaryColor = this._theme.palette.themePrimary;\n }\n if (!formatting.textColor) {\n formatting.textColor = Theming.GetTextColorForBackground(formatting.backgroundColor);\n }\n if (!formatting.className) {\n formatting.className = '';\n }\n if (!formatting.themeOverride) {\n formatting.themeOverride = {};\n }\n return formatting as Required<ICustomColumnFormatting>;\n }\n }\n }\n\n\n public setRerenderCallback(callback: () => void) {\n this._rerenderCallback = callback;\n }\n\n public rerender() {\n this._rerenderCallback();\n }\n\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return false;\n }\n const columnInfo = params.data?.getColumnInfo(column.name);\n if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {\n return false;\n }\n //disable ag grid cell editor if oneClickEdit is enabled\n //editor control will be used in cell renderer\n if (column.oneClickEdit) {\n return false;\n }\n return columnInfo?.security.editable ?? true;\n }\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn) {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding:\n case DataTypes.LookupSimple:\n case DataTypes.MultiSelectOptionSet:\n case DataTypes.OptionSet:\n case DataTypes.TwoOptions:\n case DataTypes.WholeDuration: {\n return true;\n }\n }\n return false;\n }\n\n private _getValue(p: any, column: IGridColumn) {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return {\n customFormatting: this.getCellFormatting(p)\n }\n }\n let editing: boolean = false;\n const record = p.data as IRecord;\n const columnInfo = p.data!.getColumnInfo(column.name) as IColumnInfo;\n //i hate this, there is no other way to get the information if we are in edit mode or not\n if (p.api.getEditingCells() > 0 || Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.pcfContext,\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...control.getParameters(),\n ...this._grid.getParameters(record, column, editing),\n })\n if (column.oneClickEdit) {\n editing = true;\n }\n const values = {\n notifications: columnInfo.ui.getNotifications(),\n value: p.data!.getValue(column.name),\n customFormatting: this.getCellFormatting(p),\n customControl: customControl,\n height: p.node.rowHeight,\n error: columnInfo.error,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n return values;\n }\n}"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ICellValues } from "./AgGrid";
|
|
2
|
+
export declare class Comparator {
|
|
3
|
+
isEqual(oldValues?: ICellValues, newValues?: ICellValues): boolean;
|
|
4
|
+
private _isEqual;
|
|
5
|
+
private _areNotificationsEqual;
|
|
6
|
+
private _parseFormatting;
|
|
7
|
+
private _filterParameters;
|
|
8
|
+
private _parseCustomComponent;
|
|
9
|
+
}
|