@talxis/base-controls 1.2605.2-alpha → 1.2606.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (113) hide show
  1. package/dist/components/Grid/cells/cell/Cell.js +2 -6
  2. package/dist/components/Grid/cells/cell/Cell.js.map +1 -1
  3. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js +1 -1
  4. package/dist/components/Grid/column-headers/column-header/ColumnHeader.js.map +1 -1
  5. package/dist/components/Grid/grid/ag-grid/AgGridModel.js +1 -1
  6. package/dist/components/Grid/grid/ag-grid/AgGridModel.js.map +1 -1
  7. package/dist/components/Lookup/components/TargetSelector.js +1 -1
  8. package/dist/components/Lookup/components/TargetSelector.js.map +1 -1
  9. package/dist/components/Lookup/hooks/useLookup.d.ts +4 -0
  10. package/dist/components/Lookup/translations.d.ts +4 -0
  11. package/dist/components/Lookup/translations.js +4 -0
  12. package/dist/components/Lookup/translations.js.map +1 -1
  13. package/dist/components/TaskGrid/TaskGrid.js +2 -2
  14. package/dist/components/TaskGrid/TaskGrid.js.map +1 -1
  15. package/dist/components/TaskGrid/TaskGridDatasetControl.d.ts +2 -0
  16. package/dist/components/TaskGrid/TaskGridDatasetControl.js +42 -28
  17. package/dist/components/TaskGrid/TaskGridDatasetControl.js.map +1 -1
  18. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js +3 -0
  19. package/dist/components/TaskGrid/TaskGridDatasetControlFactory.js.map +1 -1
  20. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js +6 -3
  21. package/dist/components/TaskGrid/components/grid/cell-renderers/lookup-many/LookupManyCellRenderer.js.map +1 -1
  22. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js +2 -4
  23. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/PercentComplete.js.map +1 -1
  24. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.d.ts +0 -6
  25. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js +0 -6
  26. package/dist/components/TaskGrid/components/grid/cell-renderers/percent-complete/styles.js.map +1 -1
  27. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js +10 -5
  28. package/dist/components/TaskGrid/components/grid/grid-customizer/GridCustomizer.js.map +1 -1
  29. package/dist/components/TaskGrid/components/grid/group-cell/styles.d.ts +3 -0
  30. package/dist/components/TaskGrid/components/grid/group-cell/styles.js +3 -0
  31. package/dist/components/TaskGrid/components/grid/group-cell/styles.js.map +1 -1
  32. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.d.ts +1 -1
  33. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js +3 -1
  34. package/dist/components/TaskGrid/components/grid/lookup-many/LookupMany.js.map +1 -1
  35. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.d.ts +1 -1
  36. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js +1 -1
  37. package/dist/components/TaskGrid/components/grid/lookup-many/colorful-lookup-many/components/index.js.map +1 -1
  38. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.d.ts +11 -0
  39. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js +17 -0
  40. package/dist/components/TaskGrid/components/grid/lookup-many/components/components.js.map +1 -0
  41. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.d.ts +1 -10
  42. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js +1 -14
  43. package/dist/components/TaskGrid/components/grid/lookup-many/components/index.js.map +1 -1
  44. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.d.ts +3 -0
  45. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js +10 -0
  46. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/Menu.js.map +1 -0
  47. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.d.ts +1 -0
  48. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js +2 -0
  49. package/dist/components/TaskGrid/components/grid/lookup-many/components/menu/index.js.map +1 -0
  50. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.d.ts +5 -1
  51. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js +3 -2
  52. package/dist/components/TaskGrid/components/grid/lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -1
  53. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js +1 -1
  54. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/PeopleLookupMany.js.map +1 -1
  55. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.d.ts +2 -0
  56. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js +15 -0
  57. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/components.js.map +1 -0
  58. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.d.ts +1 -2
  59. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js +1 -12
  60. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/index.js.map +1 -1
  61. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.d.ts +3 -0
  62. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js +12 -0
  63. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/MultiValueContainer.js.map +1 -0
  64. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.d.ts +1 -0
  65. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js +2 -0
  66. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/index.js.map +1 -0
  67. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.d.ts +9 -0
  68. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js +18 -0
  69. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-container/styles.js.map +1 -0
  70. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js +1 -1
  71. package/dist/components/TaskGrid/components/grid/lookup-many/people-lookup-many/components/multi-value-label/MultiValueLabel.js.map +1 -1
  72. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.d.ts +1 -1
  73. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js +3 -2
  74. package/dist/components/TaskGrid/components/grid/multi-record-selector/components/multi-value-label/MultiValueLabel.js.map +1 -1
  75. package/dist/components/TaskGrid/components/header/Header.d.ts +1 -1
  76. package/dist/components/TaskGrid/components/header/Header.js +58 -44
  77. package/dist/components/TaskGrid/components/header/Header.js.map +1 -1
  78. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.d.ts +12 -6
  79. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js +23 -20
  80. package/dist/components/TaskGrid/extensions/dataverse/DataverseCustomColumnsStrategy.js.map +1 -1
  81. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.d.ts +3 -3
  82. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js +4 -5
  83. package/dist/components/TaskGrid/extensions/dataverse/DataverseGridCustomizerStrategy.js.map +1 -1
  84. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js +15 -15
  85. package/dist/components/TaskGrid/extensions/dataverse/DataverseSavedQueryStrategy.js.map +1 -1
  86. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.d.ts +27 -25
  87. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js +68 -29
  88. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskGridDescriptor.js.map +1 -1
  89. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.d.ts +19 -17
  90. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js +119 -74
  91. package/dist/components/TaskGrid/extensions/dataverse/DataverseTaskStrategy.js.map +1 -1
  92. package/dist/components/TaskGrid/extensions/dataverse/index.js +1 -1
  93. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.d.ts +18 -2
  94. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js +80 -17
  95. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/LookupManyHandler.js.map +1 -1
  96. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js +10 -4
  97. package/dist/components/TaskGrid/extensions/dataverse/lookup-many/cell-renderer/FetchXmlLookupManyCellRenderer.js.map +1 -1
  98. package/dist/components/TaskGrid/interfaces.d.ts +36 -22
  99. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.d.ts +7 -1
  100. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js +3 -0
  101. package/dist/components/TaskGrid/providers/custom-columns/CustomColumnsDataProvider.js.map +1 -1
  102. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.d.ts +1 -1
  103. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js +9 -26
  104. package/dist/components/TaskGrid/providers/saved-query/SavedQueryDataProvider.js.map +1 -1
  105. package/dist/components/TaskGrid/providers/task/TaskDataProvider.d.ts +13 -20
  106. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js +30 -22
  107. package/dist/components/TaskGrid/providers/task/TaskDataProvider.js.map +1 -1
  108. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.d.ts +8 -0
  109. package/dist/components/TaskGrid/providers/task/record-tree/RecordTree.js.map +1 -1
  110. package/dist/index.d.ts +68 -42
  111. package/dist/utils/dataset/adapters/VirtualDatasetAdapter.js.map +1 -1
  112. package/package.json +4 -4
  113. package/dist/components/TaskGrid/extensions/LexoRank.d.ts +0 -7
@@ -59,12 +59,8 @@ const Cell = (props) => {
59
59
  })();
60
60
  lastLoadingRefValue.current = props.value.loading;
61
61
  const onCellClick = useCallback((e) => {
62
- if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) {
63
- e.stopPropagation();
64
- }
65
- else if (node.isSelected()) {
66
- e.stopPropagation();
67
- }
62
+ if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) ;
63
+ else if (node.isSelected()) ;
68
64
  }, []);
