@talxis/base-controls 1.2505.2 → 1.2505.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js +3 -2
- package/dist/components/Grid/core/components/AgGrid/AgGrid.js.map +1 -1
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js +7 -0
- package/dist/components/Grid/core/components/AgGrid/model/AgGrid.js.map +1 -1
- package/package.json +1 -1
|
@@ -127,8 +127,9 @@ const AgGrid = (props) => {
|
|
|
127
127
|
animateRows: false,
|
|
128
128
|
domLayout: grid.getHeightSettings().isAutoHeightEnabled ? 'autoHeight' : undefined,
|
|
129
129
|
rowSelection: grid.selection.type,
|
|
130
|
-
noRowsOverlayComponent:
|
|
131
|
-
loadingOverlayComponent:
|
|
130
|
+
noRowsOverlayComponent: EmptyRecords,
|
|
131
|
+
loadingOverlayComponent: LoadingOverlay,
|
|
132
|
+
suppressNoRowsOverlay: grid.loading,
|
|
132
133
|
suppressDragLeaveHidesColumns: true,
|
|
133
134
|
onColumnResized: (e) => debounceUpdateVisualSizeFactor(e),
|
|
134
135
|
onColumnMoved: (e) => agGrid.updateColumnOrder(e),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { mergeStyles, MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnResizedEvent, DomLayoutType, GridApi, GridState, ModuleRegistry, SelectionChangedEvent } from \"@ag-grid-community/core\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useRerender, useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nimport { AgGridContext } from './context';\nimport { IGrid } from '../../../interfaces';\nimport { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\n\nexport const AgGrid = (props: IGrid) => {\n const grid = useGridInstance();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = useMemo(() => getGridStyles(theme), [theme]);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef, theme), []);\n const agGridProviderValue = useMemo(() => agGrid, []);\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n const records = grid.records;\n const [gridHeight, setGridHeight] = useState<string | undefined>(grid.getHeightSettings().height);\n const userChangedColumnSizeRef = useRef(false);\n const rerender = useRerender();\n const innerRerenderRef = useRef(true);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n const debounceUpdateVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n userChangedColumnSizeRef.current = true;\n agGrid.updateColumnVisualSizeFactor(e);\n }, 200);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n agGrid.refresh();\n }, 0);\n\n if (!grid.isUpdateScheduled()) {\n debouncedRefresh();\n }\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n }\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n const onSelectionChanged = useDebouncedCallback((e: SelectionChangedEvent<any, any>) => {\n if (e.source.includes('api')) {\n return;\n }\n grid.dataset.setSelectedRecordIds(e.api.getSelectedNodes().map(node => node.data!.getRecordId()));\n }, 0);\n \n useEffect(() => {\n agGrid.toggleOverlay();\n //scroll to top when data is loaded\n if(!grid.loading && grid.dataset.sortedRecordIds.length > 0) {\n gridApiRef.current?.ensureIndexVisible(0);\n }\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => agGrid.copyCellValue(event));\n\n agGrid.setRerenderCallback(() => {\n innerRerenderRef.current = true;\n rerender();\n });\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n const columns = agGrid.getColumns();\n if(columns.length === 0) {\n return;\n }\n setAgColumns(columns)\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n useEffect(() => {\n //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error\n setGridHeight(grid.getHeightSettings().height);\n }, [records, agColumns])\n\n innerRerenderRef.current = false;\n\n const componentProps = onOverrideComponentProps({\n container: {\n ref: containerRef,\n className: `${styles.root} ${mergeStyles({\n height: gridHeight\n })} ag-theme-balham`\n },\n pagingProps: {},\n registerRowGroupingModule: false,\n agGrid: {\n animateRows: false,\n domLayout: grid.getHeightSettings().isAutoHeightEnabled ? 'autoHeight' : undefined,\n rowSelection: grid.selection.type,\n noRowsOverlayComponent: Object.keys(grid.dataset.sortedRecordIds.length === 0) && !grid.loading ? EmptyRecords : undefined,\n loadingOverlayComponent: grid.loading ? LoadingOverlay : undefined,\n suppressDragLeaveHidesColumns: true,\n onColumnResized: (e) => debounceUpdateVisualSizeFactor(e),\n onColumnMoved: (e) => agGrid.updateColumnOrder(e),\n reactiveCustomComponents: true,\n //rowMultiSelectWithClick: true,\n onSelectionChanged: onSelectionChanged,\n gridOptions: {\n getRowStyle: (params) => {\n return {\n backgroundColor: agGrid.getDefaultCellTheme(params.node.childIndex % 2 === 0).semanticColors.bodyBackground\n }\n },\n },\n onCellDoubleClicked: (e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.dataset.openDatasetItem(e.data!.getNamedReference())\n }\n },\n getRowId: (params) => params.data.getRecordId(),\n onGridReady: (e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n },\n onGridSizeChanged: (e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n },\n onFirstDataRendered: (e) => {\n sizeColumnsIfSpaceAvailable();\n agGrid.refreshRowSelection();\n },\n onRowDataUpdated: () => {\n agGrid.rerenderGlobalCheckBox();\n },\n onCellEditingStopped: () => {\n grid.pcfContext.factory.requestRender();\n },\n initialState: stateValuesRef.current,\n onStateUpdated: (e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n },\n columnDefs: agColumns as any,\n rowData: records,\n getRowHeight: (params) => agGrid.getRowHeight(params.data!)\n }\n });\n\n useMemo(() => {\n if(componentProps.registerRowGroupingModule) {\n ModuleRegistry.register(RowGroupingModule);\n }\n if(componentProps.licenseKey) {\n LicenseManager.setLicenseKey(componentProps.licenseKey);\n }\n }, []);\n\n return (\n <AgGridContext.Provider value={agGridProviderValue}>\n <div {...componentProps.container}>\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact {...componentProps.agGrid}>\n </AgGridReact>\n <Paging />\n </div>\n </AgGridContext.Provider>\n );\n}\n"],"names":["AgGridModel","_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgGrid.js","sources":["../../../../../../src/components/Grid/core/components/AgGrid/AgGrid.tsx"],"sourcesContent":["import { AgGridReact } from '@ag-grid-community/react';\nimport { mergeStyles, MessageBar, MessageBarType, useTheme } from \"@fluentui/react\";\nimport { ColDef, ColumnResizedEvent, DomLayoutType, GridApi, GridState, ModuleRegistry, SelectionChangedEvent } from \"@ag-grid-community/core\";\nimport { useEffect, useMemo, useRef, useState } from \"react\";\nimport { useGridInstance } from \"../../hooks/useGridInstance\";\nimport { getGridStyles } from \"./styles\";\nimport { Paging } from \"../../../paging/components/Paging/Paging\";\nimport { EmptyRecords } from \"./components/EmptyRecordsOverlay/EmptyRecords\";\nimport { Save } from \"../Save/Save\";\nimport { LoadingOverlay } from \"./components/LoadingOverlay/LoadingOverlay\";\nimport { IRecord } from '@talxis/client-libraries';\nimport { useDebounce, useDebouncedCallback } from 'use-debounce';\nimport { useGridController } from '../../controllers/useGridController';\nimport { useRerender, useStateValues } from '@talxis/react-components';\nimport { AgGrid as AgGridModel } from './model/AgGrid';\nimport { ClientSideRowModelModule } from '@ag-grid-community/client-side-row-model';\nimport \"@ag-grid-community/styles/ag-grid.css\";\nimport \"@ag-grid-community/styles/ag-theme-balham.css\";\nimport { AgGridContext } from './context';\nimport { IGrid } from '../../../interfaces';\nimport { RowGroupingModule } from '@ag-grid-enterprise/row-grouping';\nimport { LicenseManager } from '@ag-grid-enterprise/core';\nModuleRegistry.registerModules([ClientSideRowModelModule]);\n\n\nexport const AgGrid = (props: IGrid) => {\n const grid = useGridInstance();\n const gridApiRef = useRef<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord>>();\n const containerWidthRef = useRef(0);\n const containerRef = useRef<HTMLDivElement>(null);\n const theme = useTheme();\n const styles = useMemo(() => getGridStyles(theme), [theme]);\n const agGridReadyRef = useRef<boolean>(false);\n const agGrid = useMemo(() => new AgGridModel(grid, gridApiRef, theme), []);\n const agGridProviderValue = useMemo(() => agGrid, []);\n const { columns } = useGridController();\n const [agColumns, setAgColumns] = useState<ColDef[]>([]);\n const [stateValuesRef, getNewStateValues, setDefaultStateValues] = useStateValues<GridState>(grid.state as GridState);\n const records = grid.records;\n const [gridHeight, setGridHeight] = useState<string | undefined>(grid.getHeightSettings().height);\n const userChangedColumnSizeRef = useRef(false);\n const rerender = useRerender();\n const innerRerenderRef = useRef(true);\n const onOverrideComponentProps = props.onOverrideComponentProps ?? ((props) => props);\n\n\n const debounceUpdateVisualSizeFactor = useDebouncedCallback((e: ColumnResizedEvent<IRecord, any>) => {\n if (e.source !== 'uiColumnResized') {\n return;\n }\n userChangedColumnSizeRef.current = true;\n agGrid.updateColumnVisualSizeFactor(e);\n }, 200);\n\n const debouncedRefresh = useDebouncedCallback(() => {\n agGrid.refresh();\n }, 0);\n\n if (!grid.isUpdateScheduled()) {\n debouncedRefresh();\n }\n\n const onGridReady = () => {\n agGridReadyRef.current = true;\n setDefaultStateValues({\n scroll: {\n top: 0,\n left: 0\n },\n ...gridApiRef.current!.getState(),\n });\n }\n\n const sizeColumnsIfSpaceAvailable = () => {\n //do not autosize if user manually adjusted the column width\n if (!gridApiRef.current || userChangedColumnSizeRef.current) {\n return;\n }\n if (getCurrentContainerWidth() > grid.getTotalVisibleColumnsWidth()) {\n gridApiRef.current!.sizeColumnsToFit();\n }\n }\n\n const getCurrentContainerWidth = (): number => {\n return containerWidthRef.current ?? containerRef.current?.clientWidth\n }\n\n const onSelectionChanged = useDebouncedCallback((e: SelectionChangedEvent<any, any>) => {\n if (e.source.includes('api')) {\n return;\n }\n grid.dataset.setSelectedRecordIds(e.api.getSelectedNodes().map(node => node.data!.getRecordId()));\n }, 0);\n \n useEffect(() => {\n agGrid.toggleOverlay();\n //scroll to top when data is loaded\n if(!grid.loading && grid.dataset.sortedRecordIds.length > 0) {\n gridApiRef.current?.ensureIndexVisible(0);\n }\n }, [grid.loading]);\n\n\n useEffect(() => {\n //this can be replaced with native functionality if we decide to use ag grid enterprise\n grid.keyHoldListener.addOnKeyDownHandler((event) => agGrid.copyCellValue(event));\n\n agGrid.setRerenderCallback(() => {\n innerRerenderRef.current = true;\n rerender();\n });\n return () => {\n grid.pcfContext.mode.setControlState(getNewStateValues());\n }\n }, []);\n\n useEffect(() => {\n const columns = agGrid.getColumns();\n if(columns.length === 0) {\n return;\n }\n setAgColumns(columns)\n }, [columns]);\n\n useEffect(() => {\n sizeColumnsIfSpaceAvailable()\n }, [agColumns]);\n\n useEffect(() => {\n //we need to set the height of the grid after everything else is rendered to avoid the redraw rows error\n setGridHeight(grid.getHeightSettings().height);\n }, [records, agColumns])\n\n innerRerenderRef.current = false;\n\n const componentProps = onOverrideComponentProps({\n container: {\n ref: containerRef,\n className: `${styles.root} ${mergeStyles({\n height: gridHeight\n })} ag-theme-balham`\n },\n pagingProps: {},\n registerRowGroupingModule: false,\n agGrid: {\n animateRows: false,\n domLayout: grid.getHeightSettings().isAutoHeightEnabled ? 'autoHeight' : undefined,\n rowSelection: grid.selection.type,\n noRowsOverlayComponent: EmptyRecords,\n loadingOverlayComponent: LoadingOverlay,\n suppressNoRowsOverlay: grid.loading,\n suppressDragLeaveHidesColumns: true,\n onColumnResized: (e) => debounceUpdateVisualSizeFactor(e),\n onColumnMoved: (e) => agGrid.updateColumnOrder(e),\n reactiveCustomComponents: true,\n //rowMultiSelectWithClick: true,\n onSelectionChanged: onSelectionChanged,\n gridOptions: {\n getRowStyle: (params) => {\n return {\n backgroundColor: agGrid.getDefaultCellTheme(params.node.childIndex % 2 === 0).semanticColors.bodyBackground\n }\n },\n },\n onCellDoubleClicked: (e) => {\n if (grid.isNavigationEnabled && !grid.isEditable) {\n grid.dataset.openDatasetItem(e.data!.getNamedReference())\n }\n },\n getRowId: (params) => params.data.getRecordId(),\n onGridReady: (e) => {\n gridApiRef.current = e.api as any;\n if (grid.loading) {\n gridApiRef.current?.showLoadingOverlay();\n }\n onGridReady();\n },\n onGridSizeChanged: (e) => {\n containerWidthRef.current = e.clientWidth;\n sizeColumnsIfSpaceAvailable();\n },\n onFirstDataRendered: (e) => {\n sizeColumnsIfSpaceAvailable();\n agGrid.refreshRowSelection();\n },\n onRowDataUpdated: () => {\n agGrid.rerenderGlobalCheckBox();\n },\n onCellEditingStopped: () => {\n grid.pcfContext.factory.requestRender();\n },\n initialState: stateValuesRef.current,\n onStateUpdated: (e) => stateValuesRef.current = {\n ...stateValuesRef.current,\n ...e.state\n },\n columnDefs: agColumns as any,\n rowData: records,\n getRowHeight: (params) => agGrid.getRowHeight(params.data!)\n }\n });\n\n useMemo(() => {\n if(componentProps.registerRowGroupingModule) {\n ModuleRegistry.register(RowGroupingModule);\n }\n if(componentProps.licenseKey) {\n LicenseManager.setLicenseKey(componentProps.licenseKey);\n }\n }, []);\n\n return (\n <AgGridContext.Provider value={agGridProviderValue}>\n <div {...componentProps.container}>\n {grid.isEditable && grid.dataset.isDirty?.() &&\n <Save />\n }\n {grid.error &&\n <MessageBar messageBarType={MessageBarType.error}>\n <span dangerouslySetInnerHTML={{\n __html: grid.errorMessage!\n }} />\n </MessageBar>\n }\n <AgGridReact {...componentProps.agGrid}>\n </AgGridReact>\n <Paging />\n </div>\n </AgGridContext.Provider>\n );\n}\n"],"names":["AgGridModel","_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -127,6 +127,13 @@ class AgGrid extends GridDependency {
|
|
|
127
127
|
if (this._grid.loading) {
|
|
128
128
|
this._gridApi?.showLoadingOverlay();
|
|
129
129
|
}
|
|
130
|
+
else {
|
|
131
|
+
setTimeout(() => {
|
|
132
|
+
if (this._grid.dataset.sortedRecordIds.length === 0) {
|
|
133
|
+
this._gridApi?.showNoRowsOverlay();
|
|
134
|
+
}
|
|
135
|
+
}, 0);
|
|
136
|
+
}
|
|
130
137
|
}
|
|
131
138
|
copyCellValue(event) {
|
|
132
139
|
if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, EditableCallbackParams, GridApi, IRowNode, RowNode, SuppressKeyboardEventParams } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { DataTypes, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\nimport { Cell } from \"../../Cell/Cell\";\nimport { ITheme, merge } from \"@fluentui/react\";\nimport { Theming } from \"@talxis/react-components\";\nimport { Comparator } from \"./Comparator\";\nimport { NestedControl } from \"../../../../../NestedControlRenderer/NestedControl\";\n\nexport interface ICellValues {\n notifications: IAddControlNotificationOptions[];\n customFormatting: Required<ICustomColumnFormatting>;\n customControl: Required<ICustomColumnControl>;\n customComponent: ICustomColumnComponent;\n loading: boolean;\n value: any;\n error: boolean;\n height: number;\n errorMessage: string;\n parameters: IControlParameters;\n columnAlignment: Required<IColumn['alignment']>;\n editing: boolean;\n editable: boolean;\n disabled: boolean;\n}\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n private _theme: ITheme;\n private _rerenderCallback: () => void = () => { };\n private _rerenderGlobalCheckBox: () => void = () => { };\n private _comparator: Comparator = new Comparator();\n public readonly oddRowCellTheme: ITheme;\n public readonly evenRowCellTheme: ITheme;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme) {\n super(grid);\n this._gridApiRef = gridApiRef;\n this._theme = theme;\n this._grid.dataset.addEventListener('onRecordsSelected', (ids) => {\n this.refreshRowSelection();\n })\n this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);\n this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);\n }\n public getColumns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),\n cellRenderer: Cell,\n cellEditor: Cell,\n editable: (p) => this._isColumnEditable(column, p),\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data?.getFormattedValue(column.name)\n },\n valueGetter: (p: any) => this._getValue(p, column),\n equals: (valueA, valueB) => {\n return this._comparator.isEqual(valueA, valueB);\n },\n cellRendererParams: {\n baseColumn: column,\n isCellEditor: false\n },\n cellEditorParams: {\n baseColumn: column,\n isCellEditor: true\n },\n headerComponentParams: {\n baseColumn: column\n },\n }\n if (agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox;\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n\n public refresh() {\n if (this._grid.loading) {\n return;\n }\n this._gridApi?.resetRowHeights();\n this._gridApi?.refreshCells({\n rowNodes: this._gridApi.getRenderedNodes()\n });\n }\n\n public setGlobalCheckBoxRenderer(renderer: () => void) {\n this._rerenderGlobalCheckBox = renderer;\n }\n\n public rerenderGlobalCheckBox() {\n this._rerenderGlobalCheckBox();\n }\n\n public updateColumnOrder(e: ColumnMovedEvent<IRecord, any>) {\n if (e.type === 'gridOptionsChanged' || !e.finished) {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n this._grid.dataset.setColumns?.(orderedColumns);\n }\n\n public updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>) {\n const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n this._grid.dataset.setColumns?.(columns);\n this.refresh();\n }\n\n public toggleOverlay() {\n if(this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n }\n }\n\n public copyCellValue(event: KeyboardEvent) {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = this._gridApi?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = this._gridApi?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }\n\n public getRowHeight(record?: IRecord) {\n const columnWidths: { [name: string]: number } = {};\n this._gridApi?.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n if (Object.keys(columnWidths).length === 0) {\n return this._grid.rowHeight;\n }\n //not defined for grouping\n return record?.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;\n }\n\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public refreshRowSelection() {\n if (!this._gridApi) {\n return;\n }\n const selectedIdsSet = new Set(this._grid.dataset.getSelectedRecordIds().map(id => id));\n this._gridApi.forEachNode(node => {\n if(selectedIdsSet.has(node.id!)) {\n node.setSelected(true);\n }\n else {\n node.setSelected(false);\n }\n })\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true,\n })\n this._rerenderGlobalCheckBox();\n }\n\n public getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting> {\n const isEven = params.node!.childIndex! % 2 === 0;\n const defaultTheme = this.getDefaultCellTheme(isEven);\n const defaultBackgroundColor = defaultTheme.semanticColors.bodyBackground;\n const colId = params.colDef.colId!;\n \n // Handle checkbox column specifically\n if (colId === CHECKBOX_COLUMN_KEY || !params.data) {\n return {\n primaryColor: this._theme.palette.themePrimary,\n backgroundColor: defaultBackgroundColor,\n textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),\n className: '',\n themeOverride: {}\n };\n }\n \n const customFormatting = params.data!.getColumnInfo(colId).ui.getCustomFormatting(defaultTheme) ?? {};\n \n // Prepare the result with defaults\n const result: Required<ICustomColumnFormatting> = {\n backgroundColor: customFormatting.backgroundColor ?? defaultBackgroundColor,\n primaryColor: customFormatting.primaryColor ?? this._theme.palette.themePrimary,\n textColor: customFormatting.textColor ?? '',\n className: customFormatting.className ?? '',\n themeOverride: customFormatting.themeOverride ?? {}\n };\n \n // Apply background-specific adjustments\n if (result.backgroundColor !== defaultBackgroundColor) {\n result.themeOverride = merge({}, {\n fonts: {\n medium: {\n fontWeight: 600\n }\n }\n }, result.themeOverride);\n \n if (!customFormatting.primaryColor) {\n result.primaryColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n }\n \n // Ensure text color is set\n if (!result.textColor) {\n result.textColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n \n return result;\n }\n\n public getDefaultCellTheme(isEven: boolean): ITheme {\n if(isEven || !this._grid.isZebraEnabled) {\n return this.evenRowCellTheme;\n }\n return this.oddRowCellTheme;\n }\n\n\n public setRerenderCallback(callback: () => void) {\n this._rerenderCallback = callback;\n }\n\n public rerender() {\n this._rerenderCallback();\n }\n\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return false;\n }\n const columnInfo = params.data?.getColumnInfo(column.name);\n if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {\n return false;\n }\n //disable ag grid cell editor if oneClickEdit is enabled\n //editor control will be used in cell renderer\n if (column.oneClickEdit) {\n return false;\n }\n return columnInfo?.security.editable ?? true;\n }\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn) {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding:\n case DataTypes.LookupSimple:\n case DataTypes.MultiSelectOptionSet:\n case DataTypes.OptionSet:\n case DataTypes.TwoOptions:\n case DataTypes.WholeDuration: {\n return true;\n }\n }\n return false;\n }\n\n private _getValue(p: any, column: IGridColumn) {\n if (column.name === CHECKBOX_COLUMN_KEY || !p.data) {\n return {\n customFormatting: this.getCellFormatting(p)\n }\n }\n let editing: boolean = false;\n const record = p.data as IRecord;\n const columnInfo = p.data!.getColumnInfo(column.name) as IColumnInfo;\n //i hate this, there is no other way to get the information if we are in edit mode or not\n if (p.api.getEditingCells() > 0 || Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.pcfContext,\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...control.getParameters(),\n ...this._grid.getParameters(record, column, editing),\n })\n if (column.oneClickEdit) {\n editing = true;\n }\n const values = {\n notifications: columnInfo.ui.getNotifications(),\n value: p.data!.getValue(column.name),\n customFormatting: this.getCellFormatting(p),\n customControl: customControl,\n height: p.node.rowHeight,\n error: columnInfo.error,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n return values;\n }\n}"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"AgGrid.js","sources":["../../../../../../../src/components/Grid/core/components/AgGrid/model/AgGrid.ts"],"sourcesContent":["import { CellClassParams, ColDef, ColumnMovedEvent, ColumnResizedEvent, EditableCallbackParams, GridApi, IRowNode, RowNode, SuppressKeyboardEventParams } from \"@ag-grid-community/core\";\nimport { Grid } from \"../../../model/Grid\";\nimport { GridDependency } from \"../../../model/GridDependency\";\nimport { IGridColumn } from \"../../../interfaces/IGridColumn\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../../../constants\";\nimport { DataTypes, IAddControlNotificationOptions, IColumn, IColumnInfo, IControlParameters, ICustomColumnComponent, ICustomColumnControl, ICustomColumnFormatting, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { GlobalCheckBox } from \"../../ColumnHeader/components/GlobalCheckbox/GlobalCheckbox\";\nimport { ColumnHeader } from \"../../ColumnHeader/ColumnHeader\";\nimport { Cell } from \"../../Cell/Cell\";\nimport { ITheme, merge } from \"@fluentui/react\";\nimport { Theming } from \"@talxis/react-components\";\nimport { Comparator } from \"./Comparator\";\nimport { NestedControl } from \"../../../../../NestedControlRenderer/NestedControl\";\n\nexport interface ICellValues {\n notifications: IAddControlNotificationOptions[];\n customFormatting: Required<ICustomColumnFormatting>;\n customControl: Required<ICustomColumnControl>;\n customComponent: ICustomColumnComponent;\n loading: boolean;\n value: any;\n error: boolean;\n height: number;\n errorMessage: string;\n parameters: IControlParameters;\n columnAlignment: Required<IColumn['alignment']>;\n editing: boolean;\n editable: boolean;\n disabled: boolean;\n}\n\nexport class AgGrid extends GridDependency {\n private _gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>;\n private _theme: ITheme;\n private _rerenderCallback: () => void = () => { };\n private _rerenderGlobalCheckBox: () => void = () => { };\n private _comparator: Comparator = new Comparator();\n public readonly oddRowCellTheme: ITheme;\n public readonly evenRowCellTheme: ITheme;\n\n constructor(grid: Grid, gridApiRef: React.MutableRefObject<GridApi<ComponentFramework.PropertyHelper.DataSetApi.EntityRecord> | undefined>, theme: ITheme) {\n super(grid);\n this._gridApiRef = gridApiRef;\n this._theme = theme;\n this._grid.dataset.addEventListener('onRecordsSelected', (ids) => {\n this.refreshRowSelection();\n })\n this.oddRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.neutralLighterAlt, this._theme.semanticColors.bodyText);\n this.evenRowCellTheme = Theming.GenerateThemeV8(this._theme.palette.themePrimary, this._theme.palette.white, this._theme.semanticColors.bodyText);\n }\n public getColumns() {\n const agColumns: ColDef[] = [];\n for (const column of this._grid.columns) {\n const agColumn: ColDef = {\n colId: column.name,\n field: column.name,\n headerName: column.displayName,\n hide: column.isHidden,\n width: column.visualSizeFactor,\n sortable: !column.disableSorting,\n resizable: column.isResizable,\n autoHeaderHeight: true,\n suppressMovable: column.isDraggable === false ? true : false,\n suppressSizeToFit: column.name === CHECKBOX_COLUMN_KEY,\n suppressKeyboardEvent: (params) => this._suppressKeyboardEvent(params, column),\n cellRenderer: Cell,\n cellEditor: Cell,\n editable: (p) => this._isColumnEditable(column, p),\n headerComponent: ColumnHeader,\n onCellClicked: (event) => {\n this._grid.dataset.fireEventListeners?.('onRecordColumnClick', event.data, column.name);\n },\n valueFormatter: (p) => {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return null;\n }\n return p.data?.getFormattedValue(column.name)\n },\n valueGetter: (p: any) => this._getValue(p, column),\n equals: (valueA, valueB) => {\n return this._comparator.isEqual(valueA, valueB);\n },\n cellRendererParams: {\n baseColumn: column,\n isCellEditor: false\n },\n cellEditorParams: {\n baseColumn: column,\n isCellEditor: true\n },\n headerComponentParams: {\n baseColumn: column\n },\n }\n if (agColumn.field === CHECKBOX_COLUMN_KEY) {\n agColumn.lockPosition = 'left';\n agColumn.headerComponent = GlobalCheckBox;\n }\n agColumns.push(agColumn)\n }\n return agColumns;\n }\n\n public refresh() {\n if (this._grid.loading) {\n return;\n }\n this._gridApi?.resetRowHeights();\n this._gridApi?.refreshCells({\n rowNodes: this._gridApi.getRenderedNodes()\n });\n }\n\n public setGlobalCheckBoxRenderer(renderer: () => void) {\n this._rerenderGlobalCheckBox = renderer;\n }\n\n public rerenderGlobalCheckBox() {\n this._rerenderGlobalCheckBox();\n }\n\n public updateColumnOrder(e: ColumnMovedEvent<IRecord, any>) {\n if (e.type === 'gridOptionsChanged' || !e.finished) {\n return;\n }\n const sortedIds = e.api.getState().columnOrder?.orderedColIds;\n if (!sortedIds) {\n return;\n }\n const idIndexMap = new Map<string, number>();\n sortedIds.forEach((id, index) => {\n idIndexMap.set(id, index);\n });\n\n const orderedColumns = [...this._grid.dataset.columns].sort((a, b) => {\n const aIndex = idIndexMap.has(a.name) ? idIndexMap.get(a.name)! : sortedIds.length;\n const bIndex = idIndexMap.has(b.name) ? idIndexMap.get(b.name)! : sortedIds.length;\n return aIndex - bIndex;\n });\n this._grid.dataset.setColumns?.(orderedColumns);\n }\n\n public updateColumnVisualSizeFactor(e: ColumnResizedEvent<IRecord, any>) {\n const resizedColumnKey = this._grid.dataset.columns.find(x => x.name === e.column?.getId())?.name;\n if (!resizedColumnKey) {\n return;\n }\n const columns = this._grid.dataset.columns;\n for (let i = 0; i < columns.length; i++) {\n if (columns[i].name === resizedColumnKey) {\n columns[i].visualSizeFactor = e.column?.getActualWidth()!\n }\n }\n this._grid.dataset.setColumns?.(columns);\n this.refresh();\n }\n\n public toggleOverlay() {\n if(this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n }\n else {\n setTimeout(() => {\n if(this._grid.dataset.sortedRecordIds.length === 0) {\n this._gridApi?.showNoRowsOverlay();\n }\n }, 0);\n }\n }\n\n public copyCellValue(event: KeyboardEvent) {\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === 'c') {\n const cell = this._gridApi?.getFocusedCell();\n if (!cell) {\n return;\n }\n const row = this._gridApi?.getDisplayedRowAtIndex(cell.rowIndex);\n const formattedValue = this._gridApi?.getCellValue({\n rowNode: row!,\n colKey: cell.column.getColId(),\n useFormatter: true\n })\n navigator.clipboard.writeText(formattedValue ?? \"\");\n }\n }\n\n public getRowHeight(record?: IRecord) {\n const columnWidths: { [name: string]: number } = {};\n this._gridApi?.getAllGridColumns().map(col => {\n columnWidths[col.getColId()] = col.getActualWidth()\n })\n if (Object.keys(columnWidths).length === 0) {\n return this._grid.rowHeight;\n }\n //not defined for grouping\n return record?.getHeight(columnWidths, this._grid.rowHeight) ?? this._grid.rowHeight;\n }\n\n public getTotalColumnsWidth() {\n if (!this._gridApi) {\n return 0;\n }\n let width = 0;\n for (const column of this._gridApi.getAllDisplayedColumns()) {\n width = width + column.getActualWidth();\n }\n return width;\n }\n public refreshRowSelection() {\n if (!this._gridApi) {\n return;\n }\n const selectedIdsSet = new Set(this._grid.dataset.getSelectedRecordIds().map(id => id));\n this._gridApi.forEachNode(node => {\n if(selectedIdsSet.has(node.id!)) {\n node.setSelected(true);\n }\n else {\n node.setSelected(false);\n }\n })\n this._gridApi.refreshCells({\n columns: [CHECKBOX_COLUMN_KEY],\n force: true,\n })\n this._rerenderGlobalCheckBox();\n }\n\n public getCellFormatting(params: CellClassParams<IRecord, any>): Required<ICustomColumnFormatting> {\n const isEven = params.node!.childIndex! % 2 === 0;\n const defaultTheme = this.getDefaultCellTheme(isEven);\n const defaultBackgroundColor = defaultTheme.semanticColors.bodyBackground;\n const colId = params.colDef.colId!;\n \n // Handle checkbox column specifically\n if (colId === CHECKBOX_COLUMN_KEY || !params.data) {\n return {\n primaryColor: this._theme.palette.themePrimary,\n backgroundColor: defaultBackgroundColor,\n textColor: Theming.GetTextColorForBackground(defaultBackgroundColor),\n className: '',\n themeOverride: {}\n };\n }\n \n const customFormatting = params.data!.getColumnInfo(colId).ui.getCustomFormatting(defaultTheme) ?? {};\n \n // Prepare the result with defaults\n const result: Required<ICustomColumnFormatting> = {\n backgroundColor: customFormatting.backgroundColor ?? defaultBackgroundColor,\n primaryColor: customFormatting.primaryColor ?? this._theme.palette.themePrimary,\n textColor: customFormatting.textColor ?? '',\n className: customFormatting.className ?? '',\n themeOverride: customFormatting.themeOverride ?? {}\n };\n \n // Apply background-specific adjustments\n if (result.backgroundColor !== defaultBackgroundColor) {\n result.themeOverride = merge({}, {\n fonts: {\n medium: {\n fontWeight: 600\n }\n }\n }, result.themeOverride);\n \n if (!customFormatting.primaryColor) {\n result.primaryColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n }\n \n // Ensure text color is set\n if (!result.textColor) {\n result.textColor = Theming.GetTextColorForBackground(result.backgroundColor);\n }\n \n return result;\n }\n\n public getDefaultCellTheme(isEven: boolean): ITheme {\n if(isEven || !this._grid.isZebraEnabled) {\n return this.evenRowCellTheme;\n }\n return this.oddRowCellTheme;\n }\n\n\n public setRerenderCallback(callback: () => void) {\n this._rerenderCallback = callback;\n }\n\n public rerender() {\n this._rerenderCallback();\n }\n\n private get _gridApi() {\n return this._gridApiRef.current;\n }\n\n private _isColumnEditable(column: IGridColumn, params: EditableCallbackParams<IRecord, any>): boolean {\n if (column.name === CHECKBOX_COLUMN_KEY) {\n return false;\n }\n const columnInfo = params.data?.getColumnInfo(column.name);\n if (!this._grid.parameters.EnableEditing?.raw || columnInfo?.ui.isLoading() === true) {\n return false;\n }\n //disable ag grid cell editor if oneClickEdit is enabled\n //editor control will be used in cell renderer\n if (column.oneClickEdit) {\n return false;\n }\n return columnInfo?.security.editable ?? true;\n }\n private _suppressKeyboardEvent(params: SuppressKeyboardEventParams<IRecord, any>, column: IGridColumn) {\n if (params.event.key !== 'Enter' || params.api.getEditingCells().length === 0) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.DateAndTimeDateAndTime:\n case DataTypes.DateAndTimeDateOnly:\n case DataTypes.LookupOwner:\n case DataTypes.LookupCustomer:\n case DataTypes.LookupRegarding:\n case DataTypes.LookupSimple:\n case DataTypes.MultiSelectOptionSet:\n case DataTypes.OptionSet:\n case DataTypes.TwoOptions:\n case DataTypes.WholeDuration: {\n return true;\n }\n }\n return false;\n }\n\n private _getValue(p: any, column: IGridColumn) {\n if (column.name === CHECKBOX_COLUMN_KEY || !p.data) {\n return {\n customFormatting: this.getCellFormatting(p)\n }\n }\n let editing: boolean = false;\n const record = p.data as IRecord;\n const columnInfo = p.data!.getColumnInfo(column.name) as IColumnInfo;\n //i hate this, there is no other way to get the information if we are in edit mode or not\n if (p.api.getEditingCells() > 0 || Error().stack!.includes('startEditing')) {\n editing = true;\n }\n const customControl = this._grid.getControl(column, record, editing || !!column.oneClickEdit);\n const control = new NestedControl({\n onGetBindings: () => this._grid.getBindings(record, column, customControl),\n parentPcfContext: this._grid.pcfContext,\n });\n const parameters = columnInfo.ui.getControlParameters({\n ...control.getParameters(),\n ...this._grid.getParameters(record, column, editing),\n })\n if (column.oneClickEdit) {\n editing = true;\n }\n const values = {\n notifications: columnInfo.ui.getNotifications(),\n value: p.data!.getValue(column.name),\n customFormatting: this.getCellFormatting(p),\n customControl: customControl,\n height: p.node.rowHeight,\n error: columnInfo.error,\n loading: columnInfo.ui.isLoading(),\n errorMessage: columnInfo.errorMessage,\n editable: columnInfo.security.editable,\n editing: editing,\n parameters: parameters,\n columnAlignment: column.alignment,\n customComponent: columnInfo.ui.getCustomControlComponent()\n } as ICellValues;\n return values;\n }\n}"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED