@talxis/base-controls 1.2505.4 → 1.2505.5

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 (53) hide show
  1. package/dist/components/DatasetControl/DatasetControl.js +5 -4
  2. package/dist/components/DatasetControl/DatasetControl.js.map +1 -1
  3. package/dist/components/DatasetControl/styles.d.ts +3 -3
  4. package/dist/components/DatasetControl/styles.js +7 -21
  5. package/dist/components/DatasetControl/styles.js.map +1 -1
  6. package/dist/components/Grid/core/components/AgGrid/AgGrid.js +4 -2
  7. package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
  8. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +4 -1
  9. package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
  10. package/dist/components/Grid/core/components/Cell/Cell.js +23 -15
  11. package/dist/components/Grid/core/components/Cell/Cell.js.map +1 -1
  12. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.d.ts +6 -1
  13. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js +2 -1
  14. package/dist/components/Grid/core/components/Cell/CellContent/CellContent.js.map +1 -1
  15. package/dist/components/Grid/core/model/Grid.d.ts +3 -2
  16. package/dist/components/Grid/core/model/Grid.js +20 -6
  17. package/dist/components/Grid/core/model/Grid.js.map +1 -1
  18. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js +3 -0
  19. package/dist/components/Grid/filtering/components/FilterCallout/components/LegacyControlRendering/model/Component.js.map +1 -1
  20. package/dist/components/Grid/paging/components/Paging/Paging.js +1 -1
  21. package/dist/components/Grid/paging/components/Paging/Paging.js.map +1 -1
  22. package/dist/components/Grid/translations.d.ts +4 -0
  23. package/dist/components/Grid/translations.js +2 -1
  24. package/dist/components/Grid/translations.js.map +1 -1
  25. package/dist/components/GridCellRenderer/GridCellRenderer.js +6 -2
  26. package/dist/components/GridCellRenderer/GridCellRenderer.js.map +1 -1
  27. package/dist/components/GridCellRenderer/RecordCommands/Icon.js +32 -0
  28. package/dist/components/GridCellRenderer/RecordCommands/Icon.js.map +1 -0
  29. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.d.ts +13 -0
  30. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js +103 -0
  31. package/dist/components/GridCellRenderer/RecordCommands/RecordCommands.js.map +1 -0
  32. package/dist/components/GridCellRenderer/RecordCommands/styles.d.ts +13 -0
  33. package/dist/components/GridCellRenderer/RecordCommands/styles.js +32 -0
  34. package/dist/components/GridCellRenderer/RecordCommands/styles.js.map +1 -0
  35. package/dist/components/GridCellRenderer/index.d.ts +1 -0
  36. package/dist/components/GridCellRenderer/interfaces.d.ts +10 -1
  37. package/dist/components/NestedControlRenderer/NestedControl.js +3 -3
  38. package/dist/components/NestedControlRenderer/NestedControl.js.map +1 -1
  39. package/dist/index.d.ts +16 -4
  40. package/package.json +2 -2
  41. package/dist/components/Grid/core/components/Cell/Commands/Commands.d.ts +0 -7
  42. package/dist/components/Grid/core/components/Cell/Commands/Commands.js +0 -29
  43. package/dist/components/Grid/core/components/Cell/Commands/Commands.js.map +0 -1
  44. package/dist/components/Grid/core/components/Cell/Commands/Icon.js +0 -14
  45. package/dist/components/Grid/core/components/Cell/Commands/Icon.js.map +0 -1
  46. package/dist/components/Grid/core/components/Cell/Commands/styles.d.ts +0 -40
  47. package/dist/components/Grid/core/components/Cell/Commands/styles.js +0 -54
  48. package/dist/components/Grid/core/components/Cell/Commands/styles.js.map +0 -1
  49. package/dist/components/Grid/core/components/Cell/Commands/useCommands.d.ts +0 -5
  50. package/dist/components/Grid/core/components/Cell/Commands/useCommands.js +0 -54
  51. package/dist/components/Grid/core/components/Cell/Commands/useCommands.js.map +0 -1
  52. package/dist/components/Grid/core/model/Metadata.d.ts +0 -7
  53. /package/dist/components/{Grid/core/components/Cell/Commands → GridCellRenderer/RecordCommands}/Icon.d.ts +0 -0
@@ -47,10 +47,11 @@ const DatasetControl = (props) => {
47
47
  useMemo(() => {
48
48
  componentProps.onDatasetInit();
49
49
  }, []);
50
- return (jsxs(ThemeProvider, { ...componentProps.containerProps, children: [jsx("div", { ...componentProps.headerProps.headerContainerProps, children: componentProps.headerProps.onRender(() => {
51
- return jsx(Fragment, { children: props.parameters.EnableQuickFind?.raw &&
52
- jsx(QuickFind, { dataset: dataset, labels: labels, theme: theme, onGetQuickFindComponentProps: (props) => componentProps.headerProps.onGetQuickFindProps(props) }) });
53
- }) }), jsx(Grid, { ...props, onOverrideComponentProps: (props) => componentProps.onOverrideControlProps(props), context: injectedContextRef.current })] }));
50
+ return (jsxs(ThemeProvider, { ...componentProps.containerProps, children: [props.parameters.EnableQuickFind?.raw &&
51
+ jsx("div", { ...componentProps.headerProps.headerContainerProps, children: componentProps.headerProps.onRender(() => {
52
+ return jsx(Fragment, { children: props.parameters.EnableQuickFind?.raw &&
53
+ jsx(QuickFind, { dataset: dataset, labels: labels, theme: theme, onGetQuickFindComponentProps: (props) => componentProps.headerProps.onGetQuickFindProps(props) }) });
54
+ }) }), jsx(Grid, { ...props, onOverrideComponentProps: (props) => componentProps.onOverrideControlProps(props), context: injectedContextRef.current })] }));
54
55
  };
55
56
 
56
57
  export { DatasetControl };
@@ -1 +1 @@
1
- {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useMemo, useRef } from \"react\";\nimport { Grid } from \"../Grid\";\nimport { useControl } from \"../../hooks\";\nimport { MessageBar, MessageBarButton, MessageBarType, ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { QuickFind } from \"./QuickFind/QuickFind\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { useRerender } from \"@talxis/react-components\";\n\nexport const DatasetControl = (props: IDatasetControl) => {\n const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);\n const rerender = useRerender();\n const dataset = props.parameters.Grid;\n const injectedContextRef = useRef(props.context);\n const styles = useMemo(() => getDatasetControlStyles(theme, props.parameters.Height?.raw), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n //@ts-ignore - private property\n dataset._setRenderer(() => rerender());\n\n //we need to have a way to customize the init behavior from above\n const componentProps = onOverrideComponentProps({\n onDatasetInit: () => {\n if (dataset.paging.pageNumber > 1) {\n dataset.paging.loadExactPage(dataset.paging.pageNumber)\n }\n else {\n dataset.refresh();\n }\n },\n containerProps: {\n theme: theme,\n className: styles.datasetControlRoot,\n },\n headerProps: {\n headerContainerProps: {\n className: styles.headerRoot\n },\n onRender: (renderQuickFind) => renderQuickFind(),\n onGetQuickFindProps: (props) => props\n },\n onOverrideControlProps: (props) => props\n });\n\n const renderErrorMessageBar = (onReset?: () => void) => {\n <MessageBar\n isMultiline={false}\n actions={<MessageBarButton className={styles.messageBarBtn} text={labels.reload()} onClick={() => {\n onReset?.();\n dataset.refresh();\n }} />}\n messageBarType={MessageBarType.error}>\n {dataset.errorMessage || labels.generalError()}\n </MessageBar>\n }\n\n useMemo(() => {\n //@ts-ignore - private property\n injectedContextRef.current = dataset._patchContext(props.context);\n }, [props.context]);\n\n useMemo(() => {\n componentProps.onDatasetInit();\n }, []);\n\n\n return (\n <ThemeProvider {...componentProps.containerProps}>\n <div {...componentProps.headerProps.headerContainerProps}>\n {componentProps.headerProps.onRender(() => {\n return <>\n {props.parameters.EnableQuickFind?.raw &&\n <QuickFind \n dataset={dataset} \n labels={labels} \n theme={theme}\n onGetQuickFindComponentProps={(props) => componentProps.headerProps.onGetQuickFindProps(props)} />\n }\n </>\n })}\n </div>\n <Grid\n {...props}\n onOverrideComponentProps={(props) => componentProps.onOverrideControlProps(props)}\n context={injectedContextRef.current} />\n </ThemeProvider>\n )\n}"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;;;;AAWa,MAAA,cAAc,GAAG,CAAC,KAAsB,KAAI;AACvD,IAAA,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,UAAU,CAAC,gBAAgB,EAAE,KAAK,EAAE,0BAA0B,CAAC,CAAC;AAC1F,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;AAC/B,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;IACtC,MAAM,kBAAkB,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,uBAAuB,CAAC,KAAK,EAAE,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAC/F,IAAA,MAAM,wBAAwB,GAAG,KAAK,CAAC,wBAAwB,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;;IAEtF,OAAO,CAAC,YAAY,CAAC,MAAM,QAAQ,EAAE,CAAC,CAAC;;IAGvC,MAAM,cAAc,GAAG,wBAAwB,CAAC;QAC9C,aAAa,EAAE,MAAK;AAClB,YAAA,IAAI,OAAO,CAAC,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE;gBACjC,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAA;AACxD,aAAA;AACI,iBAAA;gBACH,OAAO,CAAC,OAAO,EAAE,CAAC;AACnB,aAAA;SACF;AACD,QAAA,cAAc,EAAE;AACd,YAAA,KAAK,EAAE,KAAK;YACZ,SAAS,EAAE,MAAM,CAAC,kBAAkB;AACrC,SAAA;AACD,QAAA,WAAW,EAAE;AACX,YAAA,oBAAoB,EAAE;gBACpB,SAAS,EAAE,MAAM,CAAC,UAAU;AAC7B,aAAA;AACD,YAAA,QAAQ,EAAE,CAAC,eAAe,KAAK,eAAe,EAAE;AAChD,YAAA,mBAAmB,EAAE,CAAC,KAAK,KAAK,KAAK;AACtC,SAAA;AACD,QAAA,sBAAsB,EAAE,CAAC,KAAK,KAAK,KAAK;AACzC,KAAA,CAAC,CAAC;IAcH,OAAO,CAAC,MAAK;;QAEX,kBAAkB,CAAC,OAAO,GAAG,OAAO,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;AACpE,KAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;IAEpB,OAAO,CAAC,MAAK;QACX,cAAc,CAAC,aAAa,EAAE,CAAC;KAChC,EAAE,EAAE,CAAC,CAAC;IAGP,QACEA,KAAC,aAAa,EAAA,EAAA,GAAK,cAAc,CAAC,cAAc,EAC9C,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA,EAAA,GAAS,cAAc,CAAC,WAAW,CAAC,oBAAoB,YACrD,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,MAAK;AACxC,oBAAA,OAAOA,0BACJ,KAAK,CAAC,UAAU,CAAC,eAAe,EAAE,GAAG;AACpC,4BAAAA,GAAA,CAAC,SAAS,EAAA,EACR,OAAO,EAAE,OAAO,EAChB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,KAAK,EACZ,4BAA4B,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,WAAW,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAAA,CAAI,GAErG,CAAA;AACL,iBAAC,CAAC,EAAA,CACE,EACJA,GAAA,CAAC,IAAI,EAAA,EAAA,GACC,KAAK,EACT,wBAAwB,EAAE,CAAC,KAAK,KAAK,cAAc,CAAC,sBAAsB,CAAC,KAAK,CAAC,EACjF,OAAO,EAAE,kBAAkB,CAAC,OAAO,EAAI,CAAA,CAAA,EAAA,CAC7B,EACjB;AACH;;;;"}
1
+ {"version":3,"file":"DatasetControl.js","sources":["../../../src/components/DatasetControl/DatasetControl.tsx"],"sourcesContent":["import { useMemo, useRef } from \"react\";\nimport { Grid } from \"../Grid\";\nimport { useControl } from \"../../hooks\";\nimport { MessageBar, MessageBarButton, MessageBarType, ThemeProvider } from \"@fluentui/react\";\nimport { datasetControlTranslations } from \"./translations\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { IDatasetControl } from \"./interfaces\";\nimport { QuickFind } from \"./QuickFind/QuickFind\";\nimport { ErrorBoundary } from \"./ErrorBoundary\";\nimport { useRerender } from \"@talxis/react-components\";\n\nexport const DatasetControl = (props: IDatasetControl) => {\n const { labels, theme } = useControl('DatasetControl', props, datasetControlTranslations);\n const rerender = useRerender();\n const dataset = props.parameters.Grid;\n const injectedContextRef = useRef(props.context);\n const styles = useMemo(() => getDatasetControlStyles(theme, props.parameters.Height?.raw), []);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n //@ts-ignore - private property\n dataset._setRenderer(() => rerender());\n\n //we need to have a way to customize the init behavior from above\n const componentProps = onOverrideComponentProps({\n onDatasetInit: () => {\n if (dataset.paging.pageNumber > 1) {\n dataset.paging.loadExactPage(dataset.paging.pageNumber)\n }\n else {\n dataset.refresh();\n }\n },\n containerProps: {\n theme: theme,\n className: styles.datasetControlRoot,\n },\n headerProps: {\n headerContainerProps: {\n className: styles.headerRoot\n },\n onRender: (renderQuickFind) => renderQuickFind(),\n onGetQuickFindProps: (props) => props\n },\n onOverrideControlProps: (props) => props\n });\n\n const renderErrorMessageBar = (onReset?: () => void) => {\n <MessageBar\n isMultiline={false}\n actions={<MessageBarButton className={styles.messageBarBtn} text={labels.reload()} onClick={() => {\n onReset?.();\n dataset.refresh();\n }} />}\n messageBarType={MessageBarType.error}>\n {dataset.errorMessage || labels.generalError()}\n </MessageBar>\n }\n\n useMemo(() => {\n //@ts-ignore - private property\n injectedContextRef.current = dataset._patchContext(props.context);\n }, [props.context]);\n\n useMemo(() => {\n componentProps.onDatasetInit();\n }, []);\n\n\n return (\n <ThemeProvider {...componentProps.containerProps}>\n {props.parameters.EnableQuickFind?.raw &&\n <div {...componentProps.headerProps.headerContainerProps}>\n {componentProps.headerProps.onRender(() => {\n return <>\n {props.parameters.EnableQuickFind?.raw &&\n <QuickFind\n dataset={dataset}\n labels={labels}\n theme={theme}\n onGetQuickFindComponentProps={(props) => componentProps.headerProps.onGetQuickFindProps(props)} />\n }\n </>\n })}\n </div>\n }\n <Grid\n {...props}\n onOverrideComponentProps={(props) => componentProps.onOverrideControlProps(props)}\n context={injectedContextRef.current} />\n </ThemeProvider>\n )\n}"],"names":["_jsxs","_jsx"],"mappings":"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"}
@@ -2,15 +2,15 @@ import { ITheme } from "@talxis/react-components";
2
2
  export declare const getDatasetControlStyles: (theme: ITheme, height?: string | null) => import("@fluentui/react").IProcessedStyleSet<{
3
3
  datasetControlRoot: {
4
4
  flexGrow?: number | undefined;
5
- paddingLeft?: number | undefined;
6
- paddingRight?: number | undefined;
7
- paddingTop?: number | undefined;
8
5
  display: string;
9
6
  flexDirection: string;
10
7
  gap: number;
11
8
  };
12
9
  headerRoot: {
13
10
  display: string;
11
+ paddingLeft: number;
12
+ paddingTop: number;
13
+ paddingRight: number;
14
14
  };
15
15
  messageBarBtn: {
16
16
  minHeight: string;
@@ -1,17 +1,18 @@
1
1
  import { mergeStyleSets } from '@fluentui/react';
2
- import { Client } from '@talxis/client-libraries';
3
2
 
4
- const client = new Client();
5
3
  const getDatasetControlStyles = (theme, height) => {
6
4
  return mergeStyleSets({
7
5
  datasetControlRoot: {
8
6
  display: 'flex',
9
7
  flexDirection: 'column',
10
8
  gap: 15,
11
- ...(height === '100%' ? getFullHeightStyles(theme) : {})
9
+ ...(height === '100%' ? getFullHeightStyles() : {})
12
10
  },
13
11
  headerRoot: {
14
- display: 'flex'
12
+ display: 'flex',
13
+ paddingLeft: 15,
14
+ paddingTop: 15,
15
+ paddingRight: 15,
15
16
  },
16
17
  messageBarBtn: {
17
18
  minHeight: 'inherit'
@@ -19,24 +20,9 @@ const getDatasetControlStyles = (theme, height) => {
19
20
  });
20
21
  };
21
22
  const getFullHeightStyles = (theme) => {
22
- const styles = {
23
- flexGrow: 1,
24
- paddingLeft: 15,
25
- paddingRight: 15,
26
- paddingTop: 15
23
+ return {
24
+ flexGrow: 1
27
25
  };
28
- if (!client.isTalxisPortal()) {
29
- return {
30
- ...styles,
31
- boxShadow: theme.effects.elevation8,
32
- borderRadius: theme.effects.roundedCorner4,
33
- margin: 16,
34
- marginRight: 20
35
- };
36
- }
37
- else {
38
- return styles;
39
- }
40
26
  };
41
27
 
42
28
  export { getDatasetControlStyles };
@@ -1 +1 @@
1
- {"version":3,"file":"styles.js","sources":["../../../src/components/DatasetControl/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\nimport { Client } from \"@talxis/client-libraries\";\nimport { ITheme } from \"@talxis/react-components\";\n\nconst client = new Client();\n\nexport const getDatasetControlStyles = (theme: ITheme, height?: string | null) => {\n return mergeStyleSets({\n datasetControlRoot: {\n display: 'flex',\n flexDirection: 'column',\n gap: 15,\n ...(height === '100%' ? getFullHeightStyles(theme) : {})\n\n },\n headerRoot: {\n display: 'flex'\n },\n messageBarBtn: {\n minHeight: 'inherit'\n }\n });\n}\n\nconst getFullHeightStyles = (theme: ITheme) => {\n const styles = {\n flexGrow: 1,\n paddingLeft: 15,\n paddingRight: 15,\n paddingTop: 15\n }\n if (!client.isTalxisPortal()) {\n return {\n ...styles,\n boxShadow: theme.effects.elevation8,\n borderRadius: theme.effects.roundedCorner4,\n margin: 16,\n marginRight: 20\n }\n }\n else {\n return styles;\n }\n}"],"names":[],"mappings":";;;AAIA,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;MAEf,uBAAuB,GAAG,CAAC,KAAa,EAAE,MAAsB,KAAI;AAC7E,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,kBAAkB,EAAE;AAChB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,IAAI,MAAM,KAAK,MAAM,GAAG,mBAAmB,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;AAE3D,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,OAAO,EAAE,MAAM;AAClB,SAAA;AACD,QAAA,aAAa,EAAE;AACX,YAAA,SAAS,EAAE,SAAS;AACvB,SAAA;AACJ,KAAA,CAAC,CAAC;AACP,EAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAa,KAAI;AAC1C,IAAA,MAAM,MAAM,GAAG;AACX,QAAA,QAAQ,EAAE,CAAC;AACX,QAAA,WAAW,EAAE,EAAE;AACf,QAAA,YAAY,EAAE,EAAE;AAChB,QAAA,UAAU,EAAE,EAAE;KACjB,CAAA;AACD,IAAA,IAAI,CAAC,MAAM,CAAC,cAAc,EAAE,EAAE;QAC1B,OAAO;AACH,YAAA,GAAG,MAAM;AACT,YAAA,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,UAAU;AACnC,YAAA,YAAY,EAAE,KAAK,CAAC,OAAO,CAAC,cAAc;AAC1C,YAAA,MAAM,EAAE,EAAE;AACV,YAAA,WAAW,EAAE,EAAE;SAClB,CAAA;AACJ,KAAA;AACI,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AACjB,KAAA;AACL,CAAC;;;;"}
1
+ {"version":3,"file":"styles.js","sources":["../../../src/components/DatasetControl/styles.ts"],"sourcesContent":["import { mergeStyleSets } from \"@fluentui/react\"\nimport { ITheme } from \"@talxis/react-components\";\n\nexport const getDatasetControlStyles = (theme: ITheme, height?: string | null) => {\n return mergeStyleSets({\n datasetControlRoot: {\n display: 'flex',\n flexDirection: 'column',\n gap: 15,\n ...(height === '100%' ? getFullHeightStyles(theme) : {})\n\n },\n headerRoot: {\n display: 'flex',\n paddingLeft: 15,\n paddingTop: 15,\n paddingRight: 15,\n },\n messageBarBtn: {\n minHeight: 'inherit'\n }\n });\n}\n\nconst getFullHeightStyles = (theme: ITheme) => {\n return {\n flexGrow: 1\n }\n}"],"names":[],"mappings":";;MAGa,uBAAuB,GAAG,CAAC,KAAa,EAAE,MAAsB,KAAI;AAC7E,IAAA,OAAO,cAAc,CAAC;AAClB,QAAA,kBAAkB,EAAE;AAChB,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,aAAa,EAAE,QAAQ;AACvB,YAAA,GAAG,EAAE,EAAE;AACP,YAAA,IAAI,MAAM,KAAK,MAAM,GAAG,mBAAmB,CAAM,CAAC,GAAG,EAAE,CAAC;AAE3D,SAAA;AACD,QAAA,UAAU,EAAE;AACR,YAAA,OAAO,EAAE,MAAM;AACf,YAAA,WAAW,EAAE,EAAE;AACf,YAAA,UAAU,EAAE,EAAE;AACd,YAAA,YAAY,EAAE,EAAE;AACnB,SAAA;AACD,QAAA,aAAa,EAAE;AACX,YAAA,SAAS,EAAE,SAAS;AACvB,SAAA;AACJ,KAAA,CAAC,CAAC;AACP,EAAC;AAED,MAAM,mBAAmB,GAAG,CAAC,KAAa,KAAI;IAC1C,OAAO;AACH,QAAA,QAAQ,EAAE,CAAC;KACd,CAAA;AACL,CAAC;;;;"}
@@ -110,8 +110,10 @@ const AgGrid = (props) => {
110
110
  sizeColumnsIfSpaceAvailable();
111
111
  }, [agColumns]);
112
112
  useEffect(() => {
113
- //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error
114
- setGridHeight(grid.getHeightSettings().height);
113
+ setTimeout(() => {
114
+ //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error
115
+ setGridHeight(grid.getHeightSettings().height);
116
+ }, 0);
115
117
  }, [records, agColumns]);
116
118
  innerRerenderRef.current = false;
117
119
  const componentProps = onOverrideComponentProps({
@@ -1 +1 @@
1
- {"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { mergeStyles, MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnResizedEvent, DomLayoutType, GridApi, GridState, ModuleRegistry, SelectionChangedEvent } from \"@ag-grid-community/core\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useRerender, useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nimport { AgGridContext } from './context';\nimport { IGrid } from '../../../interfaces';\nimport { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\n\nexport const AgGrid = (props: IGrid) => {\n const grid = useGridInstance();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = useMemo(() => getGridStyles(theme), [theme]);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef, theme), []);\n const agGridProviderValue = useMemo(() => agGrid, []);\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n const records = grid.records;\n const [gridHeight, setGridHeight] = useState<string | undefined>(grid.getHeightSettings().height);\n const userChangedColumnSizeRef = useRef(false);\n const rerender = useRerender();\n const innerRerenderRef = useRef(true);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n const debounceUpdateVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n userChangedColumnSizeRef.current = true;\n agGrid.updateColumnVisualSizeFactor(e);\n }, 200);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n agGrid.refresh();\n }, 0);\n\n if (!grid.isUpdateScheduled()) {\n debouncedRefresh();\n }\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n }\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n const onSelectionChanged = useDebouncedCallback((e: SelectionChangedEvent<any, any>) => {\n if (e.source.includes('api')) {\n return;\n }\n grid.dataset.setSelectedRecordIds(e.api.getSelectedNodes().map(node => node.data!.getRecordId()));\n }, 0);\n \n useEffect(() => {\n agGrid.toggleOverlay();\n //scroll to top when data is loaded\n if(!grid.loading && grid.dataset.sortedRecordIds.length > 0) {\n gridApiRef.current?.ensureIndexVisible(0);\n }\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => agGrid.copyCellValue(event));\n\n agGrid.setRerenderCallback(() => {\n innerRerenderRef.current = true;\n rerender();\n });\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n const columns = agGrid.getColumns();\n if(columns.length === 0) {\n return;\n }\n setAgColumns(columns)\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n useEffect(() => {\n //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error\n setGridHeight(grid.getHeightSettings().height);\n }, [records, agColumns])\n\n innerRerenderRef.current = false;\n\n const componentProps = onOverrideComponentProps({\n container: {\n ref: containerRef,\n className: `${styles.root} ${mergeStyles({\n height: gridHeight\n })} ag-theme-balham`\n },\n pagingProps: {},\n registerRowGroupingModule: false,\n agGrid: {\n animateRows: false,\n domLayout: grid.getHeightSettings().isAutoHeightEnabled ? 'autoHeight' : undefined,\n rowSelection: grid.selection.type,\n noRowsOverlayComponent: EmptyRecords,\n loadingOverlayComponent: LoadingOverlay,\n suppressNoRowsOverlay: grid.loading,\n suppressDragLeaveHidesColumns: true,\n onColumnResized: (e) => debounceUpdateVisualSizeFactor(e),\n onColumnMoved: (e) => agGrid.updateColumnOrder(e),\n reactiveCustomComponents: true,\n //rowMultiSelectWithClick: true,\n onSelectionChanged: onSelectionChanged,\n gridOptions: {\n getRowStyle: (params) => {\n return {\n backgroundColor: agGrid.getDefaultCellTheme(params.node.childIndex % 2 === 0).semanticColors.bodyBackground\n }\n },\n },\n onCellDoubleClicked: (e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.dataset.openDatasetItem(e.data!.getNamedReference())\n }\n },\n getRowId: (params) => params.data.getRecordId(),\n onGridReady: (e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n },\n onGridSizeChanged: (e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n },\n onFirstDataRendered: (e) => {\n sizeColumnsIfSpaceAvailable();\n agGrid.refreshRowSelection();\n },\n onRowDataUpdated: () => {\n agGrid.rerenderGlobalCheckBox();\n },\n onCellEditingStopped: () => {\n grid.pcfContext.factory.requestRender();\n },\n initialState: stateValuesRef.current,\n onStateUpdated: (e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n },\n columnDefs: agColumns as any,\n rowData: records,\n getRowHeight: (params) => agGrid.getRowHeight(params.data!)\n }\n });\n\n useMemo(() => {\n if(componentProps.registerRowGroupingModule) {\n ModuleRegistry.register(RowGroupingModule);\n }\n if(componentProps.licenseKey) {\n LicenseManager.setLicenseKey(componentProps.licenseKey);\n }\n }, []);\n\n return (\n <AgGridContext.Provider value={agGridProviderValue}>\n <div {...componentProps.container}>\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact {...componentProps.agGrid}>\n </AgGridReact>\n <Paging />\n </div>\n </AgGridContext.Provider>\n );\n}\n"],"names":["AgGridModel","_jsx","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { mergeStyles, MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnResizedEvent, DomLayoutType, GridApi, GridState, ModuleRegistry, SelectionChangedEvent } from \"@ag-grid-community/core\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useRerender, useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nimport { AgGridContext } from './context';\nimport { IGrid } from '../../../interfaces';\nimport { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\n\nexport const AgGrid = (props: IGrid) => {\n const grid = useGridInstance();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = useMemo(() => getGridStyles(theme), [theme]);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef, theme), []);\n const agGridProviderValue = useMemo(() => agGrid, []);\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n const records = grid.records;\n const [gridHeight, setGridHeight] = useState<string | undefined>(grid.getHeightSettings().height);\n const userChangedColumnSizeRef = useRef(false);\n const rerender = useRerender();\n const innerRerenderRef = useRef(true);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n const debounceUpdateVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n userChangedColumnSizeRef.current = true;\n agGrid.updateColumnVisualSizeFactor(e);\n }, 200);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n agGrid.refresh();\n }, 0);\n\n if (!grid.isUpdateScheduled()) {\n debouncedRefresh();\n }\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n }\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n const onSelectionChanged = useDebouncedCallback((e: SelectionChangedEvent<any, any>) => {\n if (e.source.includes('api')) {\n return;\n }\n grid.dataset.setSelectedRecordIds(e.api.getSelectedNodes().map(node => node.data!.getRecordId()));\n }, 0);\n\n useEffect(() => {\n agGrid.toggleOverlay();\n //scroll to top when data is loaded\n if (!grid.loading && grid.dataset.sortedRecordIds.length > 0) {\n gridApiRef.current?.ensureIndexVisible(0);\n }\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => agGrid.copyCellValue(event));\n\n agGrid.setRerenderCallback(() => {\n innerRerenderRef.current = true;\n rerender();\n });\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n const columns = agGrid.getColumns();\n if (columns.length === 0) {\n return;\n }\n setAgColumns(columns)\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n useEffect(() => {\n setTimeout(() => {\n //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error\n setGridHeight(grid.getHeightSettings().height);\n }, 0);\n }, [records, agColumns])\n\n innerRerenderRef.current = false;\n\n const componentProps = onOverrideComponentProps({\n container: {\n ref: containerRef,\n className: `${styles.root} ${mergeStyles({\n height: gridHeight\n })} ag-theme-balham`\n },\n pagingProps: {},\n registerRowGroupingModule: false,\n agGrid: {\n animateRows: false,\n domLayout: grid.getHeightSettings().isAutoHeightEnabled ? 'autoHeight' : undefined,\n rowSelection: grid.selection.type,\n noRowsOverlayComponent: EmptyRecords,\n loadingOverlayComponent: LoadingOverlay,\n suppressNoRowsOverlay: grid.loading,\n suppressDragLeaveHidesColumns: true,\n onColumnResized: (e) => debounceUpdateVisualSizeFactor(e),\n onColumnMoved: (e) => agGrid.updateColumnOrder(e),\n reactiveCustomComponents: true,\n //rowMultiSelectWithClick: true,\n onSelectionChanged: onSelectionChanged,\n gridOptions: {\n getRowStyle: (params) => {\n return {\n backgroundColor: agGrid.getDefaultCellTheme(params.node.childIndex % 2 === 0).semanticColors.bodyBackground\n }\n },\n },\n onCellDoubleClicked: (e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.dataset.openDatasetItem(e.data!.getNamedReference())\n }\n },\n getRowId: (params) => params.data.getRecordId(),\n onGridReady: (e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n },\n onGridSizeChanged: (e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n },\n onFirstDataRendered: (e) => {\n sizeColumnsIfSpaceAvailable();\n agGrid.refreshRowSelection();\n },\n onRowDataUpdated: () => {\n agGrid.rerenderGlobalCheckBox();\n },\n onCellEditingStopped: () => {\n grid.pcfContext.factory.requestRender();\n },\n initialState: stateValuesRef.current,\n onStateUpdated: (e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n },\n columnDefs: agColumns as any,\n rowData: records,\n getRowHeight: (params) => agGrid.getRowHeight(params.data!)\n }\n });\n\n useMemo(() => {\n if (componentProps.registerRowGroupingModule) {\n ModuleRegistry.register(RowGroupingModule);\n }\n if (componentProps.licenseKey) {\n LicenseManager.setLicenseKey(componentProps.licenseKey);\n }\n }, []);\n\n return (\n <AgGridContext.Provider value={agGridProviderValue}>\n <div {...componentProps.container}>\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact {...componentProps.agGrid}>\n </AgGridReact>\n <Paging />\n </div>\n </AgGridContext.Provider>\n );\n}\n"],"names":["AgGridModel","_jsx","_jsxs"],"mappings":"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"}
@@ -191,7 +191,10 @@ class AgGrid extends GridDependency {
191
191
  this._rerenderGlobalCheckBox();
192
192
  }
193
193
  getCellFormatting(params) {
194
- const isEven = params.node.childIndex % 2 === 0;
194
+ //get the latest reference - ag grid might still be referencing the old one and give us wrong index
195
+ const record = this._grid.dataset.records[params.data.getRecordId()];
196
+ //@ts-ignore
197
+ const isEven = record.getIndex() % 2 === 0;
195
198
  const defaultTheme = this.getDefaultCellTheme(isEven);
196
199
  const defaultBackgroundColor = defaultTheme.semanticColors.bodyBackground;
197
200
  const colId = params.colDef.colId;
@@ -1 +1 @@
1
- {"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, EditableCallbackParams, GridApi, IRowNode, RowNode, SuppressKeyboardEventParams } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { DataTypes, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\nimport { Cell } from \"../../Cell/Cell\";\nimport { ITheme, merge } from \"@fluentui/react\";\nimport { Theming } from \"@talxis/react-components\";\nimport { Comparator } from \"./Comparator\";\nimport { NestedControl } from \"../../../../../NestedControlRenderer/NestedControl\";\n\nexport interface ICellValues {\n notifications: IAddControlNotificationOptions[];\n customFormatting: Required<ICustomColumnFormatting>;\n customControl: Required<ICustomColumnControl>;\n customComponent: ICustomColumnComponent;\n loading: boolean;\n value: any;\n error: boolean;\n height: number;\n errorMessage: string;\n parameters: IControlParameters;\n columnAlignment: Required<IColumn['alignment']>;\n editing: boolean;\n editable: boolean;\n disabled: boolean;\n}\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n private _theme: ITheme;\n private _rerenderCallback: () => void = () => { };\n private _rerenderGlobalCheckBox: () => void = () => { };\n private _comparator: Comparator = new Comparator();\n public readonly oddRowCellTheme: ITheme;\n public readonly evenRowCellTheme: ITheme;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme) {\n super(grid);\n this._gridApiRef = gridApiRef;\n this._theme = theme;\n this._grid.dataset.addEventListener('onRecordsSelected', (ids) => {\n this.refreshRowSelection();\n })\n this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);\n this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);\n }\n public getColumns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),\n cellRenderer: Cell,\n cellEditor: Cell,\n editable: (p) => this._isColumnEditable(column, p),\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data?.getFormattedValue(column.name)\n },\n valueGetter: (p: any) => this._getValue(p, column),\n equals: (valueA, valueB) => {\n return this._comparator.isEqual(valueA, valueB);\n },\n cellRendererParams: {\n baseColumn: column,\n isCellEditor: false\n },\n cellEditorParams: {\n baseColumn: column,\n isCellEditor: true\n },\n headerComponentParams: {\n baseColumn: column\n },\n }\n if (agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox;\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n\n public refresh() {\n if (this._grid.loading) {\n return;\n }\n this._gridApi?.resetRowHeights();\n this._gridApi?.refreshCells({\n rowNodes: this._gridApi.getRenderedNodes()\n });\n }\n\n public setGlobalCheckBoxRenderer(renderer: () => void) {\n this._rerenderGlobalCheckBox = renderer;\n }\n\n public rerenderGlobalCheckBox() {\n this._rerenderGlobalCheckBox();\n }\n\n public updateColumnOrder(e: ColumnMovedEvent<IRecord, any>) {\n if (e.type === 'gridOptionsChanged' || !e.finished) {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n this._grid.dataset.setColumns?.(orderedColumns);\n }\n\n public updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>) {\n const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n this._grid.dataset.setColumns?.(columns);\n this.refresh();\n }\n\n public toggleOverlay() {\n if(this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n }\n else {\n setTimeout(() => {\n if(this._grid.dataset.sortedRecordIds.length === 0) {\n this._gridApi?.showNoRowsOverlay();\n }\n }, 0);\n }\n }\n\n public copyCellValue(event: KeyboardEvent) {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = this._gridApi?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = this._gridApi?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }\n\n public getRowHeight(record?: IRecord) {\n const columnWidths: { [name: string]: number } = {};\n this._gridApi?.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n if (Object.keys(columnWidths).length === 0) {\n return this._grid.rowHeight;\n }\n //not defined for grouping\n return record?.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;\n }\n\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public refreshRowSelection() {\n if (!this._gridApi) {\n return;\n }\n const selectedIdsSet = new Set(this._grid.dataset.getSelectedRecordIds().map(id => id));\n this._gridApi.forEachNode(node => {\n if(selectedIdsSet.has(node.id!)) {\n node.setSelected(true);\n }\n else {\n node.setSelected(false);\n }\n })\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true,\n })\n this._rerenderGlobalCheckBox();\n }\n\n public getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting> {\n const isEven = params.node!.childIndex! % 2 === 0;\n const defaultTheme = this.getDefaultCellTheme(isEven);\n const defaultBackgroundColor = defaultTheme.semanticColors.bodyBackground;\n const colId = params.colDef.colId!;\n \n // Handle checkbox column specifically\n if (colId === CHECKBOX_COLUMN_KEY || !params.data) {\n return {\n primaryColor: this._theme.palette.themePrimary,\n backgroundColor: defaultBackgroundColor,\n textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),\n className: '',\n themeOverride: {}\n };\n }\n \n const customFormatting = params.data!.getColumnInfo(colId).ui.getCustomFormatting(defaultTheme) ?? {};\n \n // Prepare the result with defaults\n const result: Required<ICustomColumnFormatting> = {\n backgroundColor: customFormatting.backgroundColor ?? defaultBackgroundColor,\n primaryColor: customFormatting.primaryColor ?? this._theme.palette.themePrimary,\n textColor: customFormatting.textColor ?? '',\n className: customFormatting.className ?? '',\n themeOverride: customFormatting.themeOverride ?? {}\n };\n \n // Apply background-specific adjustments\n if (result.backgroundColor !== defaultBackgroundColor) {\n result.themeOverride = merge({}, {\n fonts: {\n medium: {\n fontWeight: 600\n }\n }\n }, result.themeOverride);\n \n if (!customFormatting.primaryColor) {\n result.primaryColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n }\n \n // Ensure text color is set\n if (!result.textColor) {\n result.textColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n \n return result;\n }\n\n public getDefaultCellTheme(isEven: boolean): ITheme {\n if(isEven || !this._grid.isZebraEnabled) {\n return this.evenRowCellTheme;\n }\n return this.oddRowCellTheme;\n }\n\n\n public setRerenderCallback(callback: () => void) {\n this._rerenderCallback = callback;\n }\n\n public rerender() {\n this._rerenderCallback();\n }\n\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return false;\n }\n const columnInfo = params.data?.getColumnInfo(column.name);\n if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {\n return false;\n }\n //disable ag grid cell editor if oneClickEdit is enabled\n //editor control will be used in cell renderer\n if (column.oneClickEdit) {\n return false;\n }\n return columnInfo?.security.editable ?? true;\n }\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn) {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding:\n case DataTypes.LookupSimple:\n case DataTypes.MultiSelectOptionSet:\n case DataTypes.OptionSet:\n case DataTypes.TwoOptions:\n case DataTypes.WholeDuration: {\n return true;\n }\n }\n return false;\n }\n\n private _getValue(p: any, column: IGridColumn) {\n if (column.name === CHECKBOX_COLUMN_KEY || !p.data) {\n return {\n customFormatting: this.getCellFormatting(p)\n }\n }\n let editing: boolean = false;\n const record = p.data as IRecord;\n const columnInfo = p.data!.getColumnInfo(column.name) as IColumnInfo;\n //i hate this, there is no other way to get the information if we are in edit mode or not\n if (p.api.getEditingCells() > 0 || Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.pcfContext,\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...control.getParameters(),\n ...this._grid.getParameters(record, column, editing),\n })\n if (column.oneClickEdit) {\n editing = true;\n }\n const values = {\n notifications: columnInfo.ui.getNotifications(),\n value: p.data!.getValue(column.name),\n customFormatting: this.getCellFormatting(p),\n customControl: customControl,\n height: p.node.rowHeight,\n error: columnInfo.error,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n return values;\n }\n}"],"names":[],"mappings":";;;;;;;;;;;AA+BM,MAAO,MAAO,SAAQ,cAAc,CAAA;AAStC,IAAA,WAAA,CAAY,IAAU,EAAE,UAAkH,EAAE,KAAa,EAAA;QACrJ,KAAK,CAAC,IAAI,CAAC,CAAC;AAPR,QAAA,IAAA,CAAA,iBAAiB,GAAe,MAAK,GAAI,CAAC;AAC1C,QAAA,IAAA,CAAA,uBAAuB,GAAe,MAAK,GAAI,CAAC;AAChD,QAAA,IAAA,CAAA,WAAW,GAAe,IAAI,UAAU,EAAE,CAAC;AAM/C,QAAA,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;AAC9B,QAAA,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;AACpB,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC,GAAG,KAAI;YAC7D,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC/B,SAAC,CAAC,CAAA;AACF,QAAA,IAAI,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;AAC7J,QAAA,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;KACrJ;IACM,UAAU,GAAA;QACb,MAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACrC,YAAA,MAAM,QAAQ,GAAW;gBACrB,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,KAAK,EAAE,MAAM,CAAC,IAAI;gBAClB,UAAU,EAAE,MAAM,CAAC,WAAW;gBAC9B,IAAI,EAAE,MAAM,CAAC,QAAQ;gBACrB,KAAK,EAAE,MAAM,CAAC,gBAAgB;AAC9B,gBAAA,QAAQ,EAAE,CAAC,MAAM,CAAC,cAAc;gBAChC,SAAS,EAAE,MAAM,CAAC,WAAW;AAC7B,gBAAA,gBAAgB,EAAE,IAAI;AACtB,gBAAA,eAAe,EAAE,MAAM,CAAC,WAAW,KAAK,KAAK,GAAG,IAAI,GAAG,KAAK;AAC5D,gBAAA,iBAAiB,EAAE,MAAM,CAAC,IAAI,KAAK,mBAAmB;AACtD,gBAAA,qBAAqB,EAAE,CAAC,MAAM,KAAK,IAAI,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC;AAC9E,gBAAA,YAAY,EAAE,IAAI;AAClB,gBAAA,UAAU,EAAE,IAAI;AAChB,gBAAA,QAAQ,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;AAClD,gBAAA,eAAe,EAAE,YAAY;AAC7B,gBAAA,aAAa,EAAE,CAAC,KAAK,KAAI;AACrB,oBAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,kBAAkB,GAAG,qBAAqB,EAAE,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;iBAC3F;AACD,gBAAA,cAAc,EAAE,CAAC,CAAC,KAAI;AAClB,oBAAA,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE;AACrC,wBAAA,OAAO,IAAI,CAAC;AACf,qBAAA;oBACD,OAAO,CAAC,CAAC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;iBAChD;AACD,gBAAA,WAAW,EAAE,CAAC,CAAM,KAAK,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;AAClD,gBAAA,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,KAAI;oBACvB,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBACnD;AACD,gBAAA,kBAAkB,EAAE;AAChB,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,YAAY,EAAE,KAAK;AACtB,iBAAA;AACD,gBAAA,gBAAgB,EAAE;AACd,oBAAA,UAAU,EAAE,MAAM;AAClB,oBAAA,YAAY,EAAE,IAAI;AACrB,iBAAA;AACD,gBAAA,qBAAqB,EAAE;AACnB,oBAAA,UAAU,EAAE,MAAM;AACrB,iBAAA;aACJ,CAAA;AACD,YAAA,IAAI,QAAQ,CAAC,KAAK,KAAK,mBAAmB,EAAE;AACxC,gBAAA,QAAQ,CAAC,YAAY,GAAG,MAAM,CAAC;AAC/B,gBAAA,QAAQ,CAAC,eAAe,GAAG,cAAc,CAAC;AAC7C,aAAA;AACD,YAAA,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC3B,SAAA;AACD,QAAA,OAAO,SAAS,CAAC;KACpB;IAEM,OAAO,GAAA;AACV,QAAA,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;YACpB,OAAO;AACV,SAAA;AACD,QAAA,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC;AACjC,QAAA,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AACxB,YAAA,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;AAC7C,SAAA,CAAC,CAAC;KACN;AAEM,IAAA,yBAAyB,CAAC,QAAoB,EAAA;AACjD,QAAA,IAAI,CAAC,uBAAuB,GAAG,QAAQ,CAAC;KAC3C;IAEM,sBAAsB,GAAA;QACzB,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAClC;AAEM,IAAA,iBAAiB,CAAC,CAAiC,EAAA;QACtD,IAAI,CAAC,CAAC,IAAI,KAAK,oBAAoB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE;YAChD,OAAO;AACV,SAAA;AACD,QAAA,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,WAAW,EAAE,aAAa,CAAC;QAC9D,IAAI,CAAC,SAAS,EAAE;YACZ,OAAO;AACV,SAAA;AACD,QAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkB,CAAC;QAC7C,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,KAAK,KAAI;AAC5B,YAAA,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;AAC9B,SAAC,CAAC,CAAC;QAEH,MAAM,cAAc,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;YACjE,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,SAAS,CAAC,MAAM,CAAC;YACnF,MAAM,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAE,GAAG,SAAS,CAAC,MAAM,CAAC;YACnF,OAAO,MAAM,GAAG,MAAM,CAAC;AAC3B,SAAC,CAAC,CAAC;QACH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,cAAc,CAAC,CAAC;KACnD;AAEM,IAAA,4BAA4B,CAAC,CAAmC,EAAA;AACnE,QAAA,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,CAAC;QAClG,IAAI,CAAC,gBAAgB,EAAE;YACnB,OAAO;AACV,SAAA;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC;AAC3C,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACrC,IAAI,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,gBAAgB,EAAE;AACtC,gBAAA,OAAO,CAAC,CAAC,CAAC,CAAC,gBAAgB,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAG,CAAA;AAC5D,aAAA;AACJ,SAAA;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,OAAO,CAAC,CAAC;QACzC,IAAI,CAAC,OAAO,EAAE,CAAC;KAClB;IAEM,aAAa,GAAA;AAChB,QAAA,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE;AACnB,YAAA,IAAI,CAAC,QAAQ,EAAE,kBAAkB,EAAE,CAAC;AACvC,SAAA;AACI,aAAA;YACD,UAAU,CAAC,MAAK;gBACZ,IAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AAChD,oBAAA,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;AACtC,iBAAA;aACJ,EAAE,CAAC,CAAC,CAAC;AACT,SAAA;KACJ;AAEM,IAAA,aAAa,CAAC,KAAoB,EAAA;AACrC,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,KAAK,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,GAAG,EAAE;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,cAAc,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,EAAE;gBACP,OAAO;AACV,aAAA;AACD,YAAA,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;AACjE,YAAA,MAAM,cAAc,GAAG,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC;AAC/C,gBAAA,OAAO,EAAE,GAAI;AACb,gBAAA,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;AAC9B,gBAAA,YAAY,EAAE,IAAI;AACrB,aAAA,CAAC,CAAA;YACF,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;AACvD,SAAA;KACJ;AAEM,IAAA,YAAY,CAAC,MAAgB,EAAA;QAChC,MAAM,YAAY,GAA+B,EAAE,CAAC;QACpD,IAAI,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC,GAAG,CAAC,GAAG,IAAG;YACzC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,CAAC,cAAc,EAAE,CAAA;AACvD,SAAC,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE;AACxC,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;AAC/B,SAAA;;AAED,QAAA,OAAO,MAAM,EAAE,SAAS,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;KACxF;IAEM,oBAAoB,GAAA;AACvB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;AAChB,YAAA,OAAO,CAAC,CAAC;AACZ,SAAA;QACD,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,KAAK,MAAM,MAAM,IAAI,IAAI,CAAC,QAAQ,CAAC,sBAAsB,EAAE,EAAE;AACzD,YAAA,KAAK,GAAG,KAAK,GAAG,MAAM,CAAC,cAAc,EAAE,CAAC;AAC3C,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;IACM,mBAAmB,GAAA;AACtB,QAAA,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;YAChB,OAAO;AACV,SAAA;QACD,MAAM,cAAc,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxF,QAAA,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,IAAG;YAC7B,IAAG,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAG,CAAC,EAAE;AAC7B,gBAAA,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AAC1B,aAAA;AACI,iBAAA;AACD,gBAAA,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;AAC3B,aAAA;AACL,SAAC,CAAC,CAAA;AACF,QAAA,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;YACvB,OAAO,EAAE,CAAC,mBAAmB,CAAC;AAC9B,YAAA,KAAK,EAAE,IAAI;AACd,SAAA,CAAC,CAAA;QACF,IAAI,CAAC,uBAAuB,EAAE,CAAC;KAClC;AAEM,IAAA,iBAAiB,CAAC,MAAqC,EAAA;QAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,IAAK,CAAC,UAAW,GAAG,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;AACtD,QAAA,MAAM,sBAAsB,GAAG,YAAY,CAAC,cAAc,CAAC,cAAc,CAAC;AAC1E,QAAA,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,KAAM,CAAC;;QAGnC,IAAI,KAAK,KAAK,mBAAmB,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE;YAC/C,OAAO;AACH,gBAAA,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;AAC9C,gBAAA,eAAe,EAAE,sBAAsB;AACvC,gBAAA,SAAS,EAAE,OAAO,CAAC,yBAAyB,CAAC,sBAAsB,CAAC;AACpE,gBAAA,SAAS,EAAE,EAAE;AACb,gBAAA,aAAa,EAAE,EAAE;aACpB,CAAC;AACL,SAAA;AAED,QAAA,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,mBAAmB,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;;AAGtG,QAAA,MAAM,MAAM,GAAsC;AAC9C,YAAA,eAAe,EAAE,gBAAgB,CAAC,eAAe,IAAI,sBAAsB;YAC3E,YAAY,EAAE,gBAAgB,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,YAAY;AAC/E,YAAA,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,EAAE;AAC3C,YAAA,SAAS,EAAE,gBAAgB,CAAC,SAAS,IAAI,EAAE;AAC3C,YAAA,aAAa,EAAE,gBAAgB,CAAC,aAAa,IAAI,EAAE;SACtD,CAAC;;AAGF,QAAA,IAAI,MAAM,CAAC,eAAe,KAAK,sBAAsB,EAAE;AACnD,YAAA,MAAM,CAAC,aAAa,GAAG,KAAK,CAAC,EAAE,EAAE;AAC7B,gBAAA,KAAK,EAAE;AACH,oBAAA,MAAM,EAAE;AACJ,wBAAA,UAAU,EAAE,GAAG;AAClB,qBAAA;AACJ,iBAAA;AACJ,aAAA,EAAE,MAAM,CAAC,aAAa,CAAC,CAAC;AAEzB,YAAA,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE;gBAChC,MAAM,CAAC,YAAY,GAAG,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AACnF,aAAA;AACJ,SAAA;;AAGD,QAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;YACnB,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,yBAAyB,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;AAChF,SAAA;AAED,QAAA,OAAO,MAAM,CAAC;KACjB;AAEM,IAAA,mBAAmB,CAAC,MAAe,EAAA;QACtC,IAAG,MAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE;YACrC,OAAO,IAAI,CAAC,gBAAgB,CAAC;AAChC,SAAA;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;KAC/B;AAGM,IAAA,mBAAmB,CAAC,QAAoB,EAAA;AAC3C,QAAA,IAAI,CAAC,iBAAiB,GAAG,QAAQ,CAAC;KACrC;IAEM,QAAQ,GAAA;QACX,IAAI,CAAC,iBAAiB,EAAE,CAAC;KAC5B;AAED,IAAA,IAAY,QAAQ,GAAA;AAChB,QAAA,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC;KACnC;IAEO,iBAAiB,CAAC,MAAmB,EAAE,MAA4C,EAAA;AACvF,QAAA,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,EAAE;AACrC,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC3D,QAAA,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,IAAI,UAAU,EAAE,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;AAClF,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;;;QAGD,IAAI,MAAM,CAAC,YAAY,EAAE;AACrB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;AACD,QAAA,OAAO,UAAU,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,CAAC;KAChD;IACO,sBAAsB,CAAC,MAAiD,EAAE,MAAmB,EAAA;AACjG,QAAA,IAAI,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,eAAe,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE;AAC3E,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,QAAQ,MAAM,CAAC,QAAQ;YACnB,KAAK,SAAS,CAAC,sBAAsB,CAAC;YACtC,KAAK,SAAS,CAAC,mBAAmB,CAAC;YACnC,KAAK,SAAS,CAAC,WAAW,CAAC;YAC3B,KAAK,SAAS,CAAC,cAAc,CAAC;YAC9B,KAAK,SAAS,CAAC,eAAe,CAAC;YAC/B,KAAK,SAAS,CAAC,YAAY,CAAC;YAC5B,KAAK,SAAS,CAAC,oBAAoB,CAAC;YACpC,KAAK,SAAS,CAAC,SAAS,CAAC;YACzB,KAAK,SAAS,CAAC,UAAU,CAAC;AAC1B,YAAA,KAAK,SAAS,CAAC,aAAa,EAAE;AAC1B,gBAAA,OAAO,IAAI,CAAC;AACf,aAAA;AACJ,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;KAChB;IAEO,SAAS,CAAC,CAAM,EAAE,MAAmB,EAAA;QACzC,IAAI,MAAM,CAAC,IAAI,KAAK,mBAAmB,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;YAChD,OAAO;AACH,gBAAA,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;aAC9C,CAAA;AACJ,SAAA;QACD,IAAI,OAAO,GAAY,KAAK,CAAC;AAC7B,QAAA,MAAM,MAAM,GAAG,CAAC,CAAC,IAAe,CAAC;AACjC,QAAA,MAAM,UAAU,GAAG,CAAC,CAAC,IAAK,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAgB,CAAC;;AAErE,QAAA,IAAI,CAAC,CAAC,GAAG,CAAC,eAAe,EAAE,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC,KAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACxE,OAAO,GAAG,IAAI,CAAC;AAClB,SAAA;QACD,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,IAAI,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAC9F,QAAA,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC;AAC9B,YAAA,aAAa,EAAE,MAAM,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;AAC1E,YAAA,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,UAAU;AAC1C,SAAA,CAAC,CAAC;AACH,QAAA,MAAM,UAAU,GAAG,UAAU,CAAC,EAAE,CAAC,oBAAoB,CAAC;YAClD,GAAG,OAAO,CAAC,aAAa,EAAE;YAC1B,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC;AACvD,SAAA,CAAC,CAAA;QACF,IAAI,MAAM,CAAC,YAAY,EAAE;YACrB,OAAO,GAAG,IAAI,CAAC;AAClB,SAAA;AACD,QAAA,MAAM,MAAM,GAAG;AACX,YAAA,aAAa,EAAE,UAAU,CAAC,EAAE,CAAC,gBAAgB,EAAE;YAC/C,KAAK,EAAE,CAAC,CAAC,IAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC;AACpC,YAAA,gBAAgB,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC;AAC3C,YAAA,aAAa,EAAE,aAAa;AAC5B,YAAA,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS;YACxB,KAAK,EAAE,UAAU,CAAC,KAAK;AACvB,YAAA,OAAO,EAAE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE;YAClC,YAAY,EAAE,UAAU,CAAC,YAAY;AACrC,YAAA,QAAQ,EAAE,UAAU,CAAC,QAAQ,CAAC,QAAQ;AACtC,YAAA,OAAO,EAAE,OAAO;AAChB,YAAA,UAAU,EAAE,UAAU;YACtB,eAAe,EAAE,MAAM,CAAC,SAAS;AACjC,YAAA,eAAe,EAAE,UAAU,CAAC,EAAE,CAAC,yBAAyB,EAAE;SAC9C,CAAC;AACjB,QAAA,OAAO,MAAM,CAAC;KACjB;AACJ;;;;"}
1
+ {"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, EditableCallbackParams, GridApi, IRowNode, RowNode, SuppressKeyboardEventParams } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { DataTypes, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\nimport { Cell } from \"../../Cell/Cell\";\nimport { ITheme, merge } from \"@fluentui/react\";\nimport { Theming } from \"@talxis/react-components\";\nimport { Comparator } from \"./Comparator\";\nimport { NestedControl } from \"../../../../../NestedControlRenderer/NestedControl\";\n\nexport interface ICellValues {\n notifications: IAddControlNotificationOptions[];\n customFormatting: Required<ICustomColumnFormatting>;\n customControl: Required<ICustomColumnControl>;\n customComponent: ICustomColumnComponent;\n loading: boolean;\n value: any;\n error: boolean;\n height: number;\n errorMessage: string;\n parameters: IControlParameters;\n columnAlignment: Required<IColumn['alignment']>;\n editing: boolean;\n editable: boolean;\n disabled: boolean;\n}\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n private _theme: ITheme;\n private _rerenderCallback: () => void = () => { };\n private _rerenderGlobalCheckBox: () => void = () => { };\n private _comparator: Comparator = new Comparator();\n public readonly oddRowCellTheme: ITheme;\n public readonly evenRowCellTheme: ITheme;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme) {\n super(grid);\n this._gridApiRef = gridApiRef;\n this._theme = theme;\n this._grid.dataset.addEventListener('onRecordsSelected', (ids) => {\n this.refreshRowSelection();\n })\n this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);\n this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);\n }\n public getColumns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),\n cellRenderer: Cell,\n cellEditor: Cell,\n editable: (p) => this._isColumnEditable(column, p),\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data?.getFormattedValue(column.name)\n },\n valueGetter: (p: any) => this._getValue(p, column),\n equals: (valueA, valueB) => {\n return this._comparator.isEqual(valueA, valueB);\n },\n cellRendererParams: {\n baseColumn: column,\n isCellEditor: false\n },\n cellEditorParams: {\n baseColumn: column,\n isCellEditor: true\n },\n headerComponentParams: {\n baseColumn: column\n },\n }\n if (agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox;\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n\n public refresh() {\n if (this._grid.loading) {\n return;\n }\n this._gridApi?.resetRowHeights();\n this._gridApi?.refreshCells({\n rowNodes: this._gridApi.getRenderedNodes()\n });\n }\n\n public setGlobalCheckBoxRenderer(renderer: () => void) {\n this._rerenderGlobalCheckBox = renderer;\n }\n\n public rerenderGlobalCheckBox() {\n this._rerenderGlobalCheckBox();\n }\n\n public updateColumnOrder(e: ColumnMovedEvent<IRecord, any>) {\n if (e.type === 'gridOptionsChanged' || !e.finished) {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n this._grid.dataset.setColumns?.(orderedColumns);\n }\n\n public updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>) {\n const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n this._grid.dataset.setColumns?.(columns);\n this.refresh();\n }\n\n public toggleOverlay() {\n if(this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n }\n else {\n setTimeout(() => {\n if(this._grid.dataset.sortedRecordIds.length === 0) {\n this._gridApi?.showNoRowsOverlay();\n }\n }, 0);\n }\n }\n\n public copyCellValue(event: KeyboardEvent) {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = this._gridApi?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = this._gridApi?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }\n\n public getRowHeight(record?: IRecord) {\n const columnWidths: { [name: string]: number } = {};\n this._gridApi?.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n if (Object.keys(columnWidths).length === 0) {\n return this._grid.rowHeight;\n }\n //not defined for grouping\n return record?.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;\n }\n\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public refreshRowSelection() {\n if (!this._gridApi) {\n return;\n }\n const selectedIdsSet = new Set(this._grid.dataset.getSelectedRecordIds().map(id => id));\n this._gridApi.forEachNode(node => {\n if(selectedIdsSet.has(node.id!)) {\n node.setSelected(true);\n }\n else {\n node.setSelected(false);\n }\n })\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true,\n })\n this._rerenderGlobalCheckBox();\n }\n\n public getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting> {\n //get the latest reference - ag grid might still be referencing the old one and give us wrong index\n const record = this._grid.dataset.records[params.data!.getRecordId()];\n //@ts-ignore\n const isEven = record.getIndex() % 2 === 0;\n const defaultTheme = this.getDefaultCellTheme(isEven);\n const defaultBackgroundColor = defaultTheme.semanticColors.bodyBackground;\n const colId = params.colDef.colId!;\n \n // Handle checkbox column specifically\n if (colId === CHECKBOX_COLUMN_KEY || !params.data) {\n return {\n primaryColor: this._theme.palette.themePrimary,\n backgroundColor: defaultBackgroundColor,\n textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),\n className: '',\n themeOverride: {}\n };\n }\n \n const customFormatting = params.data!.getColumnInfo(colId).ui.getCustomFormatting(defaultTheme) ?? {};\n \n // Prepare the result with defaults\n const result: Required<ICustomColumnFormatting> = {\n backgroundColor: customFormatting.backgroundColor ?? defaultBackgroundColor,\n primaryColor: customFormatting.primaryColor ?? this._theme.palette.themePrimary,\n textColor: customFormatting.textColor ?? '',\n className: customFormatting.className ?? '',\n themeOverride: customFormatting.themeOverride ?? {}\n };\n \n // Apply background-specific adjustments\n if (result.backgroundColor !== defaultBackgroundColor) {\n result.themeOverride = merge({}, {\n fonts: {\n medium: {\n fontWeight: 600\n }\n }\n }, result.themeOverride);\n \n if (!customFormatting.primaryColor) {\n result.primaryColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n }\n \n // Ensure text color is set\n if (!result.textColor) {\n result.textColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n \n return result;\n }\n\n public getDefaultCellTheme(isEven: boolean): ITheme {\n if(isEven || !this._grid.isZebraEnabled) {\n return this.evenRowCellTheme;\n }\n return this.oddRowCellTheme;\n }\n\n\n public setRerenderCallback(callback: () => void) {\n this._rerenderCallback = callback;\n }\n\n public rerender() {\n this._rerenderCallback();\n }\n\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return false;\n }\n const columnInfo = params.data?.getColumnInfo(column.name);\n if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {\n return false;\n }\n //disable ag grid cell editor if oneClickEdit is enabled\n //editor control will be used in cell renderer\n if (column.oneClickEdit) {\n return false;\n }\n return columnInfo?.security.editable ?? true;\n }\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn) {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding:\n case DataTypes.LookupSimple:\n case DataTypes.MultiSelectOptionSet:\n case DataTypes.OptionSet:\n case DataTypes.TwoOptions:\n case DataTypes.WholeDuration: {\n return true;\n }\n }\n return false;\n }\n\n private _getValue(p: any, column: IGridColumn) {\n if (column.name === CHECKBOX_COLUMN_KEY || !p.data) {\n return {\n customFormatting: this.getCellFormatting(p)\n }\n }\n let editing: boolean = false;\n const record = p.data as IRecord;\n const columnInfo = p.data!.getColumnInfo(column.name) as IColumnInfo;\n //i hate this, there is no other way to get the information if we are in edit mode or not\n if (p.api.getEditingCells() > 0 || Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.pcfContext,\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...control.getParameters(),\n ...this._grid.getParameters(record, column, editing),\n })\n if (column.oneClickEdit) {\n editing = true;\n }\n const values = {\n notifications: columnInfo.ui.getNotifications(),\n value: p.data!.getValue(column.name),\n customFormatting: this.getCellFormatting(p),\n customControl: customControl,\n height: p.node.rowHeight,\n error: columnInfo.error,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n return values;\n }\n}"],"names":[],"mappings":"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"}
@@ -1,18 +1,16 @@
1
1
  import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
2
2
  import { Constants } from '@talxis/client-libraries';
3
3
  import { ThemeProvider, Checkbox, useTheme, Shimmer } from '@fluentui/react';
4
- import { useMemo } from 'react';
4
+ import { useMemo, useState, useEffect } from 'react';
5
5
  import { getCellStyles, getInnerCellStyles } from './styles.js';
6
6
  import { CHECKBOX_COLUMN_KEY } from '../../../constants.js';
7
7
  import { useGridInstance } from '../../hooks/useGridInstance.js';
8
8
  import { Notifications } from './Notifications/Notifications.js';
9
- import { Commands } from './Commands/Commands.js';
10
9
  import { CellContent } from './CellContent/CellContent.js';
11
10
  import { useThemeGenerator, getClassNames } from '@talxis/react-components';
12
11
  import { useControlTheme } from '../../../../../utils/theme/hooks/useControlTheme.js';
13
12
 
14
13
  const Cell = (props) => {
15
- props.data;
16
14
  const styles = useMemo(() => getCellStyles(), []);
17
15
  const cellFormatting = props.value.customFormatting;
18
16
  const cellTheme = useThemeGenerator(cellFormatting.primaryColor, cellFormatting.backgroundColor, cellFormatting.textColor, cellFormatting.themeOverride);
@@ -40,10 +38,10 @@ const InternalCell = (props) => {
40
38
  const grid = useGridInstance();
41
39
  const error = props.value.error;
42
40
  const notifications = props.value.notifications;
43
- const isLoading = props.value.loading;
44
41
  const errorMessage = props.value.errorMessage;
45
42
  const theme = useTheme();
46
43
  const applicationTheme = useControlTheme(grid.pcfContext.fluentDesignLanguage);
44
+ const [recordCommands, setRecordCommands] = useState(undefined);
47
45
  const shouldShowNotEditableNotification = () => {
48
46
  if (column.isEditable && !record.getColumnInfo(column.name).security.editable) {
49
47
  return true;
@@ -66,22 +64,15 @@ const InternalCell = (props) => {
66
64
  return false;
67
65
  };
68
66
  const renderContent = () => {
69
- if (isLoading) {
67
+ if (isLoading()) {
70
68
  return (jsx(Shimmer, { styles: {
71
69
  shimmerWrapper: styles.shimmerWrapper,
72
70
  root: styles.shimmerRoot
73
71
  } }));
74
72
  }
75
- switch (column.name) {
76
- case Constants.RIBBON_BUTTONS_COLUMN_NAME: {
77
- return (jsx(Commands, { record: record }));
78
- }
79
- default: {
80
- return (jsxs(Fragment, { children: [column.type !== 'action' &&
81
- jsx(CellContent, { ...props }), shouldRenderNotifications &&
82
- renderNotifications()] }));
83
- }
84
- }
73
+ return (jsxs(Fragment, { children: [(column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&
74
+ jsx(CellContent, { ...props, recordCommands: recordCommands }), shouldRenderNotifications &&
75
+ renderNotifications()] }));
85
76
  };
86
77
  const getFarNotifications = () => {
87
78
  const result = [];
@@ -128,8 +119,25 @@ const InternalCell = (props) => {
128
119
  const renderNotifications = () => {
129
120
  return jsx(Notifications, { formatting: formatting, isActionColumn: column.type === 'action', columnAlignment: props.value.columnAlignment, notifications: notifications, farItems: getFarNotifications() });
130
121
  };
122
+ const isLoading = () => {
123
+ if (props.value.loading) {
124
+ return true;
125
+ }
126
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME && !recordCommands) {
127
+ return true;
128
+ }
129
+ return false;
130
+ };
131
131
  const shouldRenderNotifications = getShouldRenderNotifications();
132
132
  const styles = useMemo(() => getInnerCellStyles(props.isCellEditor, theme, props.value.columnAlignment), [props.isCellEditor, theme, props.value.columnAlignment]);
133
+ useEffect(() => {
134
+ if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {
135
+ (async () => {
136
+ //@ts-ignore - typings
137
+ setRecordCommands(await grid.dataset.retrieveRecordCommand([record.getRecordId()], grid.inlineRibbonButtonIds));
138
+ })();
139
+ }
140
+ }, [record.getValue(column.name)]);
133
141
  return jsx("div", { className: styles.innerCellRoot, "data-is-valid": !error, children: renderContent() });
134
142
  };
135
143
 
@@ -1 +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 { useMemo } from \"react\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../constants\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { Notifications } from \"./Notifications/Notifications\";\nimport { Commands } from \"./Commands/Commands\";\nimport { CellContent } from \"./CellContent/CellContent\";\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\n const renderContent = () => {\n switch (props.baseColumn.name) {\n case CHECKBOX_COLUMN_KEY: {\n return (\n <Checkbox\n checked={props.node.isSelected()}\n onChange={(e, checked) => {\n grid.selection.toggle(props.node.id!);\n }}\n styles={{\n checkbox: styles.checkbox\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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"}
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 { useEffect, useMemo, useState } from \"react\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../constants\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { Notifications } from \"./Notifications/Notifications\";\nimport { CellContent } from \"./CellContent/CellContent\";\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 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\n const renderContent = () => {\n switch (props.baseColumn.name) {\n case CHECKBOX_COLUMN_KEY: {\n return (\n <Checkbox\n checked={props.node.isSelected()}\n onChange={(e, checked) => {\n grid.selection.toggle(props.node.id!);\n }}\n styles={{\n checkbox: styles.checkbox\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 errorMessage = props.value.errorMessage;\n const theme = useTheme();\n const applicationTheme = useControlTheme(grid.pcfContext.fluentDesignLanguage);\n const [recordCommands, setRecordCommands] = useState(undefined);\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 return (\n <>\n {(column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&\n <CellContent {...props} recordCommands={recordCommands} />\n }\n {shouldRenderNotifications &&\n renderNotifications()\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 isLoading = () => {\n if(props.value.loading) {\n return true;\n }\n if(column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME && !recordCommands) {\n return true;\n\n }\n return false;\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 useEffect(() => {\n if(column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n (async () => {\n //@ts-ignore - typings\n setRecordCommands(await grid.dataset.retrieveRecordCommand([record.getRecordId()], grid.inlineRibbonButtonIds));\n })();\n }\n }, [record.getValue(column.name)]);\n\n return <div className={styles.innerCellRoot} data-is-valid={!error}>\n {renderContent()}\n </div>\n}"],"names":["_jsx","_jsxs","_Fragment"],"mappings":";;;;;;;;;;;;AAoBa,MAAA,IAAI,GAAG,CAAC,KAAiB,KAAI;AACtC,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,aAAa,EAAE,EAAE,EAAE,CAAC,CAAA;AACjD,IAAA,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;IACpD,MAAM,SAAS,GAAG,iBAAiB,CAAC,cAAc,CAAC,YAAY,EAAE,cAAc,CAAC,eAAe,EAAE,cAAc,CAAC,SAAS,EAAE,cAAc,CAAC,aAAa,CAAC,CAAC;AACzJ,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;IAE/B,MAAM,aAAa,GAAG,MAAK;AACvB,QAAA,QAAQ,KAAK,CAAC,UAAU,CAAC,IAAI;YACzB,KAAK,mBAAmB,EAAE;gBACtB,QACIA,IAAC,QAAQ,EAAA,EACL,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,EAChC,QAAQ,EAAE,CAAC,CAAC,EAAE,OAAO,KAAI;wBACrB,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,EAAG,CAAC,CAAC;qBACzC,EACD,MAAM,EAAE;wBACJ,QAAQ,EAAE,MAAM,CAAC,QAAQ;AAC5B,qBAAA,EAAA,CAAI,EACX;AACL,aAAA;AACD,YAAA,SAAS;AACL,gBAAA,OAAOA,GAAC,CAAA,YAAY,EAAK,EAAA,GAAA,KAAK,GAAI,CAAA;AACrC,aAAA;AACJ,SAAA;AACL,KAAC,CAAA;IAED,OAAOA,GAAA,CAAC,aAAa,EAAA,EAAC,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC,EACxG,QAAA,EAAA,aAAa,EAAE,EAAA,CACJ,CAAA;AACpB,EAAC;AAGY,MAAA,YAAY,GAAG,CAAC,KAAiB,KAAI;AAC9C,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU,CAAC;AAChC,IAAA,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC;AAC1B,IAAA,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,gBAAgB,CAAC;AAChD,IAAA,MAAM,IAAI,GAAG,eAAe,EAAE,CAAC;AAC/B,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC;AAChD,IAAA,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC;AAC9C,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,gBAAgB,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;IAC/E,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC;IAEhE,MAAM,iCAAiC,GAAG,MAAK;AAC3C,QAAA,IAAI,MAAM,CAAC,UAAU,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,EAAE;AAC3E,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAA;IAED,MAAM,4BAA4B,GAAG,MAAc;QAC/C,IAAI,KAAK,CAAC,YAAY,EAAE;AACpB,YAAA,OAAO,KAAK,CAAC;AAChB,SAAA;QACD,IAAI,KAAK,KAAK,IAAI,EAAE;AAChB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,IAAI,iCAAiC,EAAE,EAAE;AACrC,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,IAAI,aAAa,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;AAC3C,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAA;IAED,MAAM,aAAa,GAAG,MAAkB;QACpC,IAAI,SAAS,EAAE,EAAE;AACb,YAAA,QACIA,GAAA,CAAC,OAAO,EAAA,EAAC,MAAM,EAAE;oBACb,cAAc,EAAE,MAAM,CAAC,cAAc;oBACrC,IAAI,EAAE,MAAM,CAAC,WAAW;AAC3B,iBAAA,EAAA,CAAI,EACP;AACL,SAAA;AACD,QAAA,QACIC,IACK,CAAAC,QAAA,EAAA,EAAA,QAAA,EAAA,CAAA,CAAC,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,0BAA0B;oBAC9EF,GAAC,CAAA,WAAW,OAAK,KAAK,EAAE,cAAc,EAAE,cAAc,EAAI,CAAA,EAE7D,yBAAyB;oBACtB,mBAAmB,EAAE,CAE1B,EAAA,CAAA,EACN;AACL,KAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,MAA6B;QACrD,MAAM,MAAM,GAA2B,EAAE,CAAC;AAC1C,QAAA,MAAM,YAAY,GAAsB;AACpC,YAAA,YAAY,EAAE;AACV,gBAAA,KAAK,EAAE,gBAAgB;AAC1B,aAAA;AACD,YAAA,YAAY,EAAE;AACV,gBAAA,KAAK,EAAE,gBAAgB;AAC1B,aAAA;SACJ,CAAA;QACD,IAAI,iCAAiC,EAAE,EAAE;YACrC,MAAM,CAAC,IAAI,CAAC;AACR,gBAAA,GAAG,EAAE,aAAa;AAClB,gBAAA,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE;AACzC,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,gBAAgB,EAAE,YAAY;AAC9B,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,YAAY;AACtB,oBAAA,MAAM,EAAE;wBACJ,IAAI,EAAE,MAAM,CAAC,kBAAkB;AAClC,qBAAA;AACJ,iBAAA;AACJ,aAAA,CAAC,CAAA;AACL,SAAA;AACD,QAAA,IAAI,KAAK,EAAE;YACP,MAAM,CAAC,IAAI,CAAC;AACR,gBAAA,GAAG,EAAE,OAAO;AACZ,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,QAAQ,EAAE,IAAI;AACd,gBAAA,IAAI,EAAE,YAAY;AAClB,gBAAA,gBAAgB,EAAE,YAAY;AAC9B,gBAAA,SAAS,EAAE;AACP,oBAAA,QAAQ,EAAE,OAAO;AACjB,oBAAA,MAAM,EAAE;wBACJ,IAAI,EAAE,MAAM,CAAC,aAAa;AAC7B,qBAAA;AACJ,iBAAA;AACJ,aAAA,CAAC,CAAA;AACL,SAAA;AACD,QAAA,OAAO,MAAM,CAAC;AAClB,KAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,MAAkB;AAC1C,QAAA,OAAOA,GAAC,CAAA,aAAa,EACjB,EAAA,UAAU,EAAE,UAAU,EACtB,cAAc,EAAE,MAAM,CAAC,IAAI,KAAK,QAAQ,EACxC,eAAe,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,EAC5C,aAAa,EAAE,aAAa,EAC5B,QAAQ,EAAE,mBAAmB,EAAE,GAAI,CAAA;AAC3C,KAAC,CAAA;IAED,MAAM,SAAS,GAAG,MAAK;AACnB,QAAA,IAAG,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC;AACf,SAAA;QACD,IAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,0BAA0B,IAAI,CAAC,cAAc,EAAE;AACxE,YAAA,OAAO,IAAI,CAAC;AAEf,SAAA;AACD,QAAA,OAAO,KAAK,CAAC;AACjB,KAAC,CAAA;AAED,IAAA,MAAM,yBAAyB,GAAG,4BAA4B,EAAE,CAAC;AACjE,IAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,kBAAkB,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC,KAAK,CAAC,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC;IAEnK,SAAS,CAAC,MAAK;AACX,QAAA,IAAG,MAAM,CAAC,IAAI,KAAK,SAAS,CAAC,0BAA0B,EAAE;YACrD,CAAC,YAAW;;gBAER,iBAAiB,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;aACnH,GAAG,CAAC;AACR,SAAA;AACL,KAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAEnC,IAAA,OAAOA,GAAK,CAAA,KAAA,EAAA,EAAA,SAAS,EAAE,MAAM,CAAC,aAAa,EAAiB,eAAA,EAAA,CAAC,KAAK,EAAA,QAAA,EAC7D,aAAa,EAAE,GACd,CAAA;AACV;;;;"}
@@ -1,3 +1,8 @@
1
1
  /// <reference types="react" />
2
2
  import { ICellProps } from '../Cell';
3
- export declare const CellContent: (props: ICellProps) => JSX.Element;
3
+ import { ICommand } from '@talxis/client-libraries';
4
+ interface ICellContentProps extends ICellProps {
5
+ recordCommands?: ICommand[];
6
+ }
7
+ export declare const CellContent: (props: ICellContentProps) => JSX.Element;
8
+ export {};
@@ -16,6 +16,7 @@ const CellContent = (props) => {
16
16
  const columnRef = React.useRef(props.baseColumn);
17
17
  const mountedRef = React.useRef(false);
18
18
  const valueRef = React.useRef(props.value);
19
+ const recordCommands = props.recordCommands;
19
20
  columnRef.current = props.baseColumn;
20
21
  valueRef.current = props.value;
21
22
  const rerender = useRerender();
@@ -199,7 +200,7 @@ const CellContent = (props) => {
199
200
  const columnInfo = record.getColumnInfo(getColumn().name);
200
201
  const parameters = columnInfo.ui.getControlParameters({
201
202
  ...controlProps.parameters,
202
- ...grid.getParameters(record, getColumn(), props.isCellEditor)
203
+ ...grid.getParameters(record, getColumn(), props.isCellEditor, recordCommands)
203
204
  });
204
205
  return {
205
206
  ...controlProps,