@talxis/base-controls 1.2504.7 → 1.2504.9

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.
@@ -124,19 +124,9 @@ class AgGrid extends GridDependency {
124
124
  this.refresh();
125
125
  }
126
126
  toggleOverlay() {
127
- setTimeout(() => {
128
- this._gridApi?.hideOverlay();
129
- if (this._grid.loading) {
130
- this._gridApi?.showLoadingOverlay();
131
- return;
132
- }
133
- if (this._grid.records.length === 0) {
134
- this._gridApi?.showNoRowsOverlay();
135
- }
136
- if (this._grid.records.length > 0) {
137
- this._gridApi?.ensureIndexVisible(0);
138
- }
139
- }, 100);
127
+ if (this._grid.loading) {
128
+ this._gridApi?.showLoadingOverlay();
129
+ }
140
130
  }
141
131
  copyCellValue(event) {
142
132
  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 setTimeout(() => {\n this._gridApi?.hideOverlay();\n if (this._grid.loading) {\n this._gridApi?.showLoadingOverlay();\n return;\n }\n if (this._grid.records.length === 0) {\n this._gridApi?.showNoRowsOverlay();\n }\n \n if (this._grid.records.length > 0) {\n this._gridApi?.ensureIndexVisible(0)\n }\n }, 100);\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 }\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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"}
@@ -117,14 +117,14 @@ class Grid {
117
117
  height: this.parameters.Height?.raw
118
118
  };
119
119
  }
120
- if (this._records.length <= 50) {
120
+ if (this._records.length <= 15) {
121
121
  return {
122
122
  isAutoHeightEnabled: true
123
123
  };
124
124
  }
125
125
  return {
126
126
  isAutoHeightEnabled: false,
127
- height: `${this.rowHeight * 50}px`
127
+ height: `${this.rowHeight * 15}px`
128
128
  };
129
129
  }
