@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
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import deepEqual from 'fast-deep-equal/es6';
|
|
2
|
+
|
|
3
|
+
class Comparator {
|
|
4
|
+
isEqual(oldValues, newValues) {
|
|
5
|
+
if (!this._isEqual(oldValues?.value, newValues?.value)) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
if (!this._isEqual(oldValues?.height, newValues?.height)) {
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
11
|
+
if (!this._isEqual(oldValues?.columnAlignment, newValues?.columnAlignment)) {
|
|
12
|
+
return false;
|
|
13
|
+
}
|
|
14
|
+
if (!this._isEqual(this._filterParameters(oldValues?.parameters), this._filterParameters(newValues?.parameters))) {
|
|
15
|
+
return false;
|
|
16
|
+
}
|
|
17
|
+
if (!this._areNotificationsEqual(oldValues?.notifications ?? [], newValues?.notifications ?? [])) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (!this._isEqual(this._parseFormatting(oldValues?.customFormatting), this._parseFormatting(newValues?.customFormatting))) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (!this._isEqual(oldValues?.customControl, newValues?.customControl)) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (!this._isEqual(oldValues?.error, newValues?.error)) {
|
|
27
|
+
return false;
|
|
28
|
+
}
|
|
29
|
+
if (!this._isEqual(oldValues?.errorMessage, newValues?.errorMessage)) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
if (!this._isEqual(oldValues?.editable, newValues?.editable)) {
|
|
33
|
+
return false;
|
|
34
|
+
}
|
|
35
|
+
if (!this._isEqual(oldValues?.loading, newValues?.loading)) {
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
if (!this._isEqual(this._parseCustomComponent(oldValues?.customComponent), this._parseCustomComponent(newValues?.customComponent))) {
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
_isEqual(previousValue, newValue) {
|
|
44
|
+
return deepEqual(previousValue ?? {}, newValue ?? {});
|
|
45
|
+
}
|
|
46
|
+
_areNotificationsEqual(previousNotifications, newNotifications) {
|
|
47
|
+
const previousNotificationIds = previousNotifications.map(x => x.uniqueId);
|
|
48
|
+
const newNotificationIds = newNotifications.map(x => x.uniqueId);
|
|
49
|
+
return this._isEqual(previousNotificationIds, newNotificationIds);
|
|
50
|
+
}
|
|
51
|
+
//ignore the components folder when calculating the diff
|
|
52
|
+
_parseFormatting(formatting) {
|
|
53
|
+
if (formatting?.themeOverride) {
|
|
54
|
+
return {
|
|
55
|
+
...formatting,
|
|
56
|
+
themeOverride: {
|
|
57
|
+
...formatting.themeOverride,
|
|
58
|
+
components: {}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
}
|
|
62
|
+
return formatting;
|
|
63
|
+
}
|
|
64
|
+
_filterParameters(params) {
|
|
65
|
+
if (!params)
|
|
66
|
+
return {};
|
|
67
|
+
const { Dataset, Record, Column, ...filteredParams } = params;
|
|
68
|
+
let paramsToCompare = {};
|
|
69
|
+
Object.entries(filteredParams).map(([key, parameter]) => {
|
|
70
|
+
paramsToCompare[key] = { ...parameter };
|
|
71
|
+
delete paramsToCompare[key].attributes;
|
|
72
|
+
Object.entries(paramsToCompare[key]).map(([attributePropKey, value]) => {
|
|
73
|
+
if (typeof value === 'function') {
|
|
74
|
+
delete paramsToCompare[key][attributePropKey];
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
});
|
|
78
|
+
return paramsToCompare;
|
|
79
|
+
}
|
|
80
|
+
_parseCustomComponent(component) {
|
|
81
|
+
return component?.key ?? '';
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
export { Comparator };
|
|
86
|
+
//# sourceMappingURL=Comparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Comparator.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/Comparator.ts"],"sourcesContent":["import { IAddControlNotificationOptions, ICustomColumnComponent, ICustomColumnFormatting } from \"@talxis/client-libraries\";\nimport deepEqual from 'fast-deep-equal/es6';\nimport { ICellValues } from \"./AgGrid\";\n\nexport class Comparator {\n\n public isEqual(oldValues?: ICellValues, newValues?: ICellValues) {\n if (!this._isEqual(oldValues?.value, newValues?.value)) {\n return false;\n }\n if (!this._isEqual(oldValues?.height, newValues?.height)) {\n return false;\n }\n if (!this._isEqual(oldValues?.columnAlignment, newValues?.columnAlignment)) {\n return false;\n }\n if (!this._isEqual(this._filterParameters(oldValues?.parameters), this._filterParameters(newValues?.parameters))) {\n return false;\n }\n if (!this._areNotificationsEqual(oldValues?.notifications ?? [], newValues?.notifications ?? [])) {\n return false;\n }\n if (!this._isEqual(this._parseFormatting(oldValues?.customFormatting), this._parseFormatting(newValues?.customFormatting))) {\n return false;\n }\n if (!this._isEqual(oldValues?.customControl, newValues?.customControl)) {\n return false;\n }\n if (!this._isEqual(oldValues?.error, newValues?.error)) {\n return false;\n }\n if (!this._isEqual(oldValues?.errorMessage, newValues?.errorMessage)) {\n return false;\n }\n if (!this._isEqual(oldValues?.editable, newValues?.editable)) {\n return false;\n }\n if (!this._isEqual(oldValues?.loading, newValues?.loading)) {\n return false;\n }\n if (!this._isEqual(this._parseCustomComponent(oldValues?.customComponent), this._parseCustomComponent(newValues?.customComponent))) {\n return false;\n }\n return true;\n\n }\n\n private _isEqual(previousValue: any, newValue: any): boolean {\n return deepEqual(previousValue ?? {}, newValue ?? {});\n }\n\n private _areNotificationsEqual(previousNotifications: IAddControlNotificationOptions[], newNotifications: IAddControlNotificationOptions[]): boolean {\n const previousNotificationIds = previousNotifications.map(x => x.uniqueId);\n const newNotificationIds = newNotifications.map(x => x.uniqueId);\n\n return this._isEqual(previousNotificationIds, newNotificationIds);\n }\n\n //ignore the components folder when calculating the diff\n private _parseFormatting(formatting?: ICustomColumnFormatting) {\n if (formatting?.themeOverride) {\n return {\n ...formatting,\n themeOverride: {\n ...formatting.themeOverride,\n components: {}\n }\n }\n }\n return formatting;\n }\n\n private _filterParameters(params: any) {\n if (!params) return {};\n const { Dataset, Record, Column, ...filteredParams } = params;\n let paramsToCompare: any = {};\n Object.entries(filteredParams).map(([key, parameter]: any) => {\n paramsToCompare[key] = { ...parameter };\n delete paramsToCompare[key].attributes;\n Object.entries(paramsToCompare[key]).map(([attributePropKey, value]) => {\n if (typeof value === 'function') {\n delete paramsToCompare[key][attributePropKey];\n }\n })\n\n })\n return paramsToCompare;\n }\n\n private _parseCustomComponent(component?: ICustomColumnComponent) {\n return component?.key ?? '';\n }\n\n}"],"names":[],"mappings":"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"}
|
|
@@ -11,10 +11,22 @@ export declare const getGridStyles: (theme: ITheme, height: string) => import("@
|
|
|
11
11
|
'--ag-borders': string;
|
|
12
12
|
'.ag-root-wrapper': {
|
|
13
13
|
maxHeight: string;
|
|
14
|
-
'--ag-input-focus-border-color': string;
|
|
15
14
|
'--ag-selected-row-background-color': string;
|
|
16
15
|
'--ag-range-selection-border-color': string;
|
|
16
|
+
'--ag-row-hover-color': string;
|
|
17
|
+
'--ag-row-border-color': string;
|
|
18
|
+
'--ag-cell-horizontal-padding': number;
|
|
19
|
+
'--ag-input-focus-border-color': string;
|
|
17
20
|
borderBottom: string;
|
|
21
|
+
'.ag-row::before': {
|
|
22
|
+
zIndex: number;
|
|
23
|
+
};
|
|
24
|
+
'.ag-row-hover::before': {
|
|
25
|
+
opacity: number;
|
|
26
|
+
};
|
|
27
|
+
'.ag-row-selected::before': {
|
|
28
|
+
opacity: number;
|
|
29
|
+
};
|
|
18
30
|
};
|
|
19
31
|
'.ag-root-wrapper.ag-layout-normal': {
|
|
20
32
|
height: string;
|
|
@@ -36,41 +48,25 @@ export declare const getGridStyles: (theme: ITheme, height: string) => import("@
|
|
|
36
48
|
paddingRight: number;
|
|
37
49
|
backgroundColor: string;
|
|
38
50
|
};
|
|
39
|
-
'.ag-cell
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
backgroundColor: string;
|
|
43
|
-
'*:not(.ms-ComboBox)>input': {
|
|
44
|
-
paddingLeft: number;
|
|
45
|
-
};
|
|
46
|
-
'.ms-ComboBox>input': {
|
|
47
|
-
paddingLeft: number;
|
|
48
|
-
};
|
|
49
|
-
'.talxis__lookupControl': {
|
|
50
|
-
'.ms-BasePicker-itemsWrapper': {
|
|
51
|
-
padding: number;
|
|
52
|
-
'.ms-CommandBar': {
|
|
53
|
-
height: string;
|
|
54
|
-
};
|
|
55
|
-
};
|
|
56
|
-
};
|
|
57
|
-
'.TALXIS__error-message__root': {
|
|
58
|
-
display: string;
|
|
59
|
-
};
|
|
51
|
+
'.ag-cell': {
|
|
52
|
+
border: string;
|
|
53
|
+
borderRadius: number;
|
|
60
54
|
};
|
|
61
|
-
'.
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
55
|
+
'.ag-cell-focus': {
|
|
56
|
+
zIndex: number;
|
|
57
|
+
'::after': {
|
|
58
|
+
content: string;
|
|
59
|
+
position: string;
|
|
60
|
+
inset: string;
|
|
61
|
+
border: string;
|
|
62
|
+
borderRadius: string;
|
|
63
|
+
pointerEvents: string;
|
|
70
64
|
};
|
|
71
65
|
};
|
|
72
66
|
'.ag-cell-focus:has([data-is-valid="false"])': {
|
|
73
|
-
|
|
67
|
+
'::after': {
|
|
68
|
+
borderColor: string;
|
|
69
|
+
};
|
|
74
70
|
};
|
|
75
71
|
};
|
|
76
72
|
}>;
|
|
@@ -19,16 +19,28 @@ const getGridStyles = (theme, height) => {
|
|
|
19
19
|
'--ag-borders': 'none !important',
|
|
20
20
|
'.ag-root-wrapper': {
|
|
21
21
|
maxHeight: '100%',
|
|
22
|
-
'--ag-
|
|
23
|
-
'--ag-selected-row-background-color': theme.palette.themeLighter,
|
|
22
|
+
'--ag-selected-row-background-color': theme.palette.themePrimary,
|
|
24
23
|
'--ag-range-selection-border-color': theme.palette.themePrimary,
|
|
25
|
-
|
|
24
|
+
'--ag-row-hover-color': theme.palette.black,
|
|
25
|
+
'--ag-row-border-color': theme.semanticColors.menuDivider,
|
|
26
|
+
'--ag-cell-horizontal-padding': 0,
|
|
27
|
+
'--ag-input-focus-border-color': theme.semanticColors.inputFocusBorderAlt,
|
|
28
|
+
borderBottom: `1px solid ${theme.semanticColors.menuDivider}`,
|
|
29
|
+
'.ag-row::before': {
|
|
30
|
+
zIndex: 1
|
|
31
|
+
},
|
|
32
|
+
'.ag-row-hover::before': {
|
|
33
|
+
opacity: 0.1
|
|
34
|
+
},
|
|
35
|
+
'.ag-row-selected::before': {
|
|
36
|
+
opacity: 0.2
|
|
37
|
+
}
|
|
26
38
|
},
|
|
27
39
|
'.ag-root-wrapper.ag-layout-normal': {
|
|
28
40
|
height: getGridHeight(height)
|
|
29
41
|
},
|
|
30
42
|
'.ag-body': {
|
|
31
|
-
borderTop: `1px solid ${theme.semanticColors.
|
|
43
|
+
borderTop: `1px solid ${theme.semanticColors.menuDivider}`
|
|
32
44
|
},
|
|
33
45
|
'.ag-header-viewport': {
|
|
34
46
|
backgroundColor: `${theme.semanticColors.bodyBackground}`
|
|
@@ -44,41 +56,25 @@ const getGridStyles = (theme, height) => {
|
|
|
44
56
|
paddingRight: 0,
|
|
45
57
|
backgroundColor: `${theme.semanticColors.bodyBackground} !important`
|
|
46
58
|
},
|
|
47
|
-
'.ag-cell
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
backgroundColor: 'transparent',
|
|
51
|
-
'*:not(.ms-ComboBox)>input': {
|
|
52
|
-
paddingLeft: 10
|
|
53
|
-
},
|
|
54
|
-
'.ms-ComboBox>input': {
|
|
55
|
-
paddingLeft: 2
|
|
56
|
-
},
|
|
57
|
-
'.talxis__lookupControl': {
|
|
58
|
-
'.ms-BasePicker-itemsWrapper': {
|
|
59
|
-
padding: 0,
|
|
60
|
-
'.ms-CommandBar': {
|
|
61
|
-
height: '100%'
|
|
62
|
-
}
|
|
63
|
-
},
|
|
64
|
-
},
|
|
65
|
-
'.TALXIS__error-message__root': {
|
|
66
|
-
display: 'none'
|
|
67
|
-
}
|
|
59
|
+
'.ag-cell': {
|
|
60
|
+
border: 'none !important',
|
|
61
|
+
borderRadius: 0
|
|
68
62
|
},
|
|
69
|
-
'.
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
63
|
+
'.ag-cell-focus': {
|
|
64
|
+
zIndex: 2,
|
|
65
|
+
'::after': {
|
|
66
|
+
content: "''",
|
|
67
|
+
position: 'absolute',
|
|
68
|
+
inset: '-1px',
|
|
69
|
+
border: `3px solid ${theme.semanticColors.inputFocusBorderAlt}`,
|
|
70
|
+
borderRadius: theme.effects.roundedCorner2,
|
|
71
|
+
pointerEvents: 'none'
|
|
78
72
|
}
|
|
79
73
|
},
|
|
80
74
|
'.ag-cell-focus:has([data-is-valid="false"])': {
|
|
81
|
-
|
|
75
|
+
'::after': {
|
|
76
|
+
borderColor: `${theme.semanticColors.errorIcon} !important`
|
|
77
|
+
}
|
|
82
78
|
},
|
|
83
79
|
}
|
|
84
80
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\";\n\nconst getGridHeight = (height: string) => {\n if(height === '100%') {\n return height;\n }\n return `calc(${height} + var(--height-offset))`;\n}\n\nexport const getGridStyles = (theme: ITheme, height: string) => {\n return mergeStyleSets({\n root: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n '--height-offset': '64px',\n ':has(.ag-body-horizontal-scroll-viewport[style*=\"height: 0px\"])': {\n '--height-offset': '45px'\n }
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/styles.ts"],"sourcesContent":["import { ITheme, mergeStyleSets } from \"@fluentui/react\";\n\nconst getGridHeight = (height: string) => {\n if (height === '100%') {\n return height;\n }\n return `calc(${height} + var(--height-offset))`;\n}\n\nexport const getGridStyles = (theme: ITheme, height: string) => {\n return mergeStyleSets({\n root: {\n height: '100%',\n display: 'flex',\n flexDirection: 'column',\n '--height-offset': '64px',\n ':has(.ag-body-horizontal-scroll-viewport[style*=\"height: 0px\"])': {\n '--height-offset': '45px'\n },\n '--ag-borders': 'none !important',\n '.ag-root-wrapper': {\n maxHeight: '100%',\n '--ag-selected-row-background-color': theme.palette.themePrimary,\n '--ag-range-selection-border-color': theme.palette.themePrimary,\n '--ag-row-hover-color': theme.palette.black,\n '--ag-row-border-color': theme.semanticColors.menuDivider,\n '--ag-cell-horizontal-padding': 0,\n '--ag-input-focus-border-color': theme.semanticColors.inputFocusBorderAlt,\n borderBottom: `1px solid ${theme.semanticColors.menuDivider}`,\n '.ag-row::before': {\n zIndex: 1\n },\n '.ag-row-hover::before': {\n opacity: 0.1\n },\n '.ag-row-selected::before': {\n opacity: 0.2\n }\n },\n '.ag-root-wrapper.ag-layout-normal': {\n height: getGridHeight(height)\n },\n '.ag-body': {\n borderTop: `1px solid ${theme.semanticColors.menuDivider}`\n },\n '.ag-header-viewport': {\n backgroundColor: `${theme.semanticColors.bodyBackground}`\n },\n '.ag-center-cols-container': {\n minWidth: '100%',\n },\n '.ag-layout-auto-height .ag-center-cols-clipper, .ag-layout-auto-height .ag-center-cols-container, .ag-layout-print .ag-center-cols-clipper, .ag-layout-print .ag-center-cols-container': {\n minHeight: '42px !important'\n },\n '.ag-header-cell': {\n paddingLeft: 0,\n paddingRight: 0,\n backgroundColor: `${theme.semanticColors.bodyBackground} !important`\n },\n '.ag-cell': {\n border: 'none !important',\n borderRadius: 0\n },\n '.ag-cell-focus': {\n zIndex: 2,\n '::after': {\n content: \"''\",\n position: 'absolute',\n inset: '-1px',\n border: `3px solid ${theme.semanticColors.inputFocusBorderAlt}`,\n borderRadius: theme.effects.roundedCorner2,\n pointerEvents: 'none'\n }\n },\n '.ag-cell-focus:has([data-is-valid=\"false\"])': {\n '::after': {\n borderColor: `${theme.semanticColors.errorIcon} !important`\n }\n },\n }\n })\n};"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { ICellRendererParams } from "@ag-grid-community/core";
|
|
3
|
+
import { IGridColumn } from "../../interfaces/IGridColumn";
|
|
4
|
+
import { IRecord } from "@talxis/client-libraries";
|
|
5
|
+
import { ICellValues } from "../AgGrid/model/AgGrid";
|
|
6
|
+
export interface ICellProps extends ICellRendererParams {
|
|
7
|
+
baseColumn: IGridColumn;
|
|
8
|
+
isCellEditor: boolean;
|
|
9
|
+
data: IRecord;
|
|
10
|
+
value: ICellValues;
|
|
11
|
+
}
|
|
12
|
+
export declare const Cell: (props: ICellProps) => JSX.Element;
|
|
13
|
+
export declare const InternalCell: (props: ICellProps) => JSX.Element;
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import { Constants } from '@talxis/client-libraries';
|
|
3
|
+
import { ThemeProvider, Checkbox, useTheme, Shimmer } from '@fluentui/react';
|
|
4
|
+
import { useMemo, useContext } from 'react';
|
|
5
|
+
import { getCellStyles, getInnerCellStyles } from './styles.js';
|
|
6
|
+
import { CHECKBOX_COLUMN_KEY } from '../../../constants.js';
|
|
7
|
+
import { useGridInstance } from '../../hooks/useGridInstance.js';
|
|
8
|
+
import { Notifications } from './Notifications/Notifications.js';
|
|
9
|
+
import { Commands } from './Commands/Commands.js';
|
|
10
|
+
import { CellContent } from './CellContent/CellContent.js';
|
|
11
|
+
import { AgGridContext } from '../AgGrid/context.js';
|
|
12
|
+
import { useThemeGenerator, getClassNames } from '@talxis/react-components';
|
|
13
|
+
import { useControlTheme } from '../../../../../utils/theme/hooks/useControlTheme.js';
|
|
14
|
+
|
|
15
|
+
const Cell = (props) => {
|
|
16
|
+
const record = props.data;
|
|
17
|
+
const styles = useMemo(() => getCellStyles(), []);
|
|
18
|
+
const cellFormatting = props.value.customFormatting;
|
|
19
|
+
const cellTheme = useThemeGenerator(cellFormatting.primaryColor, cellFormatting.backgroundColor, cellFormatting.textColor, cellFormatting.themeOverride);
|
|
20
|
+
const grid = useGridInstance();
|
|
21
|
+
const agGridContext = useContext(AgGridContext);
|
|
22
|
+
const renderContent = () => {
|
|
23
|
+
switch (props.baseColumn.name) {
|
|
24
|
+
case CHECKBOX_COLUMN_KEY: {
|
|
25
|
+
return (jsx(Checkbox, { checked: props.node.isSelected(), styles: {
|
|
26
|
+
checkbox: styles.checkbox
|
|
27
|
+
}, onChange: (e, checked) => {
|
|
28
|
+
const selectedRecordIds = grid.dataset.getSelectedRecordIds();
|
|
29
|
+
//if the record is the only selected, toggle the selection
|
|
30
|
+
//this is because ag grid does not trigger the native selection event in this case
|
|
31
|
+
if (selectedRecordIds.length === 1 && selectedRecordIds[0] === record.getRecordId()) {
|
|
32
|
+
grid.selection.toggle(record.getRecordId());
|
|
33
|
+
agGridContext.refreshRowSelection();
|
|
34
|
+
}
|
|
35
|
+
} }));
|
|
36
|
+
}
|
|
37
|
+
default: {
|
|
38
|
+
return jsx(InternalCell, { ...props });
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
return jsx(ThemeProvider, { theme: cellTheme, className: getClassNames([styles.cellRoot, cellFormatting.className]), children: renderContent() });
|
|
43
|
+
};
|
|
44
|
+
const InternalCell = (props) => {
|
|
45
|
+
const column = props.baseColumn;
|
|
46
|
+
const record = props.data;
|
|
47
|
+
const formatting = props.value.customFormatting;
|
|
48
|
+
const grid = useGridInstance();
|
|
49
|
+
const error = props.value.error;
|
|
50
|
+
const notifications = props.value.notifications;
|
|
51
|
+
const isLoading = props.value.loading;
|
|
52
|
+
const errorMessage = props.value.errorMessage;
|
|
53
|
+
const theme = useTheme();
|
|
54
|
+
const applicationTheme = useControlTheme(grid.pcfContext.fluentDesignLanguage);
|
|
55
|
+
const shouldShowNotEditableNotification = () => {
|
|
56
|
+
if (column.isEditable && !record.getColumnInfo(column.name).security.editable) {
|
|
57
|
+
return true;
|
|
58
|
+
}
|
|
59
|
+
return false;
|
|
60
|
+
};
|
|
61
|
+
const getShouldRenderNotifications = () => {
|
|
62
|
+
if (props.isCellEditor) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
if (error === true) {
|
|
66
|
+
return true;
|
|
67
|
+
}
|
|
68
|
+
if (shouldShowNotEditableNotification()) {
|
|
69
|
+
return true;
|
|
70
|
+
}
|
|
71
|
+
if (notifications && notifications.length > 0) {
|
|
72
|
+
return true;
|
|
73
|
+
}
|
|
74
|
+
return false;
|
|
75
|
+
};
|
|
76
|
+
const renderContent = () => {
|
|
77
|
+
if (isLoading) {
|
|
78
|
+
return (jsx(Shimmer, { styles: {
|
|
79
|
+
shimmerWrapper: styles.shimmerWrapper,
|
|
80
|
+
root: styles.shimmerRoot
|
|
81
|
+
} }));
|
|
82
|
+
}
|
|
83
|
+
switch (column.name) {
|
|
84
|
+
case Constants.RIBBON_BUTTONS_COLUMN_NAME: {
|
|
85
|
+
return (jsx(Commands, { record: record }));
|
|
86
|
+
}
|
|
87
|
+
default: {
|
|
88
|
+
return (jsxs(Fragment, { children: [column.type !== 'action' &&
|
|
89
|
+
jsx(CellContent, { ...props }), shouldRenderNotifications &&
|
|
90
|
+
renderNotifications()] }));
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
};
|
|
94
|
+
const getFarNotifications = () => {
|
|
95
|
+
const result = [];
|
|
96
|
+
const tooltipProps = {
|
|
97
|
+
tooltipProps: {
|
|
98
|
+
theme: applicationTheme
|
|
99
|
+
},
|
|
100
|
+
calloutProps: {
|
|
101
|
+
theme: applicationTheme,
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
if (shouldShowNotEditableNotification()) {
|
|
105
|
+
result.push({
|
|
106
|
+
key: 'noteditable',
|
|
107
|
+
text: grid.labels['value-not-editable'](),
|
|
108
|
+
iconOnly: true,
|
|
109
|
+
disabled: true,
|
|
110
|
+
tooltipHostProps: tooltipProps,
|
|
111
|
+
iconProps: {
|
|
112
|
+
iconName: 'Uneditable',
|
|
113
|
+
styles: {
|
|
114
|
+
root: styles.uneditableIconRoot
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
if (error) {
|
|
120
|
+
result.push({
|
|
121
|
+
key: 'error',
|
|
122
|
+
iconOnly: true,
|
|
123
|
+
disabled: true,
|
|
124
|
+
text: errorMessage,
|
|
125
|
+
tooltipHostProps: tooltipProps,
|
|
126
|
+
iconProps: {
|
|
127
|
+
iconName: 'Error',
|
|
128
|
+
styles: {
|
|
129
|
+
root: styles.errorIconRoot
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
return result;
|
|
135
|
+
};
|
|
136
|
+
const renderNotifications = () => {
|
|
137
|
+
return jsx(Notifications, { formatting: formatting, isActionColumn: column.type === 'action', columnAlignment: props.value.columnAlignment, notifications: notifications, farItems: getFarNotifications() });
|
|
138
|
+
};
|
|
139
|
+
const shouldRenderNotifications = getShouldRenderNotifications();
|
|
140
|
+
const styles = useMemo(() => getInnerCellStyles(props.isCellEditor, theme, props.value.columnAlignment), [props.isCellEditor, theme, props.value.columnAlignment]);
|
|
141
|
+
return jsx("div", { className: styles.innerCellRoot, "data-is-valid": !error, children: renderContent() });
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
export { Cell, InternalCell };
|
|
145
|
+
//# sourceMappingURL=Cell.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Cell.js","sources":["../../../../../../src/components/Grid/core/components/Cell/Cell.tsx"],"sourcesContent":["import { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { IGridColumn } from \"../../interfaces/IGridColumn\";\nimport { Constants, IRecord } from \"@talxis/client-libraries\";\nimport { Checkbox, ITooltipHostProps, Shimmer, ThemeProvider, useTheme } from \"@fluentui/react\";\nimport { useContext, useMemo } from \"react\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../constants\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport React from \"react\";\nimport { Notifications } from \"./Notifications/Notifications\";\nimport { Commands } from \"./Commands/Commands\";\nimport { CellContent } from \"./CellContent/CellContent\";\nimport { AgGridContext } from \"../AgGrid/context\";\nimport { ICellValues } from \"../AgGrid/model/AgGrid\";\nimport { getClassNames, ICommandBarItemProps, useThemeGenerator } from \"@talxis/react-components\";\nimport { useControlTheme } from \"../../../../../utils\";\n\nexport interface ICellProps extends ICellRendererParams {\n baseColumn: IGridColumn;\n isCellEditor: boolean;\n data: IRecord;\n value: ICellValues;\n}\nexport const Cell = (props: ICellProps) => {\n const record = props.data;\n const styles = useMemo(() => getCellStyles(), [])\n const cellFormatting = props.value.customFormatting;\n const cellTheme = useThemeGenerator(cellFormatting.primaryColor, cellFormatting.backgroundColor, cellFormatting.textColor, cellFormatting.themeOverride);\n const grid = useGridInstance();\n const agGridContext = useContext(AgGridContext);\n\n const renderContent = () => {\n switch (props.baseColumn.name) {\n case CHECKBOX_COLUMN_KEY: {\n return (\n <Checkbox\n checked={props.node.isSelected()}\n styles={{\n checkbox: styles.checkbox\n }}\n onChange={(e, checked) => {\n const selectedRecordIds = grid.dataset.getSelectedRecordIds();\n //if the record is the only selected, toggle the selection\n //this is because ag grid does not trigger the native selection event in this case\n if(selectedRecordIds.length === 1 && selectedRecordIds[0] === record.getRecordId()) {\n grid.selection.toggle(record.getRecordId());\n agGridContext.refreshRowSelection();\n }\n }} />\n );\n }\n default: {\n return <InternalCell {...props} />\n }\n }\n }\n\n return <ThemeProvider theme={cellTheme} className={getClassNames([styles.cellRoot, cellFormatting.className])}>\n {renderContent()}\n </ThemeProvider>\n}\n\n\nexport const InternalCell = (props: ICellProps) => {\n const column = props.baseColumn;\n const record = props.data;\n const formatting = props.value.customFormatting;\n const grid = useGridInstance();\n const error = props.value.error;\n const notifications = props.value.notifications;\n const isLoading = props.value.loading;\n const errorMessage = props.value.errorMessage;\n const theme = useTheme();\n const applicationTheme = useControlTheme(grid.pcfContext.fluentDesignLanguage);\n\n const shouldShowNotEditableNotification = () => {\n if (column.isEditable && !record.getColumnInfo(column.name).security.editable) {\n return true;\n }\n return false;\n }\n\n const getShouldRenderNotifications = (): boolean => {\n if (props.isCellEditor) {\n return false;\n }\n if (error === true) {\n return true;\n }\n if (shouldShowNotEditableNotification()) {\n return true;\n }\n if (notifications && notifications.length > 0) {\n return true;\n }\n return false;\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return (\n <Shimmer styles={{\n shimmerWrapper: styles.shimmerWrapper,\n root: styles.shimmerRoot\n }} />\n );\n }\n switch (column.name) {\n case Constants.RIBBON_BUTTONS_COLUMN_NAME: {\n return (\n <Commands record={record} />\n )\n }\n default: {\n return (\n <>\n {column.type !== 'action' &&\n <CellContent {...props} />\n }\n {shouldRenderNotifications &&\n renderNotifications()\n }\n </>\n )\n }\n\n }\n }\n\n const getFarNotifications = (): ICommandBarItemProps[] => {\n const result: ICommandBarItemProps[] = [];\n const tooltipProps: ITooltipHostProps = {\n tooltipProps: {\n theme: applicationTheme\n },\n calloutProps: {\n theme: applicationTheme,\n }\n }\n if (shouldShowNotEditableNotification()) {\n result.push({\n key: 'noteditable',\n text: grid.labels['value-not-editable'](),\n iconOnly: true,\n disabled: true,\n tooltipHostProps: tooltipProps,\n iconProps: {\n iconName: 'Uneditable',\n styles: {\n root: styles.uneditableIconRoot\n }\n }\n })\n }\n if (error) {\n result.push({\n key: 'error',\n iconOnly: true,\n disabled: true,\n text: errorMessage,\n tooltipHostProps: tooltipProps,\n iconProps: {\n iconName: 'Error',\n styles: {\n root: styles.errorIconRoot\n }\n }\n })\n }\n return result;\n }\n\n const renderNotifications = (): JSX.Element => {\n return <Notifications\n formatting={formatting}\n isActionColumn={column.type === 'action'}\n columnAlignment={props.value.columnAlignment}\n notifications={notifications}\n farItems={getFarNotifications()} />\n }\n\n const shouldRenderNotifications = getShouldRenderNotifications();\n const styles = useMemo(() => getInnerCellStyles(props.isCellEditor, theme, props.value.columnAlignment), [props.isCellEditor, theme, props.value.columnAlignment]);\n\n\n return <div className={styles.innerCellRoot} data-is-valid={!error}>\n {renderContent()}\n </div>\n}"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
|