@talxis/base-controls 1.2601.4 → 1.2601.6

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.
Files changed (87) hide show
  1. package/dist/components/DatasetControl/DatasetControl.d.ts +1 -2
  2. package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.d.ts +5 -0
  3. package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js +70 -0
  4. package/dist/components/DatasetControl/EditColumns/ColumnSelector/ColumnSelector.js.map +1 -0
  5. package/dist/components/DatasetControl/EditColumns/ColumnSelector/styles.d.ts +7 -0
  6. package/dist/components/DatasetControl/EditColumns/ColumnSelector/styles.js +14 -0
  7. package/dist/components/DatasetControl/EditColumns/ColumnSelector/styles.js.map +1 -0
  8. package/dist/components/DatasetControl/EditColumns/EditColumns.d.ts +5 -0
  9. package/dist/components/DatasetControl/EditColumns/EditColumns.js +66 -0
  10. package/dist/components/DatasetControl/EditColumns/EditColumns.js.map +1 -0
  11. package/dist/components/DatasetControl/EditColumns/ScopeSelector/ScopeSelector.d.ts +1 -0
  12. package/dist/components/DatasetControl/EditColumns/ScopeSelector/ScopeSelector.js +35 -0
  13. package/dist/components/DatasetControl/EditColumns/ScopeSelector/ScopeSelector.js.map +1 -0
  14. package/dist/components/DatasetControl/EditColumns/Selector/Selector.d.ts +9 -0
  15. package/dist/components/DatasetControl/EditColumns/Selector/Selector.js +58 -0
  16. package/dist/components/DatasetControl/EditColumns/Selector/Selector.js.map +1 -0
  17. package/dist/components/DatasetControl/EditColumns/SortableItem/SortableItem.d.ts +4 -0
  18. package/dist/components/DatasetControl/EditColumns/SortableItem/SortableItem.js +32 -0
  19. package/dist/components/DatasetControl/EditColumns/SortableItem/SortableItem.js.map +1 -0
  20. package/dist/components/DatasetControl/EditColumns/SortableItem/styles.d.ts +26 -0
  21. package/dist/components/DatasetControl/EditColumns/SortableItem/styles.js +32 -0
  22. package/dist/components/DatasetControl/EditColumns/SortableItem/styles.js.map +1 -0
  23. package/dist/components/DatasetControl/EditColumns/styles.d.ts +50 -0
  24. package/dist/components/DatasetControl/EditColumns/styles.js +56 -0
  25. package/dist/components/DatasetControl/EditColumns/styles.js.map +1 -0
  26. package/dist/components/DatasetControl/EditColumns/useEditColumns.d.ts +4 -0
  27. package/dist/components/DatasetControl/EditColumns/useEditColumns.js +9 -0
  28. package/dist/components/DatasetControl/EditColumns/useEditColumns.js.map +1 -0
  29. package/dist/components/DatasetControl/Filtering/DatasetColumnFiltering.js +1 -1
  30. package/dist/components/DatasetControl/Header/Header.js +83 -45
  31. package/dist/components/DatasetControl/Header/Header.js.map +1 -1
  32. package/dist/components/DatasetControl/interfaces.d.ts +5 -1
  33. package/dist/components/DatasetControl/translations.d.ts +32 -0
  34. package/dist/components/DatasetControl/translations.js +8 -0
  35. package/dist/components/DatasetControl/translations.js.map +1 -1
  36. package/dist/components/DateTime/DateTime.d.ts +1 -2
  37. package/dist/components/DateTime/components/Calendar.d.ts +1 -2
  38. package/dist/components/Decimal/Decimal.d.ts +1 -2
  39. package/dist/components/Duration/Duration.d.ts +1 -2
  40. package/dist/components/Grid/cells/cell/Cell.d.ts +2 -3
  41. package/dist/components/Grid/cells/cell/content/CellContent.d.ts +1 -2
  42. package/dist/components/Grid/cells/cell/notifications/Notifications.d.ts +1 -2
  43. package/dist/components/Grid/cells/selection-cell/SelectionCell.d.ts +1 -2
  44. package/dist/components/Grid/cells/selection-cell/SelectionCell.js.map +1 -1
  45. package/dist/components/Grid/cells/selection-cell/record-save-error-callout/RecordSaveErrorCallout.d.ts +1 -2
  46. package/dist/components/Grid/column-headers/column-header/ColumnHeader.d.ts +1 -2
  47. package/dist/components/Grid/column-headers/column-header/ColumnHeaderContextualMenu.d.ts +1 -1
  48. package/dist/components/Grid/column-headers/column-header/FilterCallout.d.ts +1 -2
  49. package/dist/components/Grid/column-headers/record-selection-checkbox/RecordSelectionCheckbox.d.ts +1 -2
  50. package/dist/components/Grid/errors/FullWidthCellRendererError/FullWidthCellRendererError.d.ts +1 -2
  51. package/dist/components/Grid/grid/Grid.d.ts +1 -2
  52. package/dist/components/Grid/loading/full-row/FullRowLoading.d.ts +1 -2
  53. package/dist/components/Grid/overlays/empty-records/EmptyRecordsOverlay.d.ts +1 -2
  54. package/dist/components/Grid/overlays/loading/LoadingOverlay.d.ts +1 -2
  55. package/dist/components/GridCellRenderer/GridCellRenderer.d.ts +1 -2
  56. package/dist/components/GridCellRenderer/ValueRenderer/ValueRenderer.d.ts +1 -2
  57. package/dist/components/GridCellRenderer/ValueRenderer/styles.d.ts +174 -110
  58. package/dist/components/GridCellRenderer/ValueRenderer/styles.js +1 -0
  59. package/dist/components/GridCellRenderer/ValueRenderer/styles.js.map +1 -1
  60. package/dist/components/Lookup/Lookup.d.ts +1 -2
  61. package/dist/components/Lookup/components/RecordCreator.d.ts +1 -2
  62. package/dist/components/Lookup/components/TargetSelector.d.ts +1 -2
  63. package/dist/components/MultiSelectOptionSet/ColofulOptions/ColorfulOptions.d.ts +1 -2
  64. package/dist/components/MultiSelectOptionSet/MultiSelectOptionSet.d.ts +1 -2
  65. package/dist/components/NestedControlRenderer/NestedControlRenderer.d.ts +1 -2
  66. package/dist/components/OptionSet/OptionSet.d.ts +1 -2
  67. package/dist/components/OptionSet/shared.d.ts +1 -2
  68. package/dist/components/Ribbon/styles.d.ts +1 -0
  69. package/dist/components/Ribbon/styles.js +1 -0
  70. package/dist/components/Ribbon/styles.js.map +1 -1
  71. package/dist/components/TextField/TextField.d.ts +1 -2
  72. package/dist/components/TwoOptions/TwoOptions.d.ts +1 -2
  73. package/dist/hooks/useShouldRemount.d.ts +1 -0
  74. package/dist/hooks/useShouldRemount.js +14 -0
  75. package/dist/hooks/useShouldRemount.js.map +1 -0
  76. package/dist/index.d.ts +80 -15
  77. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.d.ts +1 -0
  78. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js +3 -0
  79. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  80. package/dist/utils/dataset-control/DatasetControl.d.ts +17 -2
  81. package/dist/utils/dataset-control/DatasetControl.js +19 -0
  82. package/dist/utils/dataset-control/DatasetControl.js.map +1 -1
  83. package/dist/utils/dataset-control/EditColumns.d.ts +48 -0
  84. package/dist/utils/dataset-control/EditColumns.js +140 -0
  85. package/dist/utils/dataset-control/EditColumns.js.map +1 -0
  86. package/dist/utils/theme/components/ThemeWrapper.d.ts +1 -1
  87. package/package.json +9 -4