130
130
  getClient() {
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.js","sources":["../../../../../src/components/Grid/core/model/Grid.ts"],"sourcesContent":["import { Attribute, Client, Constants, DataType, DataTypes, IColumn, ICustomColumnControl, IDataset, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { Filtering } from \"../../filtering/model/Filtering\";\nimport { IGrid } from \"../../interfaces\";\nimport { Paging } from \"../../paging/model/Paging\";\nimport { Selection } from \"../../selection/model/Selection\";\nimport { Sorting } from \"../../sorting/Sorting\";\nimport { KeyHoldListener } from \"../services/KeyListener\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { IGridColumn } from \"../interfaces/IGridColumn\";\nimport { BaseControls } from \"../../../../utils\";\nimport { IBinding } from \"../../../NestedControlRenderer/interfaces\";\nimport { merge } from \"merge-anything\";\n\nconst DEFAULT_ROW_HEIGHT = 42;\n\nexport interface IGridHeightSettings {\n isAutoHeightEnabled: boolean;\n height?: string;\n}\n\nexport class Grid {\n private _props: IGrid;\n private _dataset: IDataset\n private _pcfContext: ComponentFramework.Context<any>;\n private _columns: IGridColumn[] = [];\n //used for optimization\n private _previousRecordsReference: {\n [id: string]: IRecord;\n } = {};\n //TODO: fix types\n private _labels: any;\n private _shouldRerender: boolean = false;\n private _records: IRecord[] = [];\n //TODO: the dependencies might not have fully loaded grid\n //need to make sure that the grid is initialized before creating them\n private _dependencies: {\n filtering: Filtering,\n sorting: Sorting,\n selection: Selection,\n paging: Paging,\n };\n private _initialPageSize: number;\n private _usesNestedPcfs: boolean = false;\n private _client = new Client();\n private _isUpdateScheduled: boolean = false;\n\n public readonly keyHoldListener: KeyHoldListener;\n\n constructor(props: IGrid, labels: any, keyHoldListener: KeyHoldListener) {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n this._labels = labels;\n this.keyHoldListener = keyHoldListener;\n\n this._dependencies = {\n filtering: new Filtering(this),\n selection: new Selection(this),\n sorting: new Sorting(this),\n paging: new Paging(this),\n }\n this._initialPageSize = this.paging.pageSize;\n\n };\n public get isNavigationEnabled() {\n //enabled by default\n return this.parameters.EnableNavigation?.raw !== false;\n }\n public get isEditable() {\n return this._columns.find(x => x.isEditable) ? true : false;\n }\n public get parameters() {\n return this._props.parameters\n }\n public get error() {\n return this._dataset.error;\n }\n public get errorMessage() {\n return this._dataset.errorMessage\n }\n public get labels() {\n return this._labels;\n }\n public get dataset() {\n return this._dataset;\n }\n public get pcfContext() {\n return this._pcfContext;\n }\n public get props() {\n return this._props;\n }\n public get columns() {\n return this._columns;\n }\n public get records() {\n return this._records\n }\n public get sorting() {\n return this._dependencies.sorting;\n }\n public get filtering() {\n return this._dependencies.filtering;\n }\n public get selection() {\n return this._dependencies.selection;\n }\n public get paging() {\n return this._dependencies.paging;\n }\n public get shouldRerender() {\n return this._shouldRerender;\n }\n public get loading() {\n return this._dataset.loading;\n }\n public get state() {\n return this._props.state;\n }\n public get enableOptionSetColors() {\n return this.parameters.EnableOptionSetColors?.raw === true;\n }\n public get linking() {\n return this.dataset.linking;\n }\n\n public get isZebraEnabled() {\n return this.parameters.EnableZebra?.raw !== false;\n }\n\n public get inlineRibbonButtonIds() {\n const idString = this.parameters.InlineRibbonButtonIds?.raw;\n if (!idString) {\n return undefined;\n }\n return idString.split(',');\n }\n\n public get rowHeight() {\n let height = this.parameters.RowHeight?.raw;\n if (!height) {\n height = DEFAULT_ROW_HEIGHT;\n }\n return height;\n }\n\n public getHeightSettings(): IGridHeightSettings {\n if(this.parameters.Height?.raw) {\n return {\n isAutoHeightEnabled: false,\n height: this.parameters.Height?.raw\n }\n }\n if(this._records.length <= 50) {\n return {\n isAutoHeightEnabled: true\n }\n }\n return {\n isAutoHeightEnabled: false,\n height: `${this.rowHeight * 50}px`\n }\n\n\n }\n\n public getClient() {\n return this._client;\n }\n\n public updateDependencies(props: IGrid): void {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n if (this._previousRecordsReference !== this._dataset.records) {\n this._records = Object.values(this._dataset.records);\n this._previousRecordsReference = this._dataset.records;\n this._isUpdateScheduled = true;\n queueMicrotask(() => {\n this._isUpdateScheduled = false;\n })\n }\n Object.values(this._dependencies).map(dep => {\n dep.onDependenciesUpdated()\n })\n this._shouldRerender = !this.shouldRerender;\n }\n\n public isUpdateScheduled() {\n return this._isUpdateScheduled\n }\n public async refreshColumns(): Promise<IGridColumn[]> {\n const gridColumns: IGridColumn[] = [];\n for (const column of this._dataset.columns) {\n const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);\n const gridColumn: IGridColumn = {\n ...column,\n alignment: this.getColumnAlignment(column),\n isEditable: this._isColumnEditable(column),\n isRequired: this._isColumnRequired(column),\n isFilterable: this._isColumnFilterable(column),\n disableSorting: !this._isColumnSortable(column),\n isSortedDescending: sorted?.sortDirection === 1 ? true : false,\n isResizable: true,\n isSorted: sorted ? true : false,\n isFiltered: false,\n getEntityName: () => this._getColumnEntityName(column.name)\n }\n const condition = await this.filtering.condition(gridColumn);\n gridColumn.isFiltered = condition.isAppliedToDataset;\n gridColumns.push(gridColumn);\n }\n if (this.selection.type !== undefined) {\n gridColumns.unshift({\n name: CHECKBOX_COLUMN_KEY,\n alias: CHECKBOX_COLUMN_KEY,\n dataType: DataTypes.SingleLineText,\n alignment: 'center',\n displayName: '',\n isEditable: false,\n isFilterable: false,\n isFiltered: false,\n isRequired: false,\n isResizable: false,\n disableSorting: true,\n isSorted: false,\n isSortedDescending: false,\n order: 0,\n visualSizeFactor: 45,\n getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)\n });\n }\n this._columns = gridColumns;\n return gridColumns;\n }\n\n public getTotalVisibleColumnsWidth(): number {\n let totalWidth = 0;\n this._columns.filter(x => !x.isHidden).map(col => {\n totalWidth = totalWidth + (col.visualSizeFactor ?? 0);\n })\n return totalWidth;\n }\n\n public onNotifyOutputChanged(record: IRecord, column: IColumn, editing: boolean, newValue: any, rerenderCell: () => void) {\n record.setValue(column.name, newValue);\n if (!editing) {\n this.pcfContext.factory.requestRender();\n return;\n }\n setTimeout(() => {\n rerenderCell();\n }, 0);\n }\n\n public setUsesNestedPcfs() {\n this._usesNestedPcfs = true;\n }\n\n public getBindings(record: IRecord, column: IColumn, control: ICustomColumnControl) {\n const columnInfo = record.getColumnInfo(column.name);\n const bindings: { [name: string]: IBinding } = {\n 'value': {\n isStatic: false,\n type: column.dataType as any,\n value: this._getBindingValue(record, column),\n formattedValue: record.getFormattedValue(column.name),\n error: columnInfo.error,\n errorMessage: columnInfo.errorMessage,\n onNotifyOutputChanged: () => { },\n metadata: {\n onOverrideMetadata: () => column.metadata\n }\n },\n 'IsCellCustomizer': {\n isStatic: true,\n type: DataTypes.TwoOptions,\n value: true\n }\n }\n if (control.bindings) {\n Object.entries(control.bindings).map(([name, binding]) => {\n bindings[name] = {\n isStatic: true,\n type: binding.type!,\n value: binding.value\n }\n })\n }\n return bindings;\n }\n\n public getControl(column: IColumn, record: IRecord, editing: boolean): Required<ICustomColumnControl> {\n //file and image currently do not support editor, always force cell renderers\n switch (column.dataType) {\n case 'File':\n case 'Image': {\n return {\n name: 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n }\n }\n }\n const defaultControl: Required<ICustomColumnControl> = {\n name: editing ? BaseControls.GetControlNameForDataType(column.dataType as DataType) : 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n };\n const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);\n const appliesToValue = editing ? 'editor' : 'renderer';\n const customControl = customControls.find(\n control => control.appliesTo === 'both' || control.appliesTo === appliesToValue\n );\n if (customControl) {\n return merge(defaultControl, customControl) as Required<ICustomColumnControl>;\n }\n\n return defaultControl;\n }\n\n public getParameters(record: IRecord, column: IGridColumn, editing: boolean) {\n const parameters: any = {\n Dataset: {\n raw: this.dataset,\n type: DataTypes.Object\n },\n Record: {\n raw: record,\n type: DataTypes.Object\n },\n Column: {\n raw: column,\n type: DataTypes.Object\n }\n }\n parameters.EnableNavigation = {\n raw: this.isNavigationEnabled,\n type: DataTypes.TwoOptions\n }\n parameters.ColumnAlignment = {\n raw: column.alignment,\n type: DataTypes.SingleLineText\n }\n parameters.IsPrimaryColumn = {\n raw: column.isPrimary,\n type: DataTypes.TwoOptions\n }\n parameters.ShowErrorMessage = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n parameters.CellType = {\n raw: editing ? 'editor' : 'renderer',\n type: DataTypes.SingleLineText\n }\n if (editing) {\n parameters.AutoFocus = {\n raw: true,\n type: DataTypes.TwoOptions\n }\n }\n switch (column.dataType) {\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n parameters.IsInlineNewEnabled = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'SingleLine.Email':\n case 'SingleLine.Phone':\n case 'SingleLine.URL': {\n parameters.EnableTypeSuffix = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'OptionSet':\n case 'TwoOptions':\n case 'MultiSelectPicklist': {\n parameters.EnableOptionSetColors = {\n raw: this.enableOptionSetColors,\n type: DataTypes.TwoOptions\n }\n break;\n }\n }\n return parameters;\n }\n public getColumnAlignment(column: IColumn) {\n if (column.alignment) {\n return column.alignment;\n }\n switch (column.dataType) {\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency: {\n return 'right';\n }\n }\n if (column.type === 'action') {\n return 'right';\n }\n return 'left';\n }\n\n public destroy() {\n this._previousRecordsReference = {};\n this._records.length = 0;\n this.keyHoldListener.destroy();\n //@ts-ignore - internal types\n //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks\n //this should be moved to dataset control\n if (this._usesNestedPcfs && !this._client.isTalxisPortal()) {\n location.reload();\n }\n }\n\n private _getBindingValue(record: IRecord, column: IColumn) {\n let value = record.getValue(column.name);\n switch (column.dataType) {\n //getValue always returns string for TwoOptions\n case 'TwoOptions': {\n value = value == '1' ? true : false\n break;\n }\n //getValue always returns string for OptionSet\n case 'OptionSet': {\n value = value ? parseInt(value) : null;\n break;\n }\n case 'MultiSelectPicklist': {\n value = value ? value.split(',').map((x: string) => parseInt(x)) : null;\n break;\n }\n case 'Lookup.Simple':\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding': {\n //our implementation returns array, Power Apps returns object\n if (value && !Array.isArray(value)) {\n value = [value];\n }\n value = value?.map((x: ComponentFramework.EntityReference) => Sanitizer.Lookup.getLookupValue(x))\n break;\n }\n }\n return value;\n }\n\n private _isColumnEditable(column: IColumn): boolean {\n //only allow editing if specifically allowed\n if (!this._props.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //these field types do not support editing\n switch (column.dataType) {\n case DataTypes.File:\n case DataTypes.Image: {\n return false;\n }\n }\n return column.metadata?.IsValidForUpdate ?? false;\n }\n\n private _isColumnRequired(column: IColumn): boolean {\n if (!this.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n const requiredLevel = column.metadata?.RequiredLevel;\n if (requiredLevel === 1 || requiredLevel === 2) {\n return true;\n }\n return false;\n }\n private _isColumnSortable(column: IColumn): boolean {\n if (column.name.endsWith('__virtual')) {\n return false;\n }\n if (this._props.parameters.EnableSorting?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.Image: {\n return false;\n }\n }\n if (column.disableSorting === undefined) {\n return true;\n }\n return !column.disableSorting;\n }\n private _isColumnFilterable(column: IColumn): boolean {\n if (this.props.parameters.EnableFiltering?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //by default, do not make virtual columns filterable unless explicitly set\n if(column.name.endsWith('__virtual')) {\n return column.metadata?.isFilterable ?? false;\n }\n return column.metadata?.isFilterable ?? true;\n }\n private _getColumnEntityName(columnName: string) {\n const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);\n if (!entityAliasName) {\n return this.dataset.getTargetEntityType();\n }\n return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName)!.name;\n }\n}"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.js","sources":["../../../../../src/components/Grid/core/model/Grid.ts"],"sourcesContent":["import { Attribute, Client, Constants, DataType, DataTypes, IColumn, ICustomColumnControl, IDataset, IRecord, Sanitizer } from \"@talxis/client-libraries\";\nimport { Filtering } from \"../../filtering/model/Filtering\";\nimport { IGrid } from \"../../interfaces\";\nimport { Paging } from \"../../paging/model/Paging\";\nimport { Selection } from \"../../selection/model/Selection\";\nimport { Sorting } from \"../../sorting/Sorting\";\nimport { KeyHoldListener } from \"../services/KeyListener\";\nimport { CHECKBOX_COLUMN_KEY } from \"../../constants\";\nimport { IGridColumn } from \"../interfaces/IGridColumn\";\nimport { BaseControls } from \"../../../../utils\";\nimport { IBinding } from \"../../../NestedControlRenderer/interfaces\";\nimport { merge } from \"merge-anything\";\n\nconst DEFAULT_ROW_HEIGHT = 42;\n\nexport interface IGridHeightSettings {\n isAutoHeightEnabled: boolean;\n height?: string;\n}\n\nexport class Grid {\n private _props: IGrid;\n private _dataset: IDataset\n private _pcfContext: ComponentFramework.Context<any>;\n private _columns: IGridColumn[] = [];\n //used for optimization\n private _previousRecordsReference: {\n [id: string]: IRecord;\n } = {};\n //TODO: fix types\n private _labels: any;\n private _shouldRerender: boolean = false;\n private _records: IRecord[] = [];\n //TODO: the dependencies might not have fully loaded grid\n //need to make sure that the grid is initialized before creating them\n private _dependencies: {\n filtering: Filtering,\n sorting: Sorting,\n selection: Selection,\n paging: Paging,\n };\n private _initialPageSize: number;\n private _usesNestedPcfs: boolean = false;\n private _client = new Client();\n private _isUpdateScheduled: boolean = false;\n\n public readonly keyHoldListener: KeyHoldListener;\n\n constructor(props: IGrid, labels: any, keyHoldListener: KeyHoldListener) {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n this._labels = labels;\n this.keyHoldListener = keyHoldListener;\n\n this._dependencies = {\n filtering: new Filtering(this),\n selection: new Selection(this),\n sorting: new Sorting(this),\n paging: new Paging(this),\n }\n this._initialPageSize = this.paging.pageSize;\n\n };\n public get isNavigationEnabled() {\n //enabled by default\n return this.parameters.EnableNavigation?.raw !== false;\n }\n public get isEditable() {\n return this._columns.find(x => x.isEditable) ? true : false;\n }\n public get parameters() {\n return this._props.parameters\n }\n public get error() {\n return this._dataset.error;\n }\n public get errorMessage() {\n return this._dataset.errorMessage\n }\n public get labels() {\n return this._labels;\n }\n public get dataset() {\n return this._dataset;\n }\n public get pcfContext() {\n return this._pcfContext;\n }\n public get props() {\n return this._props;\n }\n public get columns() {\n return this._columns;\n }\n public get records() {\n return this._records\n }\n public get sorting() {\n return this._dependencies.sorting;\n }\n public get filtering() {\n return this._dependencies.filtering;\n }\n public get selection() {\n return this._dependencies.selection;\n }\n public get paging() {\n return this._dependencies.paging;\n }\n public get shouldRerender() {\n return this._shouldRerender;\n }\n public get loading() {\n return this._dataset.loading;\n }\n public get state() {\n return this._props.state;\n }\n public get enableOptionSetColors() {\n return this.parameters.EnableOptionSetColors?.raw === true;\n }\n public get linking() {\n return this.dataset.linking;\n }\n\n public get isZebraEnabled() {\n return this.parameters.EnableZebra?.raw !== false;\n }\n\n public get inlineRibbonButtonIds() {\n const idString = this.parameters.InlineRibbonButtonIds?.raw;\n if (!idString) {\n return undefined;\n }\n return idString.split(',');\n }\n\n public get rowHeight() {\n let height = this.parameters.RowHeight?.raw;\n if (!height) {\n height = DEFAULT_ROW_HEIGHT;\n }\n return height;\n }\n\n public getHeightSettings(): IGridHeightSettings {\n if(this.parameters.Height?.raw) {\n return {\n isAutoHeightEnabled: false,\n height: this.parameters.Height?.raw\n }\n }\n if(this._records.length <= 15) {\n return {\n isAutoHeightEnabled: true\n }\n }\n return {\n isAutoHeightEnabled: false,\n height: `${this.rowHeight * 15}px`\n }\n\n\n }\n\n public getClient() {\n return this._client;\n }\n\n public updateDependencies(props: IGrid): void {\n this._props = props;\n this._dataset = props.parameters.Grid;\n this._pcfContext = props.context;\n if (this._previousRecordsReference !== this._dataset.records) {\n this._records = Object.values(this._dataset.records);\n this._previousRecordsReference = this._dataset.records;\n this._isUpdateScheduled = true;\n queueMicrotask(() => {\n this._isUpdateScheduled = false;\n })\n }\n Object.values(this._dependencies).map(dep => {\n dep.onDependenciesUpdated()\n })\n this._shouldRerender = !this.shouldRerender;\n }\n\n public isUpdateScheduled() {\n return this._isUpdateScheduled\n }\n public async refreshColumns(): Promise<IGridColumn[]> {\n const gridColumns: IGridColumn[] = [];\n for (const column of this._dataset.columns) {\n const sorted = this._dataset.sorting?.find(sort => sort.name === column.name);\n const gridColumn: IGridColumn = {\n ...column,\n alignment: this.getColumnAlignment(column),\n isEditable: this._isColumnEditable(column),\n isRequired: this._isColumnRequired(column),\n isFilterable: this._isColumnFilterable(column),\n disableSorting: !this._isColumnSortable(column),\n isSortedDescending: sorted?.sortDirection === 1 ? true : false,\n isResizable: true,\n isSorted: sorted ? true : false,\n isFiltered: false,\n getEntityName: () => this._getColumnEntityName(column.name)\n }\n const condition = await this.filtering.condition(gridColumn);\n gridColumn.isFiltered = condition.isAppliedToDataset;\n gridColumns.push(gridColumn);\n }\n if (this.selection.type !== undefined) {\n gridColumns.unshift({\n name: CHECKBOX_COLUMN_KEY,\n alias: CHECKBOX_COLUMN_KEY,\n dataType: DataTypes.SingleLineText,\n alignment: 'center',\n displayName: '',\n isEditable: false,\n isFilterable: false,\n isFiltered: false,\n isRequired: false,\n isResizable: false,\n disableSorting: true,\n isSorted: false,\n isSortedDescending: false,\n order: 0,\n visualSizeFactor: 45,\n getEntityName: () => this._getColumnEntityName(CHECKBOX_COLUMN_KEY)\n });\n }\n this._columns = gridColumns;\n return gridColumns;\n }\n\n public getTotalVisibleColumnsWidth(): number {\n let totalWidth = 0;\n this._columns.filter(x => !x.isHidden).map(col => {\n totalWidth = totalWidth + (col.visualSizeFactor ?? 0);\n })\n return totalWidth;\n }\n\n public onNotifyOutputChanged(record: IRecord, column: IColumn, editing: boolean, newValue: any, rerenderCell: () => void) {\n record.setValue(column.name, newValue);\n if (!editing) {\n this.pcfContext.factory.requestRender();\n return;\n }\n setTimeout(() => {\n rerenderCell();\n }, 0);\n }\n\n public setUsesNestedPcfs() {\n this._usesNestedPcfs = true;\n }\n\n public getBindings(record: IRecord, column: IColumn, control: ICustomColumnControl) {\n const columnInfo = record.getColumnInfo(column.name);\n const bindings: { [name: string]: IBinding } = {\n 'value': {\n isStatic: false,\n type: column.dataType as any,\n value: this._getBindingValue(record, column),\n formattedValue: record.getFormattedValue(column.name),\n error: columnInfo.error,\n errorMessage: columnInfo.errorMessage,\n onNotifyOutputChanged: () => { },\n metadata: {\n onOverrideMetadata: () => column.metadata\n }\n },\n 'IsCellCustomizer': {\n isStatic: true,\n type: DataTypes.TwoOptions,\n value: true\n }\n }\n if (control.bindings) {\n Object.entries(control.bindings).map(([name, binding]) => {\n bindings[name] = {\n isStatic: true,\n type: binding.type!,\n value: binding.value\n }\n })\n }\n return bindings;\n }\n\n public getControl(column: IColumn, record: IRecord, editing: boolean): Required<ICustomColumnControl> {\n //file and image currently do not support editor, always force cell renderers\n switch (column.dataType) {\n case 'File':\n case 'Image': {\n return {\n name: 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n }\n }\n }\n const defaultControl: Required<ICustomColumnControl> = {\n name: editing ? BaseControls.GetControlNameForDataType(column.dataType as DataType) : 'GridCellRenderer',\n appliesTo: 'both',\n bindings: {}\n };\n const customControls = record.getColumnInfo(column.name).ui.getCustomControls([defaultControl]);\n const appliesToValue = editing ? 'editor' : 'renderer';\n const customControl = customControls.find(\n control => control.appliesTo === 'both' || control.appliesTo === appliesToValue\n );\n if (customControl) {\n return merge(defaultControl, customControl) as Required<ICustomColumnControl>;\n }\n\n return defaultControl;\n }\n\n public getParameters(record: IRecord, column: IGridColumn, editing: boolean) {\n const parameters: any = {\n Dataset: {\n raw: this.dataset,\n type: DataTypes.Object\n },\n Record: {\n raw: record,\n type: DataTypes.Object\n },\n Column: {\n raw: column,\n type: DataTypes.Object\n }\n }\n parameters.EnableNavigation = {\n raw: this.isNavigationEnabled,\n type: DataTypes.TwoOptions\n }\n parameters.ColumnAlignment = {\n raw: column.alignment,\n type: DataTypes.SingleLineText\n }\n parameters.IsPrimaryColumn = {\n raw: column.isPrimary,\n type: DataTypes.TwoOptions\n }\n parameters.ShowErrorMessage = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n parameters.CellType = {\n raw: editing ? 'editor' : 'renderer',\n type: DataTypes.SingleLineText\n }\n if (editing) {\n parameters.AutoFocus = {\n raw: true,\n type: DataTypes.TwoOptions\n }\n }\n switch (column.dataType) {\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding':\n case 'Lookup.Simple': {\n parameters.IsInlineNewEnabled = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'SingleLine.Email':\n case 'SingleLine.Phone':\n case 'SingleLine.URL': {\n parameters.EnableTypeSuffix = {\n raw: false,\n type: DataTypes.TwoOptions\n }\n break;\n }\n case 'OptionSet':\n case 'TwoOptions':\n case 'MultiSelectPicklist': {\n parameters.EnableOptionSetColors = {\n raw: this.enableOptionSetColors,\n type: DataTypes.TwoOptions\n }\n break;\n }\n }\n return parameters;\n }\n public getColumnAlignment(column: IColumn) {\n if (column.alignment) {\n return column.alignment;\n }\n switch (column.dataType) {\n case DataTypes.WholeNone:\n case DataTypes.Decimal:\n case DataTypes.Currency: {\n return 'right';\n }\n }\n if (column.type === 'action') {\n return 'right';\n }\n return 'left';\n }\n\n public destroy() {\n this._previousRecordsReference = {};\n this._records.length = 0;\n this.keyHoldListener.destroy();\n //@ts-ignore - internal types\n //if any nested PCF has been loaded and we are in Power Apps, do a page refresh to prevent memory leaks\n //this should be moved to dataset control\n if (this._usesNestedPcfs && !this._client.isTalxisPortal()) {\n location.reload();\n }\n }\n\n private _getBindingValue(record: IRecord, column: IColumn) {\n let value = record.getValue(column.name);\n switch (column.dataType) {\n //getValue always returns string for TwoOptions\n case 'TwoOptions': {\n value = value == '1' ? true : false\n break;\n }\n //getValue always returns string for OptionSet\n case 'OptionSet': {\n value = value ? parseInt(value) : null;\n break;\n }\n case 'MultiSelectPicklist': {\n value = value ? value.split(',').map((x: string) => parseInt(x)) : null;\n break;\n }\n case 'Lookup.Simple':\n case 'Lookup.Customer':\n case 'Lookup.Owner':\n case 'Lookup.Regarding': {\n //our implementation returns array, Power Apps returns object\n if (value && !Array.isArray(value)) {\n value = [value];\n }\n value = value?.map((x: ComponentFramework.EntityReference) => Sanitizer.Lookup.getLookupValue(x))\n break;\n }\n }\n return value;\n }\n\n private _isColumnEditable(column: IColumn): boolean {\n //only allow editing if specifically allowed\n if (!this._props.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //these field types do not support editing\n switch (column.dataType) {\n case DataTypes.File:\n case DataTypes.Image: {\n return false;\n }\n }\n return column.metadata?.IsValidForUpdate ?? false;\n }\n\n private _isColumnRequired(column: IColumn): boolean {\n if (!this.parameters.EnableEditing?.raw) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n const requiredLevel = column.metadata?.RequiredLevel;\n if (requiredLevel === 1 || requiredLevel === 2) {\n return true;\n }\n return false;\n }\n private _isColumnSortable(column: IColumn): boolean {\n if (column.name.endsWith('__virtual')) {\n return false;\n }\n if (this._props.parameters.EnableSorting?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n switch (column.dataType) {\n case DataTypes.Image: {\n return false;\n }\n }\n if (column.disableSorting === undefined) {\n return true;\n }\n return !column.disableSorting;\n }\n private _isColumnFilterable(column: IColumn): boolean {\n if (this.props.parameters.EnableFiltering?.raw === false) {\n return false;\n }\n if (column.name === Constants.RIBBON_BUTTONS_COLUMN_NAME) {\n return false;\n }\n //by default, do not make virtual columns filterable unless explicitly set\n if(column.name.endsWith('__virtual')) {\n return column.metadata?.isFilterable ?? false;\n }\n return column.metadata?.isFilterable ?? true;\n }\n private _getColumnEntityName(columnName: string) {\n const entityAliasName = Attribute.GetLinkedEntityAlias(columnName);\n if (!entityAliasName) {\n return this.dataset.getTargetEntityType();\n }\n return this.dataset.linking.getLinkedEntities().find(x => x.alias === entityAliasName)!.name;\n }\n}"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@talxis/base-controls",
3
- "version": "1.2504.7",
3
+ "version": "1.2504.9",
4
4
  "description": "Set of React components that natively work with Power Apps Component Framework API's",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",