69
65
  const onFieldValueChanged = useCallback(async (columnName) => {
70
66
  if (columnName !== column.name) {
@@ -1 +1 @@
1
- {"version":3,"file":"Cell.js","sources":["../../../../../src/components/Grid/cells/cell/Cell.tsx"],"sourcesContent":["import { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { ThemeProvider, useTheme, Shimmer, ICommandBarItemProps, ITooltipHostProps, IconButton, mergeStyleSets } from \"@fluentui/react\";\nimport { IRecord, Constants, DataProvider, IRecordEvents, IRecordSaveOperationResult } from \"@talxis/client-libraries\";\nimport { useThemeGenerator, getClassNames, useRerender } from \"@talxis/react-components\";\nimport { useMemo, useEffect, useRef, useCallback } from \"react\";\nimport { useControlTheme } from \"../../../../utils\";\nimport { ICellValues } from \"../../grid/ag-grid/AgGridModel\";\nimport { IGridColumn } from \"../../grid/GridModel\";\nimport { useGridInstance } from \"../../grid/useGridInstance\";\nimport { CellContent } from \"./content/CellContent\";\nimport { Notifications } from \"./notifications/Notifications\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../grid/ag-grid/useAgGridInstance\";\nimport ReactDOM from \"react-dom\";\nimport { GridContext } from \"../../grid/GridContext\";\nimport { AgGridContext } from \"../../grid/ag-grid/AgGridContext\";\nimport { useEventEmitter } from \"../../../../hooks/useEventEmitter\";\n\nexport interface ICellProps extends ICellRendererParams {\n baseColumn: IGridColumn;\n isCellEditor: boolean;\n record: IRecord;\n value: ICellValues;\n}\n\nexport const Cell = (props: ICellProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const memoizedContainerRef = useRef<HTMLDivElement | null>();\n const { record, node, baseColumn } = props;\n const column = baseColumn;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const lastLoadingRefValue = useRef<boolean>(props.value.loading);\n const rerender = useRerender();\n\n const skipCellRendering = (() => {\n const dataProvider = record.getDataProvider();\n const summarizationType = dataProvider.getSummarizationType();\n switch (true) {\n case column.type === 'action': {\n return false;\n }\n case props.value.loading: {\n return false;\n }\n case summarizationType === 'grouping': {\n if (lastLoadingRefValue.current && !props.value.loading) {\n return false;\n }\n const _column = dataProvider.getColumnsMap()[column.name]!;\n if (_column.aggregation?.aggregationFunction && !_column.grouping?.isGrouped) {\n return false;\n }\n if (grid.getGroupType() === 'nested') {\n return dataProvider.grouping.getGroupBys()[0].columnName !== column.name\n }\n return !column.grouping?.isGrouped;\n }\n case summarizationType === 'aggregation': {\n return !dataProvider.getColumnsMap()[column.name]?.aggregation?.aggregationFunction;\n }\n case summarizationType === 'none': {\n return !!column.grouping?.isGrouped\n }\n default: {\n return false;\n }\n }\n })();\n lastLoadingRefValue.current = props.value.loading;\n\n const onCellClick = useCallback((e: MouseEvent) => {\n if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) {\n e.stopPropagation();\n }\n else if (node.isSelected()) {\n e.stopPropagation();\n }\n }, []);\n\n const onFieldValueChanged = useCallback(async (columnName: string) => {\n if (columnName !== column.name) {\n return;\n }\n props.api.refreshCells({\n rowNodes: [node]\n })\n setTimeout(() => {\n rerender();\n }, 0);\n }, []);\n\n\n const getTopLevelCellWrapperStyles = () => {\n return mergeStyleSets({\n cellRoot: {\n width: '100%',\n height: (() => {\n if (skipCellRendering && column.autoHeight) {\n return `${grid.getDefaultRowHeight()}px !important`;\n }\n return '100% !important';\n })()\n }\n })\n }\n useEventEmitter<IRecordEvents>(record, 'onFieldValueChanged', onFieldValueChanged);\n\n useEffect(() => {\n memoizedContainerRef.current = containerRef.current;\n containerRef.current?.addEventListener('click', onCellClick);\n return () => {\n containerRef.current?.removeEventListener('click', onCellClick);\n ReactDOM.unmountComponentAtNode(memoizedContainerRef.current!);\n }\n }, []);\n\n\n useEffect(() => {\n if (skipCellRendering) {\n ReactDOM.render(<></>, containerRef.current)\n }\n else {\n ReactDOM.render(\n <GridContext.Provider value={grid}>\n <AgGridContext.Provider value={agGrid}>\n <CellContentWrapper {...props} />\n </AgGridContext.Provider>\n </GridContext.Provider>,\n containerRef.current\n );\n }\n });\n return <div className={getTopLevelCellWrapperStyles().cellRoot} ref={containerRef} />\n}\n\nconst CellContentWrapper = (props: ICellProps) => {\n const { value: cellData, record } = props;\n const { customFormatting } = cellData;\n const cellTheme = useThemeGenerator(customFormatting.primaryColor, customFormatting.backgroundColor, customFormatting.textColor, customFormatting.themeOverride);\n const styles = useMemo(() => getCellStyles(cellTheme), [cellTheme])\n const cellRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IRecordEvents>(record, 'onBeforeSaved', rerender);\n\n return <ThemeProvider\n ref={cellRef}\n theme={cellTheme}\n className={getClassNames([styles.cellRoot, customFormatting.className])}>\n <InternalCell {...props} />\n </ThemeProvider>\n}\n\n\nexport const InternalCell = (props: ICellProps) => {\n const column = props.baseColumn;\n const record = props.record;\n const node = props.node;\n const formatting = props.value.customFormatting;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const errorRef = useRef<boolean>(props.value.error);\n const notifications = props.value.notifications;\n const errorMessageRef = useRef<string | undefined>(props.value.errorMessage);\n const theme = useTheme();\n const applicationTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);\n const rerender = useRerender();\n const styles = useMemo(() => getInnerCellStyles(\n props.isCellEditor,\n theme,\n props.value.columnAlignment,\n node.expanded\n ), [props.isCellEditor, theme, props.value.columnAlignment, node.expanded]);\n\n useEventEmitter<IRecordEvents>(record, 'onAfterSaved', (result: IRecordSaveOperationResult) => {\n if (!result.success) {\n const errors = result.errors ?? [];\n const fieldError = errors.find(error => error.fieldName === column.name);\n if (fieldError) {\n errorRef.current = true;\n errorMessageRef.current = fieldError.message;\n rerender();\n }\n }\n });\n\n useEventEmitter<IRecordEvents>(record, 'onFieldValueChanged', (fieldName: string) => {\n if (fieldName === column.name) {\n errorRef.current = record.getField(fieldName).isValid().error;\n rerender();\n }\n });\n\n const shouldShowNotEditableNotification = () => {\n if (column.isEditable && !record.getColumnInfo(column.name).security.editable && record.getSummarizationType() === 'none') {\n return true;\n }\n return false;\n }\n\n const getShouldRenderNotifications = (): boolean => {\n if (props.isCellEditor) {\n return false;\n }\n if (errorRef.current === 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 {grid.isColumnExpandable(record, column) &&\n <IconButton\n iconProps={{ iconName: 'ChevronRight' }}\n styles={{\n root: styles.groupToggleButtonRoot,\n icon: styles.groupToggleButtonIcon\n }}\n onClick={() => {\n agGrid.toggleGroup(node);\n rerender();\n }} />\n }\n {(column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&\n <CellContent {...props} />\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.getLabels()['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 (errorRef.current) {\n result.push({\n key: 'error',\n iconOnly: true,\n disabled: true,\n text: errorMessageRef.current,\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 return false;\n }\n const shouldRenderNotifications = getShouldRenderNotifications();\n\n return <div\n className={styles.innerCellRoot}\n data-is-loading={isLoading()}\n data-is-valid={!errorRef.current}>\n {renderContent()}\n </div>\n}"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
1
+ {"version":3,"file":"Cell.js","sources":["../../../../../src/components/Grid/cells/cell/Cell.tsx"],"sourcesContent":["import { ICellRendererParams } from \"@ag-grid-community/core\";\nimport { ThemeProvider, useTheme, Shimmer, ICommandBarItemProps, ITooltipHostProps, IconButton, mergeStyleSets } from \"@fluentui/react\";\nimport { IRecord, Constants, DataProvider, IRecordEvents, IRecordSaveOperationResult } from \"@talxis/client-libraries\";\nimport { useThemeGenerator, getClassNames, useRerender } from \"@talxis/react-components\";\nimport { useMemo, useEffect, useRef, useCallback } from \"react\";\nimport { useControlTheme } from \"../../../../utils\";\nimport { ICellValues } from \"../../grid/ag-grid/AgGridModel\";\nimport { IGridColumn } from \"../../grid/GridModel\";\nimport { useGridInstance } from \"../../grid/useGridInstance\";\nimport { CellContent } from \"./content/CellContent\";\nimport { Notifications } from \"./notifications/Notifications\";\nimport { getCellStyles, getInnerCellStyles } from \"./styles\";\nimport { useAgGridInstance } from \"../../grid/ag-grid/useAgGridInstance\";\nimport ReactDOM from \"react-dom\";\nimport { GridContext } from \"../../grid/GridContext\";\nimport { AgGridContext } from \"../../grid/ag-grid/AgGridContext\";\nimport { useEventEmitter } from \"../../../../hooks/useEventEmitter\";\n\nexport interface ICellProps extends ICellRendererParams {\n baseColumn: IGridColumn;\n isCellEditor: boolean;\n record: IRecord;\n value: ICellValues;\n}\n\nexport const Cell = (props: ICellProps) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const memoizedContainerRef = useRef<HTMLDivElement | null>();\n const { record, node, baseColumn } = props;\n const column = baseColumn;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const lastLoadingRefValue = useRef<boolean>(props.value.loading);\n const rerender = useRerender();\n\n const skipCellRendering = (() => {\n const dataProvider = record.getDataProvider();\n const summarizationType = dataProvider.getSummarizationType();\n switch (true) {\n case column.type === 'action': {\n return false;\n }\n case props.value.loading: {\n return false;\n }\n case summarizationType === 'grouping': {\n if (lastLoadingRefValue.current && !props.value.loading) {\n return false;\n }\n const _column = dataProvider.getColumnsMap()[column.name]!;\n if (_column.aggregation?.aggregationFunction && !_column.grouping?.isGrouped) {\n return false;\n }\n if (grid.getGroupType() === 'nested') {\n return dataProvider.grouping.getGroupBys()[0].columnName !== column.name\n }\n return !column.grouping?.isGrouped;\n }\n case summarizationType === 'aggregation': {\n return !dataProvider.getColumnsMap()[column.name]?.aggregation?.aggregationFunction;\n }\n case summarizationType === 'none': {\n return !!column.grouping?.isGrouped\n }\n default: {\n return false;\n }\n }\n })();\n lastLoadingRefValue.current = props.value.loading;\n\n const onCellClick = useCallback((e: MouseEvent) => {\n if (record.getDataProvider().getSummarizationType() === 'grouping' && !grid.isSelectionModifierKeyPressed()) {\n //e.stopPropagation();\n }\n else if (node.isSelected()) {\n //e.stopPropagation();\n }\n }, []);\n\n const onFieldValueChanged = useCallback(async (columnName: string) => {\n if (columnName !== column.name) {\n return;\n }\n props.api.refreshCells({\n rowNodes: [node]\n })\n setTimeout(() => {\n rerender();\n }, 0);\n }, []);\n\n\n const getTopLevelCellWrapperStyles = () => {\n return mergeStyleSets({\n cellRoot: {\n width: '100%',\n height: (() => {\n if (skipCellRendering && column.autoHeight) {\n return `${grid.getDefaultRowHeight()}px !important`;\n }\n return '100% !important';\n })()\n }\n })\n }\n useEventEmitter<IRecordEvents>(record, 'onFieldValueChanged', onFieldValueChanged);\n\n useEffect(() => {\n memoizedContainerRef.current = containerRef.current;\n containerRef.current?.addEventListener('click', onCellClick);\n return () => {\n containerRef.current?.removeEventListener('click', onCellClick);\n ReactDOM.unmountComponentAtNode(memoizedContainerRef.current!);\n }\n }, []);\n\n\n useEffect(() => {\n if (skipCellRendering) {\n ReactDOM.render(<></>, containerRef.current)\n }\n else {\n ReactDOM.render(\n <GridContext.Provider value={grid}>\n <AgGridContext.Provider value={agGrid}>\n <CellContentWrapper {...props} />\n </AgGridContext.Provider>\n </GridContext.Provider>,\n containerRef.current\n );\n }\n });\n return <div className={getTopLevelCellWrapperStyles().cellRoot} ref={containerRef} />\n}\n\nconst CellContentWrapper = (props: ICellProps) => {\n const { value: cellData, record } = props;\n const { customFormatting } = cellData;\n const cellTheme = useThemeGenerator(customFormatting.primaryColor, customFormatting.backgroundColor, customFormatting.textColor, customFormatting.themeOverride);\n const styles = useMemo(() => getCellStyles(cellTheme), [cellTheme])\n const cellRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IRecordEvents>(record, 'onBeforeSaved', rerender);\n\n return <ThemeProvider\n ref={cellRef}\n theme={cellTheme}\n className={getClassNames([styles.cellRoot, customFormatting.className])}>\n <InternalCell {...props} />\n </ThemeProvider>\n}\n\n\nexport const InternalCell = (props: ICellProps) => {\n const column = props.baseColumn;\n const record = props.record;\n const node = props.node;\n const formatting = props.value.customFormatting;\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const errorRef = useRef<boolean>(props.value.error);\n const notifications = props.value.notifications;\n const errorMessageRef = useRef<string | undefined>(props.value.errorMessage);\n const theme = useTheme();\n const applicationTheme = useControlTheme(grid.getPcfContext().fluentDesignLanguage);\n const rerender = useRerender();\n const styles = useMemo(() => getInnerCellStyles(\n props.isCellEditor,\n theme,\n props.value.columnAlignment,\n node.expanded\n ), [props.isCellEditor, theme, props.value.columnAlignment, node.expanded]);\n\n useEventEmitter<IRecordEvents>(record, 'onAfterSaved', (result: IRecordSaveOperationResult) => {\n if (!result.success) {\n const errors = result.errors ?? [];\n const fieldError = errors.find(error => error.fieldName === column.name);\n if (fieldError) {\n errorRef.current = true;\n errorMessageRef.current = fieldError.message;\n rerender();\n }\n }\n });\n\n useEventEmitter<IRecordEvents>(record, 'onFieldValueChanged', (fieldName: string) => {\n if (fieldName === column.name) {\n errorRef.current = record.getField(fieldName).isValid().error;\n rerender();\n }\n });\n\n const shouldShowNotEditableNotification = () => {\n if (column.isEditable && !record.getColumnInfo(column.name).security.editable && record.getSummarizationType() === 'none') {\n return true;\n }\n return false;\n }\n\n const getShouldRenderNotifications = (): boolean => {\n if (props.isCellEditor) {\n return false;\n }\n if (errorRef.current === 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 {grid.isColumnExpandable(record, column) &&\n <IconButton\n iconProps={{ iconName: 'ChevronRight' }}\n styles={{\n root: styles.groupToggleButtonRoot,\n icon: styles.groupToggleButtonIcon\n }}\n onClick={() => {\n agGrid.toggleGroup(node);\n rerender();\n }} />\n }\n {(column.type !== 'action' || column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) &&\n <CellContent {...props} />\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.getLabels()['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 (errorRef.current) {\n result.push({\n key: 'error',\n iconOnly: true,\n disabled: true,\n text: errorMessageRef.current,\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 return false;\n }\n const shouldRenderNotifications = getShouldRenderNotifications();\n\n return <div\n className={styles.innerCellRoot}\n data-is-loading={isLoading()}\n data-is-valid={!errorRef.current}>\n {renderContent()}\n </div>\n}"],"names":["_jsx","_Fragment","_jsxs"],"mappings":"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"}
@@ -19,7 +19,7 @@ const ColumnHeader = (props) => {
19
19
  useEventEmitter(agGrid, 'onRefresh', rerender);
20
20
  //needs to be called with onTouchEnd as well since ag grid cancels the click event on them
21
21
  const onClick = () => {
22
- if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated && !column?.metadata?.CanBeGrouped)) {
22
+ if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated && !column.canBeGrouped)) {
23
23
  return;
24
24
  }
25
25
  setColumnHeaderContextualMenuProps({
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnHeader.js","sources":["../../../../../src/components/Grid/column-headers/column-header/ColumnHeader.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CommandBarButton, Icon, Label, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../grid/useGridInstance';\nimport { IGridColumn } from '../../grid/GridModel';\nimport { ColumnHeaderContextualMenu, IColumnHeaderContextualMenuProps } from './ColumnHeaderContextualMenu';\nimport { FilterCallout } from './FilterCallout';\nimport { NestedControlRenderer } from '../../../NestedControlRenderer';\nimport { useRerender } from '@talxis/react-components';\nimport { useAgGridInstance } from '../../grid/ag-grid/useAgGridInstance';\nimport { useEventEmitter } from '../../../../hooks/useEventEmitter';\nimport { IAgGridModelEvents } from '../../grid/ag-grid/AgGridModel';\n\nexport interface IColumnHeader {\n baseColumn: IGridColumn;\n}\n\nexport const ColumnHeader = (props: IColumnHeader) => {\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const column = grid.getGridColumnByName(props.baseColumn.name, true);\n const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState<IColumnHeaderContextualMenuProps | null>(null);\n const [filterCalloutProps, setFilterCalloutProps] = useState<any | null>(null);\n const buttonRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IAgGridModelEvents>(agGrid, 'onRefresh', rerender);\n\n //needs to be called with onTouchEnd as well since ag grid cancels the click event on them\n const onClick = () => {\n if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated && !column?.metadata?.CanBeGrouped)) {\n return;\n }\n setColumnHeaderContextualMenuProps({\n column: column,\n onDismiss: (e, dismissAll, showFilterCallout) => {\n setColumnHeaderContextualMenuProps(null);\n if (!showFilterCallout) {\n return;\n }\n setFilterCalloutProps({\n column: column,\n onDismiss: () => {\n setFilterCalloutProps(null)\n }\n })\n }\n });\n }\n const preventDismissOnEvent = (e: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | React.FocusEvent<Element, Element>) => {\n if (e.type !== 'scroll') {\n return false;\n }\n const target = e.target as HTMLElement;\n //check for vertical scroll\n if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {\n return true;\n }\n //ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n return true;\n }\n return false;\n }\n return (\n <>\n <div ref={buttonRef} onClick={onClick} onTouchEnd={onClick}>\n <NestedControlRenderer\n context={grid.getPcfContext()}\n parameters={{\n ControlName: 'GridColumnHeader',\n Bindings: {\n Column: {\n isStatic: true,\n value: column,\n type: 'Object',\n },\n Dataset: {\n value: grid.getDataset(),\n isStatic: true,\n type: 'Object',\n },\n EnableEditing: {\n isStatic: true,\n value: grid.isEditingEnabled(),\n type: 'TwoOptions'\n },\n Filtering: {\n isStatic: true,\n value: grid.getFiltering(),\n type: 'Object'\n }\n }\n }}\n />\n </div>\n {columnHeaderContextualMenuProps &&\n <ColumnHeaderContextualMenu\n target={buttonRef}\n calloutProps={{\n preventDismissOnEvent: preventDismissOnEvent\n }}\n {...columnHeaderContextualMenuProps} />\n }\n {filterCalloutProps &&\n <FilterCallout preventDismissOnEvent={preventDismissOnEvent} target={buttonRef} {...filterCalloutProps} />\n }\n </>\n )\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"ColumnHeader.js","sources":["../../../../../src/components/Grid/column-headers/column-header/ColumnHeader.tsx"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { CommandBarButton, Icon, Label, useTheme } from '@fluentui/react';\nimport React from 'react';\nimport { useGridInstance } from '../../grid/useGridInstance';\nimport { IGridColumn } from '../../grid/GridModel';\nimport { ColumnHeaderContextualMenu, IColumnHeaderContextualMenuProps } from './ColumnHeaderContextualMenu';\nimport { FilterCallout } from './FilterCallout';\nimport { NestedControlRenderer } from '../../../NestedControlRenderer';\nimport { useRerender } from '@talxis/react-components';\nimport { useAgGridInstance } from '../../grid/ag-grid/useAgGridInstance';\nimport { useEventEmitter } from '../../../../hooks/useEventEmitter';\nimport { IAgGridModelEvents } from '../../grid/ag-grid/AgGridModel';\n\nexport interface IColumnHeader {\n baseColumn: IGridColumn;\n}\n\nexport const ColumnHeader = (props: IColumnHeader) => {\n const grid = useGridInstance();\n const agGrid = useAgGridInstance();\n const column = grid.getGridColumnByName(props.baseColumn.name, true);\n const [columnHeaderContextualMenuProps, setColumnHeaderContextualMenuProps] = useState<IColumnHeaderContextualMenuProps | null>(null);\n const [filterCalloutProps, setFilterCalloutProps] = useState<any | null>(null);\n const buttonRef = useRef<HTMLDivElement>(null);\n const rerender = useRerender();\n useEventEmitter<IAgGridModelEvents>(agGrid, 'onRefresh', rerender);\n\n //needs to be called with onTouchEnd as well since ag grid cancels the click event on them\n const onClick = () => {\n if ((!column.isFilterable && column.disableSorting && !column.canBeAggregated && !column.canBeGrouped)) {\n return;\n }\n setColumnHeaderContextualMenuProps({\n column: column,\n onDismiss: (e, dismissAll, showFilterCallout) => {\n setColumnHeaderContextualMenuProps(null);\n if (!showFilterCallout) {\n return;\n }\n setFilterCalloutProps({\n column: column,\n onDismiss: () => {\n setFilterCalloutProps(null)\n }\n })\n }\n });\n }\n const preventDismissOnEvent = (e: Event | React.MouseEvent<Element, MouseEvent> | React.KeyboardEvent<Element> | React.FocusEvent<Element, Element>) => {\n if (e.type !== 'scroll') {\n return false;\n }\n const target = e.target as HTMLElement;\n //check for vertical scroll\n if (target?.classList?.contains('ag-body-viewport') || target?.classList?.contains('ag-body-vertical-scroll-viewport')) {\n return true;\n }\n //ios outputs horizontal scroll if focused in callout btn which would result in dismiss of callout\n if (/iPad|iPhone|iPod/.test(navigator.userAgent)) {\n return true;\n }\n return false;\n }\n return (\n <>\n <div ref={buttonRef} onClick={onClick} onTouchEnd={onClick}>\n <NestedControlRenderer\n context={grid.getPcfContext()}\n parameters={{\n ControlName: 'GridColumnHeader',\n Bindings: {\n Column: {\n isStatic: true,\n value: column,\n type: 'Object',\n },\n Dataset: {\n value: grid.getDataset(),\n isStatic: true,\n type: 'Object',\n },\n EnableEditing: {\n isStatic: true,\n value: grid.isEditingEnabled(),\n type: 'TwoOptions'\n },\n Filtering: {\n isStatic: true,\n value: grid.getFiltering(),\n type: 'Object'\n }\n }\n }}\n />\n </div>\n {columnHeaderContextualMenuProps &&\n <ColumnHeaderContextualMenu\n target={buttonRef}\n calloutProps={{\n preventDismissOnEvent: preventDismissOnEvent\n }}\n {...columnHeaderContextualMenuProps} />\n }\n {filterCalloutProps &&\n <FilterCallout preventDismissOnEvent={preventDismissOnEvent} target={buttonRef} {...filterCalloutProps} />\n }\n </>\n )\n};"],"names":["_jsxs","_Fragment","_jsx"],"mappings":"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"}
@@ -602,7 +602,7 @@ class AgGridModel extends EventEmitter {
602
602
  aggregatedValue: value.aggregatedValue,
603
603
  loading: columnInfo.ui.isLoading(),
604
604
  errorMessage: columnInfo.errorMessage,
605
- editable: columnInfo.security.editable,
605
+ editable: column.isEditable && columnInfo.security.editable,
606
606
  editing: editing,
607
607
  parameters: parameters,
608
608
  saving: record.isSaving(),
@@ -1 +1 @@
1
- {"version":3,"file":"AgGridModel.js","sources":["../../../../../src/components/Grid/grid/ag-grid/AgGridModel.ts"],"sourcesContent":["import { CellClickedEvent, CellDoubleClickedEvent, ColDef, ColumnMovedEvent, ColumnResizedEvent, GridApi, IRowNode, IsFullWidthRowParams, IsServerSideGroupOpenByDefaultParams, ModuleRegistry, SelectionChangedEvent, SuppressKeyboardEventParams, ValueFormatterParams, ValueGetterParams } from \"@ag-grid-community/core\";\nimport debounce from 'debounce';\nimport { GridModel, IGridColumn } from \"../GridModel\";\nimport { Client, DataProvider, EventEmitter, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IDataProvider, IRecord, Operators } from \"@talxis/client-libraries\";\nimport { NestedControl } from \"../../../NestedControlRenderer/NestedControl\";\nimport { Cell } from \"../../cells/cell/Cell\";\nimport { ColumnHeader } from \"../../column-headers/column-header/ColumnHeader\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { Comparator } from \"../ValueComparator\";\nimport { ServerSideDatasource } from \"./ServerSideDatasource\";\nimport { RecordSelectionCheckBox } from \"../../column-headers/record-selection-checkbox/RecordSelectionCheckbox\";\nimport { RowGroupingModule } from \"@ag-grid-enterprise/row-grouping\";\nimport { ServerSideRowModelModule } from \"@ag-grid-enterprise/server-side-row-model\";\nimport { ClipboardModule } from \"@ag-grid-enterprise/clipboard\";\nimport { FullRowLoading } from \"../../loading/full-row/FullRowLoading\";\nimport { FullWidthCellRendererError } from \"../../errors/FullWidthCellRendererError/FullWidthCellRendererError\";\nimport { LicenseManager } from \"@ag-grid-enterprise/core\";\nimport { SelectionCell } from \"../../cells/selection-cell/SelectionCell\";\nModuleRegistry.registerModules([RowGroupingModule, ServerSideRowModelModule, ClipboardModule,]);\n\ninterface IAgGridTestDependencies {\n grid: GridModel;\n getContainer: () => HTMLDivElement;\n}\n\nexport interface IAgGridModelEvents {\n onRefresh: () => void;\n}\n\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 aggregatedValue: 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 saving: boolean;\n}\n\nexport class AgGridModel extends EventEmitter<IAgGridModelEvents> {\n private _grid: GridModel;\n private _dataSource: ServerSideDatasource;\n private _gridApi: GridApi | undefined;\n private _hasUserResizedColumns: boolean = false;\n private _getContainer: () => HTMLDivElement;\n private _debouncedColumnResized: debounce.DebouncedFunction<(e: ColumnResizedEvent<IRecord>) => void>;\n private _debouncedSetSelectedNodes: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _expandedRowGroupIds: string[] = [];\n private _hasUserExpandedRowGroups: boolean = false;\n private _isLoadingNestedProviders: boolean = false;\n private _idsToAddToExpandGroupState = new Set<string>();\n private _intervals: NodeJS.Timeout[] = [];\n\n\n constructor({ grid, getContainer }: IAgGridTestDependencies) {\n super();\n this._grid = grid;\n this._getContainer = getContainer;\n this._dataSource = new ServerSideDatasource(this);\n this._debouncedColumnResized = debounce((e: ColumnResizedEvent<IRecord>) => this._onColumnResized(e));\n this._debouncedSetSelectedNodes = debounce((ids) => this._setSelectedNodes(ids), 0);\n this._localHarnessDebugSetup();\n const licenseKey = this._grid.getLicenseKey();\n if (licenseKey) {\n LicenseManager.setLicenseKey(licenseKey);\n }\n }\n\n public getColumns(gridColumns: IGridColumn[]): ColDef[] {\n if (this._grid.getDataset().grouping.getGroupBys().length > 0 && !this._grid.isGroupedColumnsPinnedEnabled()) {\n this._sortColumns(gridColumns);\n }\n const agColumns: ColDef[] = [];\n for (const column of gridColumns) {\n if (column.isHidden) {\n continue;\n }\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n lockPinned: true,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n autoHeight: this._isColumnAutoHeightEnabled(column),\n suppressMovable: column.isDraggable === false ? true : false,\n pinned: this._isColumnPinned(column),\n headerComponentParams: {\n baseColumn: column\n },\n rowGroup: column.grouping?.isGrouped,\n cellRendererParams: (p: any) => {\n return {\n ...this._getCellParameters(p.data, column),\n isCellEditor: false\n }\n },\n cellEditorParams: (p: any) => {\n return {\n ...this._getCellParameters(p.data, column),\n isCellEditor: true\n }\n },\n editable: (p) => this._isCellEditorEnabled(column.name, p.data),\n equals: (valueA: ICellValues, valueB: ICellValues) => new Comparator().isEqual(valueA, valueB),\n headerComponent: ColumnHeader,\n cellRenderer: Cell,\n cellEditor: Cell,\n valueGetter: (p: ValueGetterParams<IRecord>) => this._valueGetter(p, column),\n valueFormatter: (p: ValueFormatterParams<IRecord>) => this._valueFormatter(p),\n suppressKeyboardEvent: (p) => this._suppressKeyboardEvent(p, column),\n onCellDoubleClicked: (e: CellDoubleClickedEvent<IRecord>) => this._onCellDoubleClick(e),\n }\n agColumns.push(agColumn);\n }\n if (this._grid.getSelectionType() !== 'none' || this._grid.isEditingEnabled()) {\n agColumns.unshift(this._createCheckBoxColumn())\n }\n return agColumns;\n }\n\n public executeWithGridApi(callback: (gridApi: GridApi) => void) {\n if (!this._gridApi || this._gridApi.isDestroyed()) {\n return;\n }\n return callback(this._gridApi);\n }\n\n public init(gridApi: GridApi) {\n this._gridApi = gridApi;\n this._registerEventListeners();\n this._setGridOptions();\n this._setCurrentColumns();\n if (!this._grid.getDataset().loading) {\n //we need to call this here since the events already fired before the grid api was ready\n this._onNewDataLoaded();\n this._setTotalRow();\n }\n }\n\n public getGrid(): GridModel {\n return this._grid;\n }\n\n public getSelectionType(): 'single' | 'multiple' | undefined {\n switch (this._grid.getSelectionType()) {\n case 'none': {\n return undefined;\n }\n case 'single': {\n return 'single';\n }\n case 'multiple': {\n return 'multiple';\n }\n }\n }\n\n public toggleGroup(node: IRowNode<IRecord>) {\n node.setExpanded(!node.expanded);\n //clears the expanded rows in memory so it does not interfere with the next group expansion\n this._expandedRowGroupIds = [];\n this._hasUserExpandedRowGroups = true;\n }\n\n public getRecordSelectionState(node: IRowNode<IRecord>): 'checked' | 'unchecked' | 'indeterminate' {\n const record = node.data!;\n const dataProvider = record.getDataProvider();\n const childDataProvider = dataProvider.getGroupedRecordDataProvider(record.getRecordId());\n let result: 'checked' | 'unchecked' | 'indeterminate';\n if (childDataProvider) {\n if (node.isSelected()) {\n result = 'checked';\n }\n else {\n if (childDataProvider.getSelectedRecordIds().length === 0) {\n result = 'unchecked';\n }\n else {\n result = 'indeterminate';\n }\n }\n }\n else {\n result = node.isSelected() ? 'checked' : 'unchecked';\n }\n if (record.getSummarizationType() === 'grouping') {\n if (result === 'unchecked') {\n this._idsToAddToExpandGroupState.delete(record.getRecordId());\n }\n else {\n this._idsToAddToExpandGroupState.add(record.getRecordId());\n }\n }\n return result;\n }\n\n public onNotifyOutputChanged(record: IRecord, columnName: string, value: any, parameters: any) {\n record.setValue(columnName, value);\n if(this.getGrid().isAutoSaveEnabled()) {\n record.save();\n }\n const { ShouldUnmountWhenOutputChanges } = parameters;\n if (ShouldUnmountWhenOutputChanges?.raw) {\n this.executeWithGridApi(gridApi => gridApi.stopEditing());\n }\n }\n\n private _localHarnessDebugSetup() {\n if (this._grid.getParameters().IsLocalHarnessDebugMode?.raw === 'true') {\n window.addEventListener('visibilitychange', () => {\n this._saveState();\n })\n }\n }\n\n private _createCheckBoxColumn(): ColDef {\n return {\n colId: DataProvider.CONST.CHECKBOX_COLUMN_KEY,\n field: DataProvider.CONST.CHECKBOX_COLUMN_KEY,\n headerName: '',\n width: 40,\n lockPinned: true,\n resizable: false,\n pinned: 'left',\n headerComponent: RecordSelectionCheckBox,\n cellRenderer: SelectionCell,\n suppressSizeToFit: true,\n suppressMovable: true,\n valueGetter: () => null,\n valueFormatter: () => '',\n cellRendererParams: (p: any) => {\n return {\n record: p.data\n }\n }\n }\n }\n\n private _sortColumns(columns: IGridColumn[]): IGridColumn[] {\n return columns.sort((a, b) => {\n // If both columns have the same grouping status, maintain original order (return 0)\n if ((a.grouping?.isGrouped || false) === (b.grouping?.isGrouped || false)) {\n return 0;\n }\n // If a is grouped, it should come first\n if (a.grouping?.isGrouped) {\n return -1;\n }\n // If b is grouped, it should come first\n if (b.grouping?.isGrouped) {\n return 1;\n }\n // Default case, should never reach here given the first condition\n return 0;\n });\n }\n\n private _onDestroyed() {\n this._intervals.forEach(interval => clearInterval(interval));\n this._saveState();\n }\n\n private _setCurrentColumns() {\n const gridColumns = this._grid.getGridColumns();\n this.executeWithGridApi(gridApi => gridApi.setGridOption('columnDefs', this.getColumns(gridColumns)));\n this._autoSizeColumns();\n }\n\n private _isColumnAutoHeightEnabled(column: IGridColumn): boolean {\n return !!column.autoHeight\n }\n\n private _onCellDoubleClick(e: CellDoubleClickedEvent<IRecord>) {\n const column = this._dataset.getDataProvider().getColumnsMap()[e.colDef.colId!]!\n switch (true) {\n case !this._grid.isNavigationEnabled():\n //do not navigate on editable columns\n case this._grid.isColumnEditable(column.name, e.data):\n //do not navigate on aggregated/grouped rows\n case e.data?.getSummarizationType() !== 'none':\n //do not navigate on checkbox column\n case column.name === DataProvider.CONST.CHECKBOX_COLUMN_KEY: {\n break;\n }\n default: {\n const record = e.data!;\n record.getDataProvider().openDatasetItem(record.getNamedReference());\n }\n }\n }\n\n private _saveState() {\n this.executeWithGridApi(gridApi => {\n const { rowSelection, columnOrder, ...gridState } = gridApi.getState();\n const selectedGroupIds = this._grid.getDataset().getSelectedRecordIds({ includeGroupRecordIds: true }).filter(id => id.startsWith(DataProvider.CONST.GROUP_PREFIX));\n const expandedRowGroupIds = new Set<string>([...selectedGroupIds, ...this._idsToAddToExpandGroupState.values()]);\n if (expandedRowGroupIds.size > 0) {\n gridState.rowGroupExpansion = {\n expandedRowGroupIds: [...expandedRowGroupIds.values()]\n }\n }\n const state = this.getGrid().getState() || {};\n state.AgGridState = gridState;\n this.getGrid().getPcfContext().mode.setControlState(state);\n });\n }\n\n private _isColumnPinned(column: IGridColumn) {\n switch (true) {\n case column.grouping?.isGrouped && this._grid.isGroupedColumnsPinnedEnabled(): {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n private _getCellParameters(record: IRecord, column: IGridColumn) {\n return {\n baseColumn: column,\n record: record\n }\n }\n\n private _scrollToTop() {\n this.executeWithGridApi(gridApi => gridApi.ensureIndexVisible(0, 'top'));\n }\n\n private _canExpandRowGroupsByDefault(): boolean {\n if (this._hasUserExpandedRowGroups) {\n return false;\n }\n else {\n return true;\n }\n }\n\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn): boolean {\n if (column.oneClickEdit) {\n return true;\n }\n return false;\n }\n\n private _registerEventListeners() {\n this._dataset.addEventListener('onLoading', (isLoading: boolean) => this._setLoadingOverlay(this._dataset.loading));\n this._dataset.addEventListener('onRecordsSelected', (ids: string[]) => this._debouncedSetSelectedNodes(ids));\n this._dataset.addEventListener('onNewDataLoaded', () => this._onNewDataLoaded());\n this._dataset.addEventListener('onRenderRequested', () => this.executeWithGridApi(gridApi => gridApi.refreshCells()));\n this._dataset.addEventListener('onFirstDataLoaded', () => this._setTotalRow());\n this.executeWithGridApi(gridApi => {\n gridApi.addEventListener('gridSizeChanged', () => this._autoSizeColumns());\n gridApi.addEventListener('firstDataRendered', () => this._autoSizeColumns());\n gridApi.addEventListener('selectionChanged', (e: SelectionChangedEvent) => this._onSelectionChanged(e));\n gridApi.addEventListener('columnResized', (e: any) => this._debouncedColumnResized(e));\n gridApi.addEventListener('modelUpdated', () => {\n if (this._grid.getDataset().loading) {\n this._setLoadingOverlay(true);\n }\n this._setGridHeight();\n });\n gridApi.addEventListener('columnMoved', (e: ColumnMovedEvent<IRecord>) => this._onColumnMoved(e));\n gridApi.addEventListener('firstDataRendered', () => this._handleSelectionFromState());\n gridApi.addEventListener('gridPreDestroyed', () => this._onDestroyed());\n });\n }\n\n private _setTotalRow() {\n const totalRowDataProvider = this._grid.getTotalRow().getDataProvider();\n totalRowDataProvider.addEventListener('onLoading', () => this._setPinnedRowData());\n totalRowDataProvider.addEventListener('onError', () => this._setPinnedRowData());\n this._setPinnedRowData();\n }\n\n private _setGridOptions() {\n this.executeWithGridApi(gridApi => {\n gridApi.setGridOption('serverSideDatasource', this._dataSource);\n gridApi.setGridOption('isServerSideGroupOpenByDefault', (params) => this._syncExpandedRowGroups(params));\n gridApi.setGridOption('loadingCellRenderer', FullRowLoading)\n gridApi.setGridOption('suppressDragLeaveHidesColumns', true);\n gridApi.setGridOption('isFullWidthRow', (params) => this._isFullWidthRow(params));\n gridApi.setGridOption('fullWidthCellRenderer', FullWidthCellRendererError);\n gridApi.setGridOption('fullWidthCellRendererParams', (params: IsFullWidthRowParams<IRecord>) => this._getFullWidthCellRendererParams(params))\n gridApi.setGridOption('suppressCopyRowsToClipboard', true);\n gridApi.setGridOption('animateRows', false);\n gridApi.setGridOption('groupDisplayType', 'custom');\n });\n }\n\n private _isFullWidthRow(params: IsFullWidthRowParams<IRecord>): boolean {\n const provider = params.rowNode.data?.getDataProvider();\n switch (true) {\n case provider?.getSummarizationType() === 'aggregation' && provider.isError(): {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n //this should only be triggered when we load the grid with some item pre-selected from state\n //e.g. navigating to a record and coming back to the grid\n private _handleSelectionFromState() {\n const selectedRecordIds = this._grid.getDataset().getSelectedRecordIds();\n this._grid.getDataset().clearSelectedRecordIds();\n let isScrolledToMiddle = false;\n const localIntervals: NodeJS.Timeout[] = [];\n const resolvedProviderSet = new Set<IDataProvider>();\n for (const id of selectedRecordIds) {\n const interval = setInterval(() => {\n const record = this._grid.getDataset().getDataProvider().getRecordsMap()[id];\n if (record) {\n clearInterval(interval);\n const provider = record.getDataProvider();\n if (!resolvedProviderSet.has(provider)) {\n const recordIdsToSelect = selectedRecordIds.filter(id => provider.getRecordsMap()[id])\n provider.setSelectedRecordIds(recordIdsToSelect);\n resolvedProviderSet.add(provider);\n }\n if (!isScrolledToMiddle) {\n const middleSelectedRecordId = selectedRecordIds[Math.floor(selectedRecordIds.length / 2)]\n this.executeWithGridApi(gridApi => {\n const node = gridApi.getRowNode(middleSelectedRecordId);\n if (node) {\n isScrolledToMiddle = true;\n gridApi.ensureNodeVisible(node!, 'middle');\n }\n });\n }\n }\n }, 100);\n localIntervals.push(interval);\n this._intervals.push(interval);\n }\n //abandon the selection after 5 seconds\n //this could be done better by detecting if we are done loading all providers\n setTimeout(() => {\n localIntervals.forEach(interval => clearInterval(interval));\n }, 5000);\n }\n\n private _getFullWidthCellRendererParams(params: IsFullWidthRowParams<IRecord>) {\n //@ts-ignore - typings seem to be incorrect\n const provider = params.node.data?.getDataProvider()\n return {\n errorMessage: provider?.getErrorMessage()\n }\n }\n\n private _syncExpandedRowGroups(params: IsServerSideGroupOpenByDefaultParams): boolean {\n if (this._expandedRowGroupIds.includes(params.rowNode.id!)) {\n return true\n }\n else if (this._canExpandRowGroupsByDefault()) {\n return params.rowNode.level <= this._grid.getDefaultExpandedGroupLevel();\n }\n else return false;\n }\n\n private _onColumnMoved(e: ColumnMovedEvent<IRecord>) {\n const movedColumn = this._grid.getDataset().getDataProvider().getColumnsMap()[e.column?.getColId()!];\n if (!e.finished || e.source !== 'uiColumnMoved') {\n return;\n }\n let order = 0;\n const newColumnsMap = new Map<string, IColumn>(this._grid.getDataset().columns.map(col => [col.name, col]));\n for (const colId of e.api.getState().columnOrder?.orderedColIds!) {\n if (newColumnsMap.has(colId)) {\n newColumnsMap.set(colId, { ...newColumnsMap.get(colId)!, order: order++ });\n }\n }\n this._dataset.setColumns([...newColumnsMap.values()]);\n if (movedColumn?.grouping?.isGrouped) {\n this._dataset.refresh();\n }\n }\n\n private _onNewDataLoaded() {\n this._refreshServerSideModel();\n this._setCurrentColumns();\n this._setNoRowsOverlay();\n this._scrollToTop();\n }\n\n private _refreshServerSideModel() {\n this.executeWithGridApi(gridApi => {\n this._expandedRowGroupIds = gridApi.getState()?.rowGroupExpansion?.expandedRowGroupIds ?? [];\n gridApi.refreshServerSide({\n purge: true\n })\n });\n }\n\n private _calculateGridHeight(): string {\n const defaultRowHeight = this._grid.getDefaultRowHeight();\n let offset = 35;\n if (this._dataset.grouping.getGroupBys().length > 0) {\n offset += 30;\n }\n if (this._grid.getParameters().Height?.raw) {\n return this._grid.getParameters().Height!.raw!;\n }\n else {\n let totalRowHeight = 0;\n let numberOfRecords = 0;\n this.executeWithGridApi(gridApi => {\n const renderedNodes = gridApi.getRenderedNodes();\n totalRowHeight = renderedNodes.reduce((acc, node) => acc + (node.rowHeight ?? defaultRowHeight), 0);\n numberOfRecords = renderedNodes.length;\n });\n if (numberOfRecords <= 15) {\n const headerHeight = this._getContainer().querySelector('.ag-header-row')?.clientHeight ?? 0;\n return `${totalRowHeight + headerHeight + offset}px`;\n }\n else {\n return `${defaultRowHeight * 17 + offset}px`;\n }\n }\n }\n private _setGridHeight() {\n setTimeout(() => {\n const container = this._getContainer();\n if (container) {\n container.style.height = this._calculateGridHeight();\n }\n }, 100);\n }\n\n private _onColumnResized(e: ColumnResizedEvent<IRecord>) {\n if (e.source === 'uiColumnResized') {\n this._hasUserResizedColumns = true;\n this._updateColumnVisualSizeFactor(e);\n }\n }\n\n private _autoSizeColumns() {\n if (this._hasUserResizedColumns) {\n return;\n }\n this.executeWithGridApi(gridApi => {\n gridApi.sizeColumnsToFit({\n columnLimits: this._grid.getDataset().columns.map(col => {\n return {\n key: col.name,\n minWidth: col.visualSizeFactor\n }\n })\n });\n });\n }\n\n private _updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord>) {\n const resizedColumnKey = e.column?.getColId();\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.getDataset().columns; const newColumns = columns.map(col => {\n if (col.name === resizedColumnKey) {\n return {\n ...col,\n visualSizeFactor: e.column?.getActualWidth()!\n }\n }\n return col;\n })\n this._grid.getDataset().setColumns(newColumns);\n }\n\n private _onSelectionChanged(e: SelectionChangedEvent<IRecord>) {\n switch (true) {\n case e.source === 'api':\n case e.source === 'apiSelectAll': {\n return;\n }\n }\n let selectedNodes: IRowNode<IRecord>[] = [];\n this.executeWithGridApi(gridApi => {\n selectedNodes = gridApi.getSelectedNodes();\n });\n //if we click a grouped record, do not propagate the selection to children\n const providerSelectedRecordIdsMap = new Map<IDataProvider, string[]>();\n selectedNodes.map(node => {\n const record = node.data!;\n const provider = record.getDataProvider();\n if (!providerSelectedRecordIdsMap.has(provider)) {\n providerSelectedRecordIdsMap.set(provider, []);\n }\n providerSelectedRecordIdsMap.get(provider)!.push(record.getRecordId());\n })\n providerSelectedRecordIdsMap.forEach((ids, provider) => {\n provider.setSelectedRecordIds(ids);\n });\n }\n\n private async _setSelectedNodes(ids: string[]) {\n //interval to prevent infinite loading\n const checkLoadingNestedProviders = setInterval(() => {\n if (this._isLoadingNestedProviders && !this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = false;\n this._dataset.getDataProvider().setLoading(false);\n clearInterval(checkLoadingNestedProviders);\n }\n }, 500);\n this._intervals.push(checkLoadingNestedProviders);\n if (!this._isLoadingNestedProviders && this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = true;\n this._dataset.getDataProvider().setLoading(true);\n }\n else if (this._isLoadingNestedProviders && !this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = false;\n this._dataset.getDataProvider().setLoading(false);\n clearInterval(checkLoadingNestedProviders);\n }\n this.executeWithGridApi(gridApi => {\n gridApi.setServerSideSelectionState({\n selectAll: false,\n toggledNodes: this._grid.getDataset().getDataProvider().getSelectedRecordIds({ includeGroupRecordIds: true })\n })\n gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true\n })\n });\n }\n\n private _areChildProvidersLoading(): boolean {\n const childProviders = this._dataset.getDataProvider().getGroupedRecordDataProviders(true).filter(x => x.getParentRecordId());\n return childProviders.some(provider => provider.isLoading());\n }\n\n private _valueFormatter(p: ValueFormatterParams<IRecord>): string {\n const formattedValue = this._grid.getRecordFormattedValue(p.data!, p.colDef.colId!);\n return formattedValue.value ?? formattedValue.aggregatedValue;\n }\n\n private _valueGetter(p: ValueGetterParams<IRecord>, column: IGridColumn) {\n const record = p.data!;\n let editing: boolean = false;\n const columnInfo = record.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 (Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.getPcfContext(),\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...this._grid.getFieldBindingParameters(record, column, editing),\n ...control.getParameters(),\n })\n if (column.oneClickEdit && record.getSummarizationType() === 'none') {\n editing = true;\n }\n const value = this._grid.getRecordValue(record, column);\n return {\n notifications: columnInfo.ui.getNotifications(),\n value: value.value,\n customFormatting: this._grid.getFieldFormatting(record, column.name),\n customControl: customControl,\n error: columnInfo.error,\n aggregatedValue: value.aggregatedValue,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n saving: record.isSaving(),\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n }\n\n private _setPinnedRowData() {\n const totalRecord = this._grid.getTotalRow().getTotalRowRecord();\n this.executeWithGridApi(gridApi => gridApi.setGridOption('pinnedBottomRowData', totalRecord ? [totalRecord] : []));\n }\n\n private _setLoadingOverlay(isLoading: boolean) {\n if (!isLoading) {\n return this.executeWithGridApi(gridApi => gridApi.hideOverlay());\n }\n this.executeWithGridApi(gridApi => gridApi.showLoadingOverlay());\n }\n\n private _setNoRowsOverlay() {\n setTimeout(() => {\n if (this._grid.getDataset().loading) {\n return;\n }\n this.executeWithGridApi(gridApi => {\n gridApi.hideOverlay();\n if (this._grid.getDataset().getDataProvider().getRecords().length === 0) {\n gridApi.showNoRowsOverlay();\n }\n });\n }, 0);\n }\n\n private _isCellEditorEnabled(columnName: string, record: IRecord): boolean {\n\n const column = this._grid.getGridColumnByName(columnName); // check column eligibility for cell editor\n switch (true) {\n //never allow cell editor for oneClickEdit - everything is handled by cell renderer in this case\n case column.oneClickEdit:\n //never allow cell editor for non-editable columns\n case !column.isEditable: {\n return false;\n }\n }\n return record.getColumnInfo(column.name).security.editable;\n }\n\n private get _dataset() {\n return this._grid.getDataset();\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AgGridModel.js","sources":["../../../../../src/components/Grid/grid/ag-grid/AgGridModel.ts"],"sourcesContent":["import { CellClickedEvent, CellDoubleClickedEvent, ColDef, ColumnMovedEvent, ColumnResizedEvent, GridApi, IRowNode, IsFullWidthRowParams, IsServerSideGroupOpenByDefaultParams, ModuleRegistry, SelectionChangedEvent, SuppressKeyboardEventParams, ValueFormatterParams, ValueGetterParams } from \"@ag-grid-community/core\";\nimport debounce from 'debounce';\nimport { GridModel, IGridColumn } from \"../GridModel\";\nimport { Client, DataProvider, EventEmitter, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IDataProvider, IRecord, Operators } from \"@talxis/client-libraries\";\nimport { NestedControl } from \"../../../NestedControlRenderer/NestedControl\";\nimport { Cell } from \"../../cells/cell/Cell\";\nimport { ColumnHeader } from \"../../column-headers/column-header/ColumnHeader\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { Comparator } from \"../ValueComparator\";\nimport { ServerSideDatasource } from \"./ServerSideDatasource\";\nimport { RecordSelectionCheckBox } from \"../../column-headers/record-selection-checkbox/RecordSelectionCheckbox\";\nimport { RowGroupingModule } from \"@ag-grid-enterprise/row-grouping\";\nimport { ServerSideRowModelModule } from \"@ag-grid-enterprise/server-side-row-model\";\nimport { ClipboardModule } from \"@ag-grid-enterprise/clipboard\";\nimport { FullRowLoading } from \"../../loading/full-row/FullRowLoading\";\nimport { FullWidthCellRendererError } from \"../../errors/FullWidthCellRendererError/FullWidthCellRendererError\";\nimport { LicenseManager } from \"@ag-grid-enterprise/core\";\nimport { SelectionCell } from \"../../cells/selection-cell/SelectionCell\";\nModuleRegistry.registerModules([RowGroupingModule, ServerSideRowModelModule, ClipboardModule,]);\n\ninterface IAgGridTestDependencies {\n grid: GridModel;\n getContainer: () => HTMLDivElement;\n}\n\nexport interface IAgGridModelEvents {\n onRefresh: () => void;\n}\n\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 aggregatedValue: 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 saving: boolean;\n}\n\nexport class AgGridModel extends EventEmitter<IAgGridModelEvents> {\n private _grid: GridModel;\n private _dataSource: ServerSideDatasource;\n private _gridApi: GridApi | undefined;\n private _hasUserResizedColumns: boolean = false;\n private _getContainer: () => HTMLDivElement;\n private _debouncedColumnResized: debounce.DebouncedFunction<(e: ColumnResizedEvent<IRecord>) => void>;\n private _debouncedSetSelectedNodes: debounce.DebouncedFunction<(ids: string[]) => void>;\n private _expandedRowGroupIds: string[] = [];\n private _hasUserExpandedRowGroups: boolean = false;\n private _isLoadingNestedProviders: boolean = false;\n private _idsToAddToExpandGroupState = new Set<string>();\n private _intervals: NodeJS.Timeout[] = [];\n\n\n constructor({ grid, getContainer }: IAgGridTestDependencies) {\n super();\n this._grid = grid;\n this._getContainer = getContainer;\n this._dataSource = new ServerSideDatasource(this);\n this._debouncedColumnResized = debounce((e: ColumnResizedEvent<IRecord>) => this._onColumnResized(e));\n this._debouncedSetSelectedNodes = debounce((ids) => this._setSelectedNodes(ids), 0);\n this._localHarnessDebugSetup();\n const licenseKey = this._grid.getLicenseKey();\n if (licenseKey) {\n LicenseManager.setLicenseKey(licenseKey);\n }\n }\n\n public getColumns(gridColumns: IGridColumn[]): ColDef[] {\n if (this._grid.getDataset().grouping.getGroupBys().length > 0 && !this._grid.isGroupedColumnsPinnedEnabled()) {\n this._sortColumns(gridColumns);\n }\n const agColumns: ColDef[] = [];\n for (const column of gridColumns) {\n if (column.isHidden) {\n continue;\n }\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n lockPinned: true,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n autoHeight: this._isColumnAutoHeightEnabled(column),\n suppressMovable: column.isDraggable === false ? true : false,\n pinned: this._isColumnPinned(column),\n headerComponentParams: {\n baseColumn: column\n },\n rowGroup: column.grouping?.isGrouped,\n cellRendererParams: (p: any) => {\n return {\n ...this._getCellParameters(p.data, column),\n isCellEditor: false\n }\n },\n cellEditorParams: (p: any) => {\n return {\n ...this._getCellParameters(p.data, column),\n isCellEditor: true\n }\n },\n editable: (p) => this._isCellEditorEnabled(column.name, p.data),\n equals: (valueA: ICellValues, valueB: ICellValues) => new Comparator().isEqual(valueA, valueB),\n headerComponent: ColumnHeader,\n cellRenderer: Cell,\n cellEditor: Cell,\n valueGetter: (p: ValueGetterParams<IRecord>) => this._valueGetter(p, column),\n valueFormatter: (p: ValueFormatterParams<IRecord>) => this._valueFormatter(p),\n suppressKeyboardEvent: (p) => this._suppressKeyboardEvent(p, column),\n onCellDoubleClicked: (e: CellDoubleClickedEvent<IRecord>) => this._onCellDoubleClick(e),\n }\n agColumns.push(agColumn);\n }\n if (this._grid.getSelectionType() !== 'none' || this._grid.isEditingEnabled()) {\n agColumns.unshift(this._createCheckBoxColumn())\n }\n return agColumns;\n }\n\n public executeWithGridApi(callback: (gridApi: GridApi) => void) {\n if (!this._gridApi || this._gridApi.isDestroyed()) {\n return;\n }\n return callback(this._gridApi);\n }\n\n public init(gridApi: GridApi) {\n this._gridApi = gridApi;\n this._registerEventListeners();\n this._setGridOptions();\n this._setCurrentColumns();\n if (!this._grid.getDataset().loading) {\n //we need to call this here since the events already fired before the grid api was ready\n this._onNewDataLoaded();\n this._setTotalRow();\n }\n }\n\n public getGrid(): GridModel {\n return this._grid;\n }\n\n public getSelectionType(): 'single' | 'multiple' | undefined {\n switch (this._grid.getSelectionType()) {\n case 'none': {\n return undefined;\n }\n case 'single': {\n return 'single';\n }\n case 'multiple': {\n return 'multiple';\n }\n }\n }\n\n public toggleGroup(node: IRowNode<IRecord>) {\n node.setExpanded(!node.expanded);\n //clears the expanded rows in memory so it does not interfere with the next group expansion\n this._expandedRowGroupIds = [];\n this._hasUserExpandedRowGroups = true;\n }\n\n public getRecordSelectionState(node: IRowNode<IRecord>): 'checked' | 'unchecked' | 'indeterminate' {\n const record = node.data!;\n const dataProvider = record.getDataProvider();\n const childDataProvider = dataProvider.getGroupedRecordDataProvider(record.getRecordId());\n let result: 'checked' | 'unchecked' | 'indeterminate';\n if (childDataProvider) {\n if (node.isSelected()) {\n result = 'checked';\n }\n else {\n if (childDataProvider.getSelectedRecordIds().length === 0) {\n result = 'unchecked';\n }\n else {\n result = 'indeterminate';\n }\n }\n }\n else {\n result = node.isSelected() ? 'checked' : 'unchecked';\n }\n if (record.getSummarizationType() === 'grouping') {\n if (result === 'unchecked') {\n this._idsToAddToExpandGroupState.delete(record.getRecordId());\n }\n else {\n this._idsToAddToExpandGroupState.add(record.getRecordId());\n }\n }\n return result;\n }\n\n public onNotifyOutputChanged(record: IRecord, columnName: string, value: any, parameters: any) {\n record.setValue(columnName, value);\n if(this.getGrid().isAutoSaveEnabled()) {\n record.save();\n }\n const { ShouldUnmountWhenOutputChanges } = parameters;\n if (ShouldUnmountWhenOutputChanges?.raw) {\n this.executeWithGridApi(gridApi => gridApi.stopEditing());\n }\n }\n\n private _localHarnessDebugSetup() {\n if (this._grid.getParameters().IsLocalHarnessDebugMode?.raw === 'true') {\n window.addEventListener('visibilitychange', () => {\n this._saveState();\n })\n }\n }\n\n private _createCheckBoxColumn(): ColDef {\n return {\n colId: DataProvider.CONST.CHECKBOX_COLUMN_KEY,\n field: DataProvider.CONST.CHECKBOX_COLUMN_KEY,\n headerName: '',\n width: 40,\n lockPinned: true,\n resizable: false,\n pinned: 'left',\n headerComponent: RecordSelectionCheckBox,\n cellRenderer: SelectionCell,\n suppressSizeToFit: true,\n suppressMovable: true,\n valueGetter: () => null,\n valueFormatter: () => '',\n cellRendererParams: (p: any) => {\n return {\n record: p.data\n }\n }\n }\n }\n\n private _sortColumns(columns: IGridColumn[]): IGridColumn[] {\n return columns.sort((a, b) => {\n // If both columns have the same grouping status, maintain original order (return 0)\n if ((a.grouping?.isGrouped || false) === (b.grouping?.isGrouped || false)) {\n return 0;\n }\n // If a is grouped, it should come first\n if (a.grouping?.isGrouped) {\n return -1;\n }\n // If b is grouped, it should come first\n if (b.grouping?.isGrouped) {\n return 1;\n }\n // Default case, should never reach here given the first condition\n return 0;\n });\n }\n\n private _onDestroyed() {\n this._intervals.forEach(interval => clearInterval(interval));\n this._saveState();\n }\n\n private _setCurrentColumns() {\n const gridColumns = this._grid.getGridColumns();\n this.executeWithGridApi(gridApi => gridApi.setGridOption('columnDefs', this.getColumns(gridColumns)));\n this._autoSizeColumns();\n }\n\n private _isColumnAutoHeightEnabled(column: IGridColumn): boolean {\n return !!column.autoHeight\n }\n\n private _onCellDoubleClick(e: CellDoubleClickedEvent<IRecord>) {\n const column = this._dataset.getDataProvider().getColumnsMap()[e.colDef.colId!]!\n switch (true) {\n case !this._grid.isNavigationEnabled():\n //do not navigate on editable columns\n case this._grid.isColumnEditable(column.name, e.data):\n //do not navigate on aggregated/grouped rows\n case e.data?.getSummarizationType() !== 'none':\n //do not navigate on checkbox column\n case column.name === DataProvider.CONST.CHECKBOX_COLUMN_KEY: {\n break;\n }\n default: {\n const record = e.data!;\n record.getDataProvider().openDatasetItem(record.getNamedReference());\n }\n }\n }\n\n private _saveState() {\n this.executeWithGridApi(gridApi => {\n const { rowSelection, columnOrder, ...gridState } = gridApi.getState();\n const selectedGroupIds = this._grid.getDataset().getSelectedRecordIds({ includeGroupRecordIds: true }).filter(id => id.startsWith(DataProvider.CONST.GROUP_PREFIX));\n const expandedRowGroupIds = new Set<string>([...selectedGroupIds, ...this._idsToAddToExpandGroupState.values()]);\n if (expandedRowGroupIds.size > 0) {\n gridState.rowGroupExpansion = {\n expandedRowGroupIds: [...expandedRowGroupIds.values()]\n }\n }\n const state = this.getGrid().getState() || {};\n state.AgGridState = gridState;\n this.getGrid().getPcfContext().mode.setControlState(state);\n });\n }\n\n private _isColumnPinned(column: IGridColumn) {\n switch (true) {\n case column.grouping?.isGrouped && this._grid.isGroupedColumnsPinnedEnabled(): {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n private _getCellParameters(record: IRecord, column: IGridColumn) {\n return {\n baseColumn: column,\n record: record\n }\n }\n\n private _scrollToTop() {\n this.executeWithGridApi(gridApi => gridApi.ensureIndexVisible(0, 'top'));\n }\n\n private _canExpandRowGroupsByDefault(): boolean {\n if (this._hasUserExpandedRowGroups) {\n return false;\n }\n else {\n return true;\n }\n }\n\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn): boolean {\n if (column.oneClickEdit) {\n return true;\n }\n return false;\n }\n\n private _registerEventListeners() {\n this._dataset.addEventListener('onLoading', (isLoading: boolean) => this._setLoadingOverlay(this._dataset.loading));\n this._dataset.addEventListener('onRecordsSelected', (ids: string[]) => this._debouncedSetSelectedNodes(ids));\n this._dataset.addEventListener('onNewDataLoaded', () => this._onNewDataLoaded());\n this._dataset.addEventListener('onRenderRequested', () => this.executeWithGridApi(gridApi => gridApi.refreshCells()));\n this._dataset.addEventListener('onFirstDataLoaded', () => this._setTotalRow());\n this.executeWithGridApi(gridApi => {\n gridApi.addEventListener('gridSizeChanged', () => this._autoSizeColumns());\n gridApi.addEventListener('firstDataRendered', () => this._autoSizeColumns());\n gridApi.addEventListener('selectionChanged', (e: SelectionChangedEvent) => this._onSelectionChanged(e));\n gridApi.addEventListener('columnResized', (e: any) => this._debouncedColumnResized(e));\n gridApi.addEventListener('modelUpdated', () => {\n if (this._grid.getDataset().loading) {\n this._setLoadingOverlay(true);\n }\n this._setGridHeight();\n });\n gridApi.addEventListener('columnMoved', (e: ColumnMovedEvent<IRecord>) => this._onColumnMoved(e));\n gridApi.addEventListener('firstDataRendered', () => this._handleSelectionFromState());\n gridApi.addEventListener('gridPreDestroyed', () => this._onDestroyed());\n });\n }\n\n private _setTotalRow() {\n const totalRowDataProvider = this._grid.getTotalRow().getDataProvider();\n totalRowDataProvider.addEventListener('onLoading', () => this._setPinnedRowData());\n totalRowDataProvider.addEventListener('onError', () => this._setPinnedRowData());\n this._setPinnedRowData();\n }\n\n private _setGridOptions() {\n this.executeWithGridApi(gridApi => {\n gridApi.setGridOption('serverSideDatasource', this._dataSource);\n gridApi.setGridOption('isServerSideGroupOpenByDefault', (params) => this._syncExpandedRowGroups(params));\n gridApi.setGridOption('loadingCellRenderer', FullRowLoading)\n gridApi.setGridOption('suppressDragLeaveHidesColumns', true);\n gridApi.setGridOption('isFullWidthRow', (params) => this._isFullWidthRow(params));\n gridApi.setGridOption('fullWidthCellRenderer', FullWidthCellRendererError);\n gridApi.setGridOption('fullWidthCellRendererParams', (params: IsFullWidthRowParams<IRecord>) => this._getFullWidthCellRendererParams(params))\n gridApi.setGridOption('suppressCopyRowsToClipboard', true);\n gridApi.setGridOption('animateRows', false);\n gridApi.setGridOption('groupDisplayType', 'custom');\n });\n }\n\n private _isFullWidthRow(params: IsFullWidthRowParams<IRecord>): boolean {\n const provider = params.rowNode.data?.getDataProvider();\n switch (true) {\n case provider?.getSummarizationType() === 'aggregation' && provider.isError(): {\n return true;\n }\n default: {\n return false;\n }\n }\n }\n\n //this should only be triggered when we load the grid with some item pre-selected from state\n //e.g. navigating to a record and coming back to the grid\n private _handleSelectionFromState() {\n const selectedRecordIds = this._grid.getDataset().getSelectedRecordIds();\n this._grid.getDataset().clearSelectedRecordIds();\n let isScrolledToMiddle = false;\n const localIntervals: NodeJS.Timeout[] = [];\n const resolvedProviderSet = new Set<IDataProvider>();\n for (const id of selectedRecordIds) {\n const interval = setInterval(() => {\n const record = this._grid.getDataset().getDataProvider().getRecordsMap()[id];\n if (record) {\n clearInterval(interval);\n const provider = record.getDataProvider();\n if (!resolvedProviderSet.has(provider)) {\n const recordIdsToSelect = selectedRecordIds.filter(id => provider.getRecordsMap()[id])\n provider.setSelectedRecordIds(recordIdsToSelect);\n resolvedProviderSet.add(provider);\n }\n if (!isScrolledToMiddle) {\n const middleSelectedRecordId = selectedRecordIds[Math.floor(selectedRecordIds.length / 2)]\n this.executeWithGridApi(gridApi => {\n const node = gridApi.getRowNode(middleSelectedRecordId);\n if (node) {\n isScrolledToMiddle = true;\n gridApi.ensureNodeVisible(node!, 'middle');\n }\n });\n }\n }\n }, 100);\n localIntervals.push(interval);\n this._intervals.push(interval);\n }\n //abandon the selection after 5 seconds\n //this could be done better by detecting if we are done loading all providers\n setTimeout(() => {\n localIntervals.forEach(interval => clearInterval(interval));\n }, 5000);\n }\n\n private _getFullWidthCellRendererParams(params: IsFullWidthRowParams<IRecord>) {\n //@ts-ignore - typings seem to be incorrect\n const provider = params.node.data?.getDataProvider()\n return {\n errorMessage: provider?.getErrorMessage()\n }\n }\n\n private _syncExpandedRowGroups(params: IsServerSideGroupOpenByDefaultParams): boolean {\n if (this._expandedRowGroupIds.includes(params.rowNode.id!)) {\n return true\n }\n else if (this._canExpandRowGroupsByDefault()) {\n return params.rowNode.level <= this._grid.getDefaultExpandedGroupLevel();\n }\n else return false;\n }\n\n private _onColumnMoved(e: ColumnMovedEvent<IRecord>) {\n const movedColumn = this._grid.getDataset().getDataProvider().getColumnsMap()[e.column?.getColId()!];\n if (!e.finished || e.source !== 'uiColumnMoved') {\n return;\n }\n let order = 0;\n const newColumnsMap = new Map<string, IColumn>(this._grid.getDataset().columns.map(col => [col.name, col]));\n for (const colId of e.api.getState().columnOrder?.orderedColIds!) {\n if (newColumnsMap.has(colId)) {\n newColumnsMap.set(colId, { ...newColumnsMap.get(colId)!, order: order++ });\n }\n }\n this._dataset.setColumns([...newColumnsMap.values()]);\n if (movedColumn?.grouping?.isGrouped) {\n this._dataset.refresh();\n }\n }\n\n private _onNewDataLoaded() {\n this._refreshServerSideModel();\n this._setCurrentColumns();\n this._setNoRowsOverlay();\n this._scrollToTop();\n }\n\n private _refreshServerSideModel() {\n this.executeWithGridApi(gridApi => {\n this._expandedRowGroupIds = gridApi.getState()?.rowGroupExpansion?.expandedRowGroupIds ?? [];\n gridApi.refreshServerSide({\n purge: true\n })\n });\n }\n\n private _calculateGridHeight(): string {\n const defaultRowHeight = this._grid.getDefaultRowHeight();\n let offset = 35;\n if (this._dataset.grouping.getGroupBys().length > 0) {\n offset += 30;\n }\n if (this._grid.getParameters().Height?.raw) {\n return this._grid.getParameters().Height!.raw!;\n }\n else {\n let totalRowHeight = 0;\n let numberOfRecords = 0;\n this.executeWithGridApi(gridApi => {\n const renderedNodes = gridApi.getRenderedNodes();\n totalRowHeight = renderedNodes.reduce((acc, node) => acc + (node.rowHeight ?? defaultRowHeight), 0);\n numberOfRecords = renderedNodes.length;\n });\n if (numberOfRecords <= 15) {\n const headerHeight = this._getContainer().querySelector('.ag-header-row')?.clientHeight ?? 0;\n return `${totalRowHeight + headerHeight + offset}px`;\n }\n else {\n return `${defaultRowHeight * 17 + offset}px`;\n }\n }\n }\n private _setGridHeight() {\n setTimeout(() => {\n const container = this._getContainer();\n if (container) {\n container.style.height = this._calculateGridHeight();\n }\n }, 100);\n }\n\n private _onColumnResized(e: ColumnResizedEvent<IRecord>) {\n if (e.source === 'uiColumnResized') {\n this._hasUserResizedColumns = true;\n this._updateColumnVisualSizeFactor(e);\n }\n }\n\n private _autoSizeColumns() {\n if (this._hasUserResizedColumns) {\n return;\n }\n this.executeWithGridApi(gridApi => {\n gridApi.sizeColumnsToFit({\n columnLimits: this._grid.getDataset().columns.map(col => {\n return {\n key: col.name,\n minWidth: col.visualSizeFactor\n }\n })\n });\n });\n }\n\n private _updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord>) {\n const resizedColumnKey = e.column?.getColId();\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.getDataset().columns; const newColumns = columns.map(col => {\n if (col.name === resizedColumnKey) {\n return {\n ...col,\n visualSizeFactor: e.column?.getActualWidth()!\n }\n }\n return col;\n })\n this._grid.getDataset().setColumns(newColumns);\n }\n\n private _onSelectionChanged(e: SelectionChangedEvent<IRecord>) {\n switch (true) {\n case e.source === 'api':\n case e.source === 'apiSelectAll': {\n return;\n }\n }\n let selectedNodes: IRowNode<IRecord>[] = [];\n this.executeWithGridApi(gridApi => {\n selectedNodes = gridApi.getSelectedNodes();\n });\n //if we click a grouped record, do not propagate the selection to children\n const providerSelectedRecordIdsMap = new Map<IDataProvider, string[]>();\n selectedNodes.map(node => {\n const record = node.data!;\n const provider = record.getDataProvider();\n if (!providerSelectedRecordIdsMap.has(provider)) {\n providerSelectedRecordIdsMap.set(provider, []);\n }\n providerSelectedRecordIdsMap.get(provider)!.push(record.getRecordId());\n })\n providerSelectedRecordIdsMap.forEach((ids, provider) => {\n provider.setSelectedRecordIds(ids);\n });\n }\n\n private async _setSelectedNodes(ids: string[]) {\n //interval to prevent infinite loading\n const checkLoadingNestedProviders = setInterval(() => {\n if (this._isLoadingNestedProviders && !this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = false;\n this._dataset.getDataProvider().setLoading(false);\n clearInterval(checkLoadingNestedProviders);\n }\n }, 500);\n this._intervals.push(checkLoadingNestedProviders);\n if (!this._isLoadingNestedProviders && this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = true;\n this._dataset.getDataProvider().setLoading(true);\n }\n else if (this._isLoadingNestedProviders && !this._areChildProvidersLoading()) {\n this._isLoadingNestedProviders = false;\n this._dataset.getDataProvider().setLoading(false);\n clearInterval(checkLoadingNestedProviders);\n }\n this.executeWithGridApi(gridApi => {\n gridApi.setServerSideSelectionState({\n selectAll: false,\n toggledNodes: this._grid.getDataset().getDataProvider().getSelectedRecordIds({ includeGroupRecordIds: true })\n })\n gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true\n })\n });\n }\n\n private _areChildProvidersLoading(): boolean {\n const childProviders = this._dataset.getDataProvider().getGroupedRecordDataProviders(true).filter(x => x.getParentRecordId());\n return childProviders.some(provider => provider.isLoading());\n }\n\n private _valueFormatter(p: ValueFormatterParams<IRecord>): string {\n const formattedValue = this._grid.getRecordFormattedValue(p.data!, p.colDef.colId!);\n return formattedValue.value ?? formattedValue.aggregatedValue;\n }\n\n private _valueGetter(p: ValueGetterParams<IRecord>, column: IGridColumn) {\n const record = p.data!;\n let editing: boolean = false;\n const columnInfo = record.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 (Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.getPcfContext(),\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...this._grid.getFieldBindingParameters(record, column, editing),\n ...control.getParameters(),\n });\n if (column.oneClickEdit && record.getSummarizationType() === 'none') {\n editing = true;\n }\n const value = this._grid.getRecordValue(record, column);\n return {\n notifications: columnInfo.ui.getNotifications(),\n value: value.value,\n customFormatting: this._grid.getFieldFormatting(record, column.name),\n customControl: customControl,\n error: columnInfo.error,\n aggregatedValue: value.aggregatedValue,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: column.isEditable && columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n saving: record.isSaving(),\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n }\n\n private _setPinnedRowData() {\n const totalRecord = this._grid.getTotalRow().getTotalRowRecord();\n this.executeWithGridApi(gridApi => gridApi.setGridOption('pinnedBottomRowData', totalRecord ? [totalRecord] : []));\n }\n\n private _setLoadingOverlay(isLoading: boolean) {\n if (!isLoading) {\n return this.executeWithGridApi(gridApi => gridApi.hideOverlay());\n }\n this.executeWithGridApi(gridApi => gridApi.showLoadingOverlay());\n }\n\n private _setNoRowsOverlay() {\n setTimeout(() => {\n if (this._grid.getDataset().loading) {\n return;\n }\n this.executeWithGridApi(gridApi => {\n gridApi.hideOverlay();\n if (this._grid.getDataset().getDataProvider().getRecords().length === 0) {\n gridApi.showNoRowsOverlay();\n }\n });\n }, 0);\n }\n\n private _isCellEditorEnabled(columnName: string, record: IRecord): boolean {\n\n const column = this._grid.getGridColumnByName(columnName); // check column eligibility for cell editor\n switch (true) {\n //never allow cell editor for oneClickEdit - everything is handled by cell renderer in this case\n case column.oneClickEdit:\n //never allow cell editor for non-editable columns\n case !column.isEditable: {\n return false;\n }\n }\n return record.getColumnInfo(column.name).security.editable;\n }\n\n private get _dataset() {\n return this._grid.getDataset();\n }\n}"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ const TargetSelector = (props) => {
9
9
  const [loadedEntities] = useLoadedEntities(entities);
10
10
  const theme = useTheme();
11
11
  const styles = getTargetSelectorStyles(theme);
12
- return (jsxs("div", { className: styles.targetSelector, children: [jsxs(Text, { variant: 'small', children: [labels.resultsFrom(), " "] }), jsxs("div", { className: styles.targetSelectorLinks, children: [jsx(Link, { onClick: () => onEntitySelected(null), className: styles.targetSelectorLink, "data-selected": !entities.find(x => x.selected), children: "All" }), loadedEntities &&
12
+ return (jsxs("div", { className: styles.targetSelector, children: [jsxs(Text, { variant: 'small', children: [labels.resultsFrom(), " "] }), jsxs("div", { className: styles.targetSelectorLinks, children: [jsx(Link, { onClick: () => onEntitySelected(null), className: styles.targetSelectorLink, "data-selected": !entities.find(x => x.selected), children: labels.all() }), loadedEntities &&
13
13
  jsx(Fragment, { children: loadedEntities.map((entity) => {
14
14
  return jsx(Link, { className: styles.targetSelectorLink, "data-selected": entity.selected, onClick: () => onEntitySelected(entity.entityName), children: entity.metadata.DisplayName });
15
15
  }) })] })] }));
@@ -1 +1 @@
1
- {"version":3,"file":"TargetSelector.js","sources":["../../../../src/components/Lookup/components/TargetSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { IEntity } from '../interfaces';\nimport { Text } from '@fluentui/react/lib/Text';\nimport { Link, useTheme } from '@fluentui/react';\nimport { getTargetSelectorStyles } from '../styles';\nimport { useLoadedEntities } from '../hooks/useLoadedEntities';\n\ninterface ITargetSelector {\n labels: any;\n entities: IEntity[];\n onEntitySelected: (entityName: string | null) => void;\n}\n\n\nexport const TargetSelector = (props: ITargetSelector) => {\n const { labels, entities, onEntitySelected } = { ...props };\n const [loadedEntities] = useLoadedEntities(entities);\n const theme = useTheme();\n const styles = getTargetSelectorStyles(theme);\n\n return (\n <div className={styles.targetSelector}>\n <Text variant='small'>{labels.resultsFrom()} </Text>\n <div className={styles.targetSelectorLinks}>\n <Link\n onClick={() => onEntitySelected(null)}\n className={styles.targetSelectorLink}\n data-selected={!entities.find(x => x.selected)}>All</Link>\n {loadedEntities &&\n <>\n {loadedEntities.map((entity) => {\n return <Link\n className={styles.targetSelectorLink}\n data-selected={entity.selected}\n onClick={() => onEntitySelected(entity.entityName)}>{entity.metadata.DisplayName}</Link>\n })}\n </>\n }\n </div>\n </div>\n )\n}"],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;;AAca,MAAA,cAAc,GAAG,CAAC,KAAsB,KAAI;AACrD,IAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5D,MAAM,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAE9C,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EAAA,QAAA,EAAA,CACjCA,IAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAC,OAAO,EAAE,QAAA,EAAA,CAAA,MAAM,CAAC,WAAW,EAAE,EAAA,GAAA,CAAA,EAAA,CAAS,EACpDA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAA,QAAA,EAAA,CACtCC,IAAC,IAAI,EAAA,EACD,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,MAAM,CAAC,kBAAkB,EAAA,eAAA,EACrB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAA,QAAA,EAAA,KAAA,EAAA,CAAY,EAC7D,cAAc;AACX,wBAAAA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACK,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;AAC3B,gCAAA,OAAOD,GAAC,CAAA,IAAI,EACR,EAAA,SAAS,EAAE,MAAM,CAAC,kBAAkB,EACrB,eAAA,EAAA,MAAM,CAAC,QAAQ,EAC9B,OAAO,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAG,QAAA,EAAA,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAAA;AAChG,6BAAC,CAAC,EAAA,CACH,CAEL,EAAA,CAAA,CAAA,EAAA,CACJ,EACT;AACL;;;;"}
1
+ {"version":3,"file":"TargetSelector.js","sources":["../../../../src/components/Lookup/components/TargetSelector.tsx"],"sourcesContent":["import React from 'react';\nimport { IEntity } from '../interfaces';\nimport { Text } from '@fluentui/react/lib/Text';\nimport { Link, useTheme } from '@fluentui/react';\nimport { getTargetSelectorStyles } from '../styles';\nimport { useLoadedEntities } from '../hooks/useLoadedEntities';\n\ninterface ITargetSelector {\n labels: any;\n entities: IEntity[];\n onEntitySelected: (entityName: string | null) => void;\n}\n\n\nexport const TargetSelector = (props: ITargetSelector) => {\n const { labels, entities, onEntitySelected } = { ...props };\n const [loadedEntities] = useLoadedEntities(entities);\n const theme = useTheme();\n const styles = getTargetSelectorStyles(theme);\n\n return (\n <div className={styles.targetSelector}>\n <Text variant='small'>{labels.resultsFrom()} </Text>\n <div className={styles.targetSelectorLinks}>\n <Link\n onClick={() => onEntitySelected(null)}\n className={styles.targetSelectorLink}\n data-selected={!entities.find(x => x.selected)}>{labels.all()}</Link>\n {loadedEntities &&\n <>\n {loadedEntities.map((entity) => {\n return <Link\n className={styles.targetSelectorLink}\n data-selected={entity.selected}\n onClick={() => onEntitySelected(entity.entityName)}>{entity.metadata.DisplayName}</Link>\n })}\n </>\n }\n </div>\n </div>\n )\n}"],"names":["_jsxs","_jsx","_Fragment"],"mappings":";;;;;;AAca,MAAA,cAAc,GAAG,CAAC,KAAsB,KAAI;AACrD,IAAA,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAC5D,MAAM,CAAC,cAAc,CAAC,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;AACrD,IAAA,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;AACzB,IAAA,MAAM,MAAM,GAAG,uBAAuB,CAAC,KAAK,CAAC,CAAC;AAE9C,IAAA,QACIA,IAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,MAAM,CAAC,cAAc,EAAA,QAAA,EAAA,CACjCA,IAAC,CAAA,IAAI,EAAC,EAAA,OAAO,EAAC,OAAO,EAAA,QAAA,EAAA,CAAE,MAAM,CAAC,WAAW,EAAE,EAAS,GAAA,CAAA,EAAA,CAAA,EACpDA,cAAK,SAAS,EAAE,MAAM,CAAC,mBAAmB,EAAA,QAAA,EAAA,CACtCC,GAAC,CAAA,IAAI,IACD,OAAO,EAAE,MAAM,gBAAgB,CAAC,IAAI,CAAC,EACrC,SAAS,EAAE,MAAM,CAAC,kBAAkB,EACrB,eAAA,EAAA,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,EAAG,QAAA,EAAA,MAAM,CAAC,GAAG,EAAE,EAAA,CAAQ,EACxE,cAAc;AACX,wBAAAA,GAAA,CAAAC,QAAA,EAAA,EAAA,QAAA,EACK,cAAc,CAAC,GAAG,CAAC,CAAC,MAAM,KAAI;AAC3B,gCAAA,OAAOD,GAAC,CAAA,IAAI,EACR,EAAA,SAAS,EAAE,MAAM,CAAC,kBAAkB,EACrB,eAAA,EAAA,MAAM,CAAC,QAAQ,EAC9B,OAAO,EAAE,MAAM,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,EAAG,QAAA,EAAA,MAAM,CAAC,QAAQ,CAAC,WAAW,GAAQ,CAAA;AAChG,6BAAC,CAAC,EAAA,CACH,CAEL,EAAA,CAAA,CAAA,EAAA,CACJ,EACT;AACL;;;;"}
@@ -35,6 +35,10 @@ export declare const useLookup: (props: ILookup) => [ComponentFramework.LookupVa
35
35
  1033: string;
36
36
  1029: string;
37
37
  };
38
+ all: {
39
+ 1033: string;
40
+ 1029: string;
41
+ };
38
42
  }>>>, {
39
43
  create: (entityName: string) => void;
40
44
  select: (record: ComponentFramework.LookupValue[] | undefined) => void;
@@ -31,4 +31,8 @@ export declare const lookupTranslations: {
31
31
  1033: string;
32
32
  1029: string;
33
33
  };
34
+ all: {
35
+ 1033: string;
36
+ 1029: string;
37
+ };
34
38
  };
@@ -30,6 +30,10 @@ const lookupTranslations = {
30
30
  record: {
31
31
  1033: "Record",
32
32
  1029: "Záznam"
33
+ },
34
+ all: {
35
+ 1033: "All",
36
+ 1029: "Vše"
33
37
  }
34
38
  };
35
39
 
@@ -1 +1 @@
1
- {"version":3,"file":"translations.js","sources":["../../../src/components/Lookup/translations.ts"],"sourcesContent":["export const lookupTranslations = {\n search: {\n 1033: \"Search\",\n 1029: \"Vyhledejte\"\n },\n newRecord: {\n 1033: \"New record\",\n 1029: \"Nový záznam\"\n },\n searching: {\n 1033: \"Searching...\",\n 1029: \"Hledám...\"\n },\n noRecordsFound: {\n 1033: \"No records found\",\n 1029: \"Nebyly nalezeny žádné záznamy\"\n },\n resultsFrom: {\n 1033: \"Results from:\",\n 1029: \"Výsledky z:\"\n },\n noName: {\n 1033: \"(No Name)\",\n 1029: \"(Bez názvu)\"\n },\n placeholder: {\n 1033: \"Search\",\n 1029: \"Vyhledejte\"\n },\n record: {\n 1033: \"Record\",\n 1029: \"Záznam\"\n }\n}"],"names":[],"mappings":"AAAa,MAAA,kBAAkB,GAAG;AAC9B,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,YAAY;AACrB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,IAAI,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,IAAI,EAAE,+BAA+B;AACxC,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,YAAY;AACrB,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,QAAQ;AACjB,KAAA;;;;;"}
1
+ {"version":3,"file":"translations.js","sources":["../../../src/components/Lookup/translations.ts"],"sourcesContent":["export const lookupTranslations = {\n search: {\n 1033: \"Search\",\n 1029: \"Vyhledejte\"\n },\n newRecord: {\n 1033: \"New record\",\n 1029: \"Nový záznam\"\n },\n searching: {\n 1033: \"Searching...\",\n 1029: \"Hledám...\"\n },\n noRecordsFound: {\n 1033: \"No records found\",\n 1029: \"Nebyly nalezeny žádné záznamy\"\n },\n resultsFrom: {\n 1033: \"Results from:\",\n 1029: \"Výsledky z:\"\n },\n noName: {\n 1033: \"(No Name)\",\n 1029: \"(Bez názvu)\"\n },\n placeholder: {\n 1033: \"Search\",\n 1029: \"Vyhledejte\"\n },\n record: {\n 1033: \"Record\",\n 1029: \"Záznam\"\n },\n all: {\n 1033: \"All\",\n 1029: \"Vše\"\n }\n}"],"names":[],"mappings":"AAAa,MAAA,kBAAkB,GAAG;AAC9B,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,YAAY;AACrB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,IAAI,EAAE,YAAY;AAClB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,SAAS,EAAE;AACP,QAAA,IAAI,EAAE,cAAc;AACpB,QAAA,IAAI,EAAE,WAAW;AACpB,KAAA;AACD,IAAA,cAAc,EAAE;AACZ,QAAA,IAAI,EAAE,kBAAkB;AACxB,QAAA,IAAI,EAAE,+BAA+B;AACxC,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,eAAe;AACrB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,WAAW;AACjB,QAAA,IAAI,EAAE,aAAa;AACtB,KAAA;AACD,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,YAAY;AACrB,KAAA;AACD,IAAA,MAAM,EAAE;AACJ,QAAA,IAAI,EAAE,QAAQ;AACd,QAAA,IAAI,EAAE,QAAQ;AACjB,KAAA;AACD,IAAA,GAAG,EAAE;AACD,QAAA,IAAI,EAAE,KAAK;AACX,QAAA,IAAI,EAAE,KAAK;AACd,KAAA;;;;;"}
@@ -37,10 +37,10 @@ const TaskGrid = (props) => {
37
37
  }, []);
38
38
  if (!instanceState) {
39
39
  return components.onRenderSkeleton({
40
- height: taskGridDescriptor.onGetGridParameters?.().height ?? '400px'
40
+ height: taskGridDescriptor.onGetHeight?.() ?? '400px'
41
41
  });
42
42
  }
43
- return (jsx(PcfContext.Provider, { value: pcfContextRef.current, children: jsx(LocalizationServiceContext.Provider, { value: localizationService, children: jsx(AgGridLicenseKeyContext.Provider, { value: taskGridDescriptor.onGetAgGridLicenseKey?.() ?? null, children: jsx(TaskGridComponentsContext.Provider, { value: components, children: jsx(InternalTaskGridDatasetControl, { ...props, datasetControl: instanceState.instance, onRemountRequested: createDatasetControlInstance }, instanceState.remountKey) }) }) }) }));
43
+ return (jsx(PcfContext.Provider, { value: pcfContextRef.current, children: jsx(LocalizationServiceContext.Provider, { value: localizationService, children: jsx(AgGridLicenseKeyContext.Provider, { value: taskGridDescriptor.onGetGridParameters?.()?.agGridLicenseKey ?? null, children: jsx(TaskGridComponentsContext.Provider, { value: components, children: jsx(InternalTaskGridDatasetControl, { ...props, datasetControl: instanceState.instance, onRemountRequested: createDatasetControlInstance }, instanceState.remountKey) }) }) }) }));
44
44
  };
45
45
  const InternalTaskGridDatasetControl = (props) => {
46
46
  const { datasetControl, onRemountRequested, taskGridDescriptor } = props;
@@ -1 +1 @@
1
- {"version":3,"file":"TaskGrid.js","sources":["../../../src/components/TaskGrid/TaskGrid.tsx"],"sourcesContent":["import { useEventEmitter } from \"../../hooks/useEventEmitter\"\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\nimport { useRef } from \"react\";\nimport * as React from \"react\";\nimport { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, usePcfContext } from \"./context\";\nimport { DatasetControl as DatasetControlRenderer } from \"../DatasetControl\";\nimport { useTheme } from \"@fluentui/react\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Grid } from \"./components/grid\";\nimport { ITaskDataProvider } from \"./providers/task\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { TASK_GRID_LABELS } from \"./labels\";\nimport { ITaskGridState, TaskGridDatasetControlFactory } from \"./TaskGridDatasetControlFactory\";\nimport { Header } from \"./components/header/Header\";\nimport { ITaskGridComponents, TaskGridComponents } from \"./components/components\";\nimport { ITaskGridDescriptor, ITaskGridDatasetControl } from \"./interfaces\";\nimport { LocalizationService } from \"../../utils\";\n\ninterface ITaskGridProps {\n //should be replaced by Context API in future\n pcfContext: ComponentFramework.Context<any, any>;\n taskGridDescriptor: ITaskGridDescriptor;\n labels?: Partial<ITaskGridLabels>;\n components?: Partial<ITaskGridComponents>;\n}\n\ninterface IInternalTaskGridProps extends ITaskGridProps {\n datasetControl: ITaskGridDatasetControl;\n onRemountRequested: () => void;\n}\n\n//serves for keeping track of lifecycle\nexport const TaskGrid = (props: ITaskGridProps) => {\n const { taskGridDescriptor } = props;\n const stateRef = useRef<ITaskGridState>({});\n const components = { ...TaskGridComponents, ...props.components };\n const pcfContextRef = useRef(props.pcfContext);\n pcfContextRef.current = props.pcfContext;\n const localizationService = React.useMemo(() => new LocalizationService({ ...TASK_GRID_LABELS, ...props.labels }), []);\n\n const [instanceState, setInstanceState] = React.useState<{\n instance: ITaskGridDatasetControl;\n remountKey: number;\n } | null>(null);\n\n const createDatasetControlInstance = async () => {\n setInstanceState(null);\n const instance = await TaskGridDatasetControlFactory.createInstance({\n taskGridDescriptor,\n localizationService,\n state: stateRef.current,\n onGetPcfContext: () => pcfContextRef.current!,\n });\n setInstanceState(prev => ({ instance, remountKey: (prev?.remountKey ?? 0) + 1 }));\n };\n\n React.useEffect(() => {\n createDatasetControlInstance();\n }, []);\n\n if (!instanceState) {\n return components.onRenderSkeleton({\n height: taskGridDescriptor.onGetGridParameters?.().height ?? '400px'\n })\n }\n\n return (\n <PcfContext.Provider value={pcfContextRef.current}>\n <LocalizationServiceContext.Provider value={localizationService}>\n <AgGridLicenseKeyContext.Provider value={taskGridDescriptor.onGetAgGridLicenseKey?.() ?? null}>\n <TaskGridComponentsContext.Provider value={components}>\n <InternalTaskGridDatasetControl\n key={instanceState.remountKey}\n {...props}\n datasetControl={instanceState.instance}\n onRemountRequested={createDatasetControlInstance}\n />\n </TaskGridComponentsContext.Provider>\n </AgGridLicenseKeyContext.Provider>\n </LocalizationServiceContext.Provider>\n </PcfContext.Provider>\n );\n}\nconst InternalTaskGridDatasetControl = (props: IInternalTaskGridProps) => {\n const { datasetControl, onRemountRequested, taskGridDescriptor } = props;\n const theme = useTheme();\n const styles = React.useMemo(() => getDatasetControlStyles(theme), [theme]);\n const provider = datasetControl.getDataset().getDataProvider() as ITaskDataProvider;\n const rootElementId = `${datasetControl.getControlId()}-root`;\n\n useEventEmitter<IDatasetControlEvents>(datasetControl, 'onRemountRequested', onRemountRequested);\n\n React.useEffect(() => {\n datasetControl.getDataset().refresh();\n }, []);\n\n return <DatasetControlContext.Provider value={datasetControl}>\n <TaskDataProviderContext.Provider value={provider}>\n <TaskGridDescriptorContext.Provider value={taskGridDescriptor}>\n <RootElementIdContext.Provider value={rootElementId}>\n <DatasetControlRenderer\n onGetDatasetControlInstance={() => datasetControl}\n onGetControlComponent={Grid}\n onOverrideComponentProps={(props) => {\n return {\n ...props,\n onRender: (props, defaultRender) => {\n return defaultRender({\n ...props,\n container: {\n ...props.container,\n id: rootElementId,\n className: `${props.container.className} ${styles.datasetControlRoot}`\n },\n onRenderHeader: (props, defaultRender) => <Header headerProps={props} defaultRender={defaultRender} />\n })\n }\n }\n }} />\n </RootElementIdContext.Provider>\n </TaskGridDescriptorContext.Provider>\n </TaskDataProviderContext.Provider>\n </DatasetControlContext.Provider >\n}"],"names":["_jsx","DatasetControlRenderer"],"mappings":"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"}
1
+ {"version":3,"file":"TaskGrid.js","sources":["../../../src/components/TaskGrid/TaskGrid.tsx"],"sourcesContent":["import { useEventEmitter } from \"../../hooks/useEventEmitter\"\nimport { IDatasetControlEvents } from \"../../utils/dataset-control\";\nimport { useRef } from \"react\";\nimport * as React from \"react\";\nimport { AgGridLicenseKeyContext, DatasetControlContext, LocalizationServiceContext, PcfContext, RootElementIdContext, TaskDataProviderContext, TaskGridComponentsContext, TaskGridDescriptorContext, usePcfContext } from \"./context\";\nimport { DatasetControl as DatasetControlRenderer } from \"../DatasetControl\";\nimport { useTheme } from \"@fluentui/react\";\nimport { getDatasetControlStyles } from \"./styles\";\nimport { Grid } from \"./components/grid\";\nimport { ITaskDataProvider } from \"./providers/task\";\nimport { ITaskGridLabels } from \"./labels\";\nimport { TASK_GRID_LABELS } from \"./labels\";\nimport { ITaskGridState, TaskGridDatasetControlFactory } from \"./TaskGridDatasetControlFactory\";\nimport { Header } from \"./components/header/Header\";\nimport { ITaskGridComponents, TaskGridComponents } from \"./components/components\";\nimport { ITaskGridDescriptor, ITaskGridDatasetControl } from \"./interfaces\";\nimport { LocalizationService } from \"../../utils\";\n\ninterface ITaskGridProps {\n //should be replaced by Context API in future\n pcfContext: ComponentFramework.Context<any, any>;\n taskGridDescriptor: ITaskGridDescriptor;\n labels?: Partial<ITaskGridLabels>;\n components?: Partial<ITaskGridComponents>;\n}\n\ninterface IInternalTaskGridProps extends ITaskGridProps {\n datasetControl: ITaskGridDatasetControl;\n onRemountRequested: () => void;\n}\n\n//serves for keeping track of lifecycle\nexport const TaskGrid = (props: ITaskGridProps) => {\n const { taskGridDescriptor } = props;\n const stateRef = useRef<ITaskGridState>({});\n const components = { ...TaskGridComponents, ...props.components };\n const pcfContextRef = useRef(props.pcfContext);\n pcfContextRef.current = props.pcfContext;\n const localizationService = React.useMemo(() => new LocalizationService({ ...TASK_GRID_LABELS, ...props.labels }), []);\n\n const [instanceState, setInstanceState] = React.useState<{\n instance: ITaskGridDatasetControl;\n remountKey: number;\n } | null>(null);\n\n const createDatasetControlInstance = async () => {\n setInstanceState(null);\n const instance = await TaskGridDatasetControlFactory.createInstance({\n taskGridDescriptor,\n localizationService,\n state: stateRef.current,\n onGetPcfContext: () => pcfContextRef.current!,\n });\n setInstanceState(prev => ({ instance, remountKey: (prev?.remountKey ?? 0) + 1 }));\n };\n\n React.useEffect(() => {\n createDatasetControlInstance();\n }, []);\n\n if (!instanceState) {\n return components.onRenderSkeleton({\n height: taskGridDescriptor.onGetHeight?.() ?? '400px'\n })\n }\n\n return (\n <PcfContext.Provider value={pcfContextRef.current}>\n <LocalizationServiceContext.Provider value={localizationService}>\n <AgGridLicenseKeyContext.Provider value={taskGridDescriptor.onGetGridParameters?.()?.agGridLicenseKey ?? null}>\n <TaskGridComponentsContext.Provider value={components}>\n <InternalTaskGridDatasetControl\n key={instanceState.remountKey}\n {...props}\n datasetControl={instanceState.instance}\n onRemountRequested={createDatasetControlInstance}\n />\n </TaskGridComponentsContext.Provider>\n </AgGridLicenseKeyContext.Provider>\n </LocalizationServiceContext.Provider>\n </PcfContext.Provider>\n );\n}\nconst InternalTaskGridDatasetControl = (props: IInternalTaskGridProps) => {\n const { datasetControl, onRemountRequested, taskGridDescriptor } = props;\n const theme = useTheme();\n const styles = React.useMemo(() => getDatasetControlStyles(theme), [theme]);\n const provider = datasetControl.getDataset().getDataProvider() as ITaskDataProvider;\n const rootElementId = `${datasetControl.getControlId()}-root`;\n\n useEventEmitter<IDatasetControlEvents>(datasetControl, 'onRemountRequested', onRemountRequested);\n\n React.useEffect(() => {\n datasetControl.getDataset().refresh();\n }, []);\n\n return <DatasetControlContext.Provider value={datasetControl}>\n <TaskDataProviderContext.Provider value={provider}>\n <TaskGridDescriptorContext.Provider value={taskGridDescriptor}>\n <RootElementIdContext.Provider value={rootElementId}>\n <DatasetControlRenderer\n onGetDatasetControlInstance={() => datasetControl}\n onGetControlComponent={Grid}\n onOverrideComponentProps={(props) => {\n return {\n ...props,\n onRender: (props, defaultRender) => {\n return defaultRender({\n ...props,\n container: {\n ...props.container,\n id: rootElementId,\n className: `${props.container.className} ${styles.datasetControlRoot}`\n },\n onRenderHeader: (props, defaultRender) => <Header headerProps={props} defaultRender={defaultRender} />\n })\n }\n }\n }} />\n </RootElementIdContext.Provider>\n </TaskGridDescriptorContext.Provider>\n </TaskDataProviderContext.Provider>\n </DatasetControlContext.Provider >\n}"],"names":["_jsx","DatasetControlRenderer"],"mappings":"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"}