@@ -1,21 +1,25 @@
1
- import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
2
- import { MessageBarType, MessageBar } from '@fluentui/react';
1
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
2
+ import { CommandBarButton, MessageBarType, MessageBar } from '@fluentui/react';
3
3
  import { useModel } from '../useModel.js';
4
- import { useMemo } from 'react';
4
+ import { useMemo, useState } from 'react';
5
5
  import { getHeaderStyles } from './styles.js';
6
6
  import { useRerender } from '@talxis/react-components';
7
7
  import { QuickFind } from '../QuickFind/QuickFind.js';
8
8
  import { Ribbon } from '../../Ribbon/Ribbon.js';
9
9
  import { useEventEmitter } from '../../../hooks/useEventEmitter.js';
10
+ import { EditColumns } from '../EditColumns/EditColumns.js';
10
11
 
11
12
  const Header = (props) => {
12
13
  const model = useModel();
14
+ const labels = model.getLabels();
13
15
  const datasetControl = model.getDatasetControl();
14
16
  const dataset = datasetControl.getDataset();
15
17
  const rerender = useRerender();
16
18
  const styles = useMemo(() => getHeaderStyles(), []);
19
+ const [isEditColumnsPanelVisible, setIsEditColumnsPanelVisible] = useState(false);
17
20
  useEventEmitter(dataset, 'onLoading', rerender);
18
21
  useEventEmitter(datasetControl, 'onRecordCommandsLoaded', rerender);
22
+ useEventEmitter(datasetControl, 'onEditColumnsRequested', () => setIsEditColumnsPanelVisible(true));
19
23
  const isHeaderVisible = () => {
20
24
  switch (true) {
21
25
  case datasetControl.isQuickFindVisible():
@@ -29,6 +33,22 @@ const Header = (props) => {
29
33
  }
30
34
  }
31
35
  };
36
+ //will not be needed once we have a custom edit columns button in the ribbon
37
+ const getRightSideCommands = (isEditColumnsVisible, isEditFiltersVisible) => {
38
+ return [
39
+ ...(isEditColumnsVisible ? [{
40
+ key: 'column',
41
+ text: labels['edit-columns'](),
42
+ iconProps: { iconName: 'ColumnOptions' },
43
+ onClick: () => setIsEditColumnsPanelVisible(true)
44
+ }] : []),
45
+ ...(isEditFiltersVisible ? [{
46
+ key: 'filter',
47
+ text: labels['edit-filters'](),
48
+ iconProps: { iconName: 'Filter' }
49
+ }] : [])
50
+ ];
51
+ };
32
52
  return props.onRenderHeader({
33
53
  headerContainerProps: {
34
54
  className: styles.header
@@ -37,48 +57,66 @@ const Header = (props) => {
37
57
  onRenderRibbonQuickFindWrapper: (props, defaultRender) => defaultRender(props),
38
58
  onRenderUnsavedChangesMessageBar: (props, defaultRender) => defaultRender(props)
39
59
  }, (props) => {
40
- if (!isHeaderVisible()) {
41
- return jsx(Fragment, {});
42
- }
43
- return jsxs("div", { ...props.headerContainerProps, children: [props.onRenderRibbonQuickFindWrapper({
44
- ribbonQuickFindContainerProps: {
45
- className: styles.ribbonQuickFindContainer
46
- },
47
- isRibbonVisible: datasetControl.isRibbonVisible(),
48
- isQuickFindVisible: datasetControl.isQuickFindVisible(),
49
- onRenderQuickFind: (props, defaultRender) => defaultRender(props),
50
- onRenderRibbon: (props, defaultRender) => defaultRender(props)
51
- }, (props) => {
52
- return jsxs("div", { ...props.ribbonQuickFindContainerProps, children: [props.isRibbonVisible &&
53
- jsx(Ribbon, { context: {
54
- ...datasetControl.getPcfContext(),
55
- mode: {
56
- ...datasetControl.getPcfContext().mode,
57
- isControlDisabled: dataset.loading
58
- }
59
- }, onOverrideComponentProps: (ribbonProps) => {
60
- return {
61
- ...ribbonProps,
62
- onRender: props.onRenderRibbon
63
- };
64
- }, parameters: {
65
- Commands: {
66
- raw: datasetControl.retrieveRecordCommands(),
67
- },
68
- Loading: {
69
- raw: !datasetControl.areCommandsLoaded()
70
- }
71
- } }), props.isQuickFindVisible &&
72
- jsx(QuickFind, { onRenderQuickFind: props.onRenderQuickFind })] });
73
- }), dataset.error &&
74
- props.onRenderErrorMessageBar({
75
- messageBarProps: {
76
- messageBarType: MessageBarType.error
77
- },
78
- onRenderMessageBar: (props, defaultRender) => defaultRender(props)
79
- }, (props) => {
80
- return jsx(MessageBar, { ...props.messageBarProps, children: dataset.errorMessage });
81
- })] });
60
+ return jsxs(Fragment, { children: [isHeaderVisible() &&
61
+ jsxs("div", { ...props.headerContainerProps, children: [props.onRenderRibbonQuickFindWrapper({
62
+ ribbonQuickFindContainerProps: {
63
+ className: styles.ribbonQuickFindContainer
64
+ },
65
+ isRibbonVisible: datasetControl.isRibbonVisible(),
66
+ isQuickFindVisible: datasetControl.isQuickFindVisible(),
67
+ isEditColumnsVisible: datasetControl.isEditColumnsVisible(),
68
+ isViewSwitcherVisible: datasetControl.isViewSwitcherVisible(),
69
+ isEditFiltersVisible: datasetControl.isEditFiltersVisible(),
70
+ onRenderQuickFind: (props, defaultRender) => defaultRender(props),
71
+ onRenderRibbon: (props, defaultRender) => defaultRender(props)
72
+ }, (props) => {
73
+ return jsxs("div", { ...props.ribbonQuickFindContainerProps, children: [props.isViewSwitcherVisible &&
74
+ jsx(CommandBarButton, { text: "Current View" }), props.isRibbonVisible &&
75
+ jsx(Ribbon, { context: {
76
+ ...datasetControl.getPcfContext(),
77
+ mode: {
78
+ ...datasetControl.getPcfContext().mode,
79
+ isControlDisabled: dataset.loading
80
+ }
81
+ }, onOverrideComponentProps: (ribbonProps) => {
82
+ return {
83
+ ...ribbonProps,
84
+ onRender: (ribbonProps, defaultRender) => props.onRenderRibbon({
85
+ ...ribbonProps,
86
+ onRenderCommandBar: (commandBarProps, defaultRender) => {
87
+ return defaultRender({
88
+ ...commandBarProps,
89
+ styles: {
90
+ ...commandBarProps.styles,
91
+ primarySet: {
92
+ justifyContent: props.isViewSwitcherVisible ? 'flex-end' : 'flex-start'
93
+ }
94
+ },
95
+ items: [...commandBarProps.items, ...(props.isViewSwitcherVisible ? getRightSideCommands(props.isEditColumnsVisible, props.isEditFiltersVisible) : [])],
96
+ farItems: !props.isViewSwitcherVisible ? getRightSideCommands(props.isEditColumnsVisible, props.isEditFiltersVisible) : []
97
+ });
98
+ }
99
+ }, defaultRender)
100
+ };
101
+ }, parameters: {
102
+ Commands: {
103
+ raw: datasetControl.retrieveRecordCommands(),
104
+ },
105
+ Loading: {
106
+ raw: !datasetControl.areCommandsLoaded()
107
+ }
108
+ } }), props.isQuickFindVisible &&
109
+ jsx(QuickFind, { onRenderQuickFind: props.onRenderQuickFind })] });
110
+ }), dataset.error &&
111
+ props.onRenderErrorMessageBar({
112
+ messageBarProps: {
113
+ messageBarType: MessageBarType.error
114
+ },
115
+ onRenderMessageBar: (props, defaultRender) => defaultRender(props)
116
+ }, (props) => {
117
+ return jsx(MessageBar, { ...props.messageBarProps, children: dataset.errorMessage });
118
+ })] }), isEditColumnsPanelVisible &&
119
+ jsx("div", { style: { position: 'absolute' }, children: jsx(EditColumns, { onDismiss: () => setIsEditColumnsPanelVisible(false) }) })] });
82
120
  });
83
121
  };
84
122
 
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sources":["../../../../src/components/DatasetControl/Header/Header.tsx"],"sourcesContent":["import { MessageBar, MessageBarType } from \"@fluentui/react\";\nimport { IComponentProps } from \"../interfaces\";\nimport { useModel } from \"../useModel\";\nimport { useMemo } from \"react\";\nimport { getHeaderStyles } from \"./styles\";\nimport { useRerender } from \"@talxis/react-components\";\nimport { QuickFind } from \"../QuickFind/QuickFind\";\nimport { Ribbon } from \"../../Ribbon/Ribbon\";\nimport { useEventEmitter } from \"../../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\nimport { IDatasetControlEvents } from \"../../../utils/dataset-control\";\n\nexport const Header = (props: { onRenderHeader: IComponentProps['onRenderHeader'] }) => {\n const model = useModel();\n const datasetControl = model.getDatasetControl();\n const dataset = datasetControl.getDataset();\n const rerender = useRerender();\n const styles = useMemo(() => getHeaderStyles(), []);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onLoading', rerender);\n useEventEmitter<IDatasetControlEvents>(datasetControl, 'onRecordCommandsLoaded', rerender);\n\n const isHeaderVisible = () => {\n switch (true) {\n case datasetControl.isQuickFindVisible():\n case dataset.error:\n case datasetControl.isRibbonVisible():\n {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n return props.onRenderHeader({\n headerContainerProps: {\n className: styles.header\n },\n onRenderErrorMessageBar: (props, defaultRender) => defaultRender(props),\n onRenderRibbonQuickFindWrapper: (props, defaultRender) => defaultRender(props),\n onRenderUnsavedChangesMessageBar: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n if (!isHeaderVisible()) {\n return <></>\n }\n return <div {...props.headerContainerProps}>\n {props.onRenderRibbonQuickFindWrapper({\n ribbonQuickFindContainerProps: {\n className: styles.ribbonQuickFindContainer\n },\n isRibbonVisible: datasetControl.isRibbonVisible(),\n isQuickFindVisible: datasetControl.isQuickFindVisible(),\n onRenderQuickFind: (props, defaultRender) => defaultRender(props),\n onRenderRibbon: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <div {...props.ribbonQuickFindContainerProps}>\n {props.isRibbonVisible &&\n <Ribbon\n context={{\n ...datasetControl.getPcfContext(),\n mode: {\n ...datasetControl.getPcfContext().mode,\n isControlDisabled: dataset.loading\n }\n }}\n onOverrideComponentProps={(ribbonProps) => {\n return {\n ...ribbonProps,\n onRender: props.onRenderRibbon\n }\n }}\n parameters={{\n Commands: {\n raw: datasetControl.retrieveRecordCommands(),\n },\n Loading: {\n raw: !datasetControl.areCommandsLoaded()\n }\n }}\n />\n }\n {props.isQuickFindVisible &&\n <QuickFind\n onRenderQuickFind={props.onRenderQuickFind} />\n }\n </div>\n })}\n {dataset.error &&\n props.onRenderErrorMessageBar({\n messageBarProps: {\n messageBarType: MessageBarType.error\n },\n onRenderMessageBar: (props, defaultRender) => defaultRender(props)\n\n }, (props) => {\n return <MessageBar {...props.messageBarProps}>\n {dataset.errorMessage}\n </MessageBar>\n })\n }\n </div>\n })\n}"],"names":["_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sources":["../../../../src/components/DatasetControl/Header/Header.tsx"],"sourcesContent":["import { CommandBarButton, MessageBar, MessageBarType } from \"@fluentui/react\";\nimport { IComponentProps } from \"../interfaces\";\nimport { useModel } from \"../useModel\";\nimport { useMemo, useState } from \"react\";\nimport { getHeaderStyles } from \"./styles\";\nimport { ICommandBarItemProps, useRerender } from \"@talxis/react-components\";\nimport { QuickFind } from \"../QuickFind/QuickFind\";\nimport { Ribbon } from \"../../Ribbon/Ribbon\";\nimport { useEventEmitter } from \"../../../hooks/useEventEmitter\";\nimport { IDataProviderEventListeners } from \"@talxis/client-libraries\";\nimport { IDatasetControlEvents } from \"../../../utils/dataset-control\";\nimport { EditColumns } from \"../EditColumns/EditColumns\";\n\nexport const Header = (props: { onRenderHeader: IComponentProps['onRenderHeader'] }) => {\n const model = useModel();\n const labels = model.getLabels();\n const datasetControl = model.getDatasetControl();\n const dataset = datasetControl.getDataset();\n const rerender = useRerender();\n const styles = useMemo(() => getHeaderStyles(), []);\n const [isEditColumnsPanelVisible, setIsEditColumnsPanelVisible] = useState<boolean>(false);\n useEventEmitter<IDataProviderEventListeners>(dataset, 'onLoading', rerender);\n useEventEmitter<IDatasetControlEvents>(datasetControl, 'onRecordCommandsLoaded', rerender);\n useEventEmitter<IDatasetControlEvents>(datasetControl, 'onEditColumnsRequested', () => setIsEditColumnsPanelVisible(true));\n\n const isHeaderVisible = () => {\n switch (true) {\n case datasetControl.isQuickFindVisible():\n case dataset.error:\n case datasetControl.isRibbonVisible():\n {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n //will not be needed once we have a custom edit columns button in the ribbon\n const getRightSideCommands = (isEditColumnsVisible: boolean, isEditFiltersVisible: boolean): ICommandBarItemProps[] => {\n return [\n ...(isEditColumnsVisible ? [{\n key: 'column',\n text: labels['edit-columns'](),\n iconProps: { iconName: 'ColumnOptions' },\n onClick: () => setIsEditColumnsPanelVisible(true)\n }] : []),\n ...(isEditFiltersVisible ? [{\n key: 'filter',\n text: labels['edit-filters'](),\n iconProps: { iconName: 'Filter' }\n }] : [])];\n }\n\n return props.onRenderHeader({\n headerContainerProps: {\n className: styles.header\n },\n onRenderErrorMessageBar: (props, defaultRender) => defaultRender(props),\n onRenderRibbonQuickFindWrapper: (props, defaultRender) => defaultRender(props),\n onRenderUnsavedChangesMessageBar: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <>\n {isHeaderVisible() &&\n <div {...props.headerContainerProps}>\n {props.onRenderRibbonQuickFindWrapper({\n ribbonQuickFindContainerProps: {\n className: styles.ribbonQuickFindContainer\n },\n isRibbonVisible: datasetControl.isRibbonVisible(),\n isQuickFindVisible: datasetControl.isQuickFindVisible(),\n isEditColumnsVisible: datasetControl.isEditColumnsVisible(),\n isViewSwitcherVisible: datasetControl.isViewSwitcherVisible(),\n isEditFiltersVisible: datasetControl.isEditFiltersVisible(),\n onRenderQuickFind: (props, defaultRender) => defaultRender(props),\n onRenderRibbon: (props, defaultRender) => defaultRender(props)\n }, (props) => {\n return <div {...props.ribbonQuickFindContainerProps}>\n {props.isViewSwitcherVisible &&\n <CommandBarButton text=\"Current View\" />\n }\n {props.isRibbonVisible &&\n <Ribbon\n context={{\n ...datasetControl.getPcfContext(),\n mode: {\n ...datasetControl.getPcfContext().mode,\n isControlDisabled: dataset.loading\n }\n }}\n onOverrideComponentProps={(ribbonProps) => {\n return {\n ...ribbonProps,\n onRender: (ribbonProps, defaultRender) => props.onRenderRibbon({\n ...ribbonProps,\n onRenderCommandBar: (commandBarProps, defaultRender) => {\n return defaultRender({\n ...commandBarProps,\n styles: {\n ...commandBarProps.styles,\n primarySet: {\n justifyContent: props.isViewSwitcherVisible ? 'flex-end' : 'flex-start'\n }\n },\n items: [...commandBarProps.items, ...(props.isViewSwitcherVisible ? getRightSideCommands(props.isEditColumnsVisible, props.isEditFiltersVisible) : [])],\n farItems: !props.isViewSwitcherVisible ? getRightSideCommands(props.isEditColumnsVisible, props.isEditFiltersVisible) : []\n })\n }\n }, defaultRender)\n }\n }}\n parameters={{\n Commands: {\n raw: datasetControl.retrieveRecordCommands(),\n },\n Loading: {\n raw: !datasetControl.areCommandsLoaded()\n }\n }}\n />\n }\n {props.isQuickFindVisible &&\n <QuickFind\n onRenderQuickFind={props.onRenderQuickFind} />\n }\n </div>\n })}\n {dataset.error &&\n props.onRenderErrorMessageBar({\n messageBarProps: {\n messageBarType: MessageBarType.error\n },\n onRenderMessageBar: (props, defaultRender) => defaultRender(props)\n\n }, (props) => {\n return <MessageBar {...props.messageBarProps}>\n {dataset.errorMessage}\n </MessageBar>\n })\n }\n </div>\n }\n {isEditColumnsPanelVisible &&\n <div style={{ position: 'absolute' }}>\n <EditColumns\n onDismiss={() => setIsEditColumnsPanelVisible(false)} />\n </div>\n }\n </>\n })\n}"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  /// <reference types="@types/powerapps-component-framework" />
2
2
  import { IButtonProps, IMessageBarProps, ITextProps, ThemeProviderProps } from "@fluentui/react";
3
3
  import { ITranslation } from "../../hooks";
4
- import { IControl, IStringProperty } from "../../interfaces";
4
+ import { IControl, IStringProperty, ITwoOptionsProperty } from "../../interfaces";
5
5
  import { IGridOutputs, IGridParameters } from "../Grid";
6
6
  import { gridTranslations } from "../Grid/translations";
7
7
  import { datasetControlTranslations } from "./translations";
@@ -25,6 +25,7 @@ export interface IDatasetControlProps extends Omit<IControl<IDatasetControlParam
25
25
  }) => React.ReactElement<IControl<any, any, any, any>>;
26
26
  }
27
27
  export interface IDatasetControlParameters extends IGridParameters {
28
+ EnableEditColumns?: Omit<ITwoOptionsProperty, 'attributes'>;
28
29
  ClientApiWebresourceName?: IStringProperty;
29
30
  ClientApiFunctionName?: IStringProperty;
30
31
  }
@@ -61,6 +62,9 @@ export interface IRibbonQuickFindWrapperProps {
61
62
  ribbonQuickFindContainerProps: React.HTMLAttributes<HTMLDivElement>;
62
63
  isRibbonVisible: boolean;
63
64
  isQuickFindVisible: boolean;
65
+ isViewSwitcherVisible: boolean;
66
+ isEditColumnsVisible: boolean;
67
+ isEditFiltersVisible: boolean;
64
68
  onRenderQuickFind: (props: IQuickFindProps, defaultRender: (props: IQuickFindProps) => React.ReactElement) => React.ReactElement;
65
69
  onRenderRibbon: IRibbonComponentProps['onRender'];
66
70
  }
@@ -7,6 +7,38 @@ export declare const datasetControlTranslations: {
7
7
  1029: string;
8
8
  1033: string;
9
9
  };
10
+ 'no-name': {
11
+ 1029: string;
12
+ 1033: string;
13
+ };
14
+ "column-source": {
15
+ 1029: string;
16
+ 1033: string;
17
+ };
18
+ "no-result-found": {
19
+ 1029: string;
20
+ 1033: string;
21
+ };
22
+ "add-column": {
23
+ 1029: string;
24
+ 1033: string;
25
+ };
26
+ cancel: {
27
+ 1029: string;
28
+ 1033: string;
29
+ };
30
+ 'edit-columns': {
31
+ 1029: string;
32
+ 1033: string;
33
+ };
34
+ 'edit-filters': {
35
+ 1029: string;
36
+ 1033: string;
37
+ };
38
+ save: {
39
+ 1029: string;
40
+ 1033: string;
41
+ };
10
42
  generalError: {
11
43
  1029: string;
12
44
  1033: string;
@@ -1,6 +1,14 @@
1
1
  const datasetControlTranslations = {
2
2
  "search": { 1029: "Vyhledat", 1033: "Search" },
3
3
  "records": { 1029: "záznamy", 1033: "records" },
4
+ 'no-name': { 1029: "(Bez názvu)", 1033: "(No name)" },
5
+ "column-source": { 1029: "Zdroj sloupců", 1033: "Column source" },
6
+ "no-result-found": { 1029: "Nebyly nalezeny žádné výsledky.", 1033: "No results found." },
7
+ "add-column": { 1029: "Přidat sloupec", 1033: "Add column" },
8
+ "cancel": { 1029: "Zrušit", 1033: "Cancel" },
9
+ 'edit-columns': { 1029: "Upravit sloupce", 1033: "Edit columns" },
10
+ 'edit-filters': { 1029: "Upravit filtry", 1033: "Edit filters" },
11
+ "save": { 1029: "Uložit", 1033: "Save" },
4
12
  "generalError": { 1029: "Během načítání ovládacího prvku došlo k nečekané chybě", 1033: "An unexpected error occurred while loading the control." },
5
13
  "reload": { 1029: "Obnovit", 1033: "Reload" },
6
14
  "unsaved-changes": { 1029: "Počet upravených záznamů: <b>{{numOfChanges}}</b>.", 1033: "Number of updated records: <b>{{numOfChanges}}</b>." },
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sources":["../../../src/components/DatasetControl/translations.ts"],"sourcesContent":["export const datasetControlTranslations = {\n \"search\": { 1029: \"Vyhledat\", 1033: \"Search\" },\n \"records\": { 1029: \"záznamy\", 1033: \"records\" },\n \"generalError\": { 1029: \"Během načítání ovládacího prvku došlo k nečekané chybě\", 1033: \"An unexpected error occurred while loading the control.\" },\n \"reload\": { 1029: \"Obnovit\", 1033: \"Reload\" },\n \"unsaved-changes\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-discard-all-confirmation\": {\n 1029: \"Tato akce zruší všechny neuložené změny. Chcete pokračovat?\",\n 1033: \"This action will discard all unsaved changes. Would you like to continue?\"\n },\n \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": { 1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\" },\n \"paging-pages-totalcount\": { 1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\" },\n \"page-record-count\": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' },\n \"quickfind-like-warning\": { 1029: \"Pokud chcete výsledky získat rychleji, nezačínejte hvězdičkou (*)\", 1033: \"For faster results, don't start with an asterisk (*)\"},\n \"quickfind-search-use-filter\": { 1029: \"Použít filtr\", 1033: \"Apply\" },\n \"quickfind-search-starts-with\": { 1029: \"začíná na\", 1033: \"begins with\" },\n \"quickfind-search-on-these-columns\": { 1029: \"na tyto sloupce:\", 1033: \"filter on these columns:\" }\n};\n\n"],"names":[],"mappings":"AAAa,MAAA,0BAA0B,GAAG;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/C,cAAc,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,yDAAyD,EAAE;IACnJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,qDAAqD,EAAE;AAC9I,IAAA,iCAAiC,EAAE;AAC/B,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,IAAI,EAAE,2EAA2E;AACpF,KAAA;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC5E,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACpF,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnF,wBAAwB,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,IAAI,EAAE,sDAAsD,EAAC;IACpK,6BAA6B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;IACtE,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE;IAC1E,mCAAmC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE;;;;;"}
1
+ {"version":3,"file":"translations.js","sources":["../../../src/components/DatasetControl/translations.ts"],"sourcesContent":["export const datasetControlTranslations = {\n \"search\": { 1029: \"Vyhledat\", 1033: \"Search\" },\n \"records\": { 1029: \"záznamy\", 1033: \"records\" },\n 'no-name': { 1029: \"(Bez názvu)\", 1033: \"(No name)\" },\n \"column-source\": { 1029: \"Zdroj sloupců\", 1033: \"Column source\" },\n \"no-result-found\": { 1029: \"Nebyly nalezeny žádné výsledky.\", 1033: \"No results found.\" },\n \"add-column\": { 1029: \"Přidat sloupec\", 1033: \"Add column\" },\n \"cancel\": { 1029: \"Zrušit\", 1033: \"Cancel\" },\n 'edit-columns': { 1029: \"Upravit sloupce\", 1033: \"Edit columns\" },\n 'edit-filters': { 1029: \"Upravit filtry\", 1033: \"Edit filters\" },\n \"save\": { 1029: \"Uložit\", 1033: \"Save\" },\n \"generalError\": { 1029: \"Během načítání ovládacího prvku došlo k nečekané chybě\", 1033: \"An unexpected error occurred while loading the control.\" },\n \"reload\": { 1029: \"Obnovit\", 1033: \"Reload\" },\n \"unsaved-changes\": { 1029: \"Počet upravených záznamů: <b>{{numOfChanges}}</b>.\", 1033: \"Number of updated records: <b>{{numOfChanges}}</b>.\" },\n \"saving-discard-all-confirmation\": {\n 1029: \"Tato akce zruší všechny neuložené změny. Chcete pokračovat?\",\n 1033: \"This action will discard all unsaved changes. Would you like to continue?\"\n },\n \"paging-of\": { 1029: \"z\", 1033: \"of\" },\n \"paging-firstpage\": { 1029: \"První strana\", 1033: \"First page\" },\n \"paging-previouspage\": { 1029: \"Předchozí\", 1033: \"Previous\" },\n \"paging-page\": { 1029: \"Strana\", 1033: \"Page\" },\n \"paging-nextpage\": { 1029: \"Další\", 1033: \"Next\" },\n \"paging-lastpage\": { 1029: \"Poslední strana\", 1033: \"Last page\" },\n \"paging-pages\": { 1029: \"{{start}} - {{end}}\", 1033: \"{{start}} - {{end}}\" },\n \"paging-pages-totalcount\": { 1029: \"z {{recordcount}}\", 1033: \"of {{recordcount}}\" },\n \"page-record-count\": { 1029: 'Počet záznamů na stránce', 1033: 'Records per page' },\n \"quickfind-like-warning\": { 1029: \"Pokud chcete výsledky získat rychleji, nezačínejte hvězdičkou (*)\", 1033: \"For faster results, don't start with an asterisk (*)\"},\n \"quickfind-search-use-filter\": { 1029: \"Použít filtr\", 1033: \"Apply\" },\n \"quickfind-search-starts-with\": { 1029: \"začíná na\", 1033: \"begins with\" },\n \"quickfind-search-on-these-columns\": { 1029: \"na tyto sloupce:\", 1033: \"filter on these columns:\" }\n};\n\n"],"names":[],"mappings":"AAAa,MAAA,0BAA0B,GAAG;IACtC,QAAQ,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC9C,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;IAC/C,SAAS,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,WAAW,EAAE;IACrD,eAAe,EAAE,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,eAAe,EAAE;IACjE,iBAAiB,EAAE,EAAE,IAAI,EAAE,iCAAiC,EAAE,IAAI,EAAE,mBAAmB,EAAE;IACzF,YAAY,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,YAAY,EAAE;IAC5D,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC5C,cAAc,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,cAAc,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,cAAc,EAAE;IAChE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IACxC,cAAc,EAAE,EAAE,IAAI,EAAE,wDAAwD,EAAE,IAAI,EAAE,yDAAyD,EAAE;IACnJ,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,QAAQ,EAAE;IAC7C,iBAAiB,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,IAAI,EAAE,qDAAqD,EAAE;AAC9I,IAAA,iCAAiC,EAAE;AAC/B,QAAA,IAAI,EAAE,6DAA6D;AACnE,QAAA,IAAI,EAAE,2EAA2E;AACpF,KAAA;IACD,WAAW,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE;IACtC,kBAAkB,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,YAAY,EAAE;IAChE,qBAAqB,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE;IAC9D,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE;IAC/C,iBAAiB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;IAClD,iBAAiB,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,WAAW,EAAE;IACjE,cAAc,EAAE,EAAE,IAAI,EAAE,qBAAqB,EAAE,IAAI,EAAE,qBAAqB,EAAE;IAC5E,yBAAyB,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,oBAAoB,EAAE;IACpF,mBAAmB,EAAE,EAAE,IAAI,EAAE,0BAA0B,EAAE,IAAI,EAAE,kBAAkB,EAAE;IACnF,wBAAwB,EAAE,EAAE,IAAI,EAAE,mEAAmE,EAAE,IAAI,EAAE,sDAAsD,EAAC;IACpK,6BAA6B,EAAE,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;IACtE,8BAA8B,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,aAAa,EAAE;IAC1E,mCAAmC,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,0BAA0B,EAAE;;;;;"}
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IDateTime } from "./interfaces";
3
- export declare const DateTime: (componentProps: IDateTime) => JSX.Element;
2
+ export declare const DateTime: (componentProps: IDateTime) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICalendarProps, ITheme } from "@fluentui/react";
3
2
  import { ITimePickerProps } from "@talxis/react-components";
4
3
  interface IInternalTimePickerProps extends Omit<ITimePickerProps, 'onChange' | 'defaultValue'> {
@@ -13,5 +12,5 @@ interface IInternalTimePickerProps extends Omit<ITimePickerProps, 'onChange' | '
13
12
  export interface IInternalCalendarProps extends ICalendarProps {
14
13
  timePickerProps: IInternalTimePickerProps;
15
14
  }
16
- export declare const Calendar: (props: IInternalCalendarProps) => JSX.Element;
15
+ export declare const Calendar: (props: IInternalCalendarProps) => import("react/jsx-runtime").JSX.Element;
17
16
  export {};
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IDecimal } from "./interfaces";
3
- export declare const Decimal: (props: IDecimal) => JSX.Element;
2
+ export declare const Decimal: (props: IDecimal) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IDuration } from './interfaces';
3
- export declare const Duration: (props: IDuration) => JSX.Element;
2
+ export declare const Duration: (props: IDuration) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICellRendererParams } from "@ag-grid-community/core";
3
2
  import { IRecord } from "@talxis/client-libraries";
4
3
  import { ICellValues } from "../../grid/ag-grid/AgGridModel";
@@ -9,5 +8,5 @@ export interface ICellProps extends ICellRendererParams {
9
8
  record: IRecord;
10
9
  value: ICellValues;
11
10
  }
12
- export declare const Cell: (props: ICellProps) => JSX.Element;
13
- export declare const InternalCell: (props: ICellProps) => JSX.Element;
11
+ export declare const Cell: (props: ICellProps) => import("react/jsx-runtime").JSX.Element;
12
+ export declare const InternalCell: (props: ICellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { ICellProps } from "../Cell";
3
- export declare const CellContent: (props: ICellProps) => JSX.Element;
2
+ export declare const CellContent: (props: ICellProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { ICommandBarItemProps } from "@fluentui/react";
3
2
  import { IAddControlNotificationOptions, ICustomColumnFormatting, IColumn } from "@talxis/client-libraries";
4
3
  interface INotifications {
@@ -8,5 +7,5 @@ interface INotifications {
8
7
  columnAlignment: IColumn['alignment'];
9
8
  farItems?: ICommandBarItemProps[];
10
9
  }
11
- export declare const Notifications: (props: INotifications) => JSX.Element;
10
+ export declare const Notifications: (props: INotifications) => import("react/jsx-runtime").JSX.Element;
12
11
  export {};
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { ICellRendererParams } from "@ag-grid-community/core";
3
2
  import { IRecord } from "@talxis/client-libraries";
4
3
  interface ISelectionCellProps extends ICellRendererParams {
5
4
  record: IRecord;
6
5
  }
7
- export declare const SelectionCell: (props: ISelectionCellProps) => JSX.Element;
6
+ export declare const SelectionCell: (props: ISelectionCellProps) => import("react/jsx-runtime").JSX.Element;
8
7
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectionCell.js","sources":["../../../../../src/components/Grid/cells/selection-cell/SelectionCell.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { SelectionCellModel } from \"./SelectionCellModel\";\nimport { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { IRecord, IRecordEvents, IRecordSaveOperationResult } from \"@talxis/client-libraries\";\nimport { Spinner, useRerender } from \"@talxis/react-components\";\nimport { Callout, Checkbox, IconButton, Link, SpinnerSize, Text, ThemeProvider, useTheme } from \"@fluentui/react\";\nimport { useEventEmitter } from \"../../../../hooks\";\nimport { CheckmarkCircle24Filled, ErrorCircle24Filled } from \"@fluentui/react-icons\";\nimport { getSelectionCellStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../grid/ag-grid/useAgGridInstance\";\nimport { useGridInstance } from \"../../grid/useGridInstance\";\nimport { RecordSaveErrorCallout } from \"./record-save-error-callout/RecordSaveErrorCallout\";\n\ninterface ISelectionCellProps extends ICellRendererParams {\n record: IRecord;\n}\n\nexport const SelectionCell = (props: ISelectionCellProps) => {\n const { record } = props;\n const saveResultButtonId = useMemo(() => `selection_result_${crypto.randomUUID()}`, []);\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const checkBoxRef = useRef<HTMLDivElement>(null);\n const recordSelectionState = agGrid.getRecordSelectionState(props.node);\n const isRecordSelectionDisabled = grid.isRecordSelectionDisabled(record);\n const theme = grid.getDefaultCellTheme(record);\n const styles = useMemo(() => getSelectionCellStyles(theme), []);\n const rerender = useRerender();\n const [saveResult, setSaveResult] = useState<IRecordSaveOperationResult | null>(null);\n const [isRecordSaveErrorCalloutVisible, setIsRecordSaveErrorCalloutVisible] = useState<boolean>(false);\n\n const onAfterSaved = (result: IRecordSaveOperationResult) => {\n setSaveResult(result);\n if (result.success) {\n setTimeout(() => setSaveResult(null), 2000);\n }\n }\n\n const onCheckBoxClick = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n if (!isRecordSelectionDisabled) {\n record.getDataProvider().toggleSelectedRecordId(record.getRecordId(), { clearExisting: agGrid.getGrid().getSelectionType() === 'single' });\n }\n }, []);\n\n useEffect(() => {\n //this needs to be done like this because stopPropagation in React onClick\n //does not stop the event from propagating to the grid (cause by synthentic events)\n //https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events\n if (checkBoxRef.current) {\n checkBoxRef.current.addEventListener('click', onCheckBoxClick)\n }\n return () => {\n checkBoxRef.current?.removeEventListener('click', onCheckBoxClick);\n }\n }, [saveResult]);\n\n useEventEmitter<IRecordEvents>(record, ['onBeforeSaved', 'onAfterSaved'], rerender);\n useEventEmitter<IRecordEvents>(record, 'onAfterSaved', onAfterSaved);\n\n return <ThemeProvider theme={theme} className={styles.selectionCellRoot}>\n {(() => {\n if(record.getSummarizationType() === 'aggregation') {\n return <></>\n }\n if (record.isSaving()) {\n return <Spinner size={SpinnerSize.xSmall} />\n }\n else if (saveResult) {\n return (\n <>\n <IconButton\n id={saveResultButtonId}\n onClick={() => setIsRecordSaveErrorCalloutVisible(!saveResult.success)}\n onRenderIcon={() => {\n if (saveResult?.success) {\n return <CheckmarkCircle24Filled className={styles.saveSuccessBtn} />\n }\n else {\n return <ErrorCircle24Filled className={styles.saveErrorBtn} />\n }\n }}\n />\n {isRecordSaveErrorCalloutVisible &&\n <RecordSaveErrorCallout\n record={record}\n saveResult={saveResult}\n targetId={saveResultButtonId}\n onDismiss={() => setIsRecordSaveErrorCalloutVisible(false)}\n onClearSaveResult={() => setSaveResult(null)} />\n }\n </>\n )\n }\n else if (grid.getSelectionType() !== 'none') {\n return (\n <div\n ref={checkBoxRef}\n className={styles.checkBoxContainer}>\n <Checkbox\n checked={recordSelectionState === 'checked'}\n disabled={isRecordSelectionDisabled}\n indeterminate={recordSelectionState === 'indeterminate'}\n styles={{\n checkbox: styles.checkBox\n }} />\n </div>\n )\n }\n })()}\n </ThemeProvider>\n}"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
1
+ {"version":3,"file":"SelectionCell.js","sources":["../../../../../src/components/Grid/cells/selection-cell/SelectionCell.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { IRecord, IRecordEvents, IRecordSaveOperationResult } from \"@talxis/client-libraries\";\nimport { Spinner, useRerender } from \"@talxis/react-components\";\nimport { Checkbox, IconButton, SpinnerSize, ThemeProvider } from \"@fluentui/react\";\nimport { useEventEmitter } from \"../../../../hooks\";\nimport { CheckmarkCircle24Filled, ErrorCircle24Filled } from \"@fluentui/react-icons\";\nimport { getSelectionCellStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../grid/ag-grid/useAgGridInstance\";\nimport { useGridInstance } from \"../../grid/useGridInstance\";\nimport { RecordSaveErrorCallout } from \"./record-save-error-callout/RecordSaveErrorCallout\";\n\ninterface ISelectionCellProps extends ICellRendererParams {\n record: IRecord;\n}\n\nexport const SelectionCell = (props: ISelectionCellProps) => {\n const { record } = props;\n const saveResultButtonId = useMemo(() => `selection_result_${crypto.randomUUID()}`, []);\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const checkBoxRef = useRef<HTMLDivElement>(null);\n const recordSelectionState = agGrid.getRecordSelectionState(props.node);\n const isRecordSelectionDisabled = grid.isRecordSelectionDisabled(record);\n const theme = grid.getDefaultCellTheme(record);\n const styles = useMemo(() => getSelectionCellStyles(theme), []);\n const rerender = useRerender();\n const [saveResult, setSaveResult] = useState<IRecordSaveOperationResult | null>(null);\n const [isRecordSaveErrorCalloutVisible, setIsRecordSaveErrorCalloutVisible] = useState<boolean>(false);\n\n const onAfterSaved = (result: IRecordSaveOperationResult) => {\n setSaveResult(result);\n if (result.success) {\n setTimeout(() => setSaveResult(null), 2000);\n }\n }\n\n const onCheckBoxClick = useCallback(e => {\n e.stopPropagation();\n e.preventDefault();\n if (!isRecordSelectionDisabled) {\n record.getDataProvider().toggleSelectedRecordId(record.getRecordId(), { clearExisting: agGrid.getGrid().getSelectionType() === 'single' });\n }\n }, []);\n\n useEffect(() => {\n //this needs to be done like this because stopPropagation in React onClick\n //does not stop the event from propagating to the grid (cause by synthentic events)\n //https://stackoverflow.com/questions/24415631/reactjs-syntheticevent-stoppropagation-only-works-with-react-events\n if (checkBoxRef.current) {\n checkBoxRef.current.addEventListener('click', onCheckBoxClick)\n }\n return () => {\n checkBoxRef.current?.removeEventListener('click', onCheckBoxClick);\n }\n }, [saveResult]);\n\n useEventEmitter<IRecordEvents>(record, ['onBeforeSaved', 'onAfterSaved'], rerender);\n useEventEmitter<IRecordEvents>(record, 'onAfterSaved', onAfterSaved);\n\n return <ThemeProvider theme={theme} className={styles.selectionCellRoot}>\n {(() => {\n if(record.getSummarizationType() === 'aggregation') {\n return <></>\n }\n if (record.isSaving()) {\n return <Spinner size={SpinnerSize.xSmall} />\n }\n else if (saveResult) {\n return (\n <>\n <IconButton\n id={saveResultButtonId}\n onClick={() => setIsRecordSaveErrorCalloutVisible(!saveResult.success)}\n onRenderIcon={() => {\n if (saveResult?.success) {\n return <CheckmarkCircle24Filled className={styles.saveSuccessBtn} />\n }\n else {\n return <ErrorCircle24Filled className={styles.saveErrorBtn} />\n }\n }}\n />\n {isRecordSaveErrorCalloutVisible &&\n <RecordSaveErrorCallout\n record={record}\n saveResult={saveResult}\n targetId={saveResultButtonId}\n onDismiss={() => setIsRecordSaveErrorCalloutVisible(false)}\n onClearSaveResult={() => setSaveResult(null)} />\n }\n </>\n )\n }\n else if (grid.getSelectionType() !== 'none') {\n return (\n <div\n ref={checkBoxRef}\n className={styles.checkBoxContainer}>\n <Checkbox\n checked={recordSelectionState === 'checked'}\n disabled={isRecordSelectionDisabled}\n indeterminate={recordSelectionState === 'indeterminate'}\n styles={{\n checkbox: styles.checkBox\n }} />\n </div>\n )\n }\n })()}\n </ThemeProvider>\n}"],"names":["_jsx","_jsxs","_Fragment"],"mappings":"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"}
@@ -1,4 +1,3 @@
1
- /// <reference types="react" />
2
1
  import { IRecord, IRecordSaveOperationResult } from "@talxis/client-libraries";
3
2
  interface IRecordSaveCalloutProps {
4
3
  targetId: string;
@@ -7,5 +6,5 @@ interface IRecordSaveCalloutProps {
7
6
  onDismiss: () => void;
8
7
  onClearSaveResult: () => void;
9
8
  }
10
- export declare const RecordSaveErrorCallout: (props: IRecordSaveCalloutProps) => JSX.Element;
9
+ export declare const RecordSaveErrorCallout: (props: IRecordSaveCalloutProps) => import("react/jsx-runtime").JSX.Element;
11
10
  export {};
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  import { IGridColumn } from '../../grid/GridModel';
3
2
  export interface IColumnHeader {
4
3
  baseColumn: IGridColumn;
5
4
  }
6
- export declare const ColumnHeader: (props: IColumnHeader) => JSX.Element;
5
+ export declare const ColumnHeader: (props: IColumnHeader) => import("react/jsx-runtime").JSX.Element;
@@ -5,4 +5,4 @@ export interface IColumnHeaderContextualMenuProps extends Omit<IContextualMenuPr
5
5
  column: IGridColumn;
6
6
  onDismiss: (e?: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element>, dismissAll?: boolean, showFilterCallout?: boolean) => void;
7
7
  }
8
- export declare const ColumnHeaderContextualMenu: (props: IColumnHeaderContextualMenuProps) => JSX.Element;
8
+ export declare const ColumnHeaderContextualMenu: (props: IColumnHeaderContextualMenuProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,8 +1,7 @@
1
- /// <reference types="react" />
2
1
  import { ICalloutProps } from '@fluentui/react';
3
2
  import { IGridColumn } from '../../grid/GridModel';
4
3
  export interface IFilterCallout extends ICalloutProps {
5
4
  column: IGridColumn;
6
5
  onDismiss: () => void;
7
6
  }
8
- export declare const FilterCallout: (props: IFilterCallout) => JSX.Element;
7
+ export declare const FilterCallout: (props: IFilterCallout) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const RecordSelectionCheckBox: () => JSX.Element;
1
+ export declare const RecordSelectionCheckBox: () => import("react/jsx-runtime").JSX.Element;
@@ -1,6 +1,5 @@
1
- /// <reference types="react" />
2
1
  interface IFullWidthCellRendererErrorProps {
3
2
  errorMessage: string;
4
3
  }
5
- export declare const FullWidthCellRendererError: (props: IFullWidthCellRendererErrorProps) => JSX.Element;
4
+ export declare const FullWidthCellRendererError: (props: IFullWidthCellRendererErrorProps) => import("react/jsx-runtime").JSX.Element;
6
5
  export {};
@@ -1,5 +1,4 @@
1
- /// <reference types="react" />
2
1
  import { IGrid } from "../interfaces";
3
2
  import "@ag-grid-community/styles/ag-grid.css";
4
3
  import "@ag-grid-community/styles/ag-theme-balham.css";
5
- export declare const Grid: (props: IGrid) => JSX.Element;
4
+ export declare const Grid: (props: IGrid) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { ILoadingCellRendererParams } from "@ag-grid-community/core";
3
- export declare const FullRowLoading: (props: ILoadingCellRendererParams) => JSX.Element;
2
+ export declare const FullRowLoading: (props: ILoadingCellRendererParams) => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const EmptyRecords: () => JSX.Element;
1
+ export declare const EmptyRecords: () => import("react/jsx-runtime").JSX.Element;
@@ -1,2 +1 @@
1
- /// <reference types="react" />
2
- export declare const LoadingOverlay: () => JSX.Element;
1
+ export declare const LoadingOverlay: () => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IGridCellRenderer } from "./interfaces";
3
- export declare const GridCellRenderer: (props: IGridCellRenderer) => JSX.Element;
2
+ export declare const GridCellRenderer: (props: IGridCellRenderer) => import("react/jsx-runtime").JSX.Element;
@@ -1,3 +1,2 @@
1
- /// <reference types="react" />
2
1
  import { IValueRendererProps } from "../interfaces";
3
- export declare const ValueRenderer: (props: IValueRendererProps) => JSX.Element;
2
+ export declare const ValueRenderer: (props: IValueRendererProps) => import("react/jsx-runtime").JSX.Element;