@pega/lists-core 9.0.0-build.11.4 → 9.0.0-build.11.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -199,7 +199,7 @@ export default class Column {
199
199
  * Sets the current execution context, {@link RowContext}, when rendering a cell for this column.
200
200
  * This dynamic context is updated for each cell in the column as it is rendered.
201
201
  */
202
- setExecutionContext(row: Row): void;
202
+ setExecutionContext(row: Row | null): void;
203
203
  /**
204
204
  * Retrieves the current execution context, i.e., {@link RowContext}, when rendering a cell for this column.
205
205
  * This context dynamically updates as each cell in the column is rendered.
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ColumnGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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"}
@@ -383,7 +383,7 @@ export default class Column {
383
383
  */
384
384
  setExecutionContext(row) {
385
385
  this.#pRow = row;
386
- this.#executionContext = row?.getContext();
386
+ this.#executionContext = row ? row.getContext() : null;
387
387
  }
388
388
  /**
389
389
  * Retrieves the current execution context, i.e., {@link RowContext}, when rendering a cell for this column.
@@ -1 +1 @@
1
- {"version":3,"file":"ColumnGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import get from 'lodash.get';\n\nimport type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type {\n ConditionalStyleFormat,\n FieldDef,\n Meta,\n StyleFormat\n} from '../../../types/Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State, Group, Sort, AggregationType, EditInfo } from '../../../types/State.types';\nimport { compareObjects, evaluateStyleFormatForCell } from '../utils/util';\nimport * as actions from '../actions/actions';\nimport { RICH_TEXT } from '../constants';\nimport type RsProps from '../RsProps';\nimport type RsInternal from '../RsInternal';\nimport type RsStore from '../RsStore';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext } from '../../../types/ApiContext.types';\nimport type StateResolver from '../StateResolver';\n\nimport type Row from './RowGenerator';\nimport {\n DATA_KEY,\n type ColumnConfig,\n type ColumnResizerProps,\n type ColumnStyle,\n type SortProperties,\n type ColumnContext,\n type ColumnRenderingEngineProps\n} from './ColumnGenerator.types';\nimport type { RowContext, RowData } from './RowGenerator.types';\nimport type { FormatterFunction } from './ViewGenerator.types';\n\nexport default class Column {\n /** Reference to repeating structure props. */\n #rsProps: RsProps;\n /** Reference to repeating structure store. */\n #rsStore: RsStore;\n /** Reference to rs internal object. */\n #rsInternal: RsInternal;\n /** */\n #dispatch: StateResolver['dispatch'];\n /** The common CSS styles for a column like width, order etc. */\n style = {} as ColumnStyle;\n /** Indicates if the column is grouped.\n * @default false\n */\n grouped = false;\n /** Indicates if the column is frozen.\n * @default false\n */\n frozen = false;\n /** Indicates if any filter is appplied to the column.\n * @default false\n */\n filtered = false;\n /** Indicates if any sorting is applied to the column.\n * @default false\n */\n sorted = false;\n /** Indicates the sorting sequence of the column if it is {@link sorted}. */\n sortSequence?: SortProperties['sortSequence'];\n /** Indicates the sorting order of the column if it is {@link sorted}. */\n sortOrder?: SortProperties['sortOrder'];\n /** Indicates if the column is lastFrozen column if it is {@link frozen}.\n * @default false\n */\n lastFrozen = false;\n /** Indicates if aggregation is applied on the column.\n * @default false\n */\n aggregated = false;\n /** Aggregated value for the column for an {@link aggregationType} if {@link aggregated aggregation} is applied. */\n aggregateValue?: number;\n /** Current aggregation type applied on the column. */\n aggregationType?: AggregationType;\n /** Indicates the current width of the column. */\n currentWidth?: number;\n /** Field meta for this column from {@link Meta.fieldDefs meta fieldDefs}. */\n field: FieldDef;\n /** Indicates if the formatting is allowed on this column.\n * @default true\n */\n formatterAllowed = true;\n /** Indicates the current formatter applied to the column. */\n formatterName?: string;\n /** The formatter function corresponding toe the {@link formatterName}. */\n formatter?: FormatterFunction;\n /** The name of the renderer for this cell. */\n cellRenderer?: string;\n /** Indicates if the column is hidden.\n * @default false\n */\n hidden = false;\n /** Label for the column that can be displayed to end user. */\n label?: string;\n /** Categorized label for the column if the column has categories derived from {@link FieldDef.category}. */\n categorizedHeaderLabel?: string;\n /** Indicates if the column is first visual column for the end user.\n * @default false\n */\n isFirstVisualColumn = false;\n /** Indicates if the column is first data column, excluding any action column like checkbox, row action, drag drop column.\n * @default false\n */\n isFirstDataColumn = false;\n /** Indicates if the column is last column. */\n isLastColumn = false;\n /** Indicates if the column is a custom column derived from Customize column feature.\n * E.g. column generated by joining 2 columns. */\n isCustomColumn = false;\n /** Indicates if the column is in edit mode. */\n editMode = false;\n /** Visual order of the column with respect to other columns */\n order?: number;\n /** CSS classes for the column.\n * @default empty array.\n */\n classList = [] as string[];\n /** Indicates if the icons should be shown for the column on the header based on {@link FieldDef.type type}. */\n showHeaderIcons = false;\n /** Indicates if the width of the column is changed. */\n isWidthChanged = false;\n /** Indicates if tooltip should be shown for the column in cells. */\n #showToolTip!: boolean;\n /** Indicates the current display mode for hierarchical columns. */\n displayMode?: string | null;\n /** Indicates if the selection column is disabled for selection. */\n disableSelection?: boolean;\n // TODO: Update executionContext type. 'RowContext' | 'ViewContext' | null\n /** The current running execution context i.e. row context for the column in which the column is being rendered. */\n #executionContext: RowContext | null;\n /** The {@link Row row} in which column is being rendered. */\n #pRow: Row | null;\n /** The formatted value for the column. */\n formattedValue: string | null;\n /** Returns the resize events that can be attached to column DOM node. */\n getResizerProps: () => ColumnResizerProps | undefined;\n /** Alias of the column */\n alias?: string;\n /** Indicates a re-render is triggered for the column. */\n refresh?: number;\n /** A factory function provided to RsCore that returns component or component definition for specified type\n * @param type It is equal to value of {@link FieldDef.cellRenderer cellRenderer}(if added in fieldDefs of that column).\n * @returns It should return a component definition (or an object that contains component definition).\n * This component definition will be used by RepeatingStructures to render a cell with the component provided by renderFactory.\n * If component definition is not provided from render factory or renderFactory is not provided to Repeating structures then cell will be rendered directly with value derived for the cell or the formatted value(if {@link RsProps.formatters formatters} are provided for that column)\n */\n renderFactory?: RsProps['renderFactory'];\n /** Reference to {@link Column} class construtcor. */\n type?: typeof Column;\n /** Array of conditional style formats applied to this column. */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n\n /**\n * Creates a new instance of a column within a repeating structure template.\n * @param config It represents few config properties which is used to create column instance.\n * @param rsInternal A reference to rsInternal object.\n */\n constructor(config: ColumnConfig, rsInternal: RsInternal) {\n const {\n aggregateValue,\n aggregationType,\n currentWidth,\n field,\n formatterName,\n formatter,\n cellRenderer,\n label,\n alias,\n categorizedHeaderLabel,\n sortSequence,\n sortOrder,\n order,\n displayMode,\n disableSelection,\n filtered = false,\n formatterAllowed = true,\n hidden = false,\n style = {} as ColumnStyle,\n grouped = false,\n frozen = false,\n lastFrozen = false,\n aggregated = false,\n sorted = false,\n isFirstVisualColumn = false,\n isFirstDataColumn = false,\n isLastColumn = false,\n isCustomColumn = false,\n editMode = false,\n classList = [],\n showHeaderIcons = false,\n showTooltip = !!(field.showTooltip === undefined ? true : field.showTooltip),\n isWidthChanged = false,\n refresh,\n conditionalStyleFormats\n } = config;\n const { getRsStore, getRsProps, getRsStateResolver } = rsInternal;\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n this.#rsInternal = rsInternal;\n this.#rsProps = rsProps;\n this.#rsStore = rsStore;\n this.#dispatch = dispatch;\n this.renderFactory = rsProps.renderFactory;\n this.type = this.constructor as typeof Column;\n // Persisted props at column level.\n this.style = style;\n this.grouped = grouped;\n this.frozen = frozen;\n this.filtered = filtered;\n this.sorted = sorted;\n this.sortSequence = sortSequence;\n this.sortOrder = sortOrder;\n this.lastFrozen = lastFrozen;\n this.aggregated = aggregated;\n this.aggregateValue = aggregateValue;\n this.aggregationType = aggregationType;\n this.currentWidth = currentWidth;\n this.field = field;\n this.formatterAllowed = formatterAllowed;\n this.formatterName = formatterName;\n this.formatter = formatter;\n this.cellRenderer = cellRenderer;\n this.hidden = hidden;\n this.label = label;\n this.alias = alias;\n this.refresh = refresh;\n this.categorizedHeaderLabel = categorizedHeaderLabel;\n this.isFirstVisualColumn = isFirstVisualColumn;\n this.isFirstDataColumn = isFirstDataColumn;\n this.isLastColumn = isLastColumn;\n this.isCustomColumn = isCustomColumn;\n this.editMode = editMode;\n this.order = order;\n this.classList = classList;\n this.showHeaderIcons = showHeaderIcons;\n this.showTooltip = showTooltip;\n this.isWidthChanged = isWidthChanged;\n this.displayMode = displayMode;\n this.disableSelection = disableSelection;\n this.conditionalStyleFormats = conditionalStyleFormats;\n\n // this props are only used at time of rendering. values are not persisted across rows / cells\n this.#executionContext = null;\n this.#pRow = null;\n this.formattedValue = null;\n\n /** IMP: For generator methods use traditional function syntax\n * rather than arrow function for memory efficiency\n * and bind 'this' to the methods which requires 'this' context. */\n this.getUniqueValues = this.getUniqueValues.bind(this);\n this.getRenderFormatters = this.getRenderFormatters.bind(this);\n this.getSortProperties = this.getSortProperties.bind(this);\n this.getFilterProperties = this.getFilterProperties.bind(this);\n this.getUIProps = this.getUIProps.bind(this);\n this.getHeaderUIProps = this.getHeaderUIProps.bind(this);\n this.getResizerProps = () => getRsStore().getColumnResizerProps?.();\n this.setProp = this.setProp.bind(this);\n this.getRenderingEngineProps = this.getRenderingEngineProps.bind(this);\n this.renderDisplayMode = this.renderDisplayMode.bind(this);\n\n this.setExecutionContext = this.setExecutionContext.bind(this);\n this.getExecutionContext = this.getExecutionContext.bind(this);\n this.getContext = this.getContext.bind(this);\n this.getExpression = this.getExpression.bind(this);\n this.setEditContext = this.setEditContext.bind(this);\n this.isCellInEditMode = this.isCellInEditMode.bind(this);\n\n // All action APIs supported on instance\n this.applyGrouping = this.applyGrouping.bind(this);\n this.applySorting = this.applySorting.bind(this);\n this.applyToggleVisibility = this.applyToggleVisibility.bind(this);\n this.applyFreeze = this.applyFreeze.bind(this);\n this.applyFreezeAtIndex = this.applyFreezeAtIndex.bind(this);\n this.applyAggregation = this.applyAggregation.bind(this);\n this.applyLabel = this.applyLabel.bind(this);\n this.applyFormatter = this.applyFormatter.bind(this);\n this.applyMerge = this.applyMerge.bind(this);\n this.deleteCustomColumn = this.deleteCustomColumn.bind(this);\n this.applyColumnAutoSize = this.applyColumnAutoSize.bind(this);\n this.applyDisplay = this.applyDisplay.bind(this);\n this.getCellStyleFormat = this.getCellStyleFormat.bind(this);\n }\n\n /** Reference to current view object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /** The data for all the cells for the column. */\n get data(): RowData[keyof RowData][] {\n return this.parent.data?.map(d => get(d, this.field.name)) || [];\n }\n\n /**\n * It returns the expression for the column if it is a {@link isCustomColumn custom} column.\n */\n getExpression() {\n return this.parent.state?.customFields?.find(c => c.id === this.field.id)?.expression;\n }\n\n // Used by setProp for mutation\n /**\n * Returns the current column config, which can be used to create a new instance of the column.\n * This is typically used with {@link setProp}\n * @returns {ColumnConfig}\n */\n #get(): ColumnConfig {\n return {\n aggregated: this.aggregated,\n grouped: this.grouped,\n aggregateValue: this.aggregateValue,\n aggregationType: this.aggregationType,\n currentWidth: this.currentWidth,\n field: this.field,\n style: this.style,\n frozen: this.frozen,\n lastFrozen: this.lastFrozen,\n formatterAllowed: this.formatterAllowed,\n formatterName: this.formatterName,\n formatter: this.formatter,\n hidden: this.hidden,\n label: this.label,\n categorizedHeaderLabel: this.categorizedHeaderLabel,\n cellRenderer: this.cellRenderer,\n filtered: this.filtered,\n sorted: this.sorted,\n sortSequence: this.sortSequence,\n sortOrder: this.sortOrder,\n isCustomColumn: this.isCustomColumn,\n isFirstVisualColumn: this.isFirstVisualColumn,\n isFirstDataColumn: this.isFirstDataColumn,\n isLastColumn: this.isLastColumn,\n editMode: this.editMode,\n order: this.order,\n classList: this.classList,\n showHeaderIcons: this.showHeaderIcons,\n isWidthChanged: this.isWidthChanged,\n displayMode: this.displayMode,\n disableSelection: this.disableSelection,\n alias: this.alias,\n conditionalStyleFormats: this.conditionalStyleFormats\n };\n }\n\n /**\n * Indicates if tooltip needs to be shown or not for the current column cells.\n */\n get showTooltip() {\n return this.#showToolTip && this.cellRenderer !== RICH_TEXT && !this.isCellInEditMode();\n }\n\n /**\n * Sets the showTooltip flag for the current column.\n */\n set showTooltip(showTooltip) {\n this.#showToolTip = showTooltip;\n }\n\n /**\n * Retrieves the distinct values for this column using {@link ApiContext.fetchUniqueColValues fetchUniqueColValues}.\n */\n async getUniqueValues() {\n return (\n this.#rsProps.apiContext.fetchUniqueColValues?.(\n this.parent.state,\n this.parent.meta,\n this.field.id,\n {\n ...(this.#rsStore.refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsStore.refreshToken\n })\n }\n ) || Promise.resolve([])\n );\n }\n\n /**\n * Returns the formatters available for the current column from\n * {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}\n */\n getRenderFormatters() {\n const formattersForType = this.parent.renderFormatterTypeMap?.[this.field.type] || [];\n return this.field.formatters ?? formattersForType;\n }\n\n /** Returns the sorting information for the current column. */\n getSortProperties() {\n return {\n sorted: this.sorted,\n sortSequence: this.sortSequence,\n sortOrder: this.sortOrder\n };\n }\n\n /** Returns the filter information for the current column. */\n getFilterProperties(): { filtered: boolean; filterExpression: Condition | undefined } {\n return {\n filtered: this.filtered,\n filterExpression: this.parent.state.filterExpression\n };\n }\n\n /**\n * Retrieves the UI properties for the column, which can be applied to value cells within this column.\n */\n getUIProps() {\n const editHandler = (e: KeyboardEvent | MouseEvent) => {\n if (\n !this.isCellInEditMode() &&\n (e.type === 'dblclick' || (e.type === 'keydown' && (e as KeyboardEvent).keyCode === 13))\n ) {\n this.setProp('editMode', true);\n const row = (e.target as HTMLElement).closest('[role=\"row\"]') as HTMLElement;\n if (row)\n this.#dispatch(\n actions.actionEditCell({\n rowId: row.dataset.key!,\n colId: this.field.id\n })\n );\n }\n };\n\n // FIXME: aria-colIndex is NaN sometimes\n return {\n style: { ...this.style },\n 'data-col-id': this.field.id,\n onDoubleClick: this.field.editable ? editHandler : null,\n onKeyDown: this.field.editable ? editHandler : null,\n classList: this.isCellInEditMode()\n ? [...this.classList, 'editable-cell']\n : [...this.classList],\n 'aria-colindex': this.order! + 1,\n role: this.field.isRowHeader ? 'rowheader' : 'gridcell'\n };\n }\n\n /**\n * Retrieves the {@link StyleFormat style format} style format applicable to the cell\n * @returns The style format if applicable, otherwise `undefined`.\n *\n */\n getCellStyleFormat(): StyleFormat | undefined {\n return evaluateStyleFormatForCell(this, this.#rsInternal);\n }\n\n /**\n * Retrieves the UI properties for the column, which can be applied to the header cells of this column.\n */\n getHeaderUIProps() {\n return {\n 'data-col-id': this.field.id,\n draggable: this.field.reorderFields,\n role: 'columnheader',\n ...(this.field.reorderFields && this.parent.type.getFieldReorderProps?.())\n };\n }\n\n // TODO: why return search query in column rendering engine props.\n /**\n * Provides essential information for cell rendering, including the column and row.\n * Additionally, it supplies the current search query.\n */\n getRenderingEngineProps(): ColumnRenderingEngineProps {\n return {\n column: this as Column,\n row: this.#pRow,\n searchKeyword: this.parent?.state?.search?.query\n };\n }\n\n /**\n * Sets the current execution context, {@link RowContext}, when rendering a cell for this column.\n * This dynamic context is updated for each cell in the column as it is rendered.\n */\n setExecutionContext(row: Row) {\n this.#pRow = row;\n this.#executionContext = row?.getContext();\n }\n\n /**\n * Retrieves the current execution context, i.e., {@link RowContext}, when rendering a cell for this column.\n * This context dynamically updates as each cell in the column is rendered.\n */\n getExecutionContext() {\n return this.#executionContext;\n }\n\n /**\n * Sets the {@link Column.executionContext execution context} to the row of the cell being edited.\n * It relies on the editInfo state to identify the cell being edited.\n */\n\n setEditContext() {\n const editedRow = this.parent.rows?.find(\n r => r[DATA_KEY] === this.parent?.state?.editInfo?.rowId\n );\n if (editedRow) {\n this.setExecutionContext(editedRow);\n }\n }\n\n /**\n * Checks whether any value cell in this column is currently in edit mode.\n */\n\n isCellInEditMode() {\n return (\n this.editMode &&\n this.field.id === this.parent?.state?.editInfo?.colId &&\n this.#pRow && // Checking if context is set properly to avoid undefined === undefined\n this.#pRow[DATA_KEY] === this.parent?.state?.editInfo?.rowId\n );\n }\n\n /**\n * Returns the current column {@link ColumnContext context}.\n * @param overriddenExecutionContext - optional param to override the execution context with custom {@link RowContext}.\n * @returns\n *\n * @public\n */\n getContext(overriddenExecutionContext?: RowContext | null): ColumnContext {\n const applyEdit = (payload: EditInfo) => {\n this.#dispatch(actions.actionEditCell({ ...payload, colId: this.field.id }));\n };\n\n return {\n name: 'column',\n getField: () => this.field,\n getValue: () =>\n get((overriddenExecutionContext || this.#executionContext)?.getValue?.(), this.field?.name),\n getExecutionContext: () => overriddenExecutionContext || this.#executionContext,\n getParentContext: () => this.parent.getContext(),\n getFormatter: () => this.formatter,\n formatterAllowed: () => this.formatterAllowed,\n getCellRenderer: () => this.cellRenderer,\n getFormatterName: () => this.formatterName,\n getFormattedValue: () => this.formattedValue,\n getSearchKeyword: () => this.parent?.state?.searchText,\n showTooltip: () => this.showTooltip,\n getToolTipValue: () => {\n const tooltip = this.field?.tooltip;\n if (!tooltip) {\n return this.formattedValue;\n }\n return (overriddenExecutionContext || this.#executionContext)?.getValue?.()?.[tooltip];\n },\n setProp: (\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) => this.setPropMutatively(prop, value),\n getSortProperties: this.getSortProperties,\n getExpression: this.getExpression,\n getFilterProperties: this.getFilterProperties,\n searchKeyword: this.parent?.state?.searchText,\n getTableMeta: () => this.parent.meta,\n getRsMeta: () => this.parent.meta,\n applyGrouping: this.applyGrouping,\n applySorting: this.applySorting,\n applyToggleVisibility: this.applyToggleVisibility,\n applyFreeze: this.applyFreeze,\n applyAggregation: this.applyAggregation,\n applyLabel: this.applyLabel,\n applyFormatter: this.applyFormatter,\n applyMerge: this.applyMerge,\n deleteCustomColumn: this.deleteCustomColumn,\n setEditContext: this.setEditContext,\n getRendererType: () => {\n // TODO: Need to revisit this . Why to have different renderer type. Doing this to keep contract same with nebula render factory.\n if (this.isCellInEditMode()) return 'cellEditRenderer';\n if (this.isCustomColumn) return 'customCellRenderer';\n return 'cellRenderer';\n },\n onSubmit: (\n editContext = {} as {\n oldValue: string | number | boolean | Date;\n newValue: string | number | boolean | Date;\n }\n ) => {\n const { oldValue, newValue } = editContext;\n if (oldValue !== newValue) {\n // dispatch actions (Cell_editing, submit) with data\n this.setEditContext(); /* Set the correct context from state before applying any actions */\n if (this.#pRow) {\n const payload = {\n newValue,\n name: this.field.name,\n key: this.#pRow.key,\n oldValue: this.getContext().getValue() as string | number | boolean | Date\n };\n this.#dispatch(actions.actionUpdateChangeSet({ ...payload, status: 'pending' }));\n this.#dispatch(actions.actionSubmitChangeSet({ ...payload, status: 'inProgress' }));\n }\n }\n this.setProp('editMode', false);\n applyEdit({});\n },\n onCancel: () => {\n this.setProp('editMode', false);\n applyEdit({});\n },\n selectAllRows: this.parent.type.selectAllRows,\n getDisableSelection: () => this.disableSelection\n };\n }\n\n /**\n * Updates property of the column with value. The updated value will be reflected on next re-render.\n * @param prop Either partial of {@link Column} or individual properties of {@link Column}.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link ColumnConfig}\n * @returns void\n */\n setPropMutatively(\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) {\n if (typeof prop !== 'object' && value) {\n // @ts-expect-error check the index based type error.\n this[prop] = value;\n } else {\n Object.entries(prop).forEach(([k, v]) => {\n // @ts-expect-error Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Column'.\n this[k] = v;\n });\n }\n }\n\n // setProp is used to make columns immutables.\n /**\n * Sets a {@link prop property} and its {@link value} in the {@link Column} instance, creating an immutable instance.\n * Always use `setProp` to update properties of {@link Column} to ensure immutability.\n *\n * @param prop Either a partial {@link ColumnConfig} or individual properties of {@link ColumnConfig}.\n * @param [value] Optional value to set for `prop` if `prop` is not of type {@link ColumnConfig}.\n * @returns void\n */\n\n setProp(\n prop: Partial<ColumnConfig> | keyof ColumnConfig,\n value?: ColumnConfig[keyof ColumnConfig]\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().columns!.findIndex(c => c === this);\n let pObject = prop;\n if (typeof prop !== 'object') {\n pObject = { [prop]: value };\n }\n\n // Change object if any value changes actually.\n // @ts-expect-error utils should be converted to TS in order to resolve this.\n if (!compareObjects(this, pObject, Object.keys(pObject)) && index >= 0) {\n const newColumn = new Column(\n {\n ...this.#get(),\n ...(pObject as Partial<ColumnConfig>)\n },\n this.#rsInternal\n );\n const cloned = [...getView().columns!];\n cloned.splice(index, 1, newColumn);\n getView().columns = cloned;\n return newColumn;\n }\n return this;\n }\n\n /**\n * Applies grouping to this column.\n *\n * Dispatches an action that modifies the {@link State.groups groups} in the state.\n */\n applyGrouping() {\n this.#dispatch(actions.actionToggleGrouping(this.field));\n }\n\n /**\n * Applies sorting to this column.\n *\n * Dispatches an action that updates the {@link State.sortingOrder sortingOrder} in the state.\n *\n * @param flushState If true, it will reset the existing {@link State.sortingOrder sortingOrder} state for this column.\n * @param sortOrderId The sort order, either 'asc' or 'desc'.\n */\n // eslint-disable-next-line @typescript-eslint/default-param-last\n applySorting(flushState = false, sortOrderId: Sort['order']) {\n this.#dispatch(\n actions.actionColumnSort({\n id: this.field.id,\n flushState,\n sortOrderId\n })\n );\n }\n\n /**\n * Toggles the visibility of a column, allowing it to be shown or hidden.\n *\n * Dispatches an action that updates {@link State.hiddenColumns hiddenColumns} in the state.\n *\n * @param column The column to be toggled.\n */\n\n applyToggleVisibility() {\n this.#dispatch(actions.actionColumnToggle([this.field.id]));\n }\n\n /**\n * Toggles the \"freeze\" effect on a column, locking it to the left while the rest of the content scrolls.\n * This helps keep key columns visible in large datasets.\n *\n * Dispatches an action that updates {@link State.freezeColumns freezeColumns} in the state.\n */\n applyFreeze() {\n this.#dispatch(actions.actionColumnPin([this.field.id]));\n }\n\n /**\n * Toggles the \"freeze\" effect on a column, locking it at given index while the rest of the columns\n * continues to scroll. This can be used to keep key columns visible in large datasets.\n * The freeze order of the given column is defined by {@link index} passed.\n *\n * Dispatches an action that modifies {@link State.freezeColumns freezeColumns} in the state.\n * @param index\n */\n applyFreezeAtIndex(index: number) {\n this.#dispatch(actions.actionColumnPinAtIndex(this.field.id, index));\n }\n\n /** Applies aggregation to the column, summarizing the data based on a specified {@link type aggregationType}.\n *\n * Dispatches an action that modifies {@link State.aggregationInfo aggregation} in the state.\n */\n applyAggregation(type: AggregationType) {\n this.#dispatch(\n actions.actionUpdateAggregation({\n columnId: this.field.id,\n type\n })\n );\n }\n\n /** Applies label to the current column.\n *\n * Dispatches an action that updates {@link State.columnAlias columnAlias} in the state.\n */\n applyLabel(label: NonNullable<Column['label']>) {\n this.#dispatch(\n actions.actionChangeLabel({\n columnId: this.field.id,\n label\n })\n );\n }\n\n /** Applies formatter to the current column.\n *\n * Dispatches an action that updates {@link State.renderFormatter renderFormatter} in the state.\n * @param name - Formatter name.\n */\n applyFormatter(name: NonNullable<Column['formatterName']>) {\n this.#dispatch(\n actions.actionUpdateRenderFormatter({\n columnId: this.field.id,\n name\n })\n );\n }\n\n /**\n * Applies {@link mode displayMode} to hierarchical column.\n *\n * Dispatches an action that modifies {@link State.hierarchicalGroup hierarchicalGroups},\n * {@link State.groupToggle groupToggle}, {@link State.groups groups} in the state.\n * @param mode\n */\n applyDisplay(mode: string) {\n const { hierarchicalInfo } = this.field;\n this.#rsStore.groupingInfo = [] as NonNullable<RsStore['groupingInfo']>;\n this.#dispatch(\n actions.actionUpdateDisplayMode({\n parentId: hierarchicalInfo!.parentId,\n materializedPathId: hierarchicalInfo!.materializedPathId,\n targetId: hierarchicalInfo!.targetId,\n columnId: this.field.id,\n sortById: hierarchicalInfo!.sortById || hierarchicalInfo!.targetId,\n mode\n })\n );\n }\n\n /**\n * Applies merge operation(combine columns) to 2 columns based on selected template.\n *\n * Dispatches an action that modifies {@link State.customFields customFields} in the state.\n * @param mergeWith On which column the merge operation to be performed(left/right)\n * @param title label for the new custom column.\n * @param templateName The template which should be used to merge the columns\n * @param bHideColumns Hide the existing columns.\n */\n applyMerge(\n mergeWith: 'left' | 'right',\n title: string,\n templateName: NonNullable<Meta['dynamicFieldTemplates']>[number]['value'],\n bHideColumns: boolean\n ) {\n const step = mergeWith === 'left' ? -1 : 1;\n const targetId = this.parent.columns!.find(c => c.order === this.order! + step)!.field.id;\n this.#dispatch(\n actions.actionMergeColumns({\n sourceId: this.field.id,\n targetId,\n title,\n templateName,\n bHideColumns,\n uniqueID: String(+new Date())\n })\n );\n }\n\n /**\n * Deletes the custom column.\n *\n * Dispatches an action that modifies {@link State.customFields customFields} in the state by removing this column from it.\n */\n deleteCustomColumn() {\n this.#dispatch(\n actions.actionDeleteCustomColumn({\n columnId: this.field.id\n })\n );\n }\n\n /**\n * Updates column's width based on the autosize logic.\n *\n * Dispatches an action that modifies the {@link State.columnWidths columnWidths} in the state.\n */\n\n applyColumnAutoSize() {\n this.#dispatch(actions.actionColumnAutoSize(this, this.parent.getDomContainer()!));\n }\n\n /**\n * Determines if autosize is enabled for this column.\n */\n get isAutoSizable() {\n return this.field.autosize && !this.hidden && this.cellRenderer !== RICH_TEXT;\n }\n\n /**\n * Determines whether hierarchical mode should be enabled for this column.\n */\n renderDisplayMode() {\n const { meta } = this.parent;\n const { hierarchicalInfo } = this.field;\n\n return hierarchicalInfo?.materializedPathId && meta.grouping && !meta.editing;\n }\n\n /**\n * Retrieves the personalized width of the column, sourced from either\n * {@link RsProps.persistedInfo persistedInfo} or the current\n * {@link State.personalization personalized state}.\n *\n * @returns The personalized width of the column.\n */\n\n getPersonalizedWidth() {\n let columnWidths: State['columnWidths'] = {};\n if (this.#rsProps.persistedInfo) {\n columnWidths = this.#rsProps.persistedInfo.columnWidths;\n } else {\n const { active, allPersonalizations } = this.parent.state?.personalization ?? {};\n columnWidths = allPersonalizations?.[active!]?.personalizationState?.columnWidths;\n }\n return columnWidths?.[this.field.id];\n }\n}\n"]}
1
+ {"version":3,"file":"ColumnGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ColumnGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import get from 'lodash.get';\n\nimport type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type {\n ConditionalStyleFormat,\n FieldDef,\n Meta,\n StyleFormat\n} from '../../../types/Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State, Group, Sort, AggregationType, EditInfo } from '../../../types/State.types';\nimport { compareObjects, evaluateStyleFormatForCell } from '../utils/util';\nimport * as actions from '../actions/actions';\nimport { RICH_TEXT } from '../constants';\nimport type RsProps from '../RsProps';\nimport type RsInternal from '../RsInternal';\nimport type RsStore from '../RsStore';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext } from '../../../types/ApiContext.types';\nimport type StateResolver from '../StateResolver';\n\nimport type Row from './RowGenerator';\nimport {\n DATA_KEY,\n type ColumnConfig,\n type ColumnResizerProps,\n type ColumnStyle,\n type SortProperties,\n type ColumnContext,\n type ColumnRenderingEngineProps\n} from './ColumnGenerator.types';\nimport type { RowContext, RowData } from './RowGenerator.types';\nimport type { FormatterFunction } from './ViewGenerator.types';\n\nexport default class Column {\n /** Reference to repeating structure props. */\n #rsProps: RsProps;\n /** Reference to repeating structure store. */\n #rsStore: RsStore;\n /** Reference to rs internal object. */\n #rsInternal: RsInternal;\n /** */\n #dispatch: StateResolver['dispatch'];\n /** The common CSS styles for a column like width, order etc. */\n style = {} as ColumnStyle;\n /** Indicates if the column is grouped.\n * @default false\n */\n grouped = false;\n /** Indicates if the column is frozen.\n * @default false\n */\n frozen = false;\n /** Indicates if any filter is appplied to the column.\n * @default false\n */\n filtered = false;\n /** Indicates if any sorting is applied to the column.\n * @default false\n */\n sorted = false;\n /** Indicates the sorting sequence of the column if it is {@link sorted}. */\n sortSequence?: SortProperties['sortSequence'];\n /** Indicates the sorting order of the column if it is {@link sorted}. */\n sortOrder?: SortProperties['sortOrder'];\n /** Indicates if the column is lastFrozen column if it is {@link frozen}.\n * @default false\n */\n lastFrozen = false;\n /** Indicates if aggregation is applied on the column.\n * @default false\n */\n aggregated = false;\n /** Aggregated value for the column for an {@link aggregationType} if {@link aggregated aggregation} is applied. */\n aggregateValue?: number;\n /** Current aggregation type applied on the column. */\n aggregationType?: AggregationType;\n /** Indicates the current width of the column. */\n currentWidth?: number;\n /** Field meta for this column from {@link Meta.fieldDefs meta fieldDefs}. */\n field: FieldDef;\n /** Indicates if the formatting is allowed on this column.\n * @default true\n */\n formatterAllowed = true;\n /** Indicates the current formatter applied to the column. */\n formatterName?: string;\n /** The formatter function corresponding toe the {@link formatterName}. */\n formatter?: FormatterFunction;\n /** The name of the renderer for this cell. */\n cellRenderer?: string;\n /** Indicates if the column is hidden.\n * @default false\n */\n hidden = false;\n /** Label for the column that can be displayed to end user. */\n label?: string;\n /** Categorized label for the column if the column has categories derived from {@link FieldDef.category}. */\n categorizedHeaderLabel?: string;\n /** Indicates if the column is first visual column for the end user.\n * @default false\n */\n isFirstVisualColumn = false;\n /** Indicates if the column is first data column, excluding any action column like checkbox, row action, drag drop column.\n * @default false\n */\n isFirstDataColumn = false;\n /** Indicates if the column is last column. */\n isLastColumn = false;\n /** Indicates if the column is a custom column derived from Customize column feature.\n * E.g. column generated by joining 2 columns. */\n isCustomColumn = false;\n /** Indicates if the column is in edit mode. */\n editMode = false;\n /** Visual order of the column with respect to other columns */\n order?: number;\n /** CSS classes for the column.\n * @default empty array.\n */\n classList = [] as string[];\n /** Indicates if the icons should be shown for the column on the header based on {@link FieldDef.type type}. */\n showHeaderIcons = false;\n /** Indicates if the width of the column is changed. */\n isWidthChanged = false;\n /** Indicates if tooltip should be shown for the column in cells. */\n #showToolTip!: boolean;\n /** Indicates the current display mode for hierarchical columns. */\n displayMode?: string | null;\n /** Indicates if the selection column is disabled for selection. */\n disableSelection?: boolean;\n // TODO: Update executionContext type. 'RowContext' | 'ViewContext' | null\n /** The current running execution context i.e. row context for the column in which the column is being rendered. */\n #executionContext: RowContext | null;\n /** The {@link Row row} in which column is being rendered. */\n #pRow: Row | null;\n /** The formatted value for the column. */\n formattedValue: string | null;\n /** Returns the resize events that can be attached to column DOM node. */\n getResizerProps: () => ColumnResizerProps | undefined;\n /** Alias of the column */\n alias?: string;\n /** Indicates a re-render is triggered for the column. */\n refresh?: number;\n /** A factory function provided to RsCore that returns component or component definition for specified type\n * @param type It is equal to value of {@link FieldDef.cellRenderer cellRenderer}(if added in fieldDefs of that column).\n * @returns It should return a component definition (or an object that contains component definition).\n * This component definition will be used by RepeatingStructures to render a cell with the component provided by renderFactory.\n * If component definition is not provided from render factory or renderFactory is not provided to Repeating structures then cell will be rendered directly with value derived for the cell or the formatted value(if {@link RsProps.formatters formatters} are provided for that column)\n */\n renderFactory?: RsProps['renderFactory'];\n /** Reference to {@link Column} class construtcor. */\n type?: typeof Column;\n /** Array of conditional style formats applied to this column. */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n\n /**\n * Creates a new instance of a column within a repeating structure template.\n * @param config It represents few config properties which is used to create column instance.\n * @param rsInternal A reference to rsInternal object.\n */\n constructor(config: ColumnConfig, rsInternal: RsInternal) {\n const {\n aggregateValue,\n aggregationType,\n currentWidth,\n field,\n formatterName,\n formatter,\n cellRenderer,\n label,\n alias,\n categorizedHeaderLabel,\n sortSequence,\n sortOrder,\n order,\n displayMode,\n disableSelection,\n filtered = false,\n formatterAllowed = true,\n hidden = false,\n style = {} as ColumnStyle,\n grouped = false,\n frozen = false,\n lastFrozen = false,\n aggregated = false,\n sorted = false,\n isFirstVisualColumn = false,\n isFirstDataColumn = false,\n isLastColumn = false,\n isCustomColumn = false,\n editMode = false,\n classList = [],\n showHeaderIcons = false,\n showTooltip = !!(field.showTooltip === undefined ? true : field.showTooltip),\n isWidthChanged = false,\n refresh,\n conditionalStyleFormats\n } = config;\n const { getRsStore, getRsProps, getRsStateResolver } = rsInternal;\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n this.#rsInternal = rsInternal;\n this.#rsProps = rsProps;\n this.#rsStore = rsStore;\n this.#dispatch = dispatch;\n this.renderFactory = rsProps.renderFactory;\n this.type = this.constructor as typeof Column;\n // Persisted props at column level.\n this.style = style;\n this.grouped = grouped;\n this.frozen = frozen;\n this.filtered = filtered;\n this.sorted = sorted;\n this.sortSequence = sortSequence;\n this.sortOrder = sortOrder;\n this.lastFrozen = lastFrozen;\n this.aggregated = aggregated;\n this.aggregateValue = aggregateValue;\n this.aggregationType = aggregationType;\n this.currentWidth = currentWidth;\n this.field = field;\n this.formatterAllowed = formatterAllowed;\n this.formatterName = formatterName;\n this.formatter = formatter;\n this.cellRenderer = cellRenderer;\n this.hidden = hidden;\n this.label = label;\n this.alias = alias;\n this.refresh = refresh;\n this.categorizedHeaderLabel = categorizedHeaderLabel;\n this.isFirstVisualColumn = isFirstVisualColumn;\n this.isFirstDataColumn = isFirstDataColumn;\n this.isLastColumn = isLastColumn;\n this.isCustomColumn = isCustomColumn;\n this.editMode = editMode;\n this.order = order;\n this.classList = classList;\n this.showHeaderIcons = showHeaderIcons;\n this.showTooltip = showTooltip;\n this.isWidthChanged = isWidthChanged;\n this.displayMode = displayMode;\n this.disableSelection = disableSelection;\n this.conditionalStyleFormats = conditionalStyleFormats;\n\n // this props are only used at time of rendering. values are not persisted across rows / cells\n this.#executionContext = null;\n this.#pRow = null;\n this.formattedValue = null;\n\n /** IMP: For generator methods use traditional function syntax\n * rather than arrow function for memory efficiency\n * and bind 'this' to the methods which requires 'this' context. */\n this.getUniqueValues = this.getUniqueValues.bind(this);\n this.getRenderFormatters = this.getRenderFormatters.bind(this);\n this.getSortProperties = this.getSortProperties.bind(this);\n this.getFilterProperties = this.getFilterProperties.bind(this);\n this.getUIProps = this.getUIProps.bind(this);\n this.getHeaderUIProps = this.getHeaderUIProps.bind(this);\n this.getResizerProps = () => getRsStore().getColumnResizerProps?.();\n this.setProp = this.setProp.bind(this);\n this.getRenderingEngineProps = this.getRenderingEngineProps.bind(this);\n this.renderDisplayMode = this.renderDisplayMode.bind(this);\n\n this.setExecutionContext = this.setExecutionContext.bind(this);\n this.getExecutionContext = this.getExecutionContext.bind(this);\n this.getContext = this.getContext.bind(this);\n this.getExpression = this.getExpression.bind(this);\n this.setEditContext = this.setEditContext.bind(this);\n this.isCellInEditMode = this.isCellInEditMode.bind(this);\n\n // All action APIs supported on instance\n this.applyGrouping = this.applyGrouping.bind(this);\n this.applySorting = this.applySorting.bind(this);\n this.applyToggleVisibility = this.applyToggleVisibility.bind(this);\n this.applyFreeze = this.applyFreeze.bind(this);\n this.applyFreezeAtIndex = this.applyFreezeAtIndex.bind(this);\n this.applyAggregation = this.applyAggregation.bind(this);\n this.applyLabel = this.applyLabel.bind(this);\n this.applyFormatter = this.applyFormatter.bind(this);\n this.applyMerge = this.applyMerge.bind(this);\n this.deleteCustomColumn = this.deleteCustomColumn.bind(this);\n this.applyColumnAutoSize = this.applyColumnAutoSize.bind(this);\n this.applyDisplay = this.applyDisplay.bind(this);\n this.getCellStyleFormat = this.getCellStyleFormat.bind(this);\n }\n\n /** Reference to current view object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /** The data for all the cells for the column. */\n get data(): RowData[keyof RowData][] {\n return this.parent.data?.map(d => get(d, this.field.name)) || [];\n }\n\n /**\n * It returns the expression for the column if it is a {@link isCustomColumn custom} column.\n */\n getExpression() {\n return this.parent.state?.customFields?.find(c => c.id === this.field.id)?.expression;\n }\n\n // Used by setProp for mutation\n /**\n * Returns the current column config, which can be used to create a new instance of the column.\n * This is typically used with {@link setProp}\n * @returns {ColumnConfig}\n */\n #get(): ColumnConfig {\n return {\n aggregated: this.aggregated,\n grouped: this.grouped,\n aggregateValue: this.aggregateValue,\n aggregationType: this.aggregationType,\n currentWidth: this.currentWidth,\n field: this.field,\n style: this.style,\n frozen: this.frozen,\n lastFrozen: this.lastFrozen,\n formatterAllowed: this.formatterAllowed,\n formatterName: this.formatterName,\n formatter: this.formatter,\n hidden: this.hidden,\n label: this.label,\n categorizedHeaderLabel: this.categorizedHeaderLabel,\n cellRenderer: this.cellRenderer,\n filtered: this.filtered,\n sorted: this.sorted,\n sortSequence: this.sortSequence,\n sortOrder: this.sortOrder,\n isCustomColumn: this.isCustomColumn,\n isFirstVisualColumn: this.isFirstVisualColumn,\n isFirstDataColumn: this.isFirstDataColumn,\n isLastColumn: this.isLastColumn,\n editMode: this.editMode,\n order: this.order,\n classList: this.classList,\n showHeaderIcons: this.showHeaderIcons,\n isWidthChanged: this.isWidthChanged,\n displayMode: this.displayMode,\n disableSelection: this.disableSelection,\n alias: this.alias,\n conditionalStyleFormats: this.conditionalStyleFormats\n };\n }\n\n /**\n * Indicates if tooltip needs to be shown or not for the current column cells.\n */\n get showTooltip() {\n return this.#showToolTip && this.cellRenderer !== RICH_TEXT && !this.isCellInEditMode();\n }\n\n /**\n * Sets the showTooltip flag for the current column.\n */\n set showTooltip(showTooltip) {\n this.#showToolTip = showTooltip;\n }\n\n /**\n * Retrieves the distinct values for this column using {@link ApiContext.fetchUniqueColValues fetchUniqueColValues}.\n */\n async getUniqueValues() {\n return (\n this.#rsProps.apiContext.fetchUniqueColValues?.(\n this.parent.state,\n this.parent.meta,\n this.field.id,\n {\n ...(this.#rsStore.refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsStore.refreshToken\n })\n }\n ) || Promise.resolve([])\n );\n }\n\n /**\n * Returns the formatters available for the current column from\n * {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}\n */\n getRenderFormatters() {\n const formattersForType = this.parent.renderFormatterTypeMap?.[this.field.type] || [];\n return this.field.formatters ?? formattersForType;\n }\n\n /** Returns the sorting information for the current column. */\n getSortProperties() {\n return {\n sorted: this.sorted,\n sortSequence: this.sortSequence,\n sortOrder: this.sortOrder\n };\n }\n\n /** Returns the filter information for the current column. */\n getFilterProperties(): { filtered: boolean; filterExpression: Condition | undefined } {\n return {\n filtered: this.filtered,\n filterExpression: this.parent.state.filterExpression\n };\n }\n\n /**\n * Retrieves the UI properties for the column, which can be applied to value cells within this column.\n */\n getUIProps() {\n const editHandler = (e: KeyboardEvent | MouseEvent) => {\n if (\n !this.isCellInEditMode() &&\n (e.type === 'dblclick' || (e.type === 'keydown' && (e as KeyboardEvent).keyCode === 13))\n ) {\n this.setProp('editMode', true);\n const row = (e.target as HTMLElement).closest('[role=\"row\"]') as HTMLElement;\n if (row)\n this.#dispatch(\n actions.actionEditCell({\n rowId: row.dataset.key!,\n colId: this.field.id\n })\n );\n }\n };\n\n // FIXME: aria-colIndex is NaN sometimes\n return {\n style: { ...this.style },\n 'data-col-id': this.field.id,\n onDoubleClick: this.field.editable ? editHandler : null,\n onKeyDown: this.field.editable ? editHandler : null,\n classList: this.isCellInEditMode()\n ? [...this.classList, 'editable-cell']\n : [...this.classList],\n 'aria-colindex': this.order! + 1,\n role: this.field.isRowHeader ? 'rowheader' : 'gridcell'\n };\n }\n\n /**\n * Retrieves the {@link StyleFormat style format} style format applicable to the cell\n * @returns The style format if applicable, otherwise `undefined`.\n *\n */\n getCellStyleFormat(): StyleFormat | undefined {\n return evaluateStyleFormatForCell(this, this.#rsInternal);\n }\n\n /**\n * Retrieves the UI properties for the column, which can be applied to the header cells of this column.\n */\n getHeaderUIProps() {\n return {\n 'data-col-id': this.field.id,\n draggable: this.field.reorderFields,\n role: 'columnheader',\n ...(this.field.reorderFields && this.parent.type.getFieldReorderProps?.())\n };\n }\n\n // TODO: why return search query in column rendering engine props.\n /**\n * Provides essential information for cell rendering, including the column and row.\n * Additionally, it supplies the current search query.\n */\n getRenderingEngineProps(): ColumnRenderingEngineProps {\n return {\n column: this as Column,\n row: this.#pRow,\n searchKeyword: this.parent?.state?.search?.query\n };\n }\n\n /**\n * Sets the current execution context, {@link RowContext}, when rendering a cell for this column.\n * This dynamic context is updated for each cell in the column as it is rendered.\n */\n setExecutionContext(row: Row | null) {\n this.#pRow = row;\n this.#executionContext = row ? row.getContext() : null;\n }\n\n /**\n * Retrieves the current execution context, i.e., {@link RowContext}, when rendering a cell for this column.\n * This context dynamically updates as each cell in the column is rendered.\n */\n getExecutionContext() {\n return this.#executionContext;\n }\n\n /**\n * Sets the {@link Column.executionContext execution context} to the row of the cell being edited.\n * It relies on the editInfo state to identify the cell being edited.\n */\n\n setEditContext() {\n const editedRow = this.parent.rows?.find(\n r => r[DATA_KEY] === this.parent?.state?.editInfo?.rowId\n );\n if (editedRow) {\n this.setExecutionContext(editedRow);\n }\n }\n\n /**\n * Checks whether any value cell in this column is currently in edit mode.\n */\n\n isCellInEditMode() {\n return (\n this.editMode &&\n this.field.id === this.parent?.state?.editInfo?.colId &&\n this.#pRow && // Checking if context is set properly to avoid undefined === undefined\n this.#pRow[DATA_KEY] === this.parent?.state?.editInfo?.rowId\n );\n }\n\n /**\n * Returns the current column {@link ColumnContext context}.\n * @param overriddenExecutionContext - optional param to override the execution context with custom {@link RowContext}.\n * @returns\n *\n * @public\n */\n getContext(overriddenExecutionContext?: RowContext | null): ColumnContext {\n const applyEdit = (payload: EditInfo) => {\n this.#dispatch(actions.actionEditCell({ ...payload, colId: this.field.id }));\n };\n\n return {\n name: 'column',\n getField: () => this.field,\n getValue: () =>\n get((overriddenExecutionContext || this.#executionContext)?.getValue?.(), this.field?.name),\n getExecutionContext: () => overriddenExecutionContext || this.#executionContext,\n getParentContext: () => this.parent.getContext(),\n getFormatter: () => this.formatter,\n formatterAllowed: () => this.formatterAllowed,\n getCellRenderer: () => this.cellRenderer,\n getFormatterName: () => this.formatterName,\n getFormattedValue: () => this.formattedValue,\n getSearchKeyword: () => this.parent?.state?.searchText,\n showTooltip: () => this.showTooltip,\n getToolTipValue: () => {\n const tooltip = this.field?.tooltip;\n if (!tooltip) {\n return this.formattedValue;\n }\n return (overriddenExecutionContext || this.#executionContext)?.getValue?.()?.[tooltip];\n },\n setProp: (\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) => this.setPropMutatively(prop, value),\n getSortProperties: this.getSortProperties,\n getExpression: this.getExpression,\n getFilterProperties: this.getFilterProperties,\n searchKeyword: this.parent?.state?.searchText,\n getTableMeta: () => this.parent.meta,\n getRsMeta: () => this.parent.meta,\n applyGrouping: this.applyGrouping,\n applySorting: this.applySorting,\n applyToggleVisibility: this.applyToggleVisibility,\n applyFreeze: this.applyFreeze,\n applyAggregation: this.applyAggregation,\n applyLabel: this.applyLabel,\n applyFormatter: this.applyFormatter,\n applyMerge: this.applyMerge,\n deleteCustomColumn: this.deleteCustomColumn,\n setEditContext: this.setEditContext,\n getRendererType: () => {\n // TODO: Need to revisit this . Why to have different renderer type. Doing this to keep contract same with nebula render factory.\n if (this.isCellInEditMode()) return 'cellEditRenderer';\n if (this.isCustomColumn) return 'customCellRenderer';\n return 'cellRenderer';\n },\n onSubmit: (\n editContext = {} as {\n oldValue: string | number | boolean | Date;\n newValue: string | number | boolean | Date;\n }\n ) => {\n const { oldValue, newValue } = editContext;\n if (oldValue !== newValue) {\n // dispatch actions (Cell_editing, submit) with data\n this.setEditContext(); /* Set the correct context from state before applying any actions */\n if (this.#pRow) {\n const payload = {\n newValue,\n name: this.field.name,\n key: this.#pRow.key,\n oldValue: this.getContext().getValue() as string | number | boolean | Date\n };\n this.#dispatch(actions.actionUpdateChangeSet({ ...payload, status: 'pending' }));\n this.#dispatch(actions.actionSubmitChangeSet({ ...payload, status: 'inProgress' }));\n }\n }\n this.setProp('editMode', false);\n applyEdit({});\n },\n onCancel: () => {\n this.setProp('editMode', false);\n applyEdit({});\n },\n selectAllRows: this.parent.type.selectAllRows,\n getDisableSelection: () => this.disableSelection\n };\n }\n\n /**\n * Updates property of the column with value. The updated value will be reflected on next re-render.\n * @param prop Either partial of {@link Column} or individual properties of {@link Column}.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link ColumnConfig}\n * @returns void\n */\n setPropMutatively(\n prop:\n | Partial<OmitStrict<Column, 'data' | 'isAutoSizable' | 'parent'>>\n | ExcludeStrict<keyof Column, 'data' | 'isAutoSizable' | 'parent'>,\n value?: Column[keyof Column]\n ) {\n if (typeof prop !== 'object' && value) {\n // @ts-expect-error check the index based type error.\n this[prop] = value;\n } else {\n Object.entries(prop).forEach(([k, v]) => {\n // @ts-expect-error Element implicitly has an 'any' type because expression of type 'string' can't be used to index type 'Column'.\n this[k] = v;\n });\n }\n }\n\n // setProp is used to make columns immutables.\n /**\n * Sets a {@link prop property} and its {@link value} in the {@link Column} instance, creating an immutable instance.\n * Always use `setProp` to update properties of {@link Column} to ensure immutability.\n *\n * @param prop Either a partial {@link ColumnConfig} or individual properties of {@link ColumnConfig}.\n * @param [value] Optional value to set for `prop` if `prop` is not of type {@link ColumnConfig}.\n * @returns void\n */\n\n setProp(\n prop: Partial<ColumnConfig> | keyof ColumnConfig,\n value?: ColumnConfig[keyof ColumnConfig]\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().columns!.findIndex(c => c === this);\n let pObject = prop;\n if (typeof prop !== 'object') {\n pObject = { [prop]: value };\n }\n\n // Change object if any value changes actually.\n // @ts-expect-error utils should be converted to TS in order to resolve this.\n if (!compareObjects(this, pObject, Object.keys(pObject)) && index >= 0) {\n const newColumn = new Column(\n {\n ...this.#get(),\n ...(pObject as Partial<ColumnConfig>)\n },\n this.#rsInternal\n );\n const cloned = [...getView().columns!];\n cloned.splice(index, 1, newColumn);\n getView().columns = cloned;\n return newColumn;\n }\n return this;\n }\n\n /**\n * Applies grouping to this column.\n *\n * Dispatches an action that modifies the {@link State.groups groups} in the state.\n */\n applyGrouping() {\n this.#dispatch(actions.actionToggleGrouping(this.field));\n }\n\n /**\n * Applies sorting to this column.\n *\n * Dispatches an action that updates the {@link State.sortingOrder sortingOrder} in the state.\n *\n * @param flushState If true, it will reset the existing {@link State.sortingOrder sortingOrder} state for this column.\n * @param sortOrderId The sort order, either 'asc' or 'desc'.\n */\n // eslint-disable-next-line @typescript-eslint/default-param-last\n applySorting(flushState = false, sortOrderId: Sort['order']) {\n this.#dispatch(\n actions.actionColumnSort({\n id: this.field.id,\n flushState,\n sortOrderId\n })\n );\n }\n\n /**\n * Toggles the visibility of a column, allowing it to be shown or hidden.\n *\n * Dispatches an action that updates {@link State.hiddenColumns hiddenColumns} in the state.\n *\n * @param column The column to be toggled.\n */\n\n applyToggleVisibility() {\n this.#dispatch(actions.actionColumnToggle([this.field.id]));\n }\n\n /**\n * Toggles the \"freeze\" effect on a column, locking it to the left while the rest of the content scrolls.\n * This helps keep key columns visible in large datasets.\n *\n * Dispatches an action that updates {@link State.freezeColumns freezeColumns} in the state.\n */\n applyFreeze() {\n this.#dispatch(actions.actionColumnPin([this.field.id]));\n }\n\n /**\n * Toggles the \"freeze\" effect on a column, locking it at given index while the rest of the columns\n * continues to scroll. This can be used to keep key columns visible in large datasets.\n * The freeze order of the given column is defined by {@link index} passed.\n *\n * Dispatches an action that modifies {@link State.freezeColumns freezeColumns} in the state.\n * @param index\n */\n applyFreezeAtIndex(index: number) {\n this.#dispatch(actions.actionColumnPinAtIndex(this.field.id, index));\n }\n\n /** Applies aggregation to the column, summarizing the data based on a specified {@link type aggregationType}.\n *\n * Dispatches an action that modifies {@link State.aggregationInfo aggregation} in the state.\n */\n applyAggregation(type: AggregationType) {\n this.#dispatch(\n actions.actionUpdateAggregation({\n columnId: this.field.id,\n type\n })\n );\n }\n\n /** Applies label to the current column.\n *\n * Dispatches an action that updates {@link State.columnAlias columnAlias} in the state.\n */\n applyLabel(label: NonNullable<Column['label']>) {\n this.#dispatch(\n actions.actionChangeLabel({\n columnId: this.field.id,\n label\n })\n );\n }\n\n /** Applies formatter to the current column.\n *\n * Dispatches an action that updates {@link State.renderFormatter renderFormatter} in the state.\n * @param name - Formatter name.\n */\n applyFormatter(name: NonNullable<Column['formatterName']>) {\n this.#dispatch(\n actions.actionUpdateRenderFormatter({\n columnId: this.field.id,\n name\n })\n );\n }\n\n /**\n * Applies {@link mode displayMode} to hierarchical column.\n *\n * Dispatches an action that modifies {@link State.hierarchicalGroup hierarchicalGroups},\n * {@link State.groupToggle groupToggle}, {@link State.groups groups} in the state.\n * @param mode\n */\n applyDisplay(mode: string) {\n const { hierarchicalInfo } = this.field;\n this.#rsStore.groupingInfo = [] as NonNullable<RsStore['groupingInfo']>;\n this.#dispatch(\n actions.actionUpdateDisplayMode({\n parentId: hierarchicalInfo!.parentId,\n materializedPathId: hierarchicalInfo!.materializedPathId,\n targetId: hierarchicalInfo!.targetId,\n columnId: this.field.id,\n sortById: hierarchicalInfo!.sortById || hierarchicalInfo!.targetId,\n mode\n })\n );\n }\n\n /**\n * Applies merge operation(combine columns) to 2 columns based on selected template.\n *\n * Dispatches an action that modifies {@link State.customFields customFields} in the state.\n * @param mergeWith On which column the merge operation to be performed(left/right)\n * @param title label for the new custom column.\n * @param templateName The template which should be used to merge the columns\n * @param bHideColumns Hide the existing columns.\n */\n applyMerge(\n mergeWith: 'left' | 'right',\n title: string,\n templateName: NonNullable<Meta['dynamicFieldTemplates']>[number]['value'],\n bHideColumns: boolean\n ) {\n const step = mergeWith === 'left' ? -1 : 1;\n const targetId = this.parent.columns!.find(c => c.order === this.order! + step)!.field.id;\n this.#dispatch(\n actions.actionMergeColumns({\n sourceId: this.field.id,\n targetId,\n title,\n templateName,\n bHideColumns,\n uniqueID: String(+new Date())\n })\n );\n }\n\n /**\n * Deletes the custom column.\n *\n * Dispatches an action that modifies {@link State.customFields customFields} in the state by removing this column from it.\n */\n deleteCustomColumn() {\n this.#dispatch(\n actions.actionDeleteCustomColumn({\n columnId: this.field.id\n })\n );\n }\n\n /**\n * Updates column's width based on the autosize logic.\n *\n * Dispatches an action that modifies the {@link State.columnWidths columnWidths} in the state.\n */\n\n applyColumnAutoSize() {\n this.#dispatch(actions.actionColumnAutoSize(this, this.parent.getDomContainer()!));\n }\n\n /**\n * Determines if autosize is enabled for this column.\n */\n get isAutoSizable() {\n return this.field.autosize && !this.hidden && this.cellRenderer !== RICH_TEXT;\n }\n\n /**\n * Determines whether hierarchical mode should be enabled for this column.\n */\n renderDisplayMode() {\n const { meta } = this.parent;\n const { hierarchicalInfo } = this.field;\n\n return hierarchicalInfo?.materializedPathId && meta.grouping && !meta.editing;\n }\n\n /**\n * Retrieves the personalized width of the column, sourced from either\n * {@link RsProps.persistedInfo persistedInfo} or the current\n * {@link State.personalization personalized state}.\n *\n * @returns The personalized width of the column.\n */\n\n getPersonalizedWidth() {\n let columnWidths: State['columnWidths'] = {};\n if (this.#rsProps.persistedInfo) {\n columnWidths = this.#rsProps.persistedInfo.columnWidths;\n } else {\n const { active, allPersonalizations } = this.parent.state?.personalization ?? {};\n columnWidths = allPersonalizations?.[active!]?.personalizationState?.columnWidths;\n }\n return columnWidths?.[this.field.id];\n }\n}\n"]}
@@ -1,4 +1,5 @@
1
- import type { AdditionalFieldData, AggregationResp } from '../../../types/ApiContext.types';
1
+ import type { AdditionalFieldData, AggregationResp, GroupAdditionalFieldUniqueValues } from '../../../types/ApiContext.types';
2
+ import type { GroupAdditionalField } from '../../../types/State.types';
2
3
  import type RsInternal from '../RsInternal';
3
4
  import type { RowData } from './RowGenerator.types';
4
5
  export interface GroupOptions {
@@ -20,6 +21,8 @@ export interface GroupOptions {
20
21
  }
21
22
  export default class GroupGenerator {
22
23
  #private;
24
+ /** Unique identifier for the group header. */
25
+ uniqueId: string;
23
26
  /** Indicates if the group header is visible. */
24
27
  isVisible: boolean;
25
28
  /** Indicates if the current group header is a leaf node. */
@@ -58,5 +61,6 @@ export default class GroupGenerator {
58
61
  index: number;
59
62
  constructor(groupOptions: GroupOptions, rsInternal: RsInternal);
60
63
  getRows(): import("./RowGenerator").default[] | undefined;
64
+ getAdditionalFieldData(additionalField: GroupAdditionalField): Promise<GroupAdditionalFieldUniqueValues | undefined>;
61
65
  }
62
66
  //# sourceMappingURL=GroupGenerator.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAG5F,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAE5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC9C;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IACjC,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,IAAI,EAAS,OAAO,CAAC;IACrB,8CAA8C;IAC9C,IAAI,EAAS,OAAO,CAAC;IACrB,sCAAsC;IACtC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,EAAG,MAAM,CAAC;gBAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAqC9D,OAAO;CAOR"}
1
+ {"version":3,"file":"GroupGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mBAAmB,EACnB,eAAe,EACf,gCAAgC,EACjC,MAAM,iCAAiC,CAAC;AAGzC,OAAO,KAAK,EAAE,oBAAoB,EAAe,MAAM,4BAA4B,CAAC;AACpF,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAG5C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAEpD,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAC;CAC9C;AAED,MAAM,CAAC,OAAO,OAAO,cAAc;;IACjC,8CAA8C;IAC9C,QAAQ,EAAE,MAAM,CAAC;IACjB,gDAAgD;IAChD,SAAS,EAAE,OAAO,CAAC;IACnB,4DAA4D;IAC5D,UAAU,EAAE,OAAO,CAAC;IACpB,0DAA0D;IAC1D,UAAU,EAAE,OAAO,CAAC;IACpB,gCAAgC;IAChC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,IAAI,CAAC;IAC9C,4EAA4E;IAC5E,OAAO,EAAE,MAAM,CAAC;IAChB,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,KAAK,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,SAAS,EAAE,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC;IAChD,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,WAAW,CAAC,EAAE,eAAe,CAAC;IAC9B,wDAAwD;IACxD,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,6DAA6D;IAC7D,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,2DAA2D;IAC3D,IAAI,EAAS,OAAO,CAAC;IACrB,8CAA8C;IAC9C,IAAI,EAAS,OAAO,CAAC;IACrB,sCAAsC;IACtC,oBAAoB,EAAE,mBAAmB,EAAE,CAAC;IAC5C,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wDAAwD;IACxD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gDAAgD;IAChD,KAAK,EAAG,MAAM,CAAC;gBAGH,YAAY,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU;IAuC9D,OAAO;IAQD,sBAAsB,CAC1B,eAAe,EAAE,oBAAoB,GACpC,OAAO,CAAC,gCAAgC,GAAG,SAAS,CAAC;CAuBzD"}
@@ -1,4 +1,8 @@
1
+ import { createUID } from '@pega/cosmos-react-core';
2
+ import { deepCopy, getGroupKey } from '../utils/util';
1
3
  export default class GroupGenerator {
4
+ /** Unique identifier for the group header. */
5
+ uniqueId;
2
6
  /** Indicates if the group header is visible. */
3
7
  isVisible;
4
8
  /** Indicates if the current group header is a leaf node. */
@@ -38,6 +42,7 @@ export default class GroupGenerator {
38
42
  #rsInternal;
39
43
  constructor(groupOptions, rsInternal) {
40
44
  const { isVisible, isLeafNode, isExpanded, name, groupBy, level, label, hierarchy, count, aggregation, showHierarchicalFooter, isHierarchical, info, data, additionalFieldsData } = groupOptions;
45
+ this.uniqueId = createUID();
41
46
  this.isVisible = isVisible;
42
47
  this.isLeafNode = isLeafNode;
43
48
  this.isExpanded = isExpanded;
@@ -55,6 +60,7 @@ export default class GroupGenerator {
55
60
  this.additionalFieldsData = additionalFieldsData || [];
56
61
  this.#rsInternal = rsInternal;
57
62
  this.getRows = this.getRows.bind(this);
63
+ this.getAdditionalFieldData = this.getAdditionalFieldData.bind(this);
58
64
  }
59
65
  getRows() {
60
66
  const view = this.#rsInternal.getView();
@@ -63,5 +69,19 @@ export default class GroupGenerator {
63
69
  return view.rows.slice(this.startIndex, this.endIndex);
64
70
  }
65
71
  }
72
+ async getAdditionalFieldData(additionalField) {
73
+ const groupValues = this.hierarchy;
74
+ const groups = this.#rsInternal.getView().state.groups ?? [];
75
+ const groupFilters = groupValues.reduce((groupFilterAcc, groupValue, index) => {
76
+ const groupKey = getGroupKey(groups[index]);
77
+ groupFilterAcc[groupKey] = groupValue;
78
+ return groupFilterAcc;
79
+ }, {});
80
+ if (Object.keys(groupFilters).length && additionalField) {
81
+ return this.#rsInternal
82
+ .getRsProps()
83
+ .apiContext.fetchGroupAdditionalFieldUniqueValues?.(additionalField, groupFilters, deepCopy(this.#rsInternal.getView().state), this.#rsInternal.getView().meta);
84
+ }
85
+ }
66
86
  }
67
87
  //# sourceMappingURL=GroupGenerator.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"GroupGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAyBA,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,gDAAgD;IAChD,SAAS,CAAU;IACnB,4DAA4D;IAC5D,UAAU,CAAU;IACpB,0DAA0D;IAC1D,UAAU,CAAU;IACpB,gCAAgC;IAChC,IAAI,CAA0C;IAC9C,4EAA4E;IAC5E,OAAO,CAAS;IAChB,oEAAoE;IACpE,KAAK,CAAS;IACd,6EAA6E;IAC7E,KAAK,CAAS;IACd,wCAAwC;IACxC,SAAS,CAAuC;IAChD,+CAA+C;IAC/C,KAAK,CAAS;IACd,iEAAiE;IACjE,WAAW,CAAmB;IAC9B,wDAAwD;IACxD,sBAAsB,CAAW;IACjC,6DAA6D;IAC7D,cAAc,CAAW;IACzB,2DAA2D;IAC3D,IAAI,GAAG,EAAa,CAAC;IACrB,8CAA8C;IAC9C,IAAI,GAAG,EAAa,CAAC;IACrB,sCAAsC;IACtC,oBAAoB,CAAwB;IAC5C,0DAA0D;IAC1D,UAAU,CAAU;IACpB,wDAAwD;IACxD,QAAQ,CAAU;IAClB,gDAAgD;IAChD,KAAK,CAAU;IACf,WAAW,CAAa;IAExB,YAAY,YAA0B,EAAE,UAAsB;QAC5D,MAAM,EACJ,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,oBAAoB,EACrB,GAAG,YAAY,CAAC;QACjB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACxC,8EAA8E;QAC9E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAW,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;CACF","sourcesContent":["import type { AdditionalFieldData, AggregationResp } from '../../../types/ApiContext.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type RsInternal from '../RsInternal';\n\nimport type { RowData } from './RowGenerator.types';\n\nexport interface GroupOptions {\n isVisible: boolean;\n isLeafNode: boolean;\n isExpanded: boolean;\n name: string | number | boolean | Date | null;\n groupBy: string;\n level: number;\n label: string;\n hierarchy: (string | number | boolean | Date)[];\n count: number;\n aggregation?: AggregationResp;\n showHierarchicalFooter?: boolean;\n isHierarchical?: boolean;\n info?: RowData;\n data?: RowData;\n additionalFieldsData?: AdditionalFieldData[];\n}\n\nexport default class GroupGenerator {\n /** Indicates if the group header is visible. */\n isVisible: boolean;\n /** Indicates if the current group header is a leaf node. */\n isLeafNode: boolean;\n /** Indicates if the current group header is expanded. */\n isExpanded: boolean;\n /** Name of the group header. */\n name: string | number | boolean | Date | null;\n /** {@link FieldDef.name Name} of the field on which grouping is applied. */\n groupBy: string;\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** {@link FieldDef.label Label} of the field on which grouping is applied */\n label: string;\n /** Path of the grouped column value. */\n hierarchy: (string | number | boolean | Date)[];\n /** Total count of the current group header. */\n count: number;\n /** Aggregation values if aggregation is applied with grouping */\n aggregation?: AggregationResp;\n /** Indicates if hierarchical footer should be shown. */\n showHierarchicalFooter?: boolean;\n /** Indicates if the current group header is hierarchical. */\n isHierarchical?: boolean;\n /** Row data for the current hierarchical group header. */\n info = {} as RowData;\n /** Row data for the current group header. */\n data = {} as RowData;\n /** Additional field data for group */\n additionalFieldsData: AdditionalFieldData[];\n /** Start index of the data of the current group header */\n startIndex?: number;\n /** End index of the data of the current group header */\n endIndex?: number;\n /** Holds the level of visible group headers. */\n index!: number;\n #rsInternal: RsInternal;\n\n constructor(groupOptions: GroupOptions, rsInternal: RsInternal) {\n const {\n isVisible,\n isLeafNode,\n isExpanded,\n name,\n groupBy,\n level,\n label,\n hierarchy,\n count,\n aggregation,\n showHierarchicalFooter,\n isHierarchical,\n info,\n data,\n additionalFieldsData\n } = groupOptions;\n this.isVisible = isVisible;\n this.isLeafNode = isLeafNode;\n this.isExpanded = isExpanded;\n this.name = name;\n this.groupBy = groupBy;\n this.level = level;\n this.label = label;\n this.hierarchy = hierarchy;\n this.count = count;\n this.aggregation = aggregation;\n this.showHierarchicalFooter = showHierarchicalFooter;\n this.isHierarchical = isHierarchical;\n this.info = info || {};\n this.data = data || {};\n this.additionalFieldsData = additionalFieldsData || [];\n this.#rsInternal = rsInternal;\n this.getRows = this.getRows.bind(this);\n }\n\n getRows() {\n const view = this.#rsInternal.getView();\n // we are supporting getData only on leaf node (considering view perspective).\n if (this.isLeafNode && this.startIndex! >= 0 && view.rows) {\n return view.rows.slice(this.startIndex, this.endIndex);\n }\n }\n}\n"]}
1
+ {"version":3,"file":"GroupGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/GroupGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAWpD,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAsBtD,MAAM,CAAC,OAAO,OAAO,cAAc;IACjC,8CAA8C;IAC9C,QAAQ,CAAS;IACjB,gDAAgD;IAChD,SAAS,CAAU;IACnB,4DAA4D;IAC5D,UAAU,CAAU;IACpB,0DAA0D;IAC1D,UAAU,CAAU;IACpB,gCAAgC;IAChC,IAAI,CAA0C;IAC9C,4EAA4E;IAC5E,OAAO,CAAS;IAChB,oEAAoE;IACpE,KAAK,CAAS;IACd,6EAA6E;IAC7E,KAAK,CAAS;IACd,wCAAwC;IACxC,SAAS,CAAuC;IAChD,+CAA+C;IAC/C,KAAK,CAAS;IACd,iEAAiE;IACjE,WAAW,CAAmB;IAC9B,wDAAwD;IACxD,sBAAsB,CAAW;IACjC,6DAA6D;IAC7D,cAAc,CAAW;IACzB,2DAA2D;IAC3D,IAAI,GAAG,EAAa,CAAC;IACrB,8CAA8C;IAC9C,IAAI,GAAG,EAAa,CAAC;IACrB,sCAAsC;IACtC,oBAAoB,CAAwB;IAC5C,0DAA0D;IAC1D,UAAU,CAAU;IACpB,wDAAwD;IACxD,QAAQ,CAAU;IAClB,gDAAgD;IAChD,KAAK,CAAU;IACf,WAAW,CAAa;IAExB,YAAY,YAA0B,EAAE,UAAsB;QAC5D,MAAM,EACJ,SAAS,EACT,UAAU,EACV,UAAU,EACV,IAAI,EACJ,OAAO,EACP,KAAK,EACL,KAAK,EACL,SAAS,EACT,KAAK,EACL,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,IAAI,EACJ,IAAI,EACJ,oBAAoB,EACrB,GAAG,YAAY,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,SAAS,EAAE,CAAC;QAC5B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,CAAC;QACrD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,IAAI,EAAE,CAAC;QACvD,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvE,CAAC;IAED,OAAO;QACL,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACxC,8EAA8E;QAC9E,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAW,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,eAAqC;QAErC,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;QAC7D,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,CACrC,CAAC,cAAc,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;YACpC,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAC5C,cAAc,CAAC,QAAQ,CAAC,GAAG,UAAU,CAAC;YACtC,OAAO,cAAc,CAAC;QACxB,CAAC,EACD,EAAE,CACH,CAAC;QAEF,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,IAAI,eAAe,EAAE,CAAC;YACxD,OAAO,IAAI,CAAC,WAAW;iBACpB,UAAU,EAAE;iBACZ,UAAU,CAAC,qCAAqC,EAAE,CACjD,eAAe,EACf,YAAY,EACZ,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAC1C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,IAAI,CAChC,CAAC;QACN,CAAC;IACH,CAAC;CACF","sourcesContent":["import { createUID } from '@pega/cosmos-react-core';\n\nimport type {\n AdditionalFieldData,\n AggregationResp,\n GroupAdditionalFieldUniqueValues\n} from '../../../types/ApiContext.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type { GroupAdditionalField, GroupFilter } from '../../../types/State.types';\nimport type RsInternal from '../RsInternal';\nimport { deepCopy, getGroupKey } from '../utils/util';\n\nimport type { RowData } from './RowGenerator.types';\n\nexport interface GroupOptions {\n isVisible: boolean;\n isLeafNode: boolean;\n isExpanded: boolean;\n name: string | number | boolean | Date | null;\n groupBy: string;\n level: number;\n label: string;\n hierarchy: (string | number | boolean | Date)[];\n count: number;\n aggregation?: AggregationResp;\n showHierarchicalFooter?: boolean;\n isHierarchical?: boolean;\n info?: RowData;\n data?: RowData;\n additionalFieldsData?: AdditionalFieldData[];\n}\n\nexport default class GroupGenerator {\n /** Unique identifier for the group header. */\n uniqueId: string;\n /** Indicates if the group header is visible. */\n isVisible: boolean;\n /** Indicates if the current group header is a leaf node. */\n isLeafNode: boolean;\n /** Indicates if the current group header is expanded. */\n isExpanded: boolean;\n /** Name of the group header. */\n name: string | number | boolean | Date | null;\n /** {@link FieldDef.name Name} of the field on which grouping is applied. */\n groupBy: string;\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** {@link FieldDef.label Label} of the field on which grouping is applied */\n label: string;\n /** Path of the grouped column value. */\n hierarchy: (string | number | boolean | Date)[];\n /** Total count of the current group header. */\n count: number;\n /** Aggregation values if aggregation is applied with grouping */\n aggregation?: AggregationResp;\n /** Indicates if hierarchical footer should be shown. */\n showHierarchicalFooter?: boolean;\n /** Indicates if the current group header is hierarchical. */\n isHierarchical?: boolean;\n /** Row data for the current hierarchical group header. */\n info = {} as RowData;\n /** Row data for the current group header. */\n data = {} as RowData;\n /** Additional field data for group */\n additionalFieldsData: AdditionalFieldData[];\n /** Start index of the data of the current group header */\n startIndex?: number;\n /** End index of the data of the current group header */\n endIndex?: number;\n /** Holds the level of visible group headers. */\n index!: number;\n #rsInternal: RsInternal;\n\n constructor(groupOptions: GroupOptions, rsInternal: RsInternal) {\n const {\n isVisible,\n isLeafNode,\n isExpanded,\n name,\n groupBy,\n level,\n label,\n hierarchy,\n count,\n aggregation,\n showHierarchicalFooter,\n isHierarchical,\n info,\n data,\n additionalFieldsData\n } = groupOptions;\n this.uniqueId = createUID();\n this.isVisible = isVisible;\n this.isLeafNode = isLeafNode;\n this.isExpanded = isExpanded;\n this.name = name;\n this.groupBy = groupBy;\n this.level = level;\n this.label = label;\n this.hierarchy = hierarchy;\n this.count = count;\n this.aggregation = aggregation;\n this.showHierarchicalFooter = showHierarchicalFooter;\n this.isHierarchical = isHierarchical;\n this.info = info || {};\n this.data = data || {};\n this.additionalFieldsData = additionalFieldsData || [];\n this.#rsInternal = rsInternal;\n this.getRows = this.getRows.bind(this);\n this.getAdditionalFieldData = this.getAdditionalFieldData.bind(this);\n }\n\n getRows() {\n const view = this.#rsInternal.getView();\n // we are supporting getData only on leaf node (considering view perspective).\n if (this.isLeafNode && this.startIndex! >= 0 && view.rows) {\n return view.rows.slice(this.startIndex, this.endIndex);\n }\n }\n\n async getAdditionalFieldData(\n additionalField: GroupAdditionalField\n ): Promise<GroupAdditionalFieldUniqueValues | undefined> {\n const groupValues = this.hierarchy;\n const groups = this.#rsInternal.getView().state.groups ?? [];\n const groupFilters = groupValues.reduce<GroupFilter['filters']>(\n (groupFilterAcc, groupValue, index) => {\n const groupKey = getGroupKey(groups[index]);\n groupFilterAcc[groupKey] = groupValue;\n return groupFilterAcc;\n },\n {}\n );\n\n if (Object.keys(groupFilters).length && additionalField) {\n return this.#rsInternal\n .getRsProps()\n .apiContext.fetchGroupAdditionalFieldUniqueValues?.(\n additionalField,\n groupFilters,\n deepCopy(this.#rsInternal.getView().state),\n this.#rsInternal.getView().meta\n );\n }\n }\n}\n"]}
@@ -3,9 +3,10 @@ import type { DataError } from '../../../types/State.types';
3
3
  import type Column from './ColumnGenerator';
4
4
  import type Row from './RowGenerator';
5
5
  import type { ViewContext } from './ViewGenerator.types';
6
+ export type ScalarRowData = string | number | boolean | Date;
6
7
  /** Interface for expressing data present in a row */
7
8
  export interface RowData {
8
- [key: string]: null | string | number | boolean | Date | RowData | RowData[];
9
+ [key: string]: null | ScalarRowData | RowData | RowData[];
9
10
  }
10
11
  /** UI Props set on a row */
11
12
  export interface UIProps {
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAsHA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | string | number | boolean | Date | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
1
+ {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAuHA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\nexport type ScalarRowData = string | number | boolean | Date;\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | ScalarRowData | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/core/reducers/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;yBAEvC,OAAO,KAAK,EAAE,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;4BAmB85T,CAAC;+BAAkI,CAAC;0BAAmJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnBluU,wBAkBE"}
1
+ {"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../../../src/core/reducers/error.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;yBAEvC,OAAO,KAAK,EAAE,QAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;4BAmBq8T,CAAC;+BAAkI,CAAC;0BAAmJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAnBzwU,wBAkBE"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/reducers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAgExD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,IAC3D,OAAO,KAAK,EAAE,QAAQ,MAAM,EAAE,YAAY,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;4BAeulQ,CAAC;+BAAkI,CAAC;0BAAmJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAD56Q"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/core/reducers/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,eAAe,CAAC;AAC5C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAgExD,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,IAC3D,OAAO,KAAK,EAAE,QAAQ,MAAM,EAAE,YAAY,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;4BAe8nQ,CAAC;+BAAkI,CAAC;0BAAmJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EADn9Q"}
@@ -2,7 +2,7 @@ import type { ModalManagerContextValue } from '@pega/cosmos-react-core/lib/compo
2
2
  import type { Condition } from '@pega/cosmos-react-condition-builder';
3
3
  import type { RowData } from '../src/core/generators/RowGenerator.types';
4
4
  import type { UtilityFunctions } from '../src/core/generators/viewUtilityMethods';
5
- import type { Personalization, PersonalizationInfo, PersonalizedState, State, Group } from './State.types';
5
+ import type { Personalization, PersonalizationInfo, PersonalizedState, State, Group, GroupFilter, GroupAdditionalField } from './State.types';
6
6
  import type { Meta, RowAction, FieldDef } from './Meta.types';
7
7
  /**
8
8
  * Represents information about the currently active view in the repeating structures.
@@ -193,6 +193,12 @@ export type PersonalizationResponse = Pick<Personalization, 'defaultPersonalizat
193
193
  };
194
194
  };
195
195
  };
196
+ export interface GroupAdditionalFieldUniqueValues {
197
+ /** Unique values for the group additional field. */
198
+ values: (string | number | boolean | Date)[];
199
+ /** Indicates if there are more values. */
200
+ hasMore: boolean;
201
+ }
196
202
  export interface ApiContext {
197
203
  /**
198
204
  * This api is used to fetch a list of raw data rows (excluding aggregations) for a given group or at the top level when no groups.
@@ -494,6 +500,17 @@ export interface ApiContext {
494
500
  * @returns {Promise<boolean> | boolean} - Returns `true` if the data satisfies the condition, otherwise `false`.
495
501
  */
496
502
  evaluateCondition?: (rsState: State, rsMeta: Meta, config: ConditionConfig) => boolean;
503
+ /**
504
+ * This api is used to fetch unique values for a particular group additional field. It is generally called for a group additional field which has more than 1 value.
505
+ * It should return unique values for the additional field along with hasMore flag to indicate if there are more values.
506
+ * @param additionalField - The group additional field for which unique values needs to be fetched.
507
+ * @param groupFilters - The current group filters on which the additional field is set.
508
+ * @param rsState - The state of the Repeating Structures.
509
+ * @param rsMeta - The meta information of the Repeating Structures.
510
+ * @param options - Extra api options provided by repeating structures.
511
+ * @returns GroupAdditionalFieldUniqueValues - It should return a promise of type {@link GroupAdditionalFieldUniqueValues}
512
+ */
513
+ fetchGroupAdditionalFieldUniqueValues?: (additionalField: GroupAdditionalField, groupFilters: GroupFilter['filters'], rsState: State, rsMeta: Meta, options?: ApiOptions) => Promise<GroupAdditionalFieldUniqueValues>;
497
514
  }
498
515
  export {};
499
516
  //# sourceMappingURL=ApiContext.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ApiContext.types.d.ts","sourceRoot":"","sources":["../../types/ApiContext.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ApiContext.types.d.ts","sourceRoot":"","sources":["../../types/ApiContext.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApiContext.types.js","sourceRoot":"","sources":["../../types/ApiContext.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ModalManagerContextValue } from '@pega/cosmos-react-core/lib/components/Modal/Modal.types';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\nimport type { UtilityFunctions } from '../src/core/generators/viewUtilityMethods';\n\nimport type {\n Personalization,\n PersonalizationInfo,\n PersonalizedState,\n State,\n Group,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n DateGroupAdditionalField,\n NumberGroupAdditionalField\n /* eslint-enable @typescript-eslint/no-unused-vars */\n} from './State.types';\nimport type {\n Meta,\n RowAction,\n FieldDef,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n FieldType\n} from './Meta.types';\n\n/**\n * Represents information about the currently active view in the repeating structures.\n */\ntype ActiveViewInfo = {\n /**\n * The unique identifier of the active view.\n */\n id: string | undefined;\n\n /**\n * The name of the active view.\n */\n name: string | undefined;\n\n /**\n * Indicates whether the active view has unsaved changes.\n */\n isDirty: boolean;\n};\n\nexport type RsApi = {\n /**\n * Refreshes the current view.\n * @see {@link UtilityFunctions.refreshView}\n */\n refreshView: UtilityFunctions['forceRefresh'];\n\n /**\n * Sets the record count in the view.\n * @see {@link UtilityFunctions.setRecordCount}\n */\n setRecordCount: UtilityFunctions['setRecordCount'];\n\n /**\n * Dispatches an action to the repeating structures with an payload.\n * @see {@link UtilityFunctions.dispatchAction}\n */\n dispatchAction: UtilityFunctions['dispatchAction'];\n\n /**\n * Retrieves information about the currently active view.\n * @returns The {@link ActiveViewInfo active view information} or `void` if unavailable.\n */\n getActiveViewInfo: () => ActiveViewInfo | void;\n\n /**\n * Sets hidden columns of the view.\n * @param columns - An array of column IDs to hide.\n * @param ootbColumns - .\n * @param ootbColumns.dragHandle - Whether to hide the drag-and-drop column.\n */\n setHiddenColumns?: (columns: string[], ootbColumns?: { dragHandle: boolean }) => void;\n\n /**\n * Sets Column order of the view.\n * @param columns - An array of column IDs to reorder.\n */\n setColumnOrder?: (columns: string[]) => void;\n\n /**\n * Sets the filters of the view.\n * @param filter - The filter condition to apply.\n */\n setFilter: (filter: Condition) => void;\n\n /**\n * Sets the groups of the view.\n * @param groups - The grouping configuration.\n */\n setGrouping?: (groups: Group[]) => void;\n\n /**\n * Sets the sorting order of the view.\n * @param {NonNullable<State['sortingOrder']>} sorts - The sorting configuration.\n */\n setSorting: (sorts: NonNullable<State['sortingOrder']>) => void;\n\n /**\n * Sets the column aliases of the view.\n * @param aliases - The column alias configuration.\n */\n setAliases: (aliases: State['columnAlias']) => void;\n\n /**\n * Sets the aggregation information of the view.\n * @param {State['aggregationInfo']} agg - The aggregation configuration.\n */\n setAggregations: (agg: State['aggregationInfo']) => void;\n\n /**\n * Sets the visibility of the row reorder field.\n * @param {boolean} visibility - Whether the row reorder field should be visible.\n */\n setRowReorderFieldVisibility: (visibility: boolean) => void;\n\n /**\n * Updates the visibility of specific columns.\n * @param {Object} columns - A mapping of column IDs to their visibility state.\n */\n updateColumnsVisibility: (columns: { [key: FieldDef['id']]: boolean }) => void;\n\n /**\n * Sets the `renderFormatter` for the given column.\n * @param columnId - Column ID\n * @param formatterName - ID of the formatter/renderer\n */\n setRenderFormatter: (columnId: string, formatterName: string) => void;\n\n /**\n * Sets the conditional style formats of the view.\n * @param conditionalStyleFormats - The conditional style formats to apply.\n */\n setConditionalStyleFormats: (\n conditionalStyleFormats: NonNullable<State['conditionalStyleFormats']>\n ) => void;\n};\n\nexport interface ApiOptions {\n signal?: AbortSignal;\n /** Indicates current api triggered should invalidate the cache if any and reload the data. */\n invalidateCache?: boolean;\n /** A unique token or version identifier that changes whenever a refresh is triggered. Unlike a boolean `invalidateCache` flag, the `invalidateCacheToken` ensures that multiple APIs triggered\n in the same refresh cycle receive the same identifier. */\n invalidateCacheToken?: number;\n}\n// Aggregation response type\ntype AggregationTypeResp = 'avg' | 'max' | 'min' | 'nonNullCount' | 'sum' | 'distinctCount';\n/** An object with key equal to {@link AggregationTypeResp aggregation type} and value is equal to the actual value of that aggregation type */\ntype AggregationOptions = {\n [agg in AggregationTypeResp]?: number | null;\n};\n/** An object where key is equal to the column id (i.e. {@link FieldDef.id id} in FieldDef) and value is equal to its {@link AggregationOptions Aggregation values} */\nexport type AggregationResp = {\n [columnId: string]: AggregationOptions;\n};\n\nexport type AdditionalFieldData = {\n /** {@link FieldDef.id Field Id} of the additional field. */\n id: string;\n /** Value of the additional field that should be displayed for additional field.\n * The value can represent:\n * - An aggregated value (e.g., sum, max, min, avg) for {@link FieldType.NUMBER number} type fields when\n * {@link NumberGroupAdditionalField.aggregation aggregation} is selected in additional fields meta.\n * - A date function value (e.g., Day, Month, Year) for {@link FieldType.DATE 'date'} / {@link FieldType.DATE_TIME 'datetime'}\n * fields when a {@link DateGroupAdditionalField.dateFunction date function} is selected in the additional fields metadata..\n * - A scalar or single value for the additional field.\n */\n value: null | string | number | boolean | Date;\n /** Represents the distinct count of\n * occurrences for the additional field data. This is generally required,\n * but may be omitted if {@link NumberGroupAdditionalField.aggregation aggregation} is selected for number type fields\n * in the additional fields metadata. */\n count?: number;\n};\n\n// Grouping response type\nexport interface GroupedInfo {\n /** Value for the current group node. */\n name: null | string | number | boolean | Date; // Value for the current node\n /** # of data rows in this node */\n count: number;\n /** An optional data row from the group node that is used to process extra information required by group node */\n data?: RowData;\n /** Additional fields data for the current group node */\n additionalFieldsData?: AdditionalFieldData[];\n /** Aggregation values of a column if applied */\n agg?: AggregationResp;\n /** Nested groups within the parent group node */\n children?: GroupedInfo[];\n}\n\nexport interface HierarchicalGroupedInfo extends Pick<GroupedInfo, 'count' | 'agg'> {\n info: RowData;\n children?: HierarchicalGroupedInfo[];\n}\n\nexport type AggregateValueResponse = {\n [columnId: string]: number | null;\n};\n/** An object where key is equal to column id i.e. {@link FieldDef.id id key in fieldDef} and value is equal to the aggregation value for the given aggregation */\nexport type AggregationResult = {\n [columnId: string]: number;\n};\n\nexport interface FetchDataResponse {\n /** An array of {@link RowData} */\n data: RowData[];\n /** An optional parameter to provide the total record count for a given Repeating structures with a given filter criteria in the query. If not provided, use callback setRecordCount */\n totalRecordCount?: number;\n /** @deprecated An optional parameter to provide the total record count for a given Repeating structures with a given filter criteria in the query. If not provided, use callback setRecordCount */\n filteredRecordCount?: number;\n}\n\ntype BulkAction = Pick<RowAction, 'id' | 'text'> & {\n /**\n * @param rowIds - The values for the {@link Meta.itemKey 'itemkey'} for given rows.\n * @param clearSelectionAndRefreshRowsCallback - A callback used to trigger deselection of all the selected rows and then call\n * {@link ApiContext.fetchRowsData 'fetchRowsData'} api of to fetch latest data for given rows, after action is completed.\n * @return {void} - void\n */\n onClick: (rowIds: string[], clearSelectionAndRefreshRowsCallback: () => void) => void;\n};\n\ninterface ConditionConfig {\n condition: Condition;\n data: RowData;\n}\n\nexport type PersonalizationResponse = Pick<Personalization, 'defaultPersonalization'> & {\n allPersonalizations: {\n [personalizationKey: string]: Pick<PersonalizationInfo, 'name'> & {\n personalizationState: PersonalizedState;\n };\n };\n};\n\nexport interface ApiContext {\n /**\n * This api is used to fetch a list of raw data rows (excluding aggregations) for a given group or at the top level when no groups.\n *Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#29) documentation** for more details.\n * @requireWhen Always\n * @invokedWhen filters are changed OR\\\n * search criteria is changed OR\\\n end user scrolls through the RS records OR\\\n sorting is changed OR\\\n forceRefresh is triggered by consumer OR\\\n groups are changed OR\\\n hierarchicalGroups are changed OR\\\n hiddenColumns are changed\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to build the criteria for query(e.g. filter, sort, group criteria, paginationOptions).\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields for which data needs to be fetched.\n * @param {ApiOptions} apiOptions - Extra api options provided by repeating structures,\n * for instance, abort signal handler is sent which can be attached to the native fetch call or any framework like axios. Repeating structures will use to cancel the api calls which might be using stale state, e.g. in case of progressive scroll.\n * @returns {Promise<FetchDataResponse>} - It should return a promise of type {@link FetchDataResponse} that should contain data as one key of type Array<{@link RowData}> to provide data for given query.\n */\n fetchData: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<FetchDataResponse>;\n\n /**\n * This api is used to fetch details for any group/sub-group ribbons in the RS. Should return labels, counts, aggregation values at each group node.This can sometimes be called even when there are no groups. Avoid running into exceptions in those cases.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#59) documentation** for more details.\n * @requireWhen {@link Meta.grouping 'grouping'} key is set to true in\n * @invokedWhen Grouping is applied on any {@link FieldDef fieldDef} OR\\\n * filters are changed OR\\\n * search criteria is changed OR\\\n * personalization is toggled. OR\\\n * aggregation is changed OR\\\n * hiddenColumns are changed OR\\\n * forceRefresh of RS is triggered by consumer.\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to build the criteria for query. For e.g. use rsState.groups and rsState.aggregationInfo to determine the query.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields info for which data needs to be fetched.\n * @returns {GroupedInfo[]} - It should return a promise of type array of all the {@link GroupedInfo } for the specific field. It can also include nested groups in children key.\n */\n fetchGroupedInfo?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<GroupedInfo[]>;\n\n /**\n * This api is used to fetch aggregation results for a given aggregation type(sum/min/max/count) on a field. This is called when aggregations are configured on one or more column.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#84) documentation** for more details.\n * @requireWhen {@link FieldDef.aggregation 'aggregation'} key is set to true for at least one FieldDef AND {@link FieldDef.type 'type'} key in FieldDef should be of number for that particular fieldDef.\n * @invokedWhen When aggregation is applied on any {@link FieldDef fieldDef} OR\\\n * filters are changed OR\\\n * search criteria is changed OR\\\n * personalization is toggled. OR\\\n * hiddenColumns are changed.\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to get current aggregations applied on the RS from aggregationInfo key in state. Apart from this current filters and search criteria can also be picked from state.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields for which data needs to be fetched.\n * @returns {Promise<AggregationResult>} - It should return a promise of type {@link AggregationResult}\n */\n fetchAggregatedValues?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<AggregationResult>;\n\n /**\n * This api is used to fetch unique values available for a particular field. It is generally called for a field which has {@link FieldDef.filterPickList filterPickList} key set to true.The unique values are presented to the user while filtering.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#99) documentation** for more details.\n * @requireWhen {@link FieldDef.filterPickList filterPickList} key set to true for at least one FieldDef\n * @invokedWhen Picklist Filter is invoked by end user from FieldDef header action menu.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {string} columnId - This is equal to { @link FieldDef.id 'id'} key of the field for which unique values needs to be fetched.\n * @returns {Promise<Array<string | number | boolean | Date>>} It should return a promise of type array of unique values for a given fieldDef id.\n */\n fetchUniqueColValues?: (\n rsState: State,\n rsMeta: Meta,\n columnId: string,\n apiOptions: ApiOptions\n ) => Promise<(string | number | boolean | Date)[]>;\n\n /**\n * This api is used to fetch the latest data for a given row identified uniquely by {@link FieldDef.itemKey itemKey}.\n * @requireWhen {@link Meta.editing 'editing'} OR {@link Meta.deleting 'deleting'} is set to true\n * @invokedWhen A {@link Meta.rowActions rowAction} is submitted by consumer of RS, as part of {@link RowAction. rowAction.onClick} 'refresRow' callback.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {string} key - A unique identifier for a given row. This is equal to {@link Meta.itemKey 'itemKey'}\n * @param {string} value - The value for the given {@link Meta.itemKey 'itemKey'} for given row.\n * @returns {Promise<RowData[]>} It should return a promise of type {@link RowData} array containing the data for a given row.Only 0th index is considered from the array.\n */\n fetchRowData?: (\n rsState: State,\n rsMeta: Meta,\n key: string,\n value: string,\n apiOptions: ApiOptions\n ) => Promise<RowData[]>;\n\n /**\n * This api is used to fetch the latest data for given set of rows identified uniquely by itemKey in {@link FieldDef}. This is passed as callback to all the {@link BulkAction.onClick bulk actions 'onClick'} method with {@link ApiContext.clearSelectedRows clearSelectedRows} api.\n * @requireWhen {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * @invokedWhen The bulk action is submitted, this can be called by bulk actions {@link BulkAction.onClick 'onClick'} method by RS consumer.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {Array<string | number | boolean | Date>} rowIds - The values for the given {@link Meta.itemKey 'itemKey'} for given rows.\n * @param itemKey - A unique identifier for a given row. This is equal to {@link Meta.itemKey 'itemKey'}\n * @returns {Promise<RowData[]>} It should return a promise of type {@link RowData} array containing the data for given rows.\n */\n fetchRowsData?: (\n rsState: State,\n rsMeta: Meta,\n rowIds: string[],\n itemKey: string,\n apiOptions: ApiOptions\n ) => Promise<RowData[]>;\n\n /**\n * This api is used to fetch the actions that is supported on rows of Repeating Structure. It is generally called when {@link Meta.editing 'editing'} is set to true.\n * @requireWhen {@link Meta.editing 'editing'} OR {@link Meta.deleting 'deleting'} is set to true\n * @invokedWhen The end user clicks on 'RowActionMenu'.Once fetched it is not refetched.\n * @param {} uniqueKey - A unique identifier for a given row. This is equal to value for {@link Meta.itemKey 'itemKey'} in {@link RowData} data.\n * @returns - A promise of type Array of {@link RowAction}\n */\n fetchRowActionDetails?: (uniqueKey: string, rowContext: RowData) => Promise<RowAction[]>;\n\n /**\n * This api is used to submit the updated row data to apiContext. It is generally called when {@link FieldDef.editable 'editable'} key is set to true for at least one FieldDef to enable inline editing for a cell.\n * @requireWhen {@link FieldDef.editable 'editable'} key is set to true for at least one FieldDef.\n * @invokedWhen The end user is done editing the cell using inline editing.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param dataToSubmit - Updated row data to be submitted to apiContext\n * @returns It should return a promise of type {@link RowData} with the updated contents that is passed in {@link dataToSubmit} param.\n */\n submitData?: (\n rsState: State,\n rsMeta: Meta,\n dataToSubmit: RowData\n ) => Promise<{ rowData: RowData }>;\n\n /**\n * This api is used to submit moved records in a repeating structure. It is called when {@link Meta.moveListRecords 'moveListRecords'} is set to true. Repeating structure allow moving of records based on it's value.\n * @requireWhen {@link Meta.moveListRecords 'moveListRecords'} is set to true\n * @invokedWhen The move process is completed by end user this api is called to provide the info related to move records.\n * @param moveInfo - It is an object that contains sourceID(the data of {@link Meta.itemKey 'itemKey'} for the given row) that user has selected to move and\n * destinationID(the data of {@link Meta.itemKey 'itemKey'} for the given row) where the user has dropped the source row.\n * @returns It should return a promise of type object that contains a refresh key if set to true, repeating structures will trigger a refresh and fetch the whole data agin using {@link ApiContext.fetchData 'fetchData'} api\n */\n moveListRecords?: (moveInfo: {\n sourceID: string;\n destinationID: string;\n }) => Promise<{ refresh: boolean }>;\n\n /**\n * This api is used to fetch the bulkActions for a repeating structures if {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * This is called on demand, when the bulk action button in repeating structures is clicked. The button will be disabled till the time at least one record is not selected in repeating structures to trigger bulk action.\n * @requireWhen {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * @invokedWhen End user clicks on 'Bulk actions' button in RS Toolbar.Once fetched it is not refetched.\n * @param {Array<string>} rowIds - The values for the given {@link Meta.itemKey 'itemKey'} for given rows.\n * @returns A promise of type Array of {@link BulkAction}\n */\n fetchActions?: (rowIds: string[]) => Promise<BulkAction[]>;\n\n /**\n * This API is used to pass utility callbacks to the consumer. Consumers can use these callbacks at any point in the lifecycle of Repeating Structures to interact with them.\n *\n * @returns {void} This function does not return any value.\n */\n addCallbacks?: (\n /**\n * @param rsUtilityCallbacks - A set of callbacks exposed by Repeating Structures, including methods for interacting with the view and managing state.\n * See {@link RsApi} for the list of available callbacks.\n *\n */\n rsUtilityCallbacks: RsApi & {\n /**\n * @deprecated This method will be removed in future versions. Please use {@link RsApi.refreshView refreshView} instead.\n *\n * It is used to trigger a force refresh the data and re-fetch selections using apiContext.getSelectedRows api (if any of the selection mode is enabled) of repeating structures\n * @returns {void} void\n */\n forceRefresh: UtilityFunctions['forceRefresh'];\n }\n ) => void;\n\n /**\n * This api passes a unique identifier to apiContext to identify a repeating structure instance. This can be used to uniquely identify a RS instance in case of multiple RS instances.\n * @requireWhen Optional\n * @invokedWhen On Repeating structures mount to share current repeating structure instance identifier.\n * @param {string} rsID - A unique identifier\n * @returns {void} void\n */\n setRsID?: (rsID: string) => void;\n\n /**\n * This api is called to fetch all the personalizations for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen On Repeating structures mount to fetch all personalizations.\n * @returns {PersonalizationResponse} It should return all the personalizations.\n */\n fetchPersonalizations?: () => Promise<PersonalizationResponse>;\n\n /**\n * This api is called to update the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user deletes a personalization.\n * @param {string} personalizationKey - Unique identifier for the personalization.\n * @param personalization - The updated personalization state.\n * @returns {void} void\n */\n updatePersonalization?: (\n personalizationKey: string,\n personalization: {\n markAsDefault?: boolean;\n markAsAppDefault?: boolean;\n name?: string;\n personalizationState?: PersonalizedState;\n }\n ) => Promise<void>;\n\n /**\n * This api is called to delete the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user deletes a personalization.\n * @param personalizationKey - Unique identifier for a personalization.\n * @returns {void} void\n */\n deletePersonalization?: (personalizationKey: string) => Promise<void>;\n\n /**\n * This api is called to create the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user create a new personalization.\n * @param {string} personalizationKey - Unique identifier for the personalization.\n * @param personalization - The personalization state to be saved\n * @returns {void} void\n */\n createPersonalization?: (\n personalizationKey: string,\n personalization: {\n markAsDefault: boolean;\n name: string;\n personalizationState: PersonalizedState;\n }\n ) => Promise<string> | Promise<{ data: string }>;\n\n /**\n * This api is used to communicate selectedRows in the repeating structures to the consumer.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen {@link Meta.selectionMode 'selectionMode'} key is set to true and whenever selection changes in RS.\n * @param {Array<RowData & { $selected: boolean }>} selectedRows The selectedRows that needs to be communicated.\n * @returns {Promise<void>} A promise\n */\n setSelectedRows?: (selectedRows: (RowData & { $selected: boolean })[]) => Promise<void>;\n\n /**\n * This api is used to get the selectedRows for the repeating structures from the consumer, to populate the selections in RS.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen {@link Meta.selectionMode 'selectionMode'} key is set to true and RS requires current selected rows from the consumer.\n * @returns {Promise<Array<string>>} A promise of type array of unique identifiers for all the row. It is value of {@link Meta.itemKey 'itemKey'}\n */\n getSelectedRows?: () => Promise<string[]>;\n\n /** This api is used to communicate the clearance of all the selectedRows for the repeating structures to the consumer.\n * This is also passed as callback to all the {@link BulkAction.onClick bulk actions 'onClick'} method with {@link ApiContext.fetchRowsData fetchRowsData} api.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen In case of {@link Meta.selectionMode \"multi\"} selection mode, while toggling all the selections OR\\\n * while switching personalizations OR\\\n * when the bulk action is submitted, this can be called by bulk actions {@link BulkAction.onClick 'onClick'} method by RS consumer.\n * @returns {Promise<void>} A promise\n */\n clearSelectedRows?: () => Promise<void>;\n\n /**\n * This api is used to fetch the hierarchical groups for an RS if {@link FieldDef.hierarchicalInfo 'hierarchicalInfo'} key is set to true for at least one FieldDef.\n * @requireWhen {@link FieldDef.hierarchicalInfo 'hierarchicalInfo'} key is set to true for at least one FieldDef\n * @invokedWhen Any change in filters, search criteria, hierarchichal groups, aggregations is detected in RS state or personalizations are toggled.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @returns {HierarchicalGroupedInfo[]} - It should return a promise of type array of all the {@link HierarchicalGroupedInfo } for the specific field. It can also include nested hierarchical groups in children key.\n */\n fetchHierarchicalGroupedInfo?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<HierarchicalGroupedInfo[]>;\n\n /**\n * This api is used to communicate repeating structure state to the consumer. It also includes visibleColumns apart from regular repeating structure state.\n * @requireWhen Optional\n * @invokedWhen After any action performed on Repeating structures that results in updating of state.\n * @param state Repeating structure state\n * @returns {void} void\n */\n stateUpdateCallback?: (state: PersonalizedState & { visibleColumns?: string[] }) => void;\n\n /**\n * This api is used to communicate repeating structure state to the consumer. It also includes active personalization in RS apart from regular repeating structure state.\n * @requireWhen Optional\n * @param state Repeating structure state\n * @returns {void} void\n */\n setComponentState?: (state: PersonalizedState & { activePersonalization?: string }) => void;\n /**\n * This api is used to communicate repeating structure state to RS from consumer.\n * @requireWhen Optional\n * @returns RS state.\n */\n getComponentState?: () => Promise<PersonalizedState & { activePersonalization?: string }>;\n /** This api is called on click of 'Import data' option in repeating structures toolbar and should open a modal to allow import of data from a CSV file.\n * @requireWhen {@link Meta.showImportDataOption showImportDataOption} is set to true in Meta.\n * @invokedWhen \"Import data\" button is clicked in the repeating structures toolbar\n * @param {ModalManagerContextValue['create']} create - The function to create a modal in the current context {@link ModalManagerContextValue['create']}.\n * @returns {void} void\n */\n importCSVData?: (create: ModalManagerContextValue['create']) => Promise<void>;\n /** This api is called on click of 'Export to excel' option in repeating structures toolbar and should export the data into a excel file.\n * @requireWhen {@link Meta.showExportToExcelOption showExportToExcelOption} is set to true in Meta.\n * @invokedWhen \"Export to excel\" button is clicked in the repeating structures toolbar\n * @param {State} rsState - Current repeating structures state {@link State}.\n * @param {Meta} rsMeta - Repeating structures meta {@link Meta}.\n * @returns {void} void\n */\n exportData?: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<void>;\n\n /** This api is called on click of 'Export to CSV' option in repeating structures toolbar and should export the data into a CSV file.\n * @requireWhen {@link Meta.showExportToCSVOption showExportToCSVOption} is set to true in Meta.\n * @invokedWhen \"Export to CSV\" button is clicked in the repeating structures toolbar\n * @param {State} rsState - Current repeating structures state {@link State}.\n * @param {Meta} rsMeta - Repeating structures meta {@link Meta}.\n * @returns {void} void\n */\n exportDataToCSV?: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<void>;\n\n /** This api is used to communicate source and destinaltion row keys to apiContext during row-reordering operation.\n * @requireWhen {@link Meta.reorderItems reorderItems} is set to true and {@link Meta.moveListRecords moveListRecords} is set to false in Meta.\n * @invokedWhen Reordering operations is being performed on rows.\n * @param {string} sourceKey - the value of {@link Meta.itemKey 'itemKey'} for the given row that user has selected to move.\n * @param {string} destinationKey - the value of {@link Meta.itemKey 'itemKey'} for the given row where the user has dropped the source row.\n * @returns {void} void\n */\n applyRowReorder?: (sourceKey: string, destinationKey: string) => Promise<void>;\n\n /**\n * This API allows Repeating Structures to determine if a given `data` meets a specified `condition`. It is utilized in the following features if provided:\n * - `Conditional Formatting` - Optional. If `evaluateCondition` is not provided, Repeating Structures will evaluate the row condition on their own. Otherwise, this function will be used.\n *\n * @param {State} rsState - The state of the Repeating Structures.\n * @param {Meta} rsMeta - The meta information of the Repeating Structures.\n * @param {ConditionConfig} config - The configuration for the condition.\n * @returns {Promise<boolean> | boolean} - Returns `true` if the data satisfies the condition, otherwise `false`.\n */\n evaluateCondition?: (rsState: State, rsMeta: Meta, config: ConditionConfig) => boolean;\n}\n"]}
1
+ {"version":3,"file":"ApiContext.types.js","sourceRoot":"","sources":["../../types/ApiContext.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { ModalManagerContextValue } from '@pega/cosmos-react-core/lib/components/Modal/Modal.types';\nimport type { Condition } from '@pega/cosmos-react-condition-builder';\n\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\nimport type { UtilityFunctions } from '../src/core/generators/viewUtilityMethods';\n\nimport type {\n Personalization,\n PersonalizationInfo,\n PersonalizedState,\n State,\n Group,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n DateGroupAdditionalField,\n NumberGroupAdditionalField,\n GroupFilter,\n GroupAdditionalField\n /* eslint-enable @typescript-eslint/no-unused-vars */\n} from './State.types';\nimport type {\n Meta,\n RowAction,\n FieldDef,\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n FieldType\n} from './Meta.types';\n\n/**\n * Represents information about the currently active view in the repeating structures.\n */\ntype ActiveViewInfo = {\n /**\n * The unique identifier of the active view.\n */\n id: string | undefined;\n\n /**\n * The name of the active view.\n */\n name: string | undefined;\n\n /**\n * Indicates whether the active view has unsaved changes.\n */\n isDirty: boolean;\n};\n\nexport type RsApi = {\n /**\n * Refreshes the current view.\n * @see {@link UtilityFunctions.refreshView}\n */\n refreshView: UtilityFunctions['forceRefresh'];\n\n /**\n * Sets the record count in the view.\n * @see {@link UtilityFunctions.setRecordCount}\n */\n setRecordCount: UtilityFunctions['setRecordCount'];\n\n /**\n * Dispatches an action to the repeating structures with an payload.\n * @see {@link UtilityFunctions.dispatchAction}\n */\n dispatchAction: UtilityFunctions['dispatchAction'];\n\n /**\n * Retrieves information about the currently active view.\n * @returns The {@link ActiveViewInfo active view information} or `void` if unavailable.\n */\n getActiveViewInfo: () => ActiveViewInfo | void;\n\n /**\n * Sets hidden columns of the view.\n * @param columns - An array of column IDs to hide.\n * @param ootbColumns - .\n * @param ootbColumns.dragHandle - Whether to hide the drag-and-drop column.\n */\n setHiddenColumns?: (columns: string[], ootbColumns?: { dragHandle: boolean }) => void;\n\n /**\n * Sets Column order of the view.\n * @param columns - An array of column IDs to reorder.\n */\n setColumnOrder?: (columns: string[]) => void;\n\n /**\n * Sets the filters of the view.\n * @param filter - The filter condition to apply.\n */\n setFilter: (filter: Condition) => void;\n\n /**\n * Sets the groups of the view.\n * @param groups - The grouping configuration.\n */\n setGrouping?: (groups: Group[]) => void;\n\n /**\n * Sets the sorting order of the view.\n * @param {NonNullable<State['sortingOrder']>} sorts - The sorting configuration.\n */\n setSorting: (sorts: NonNullable<State['sortingOrder']>) => void;\n\n /**\n * Sets the column aliases of the view.\n * @param aliases - The column alias configuration.\n */\n setAliases: (aliases: State['columnAlias']) => void;\n\n /**\n * Sets the aggregation information of the view.\n * @param {State['aggregationInfo']} agg - The aggregation configuration.\n */\n setAggregations: (agg: State['aggregationInfo']) => void;\n\n /**\n * Sets the visibility of the row reorder field.\n * @param {boolean} visibility - Whether the row reorder field should be visible.\n */\n setRowReorderFieldVisibility: (visibility: boolean) => void;\n\n /**\n * Updates the visibility of specific columns.\n * @param {Object} columns - A mapping of column IDs to their visibility state.\n */\n updateColumnsVisibility: (columns: { [key: FieldDef['id']]: boolean }) => void;\n\n /**\n * Sets the `renderFormatter` for the given column.\n * @param columnId - Column ID\n * @param formatterName - ID of the formatter/renderer\n */\n setRenderFormatter: (columnId: string, formatterName: string) => void;\n\n /**\n * Sets the conditional style formats of the view.\n * @param conditionalStyleFormats - The conditional style formats to apply.\n */\n setConditionalStyleFormats: (\n conditionalStyleFormats: NonNullable<State['conditionalStyleFormats']>\n ) => void;\n};\n\nexport interface ApiOptions {\n signal?: AbortSignal;\n /** Indicates current api triggered should invalidate the cache if any and reload the data. */\n invalidateCache?: boolean;\n /** A unique token or version identifier that changes whenever a refresh is triggered. Unlike a boolean `invalidateCache` flag, the `invalidateCacheToken` ensures that multiple APIs triggered\n in the same refresh cycle receive the same identifier. */\n invalidateCacheToken?: number;\n}\n// Aggregation response type\ntype AggregationTypeResp = 'avg' | 'max' | 'min' | 'nonNullCount' | 'sum' | 'distinctCount';\n/** An object with key equal to {@link AggregationTypeResp aggregation type} and value is equal to the actual value of that aggregation type */\ntype AggregationOptions = {\n [agg in AggregationTypeResp]?: number | null;\n};\n/** An object where key is equal to the column id (i.e. {@link FieldDef.id id} in FieldDef) and value is equal to its {@link AggregationOptions Aggregation values} */\nexport type AggregationResp = {\n [columnId: string]: AggregationOptions;\n};\n\nexport type AdditionalFieldData = {\n /** {@link FieldDef.id Field Id} of the additional field. */\n id: string;\n /** Value of the additional field that should be displayed for additional field.\n * The value can represent:\n * - An aggregated value (e.g., sum, max, min, avg) for {@link FieldType.NUMBER number} type fields when\n * {@link NumberGroupAdditionalField.aggregation aggregation} is selected in additional fields meta.\n * - A date function value (e.g., Day, Month, Year) for {@link FieldType.DATE 'date'} / {@link FieldType.DATE_TIME 'datetime'}\n * fields when a {@link DateGroupAdditionalField.dateFunction date function} is selected in the additional fields metadata..\n * - A scalar or single value for the additional field.\n */\n value: null | string | number | boolean | Date;\n /** Represents the distinct count of\n * occurrences for the additional field data. This is generally required,\n * but may be omitted if {@link NumberGroupAdditionalField.aggregation aggregation} is selected for number type fields\n * in the additional fields metadata. */\n count?: number;\n};\n\n// Grouping response type\nexport interface GroupedInfo {\n /** Value for the current group node. */\n name: null | string | number | boolean | Date; // Value for the current node\n /** # of data rows in this node */\n count: number;\n /** An optional data row from the group node that is used to process extra information required by group node */\n data?: RowData;\n /** Additional fields data for the current group node */\n additionalFieldsData?: AdditionalFieldData[];\n /** Aggregation values of a column if applied */\n agg?: AggregationResp;\n /** Nested groups within the parent group node */\n children?: GroupedInfo[];\n}\n\nexport interface HierarchicalGroupedInfo extends Pick<GroupedInfo, 'count' | 'agg'> {\n info: RowData;\n children?: HierarchicalGroupedInfo[];\n}\n\nexport type AggregateValueResponse = {\n [columnId: string]: number | null;\n};\n/** An object where key is equal to column id i.e. {@link FieldDef.id id key in fieldDef} and value is equal to the aggregation value for the given aggregation */\nexport type AggregationResult = {\n [columnId: string]: number;\n};\n\nexport interface FetchDataResponse {\n /** An array of {@link RowData} */\n data: RowData[];\n /** An optional parameter to provide the total record count for a given Repeating structures with a given filter criteria in the query. If not provided, use callback setRecordCount */\n totalRecordCount?: number;\n /** @deprecated An optional parameter to provide the total record count for a given Repeating structures with a given filter criteria in the query. If not provided, use callback setRecordCount */\n filteredRecordCount?: number;\n}\n\ntype BulkAction = Pick<RowAction, 'id' | 'text'> & {\n /**\n * @param rowIds - The values for the {@link Meta.itemKey 'itemkey'} for given rows.\n * @param clearSelectionAndRefreshRowsCallback - A callback used to trigger deselection of all the selected rows and then call\n * {@link ApiContext.fetchRowsData 'fetchRowsData'} api of to fetch latest data for given rows, after action is completed.\n * @return {void} - void\n */\n onClick: (rowIds: string[], clearSelectionAndRefreshRowsCallback: () => void) => void;\n};\n\ninterface ConditionConfig {\n condition: Condition;\n data: RowData;\n}\n\nexport type PersonalizationResponse = Pick<Personalization, 'defaultPersonalization'> & {\n allPersonalizations: {\n [personalizationKey: string]: Pick<PersonalizationInfo, 'name'> & {\n personalizationState: PersonalizedState;\n };\n };\n};\n\nexport interface GroupAdditionalFieldUniqueValues {\n /** Unique values for the group additional field. */\n values: (string | number | boolean | Date)[];\n /** Indicates if there are more values. */\n hasMore: boolean;\n}\n\nexport interface ApiContext {\n /**\n * This api is used to fetch a list of raw data rows (excluding aggregations) for a given group or at the top level when no groups.\n *Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#29) documentation** for more details.\n * @requireWhen Always\n * @invokedWhen filters are changed OR\\\n * search criteria is changed OR\\\n end user scrolls through the RS records OR\\\n sorting is changed OR\\\n forceRefresh is triggered by consumer OR\\\n groups are changed OR\\\n hierarchicalGroups are changed OR\\\n hiddenColumns are changed\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to build the criteria for query(e.g. filter, sort, group criteria, paginationOptions).\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields for which data needs to be fetched.\n * @param {ApiOptions} apiOptions - Extra api options provided by repeating structures,\n * for instance, abort signal handler is sent which can be attached to the native fetch call or any framework like axios. Repeating structures will use to cancel the api calls which might be using stale state, e.g. in case of progressive scroll.\n * @returns {Promise<FetchDataResponse>} - It should return a promise of type {@link FetchDataResponse} that should contain data as one key of type Array<{@link RowData}> to provide data for given query.\n */\n fetchData: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<FetchDataResponse>;\n\n /**\n * This api is used to fetch details for any group/sub-group ribbons in the RS. Should return labels, counts, aggregation values at each group node.This can sometimes be called even when there are no groups. Avoid running into exceptions in those cases.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#59) documentation** for more details.\n * @requireWhen {@link Meta.grouping 'grouping'} key is set to true in\n * @invokedWhen Grouping is applied on any {@link FieldDef fieldDef} OR\\\n * filters are changed OR\\\n * search criteria is changed OR\\\n * personalization is toggled. OR\\\n * aggregation is changed OR\\\n * hiddenColumns are changed OR\\\n * forceRefresh of RS is triggered by consumer.\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to build the criteria for query. For e.g. use rsState.groups and rsState.aggregationInfo to determine the query.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields info for which data needs to be fetched.\n * @returns {GroupedInfo[]} - It should return a promise of type array of all the {@link GroupedInfo } for the specific field. It can also include nested groups in children key.\n */\n fetchGroupedInfo?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<GroupedInfo[]>;\n\n /**\n * This api is used to fetch aggregation results for a given aggregation type(sum/min/max/count) on a field. This is called when aggregations are configured on one or more column.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#84) documentation** for more details.\n * @requireWhen {@link FieldDef.aggregation 'aggregation'} key is set to true for at least one FieldDef AND {@link FieldDef.type 'type'} key in FieldDef should be of number for that particular fieldDef.\n * @invokedWhen When aggregation is applied on any {@link FieldDef fieldDef} OR\\\n * filters are changed OR\\\n * search criteria is changed OR\\\n * personalization is toggled. OR\\\n * hiddenColumns are changed.\n * @param {State} rsState - Current repeating structures {@link State}. Majorly used to get current aggregations applied on the RS from aggregationInfo key in state. Apart from this current filters and search criteria can also be picked from state.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}. Majorly used to determine the fields for which data needs to be fetched.\n * @returns {Promise<AggregationResult>} - It should return a promise of type {@link AggregationResult}\n */\n fetchAggregatedValues?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<AggregationResult>;\n\n /**\n * This api is used to fetch unique values available for a particular field. It is generally called for a field which has {@link FieldDef.filterPickList filterPickList} key set to true.The unique values are presented to the user while filtering.\n * Refer **[apiContext](https://git.pega.io/projects/PS/repos/ui-lists-lib/browse/docs/apiContext.md?useDefaultHandler=true#99) documentation** for more details.\n * @requireWhen {@link FieldDef.filterPickList filterPickList} key set to true for at least one FieldDef\n * @invokedWhen Picklist Filter is invoked by end user from FieldDef header action menu.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {string} columnId - This is equal to { @link FieldDef.id 'id'} key of the field for which unique values needs to be fetched.\n * @returns {Promise<Array<string | number | boolean | Date>>} It should return a promise of type array of unique values for a given fieldDef id.\n */\n fetchUniqueColValues?: (\n rsState: State,\n rsMeta: Meta,\n columnId: string,\n apiOptions: ApiOptions\n ) => Promise<(string | number | boolean | Date)[]>;\n\n /**\n * This api is used to fetch the latest data for a given row identified uniquely by {@link FieldDef.itemKey itemKey}.\n * @requireWhen {@link Meta.editing 'editing'} OR {@link Meta.deleting 'deleting'} is set to true\n * @invokedWhen A {@link Meta.rowActions rowAction} is submitted by consumer of RS, as part of {@link RowAction. rowAction.onClick} 'refresRow' callback.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {string} key - A unique identifier for a given row. This is equal to {@link Meta.itemKey 'itemKey'}\n * @param {string} value - The value for the given {@link Meta.itemKey 'itemKey'} for given row.\n * @returns {Promise<RowData[]>} It should return a promise of type {@link RowData} array containing the data for a given row.Only 0th index is considered from the array.\n */\n fetchRowData?: (\n rsState: State,\n rsMeta: Meta,\n key: string,\n value: string,\n apiOptions: ApiOptions\n ) => Promise<RowData[]>;\n\n /**\n * This api is used to fetch the latest data for given set of rows identified uniquely by itemKey in {@link FieldDef}. This is passed as callback to all the {@link BulkAction.onClick bulk actions 'onClick'} method with {@link ApiContext.clearSelectedRows clearSelectedRows} api.\n * @requireWhen {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * @invokedWhen The bulk action is submitted, this can be called by bulk actions {@link BulkAction.onClick 'onClick'} method by RS consumer.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param {Array<string | number | boolean | Date>} rowIds - The values for the given {@link Meta.itemKey 'itemKey'} for given rows.\n * @param itemKey - A unique identifier for a given row. This is equal to {@link Meta.itemKey 'itemKey'}\n * @returns {Promise<RowData[]>} It should return a promise of type {@link RowData} array containing the data for given rows.\n */\n fetchRowsData?: (\n rsState: State,\n rsMeta: Meta,\n rowIds: string[],\n itemKey: string,\n apiOptions: ApiOptions\n ) => Promise<RowData[]>;\n\n /**\n * This api is used to fetch the actions that is supported on rows of Repeating Structure. It is generally called when {@link Meta.editing 'editing'} is set to true.\n * @requireWhen {@link Meta.editing 'editing'} OR {@link Meta.deleting 'deleting'} is set to true\n * @invokedWhen The end user clicks on 'RowActionMenu'.Once fetched it is not refetched.\n * @param {} uniqueKey - A unique identifier for a given row. This is equal to value for {@link Meta.itemKey 'itemKey'} in {@link RowData} data.\n * @returns - A promise of type Array of {@link RowAction}\n */\n fetchRowActionDetails?: (uniqueKey: string, rowContext: RowData) => Promise<RowAction[]>;\n\n /**\n * This api is used to submit the updated row data to apiContext. It is generally called when {@link FieldDef.editable 'editable'} key is set to true for at least one FieldDef to enable inline editing for a cell.\n * @requireWhen {@link FieldDef.editable 'editable'} key is set to true for at least one FieldDef.\n * @invokedWhen The end user is done editing the cell using inline editing.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @param dataToSubmit - Updated row data to be submitted to apiContext\n * @returns It should return a promise of type {@link RowData} with the updated contents that is passed in {@link dataToSubmit} param.\n */\n submitData?: (\n rsState: State,\n rsMeta: Meta,\n dataToSubmit: RowData\n ) => Promise<{ rowData: RowData }>;\n\n /**\n * This api is used to submit moved records in a repeating structure. It is called when {@link Meta.moveListRecords 'moveListRecords'} is set to true. Repeating structure allow moving of records based on it's value.\n * @requireWhen {@link Meta.moveListRecords 'moveListRecords'} is set to true\n * @invokedWhen The move process is completed by end user this api is called to provide the info related to move records.\n * @param moveInfo - It is an object that contains sourceID(the data of {@link Meta.itemKey 'itemKey'} for the given row) that user has selected to move and\n * destinationID(the data of {@link Meta.itemKey 'itemKey'} for the given row) where the user has dropped the source row.\n * @returns It should return a promise of type object that contains a refresh key if set to true, repeating structures will trigger a refresh and fetch the whole data agin using {@link ApiContext.fetchData 'fetchData'} api\n */\n moveListRecords?: (moveInfo: {\n sourceID: string;\n destinationID: string;\n }) => Promise<{ refresh: boolean }>;\n\n /**\n * This api is used to fetch the bulkActions for a repeating structures if {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * This is called on demand, when the bulk action button in repeating structures is clicked. The button will be disabled till the time at least one record is not selected in repeating structures to trigger bulk action.\n * @requireWhen {@link Meta.allowBulkActions 'allowBulkActions'} is set to true.\n * @invokedWhen End user clicks on 'Bulk actions' button in RS Toolbar.Once fetched it is not refetched.\n * @param {Array<string>} rowIds - The values for the given {@link Meta.itemKey 'itemKey'} for given rows.\n * @returns A promise of type Array of {@link BulkAction}\n */\n fetchActions?: (rowIds: string[]) => Promise<BulkAction[]>;\n\n /**\n * This API is used to pass utility callbacks to the consumer. Consumers can use these callbacks at any point in the lifecycle of Repeating Structures to interact with them.\n *\n * @returns {void} This function does not return any value.\n */\n addCallbacks?: (\n /**\n * @param rsUtilityCallbacks - A set of callbacks exposed by Repeating Structures, including methods for interacting with the view and managing state.\n * See {@link RsApi} for the list of available callbacks.\n *\n */\n rsUtilityCallbacks: RsApi & {\n /**\n * @deprecated This method will be removed in future versions. Please use {@link RsApi.refreshView refreshView} instead.\n *\n * It is used to trigger a force refresh the data and re-fetch selections using apiContext.getSelectedRows api (if any of the selection mode is enabled) of repeating structures\n * @returns {void} void\n */\n forceRefresh: UtilityFunctions['forceRefresh'];\n }\n ) => void;\n\n /**\n * This api passes a unique identifier to apiContext to identify a repeating structure instance. This can be used to uniquely identify a RS instance in case of multiple RS instances.\n * @requireWhen Optional\n * @invokedWhen On Repeating structures mount to share current repeating structure instance identifier.\n * @param {string} rsID - A unique identifier\n * @returns {void} void\n */\n setRsID?: (rsID: string) => void;\n\n /**\n * This api is called to fetch all the personalizations for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen On Repeating structures mount to fetch all personalizations.\n * @returns {PersonalizationResponse} It should return all the personalizations.\n */\n fetchPersonalizations?: () => Promise<PersonalizationResponse>;\n\n /**\n * This api is called to update the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user deletes a personalization.\n * @param {string} personalizationKey - Unique identifier for the personalization.\n * @param personalization - The updated personalization state.\n * @returns {void} void\n */\n updatePersonalization?: (\n personalizationKey: string,\n personalization: {\n markAsDefault?: boolean;\n markAsAppDefault?: boolean;\n name?: string;\n personalizationState?: PersonalizedState;\n }\n ) => Promise<void>;\n\n /**\n * This api is called to delete the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user deletes a personalization.\n * @param personalizationKey - Unique identifier for a personalization.\n * @returns {void} void\n */\n deletePersonalization?: (personalizationKey: string) => Promise<void>;\n\n /**\n * This api is called to create the personalization for a repeating structure.\n * @requireWhen {@link Meta.personalization 'personalization'} key is set to true.\n * @invokedWhen End user create a new personalization.\n * @param {string} personalizationKey - Unique identifier for the personalization.\n * @param personalization - The personalization state to be saved\n * @returns {void} void\n */\n createPersonalization?: (\n personalizationKey: string,\n personalization: {\n markAsDefault: boolean;\n name: string;\n personalizationState: PersonalizedState;\n }\n ) => Promise<string> | Promise<{ data: string }>;\n\n /**\n * This api is used to communicate selectedRows in the repeating structures to the consumer.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen {@link Meta.selectionMode 'selectionMode'} key is set to true and whenever selection changes in RS.\n * @param {Array<RowData & { $selected: boolean }>} selectedRows The selectedRows that needs to be communicated.\n * @returns {Promise<void>} A promise\n */\n setSelectedRows?: (selectedRows: (RowData & { $selected: boolean })[]) => Promise<void>;\n\n /**\n * This api is used to get the selectedRows for the repeating structures from the consumer, to populate the selections in RS.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen {@link Meta.selectionMode 'selectionMode'} key is set to true and RS requires current selected rows from the consumer.\n * @returns {Promise<Array<string>>} A promise of type array of unique identifiers for all the row. It is value of {@link Meta.itemKey 'itemKey'}\n */\n getSelectedRows?: () => Promise<string[]>;\n\n /** This api is used to communicate the clearance of all the selectedRows for the repeating structures to the consumer.\n * This is also passed as callback to all the {@link BulkAction.onClick bulk actions 'onClick'} method with {@link ApiContext.fetchRowsData fetchRowsData} api.\n * @requireWhen {@link Meta.selectionMode 'selectionMode'} key is set to true.\n * @invokedWhen In case of {@link Meta.selectionMode \"multi\"} selection mode, while toggling all the selections OR\\\n * while switching personalizations OR\\\n * when the bulk action is submitted, this can be called by bulk actions {@link BulkAction.onClick 'onClick'} method by RS consumer.\n * @returns {Promise<void>} A promise\n */\n clearSelectedRows?: () => Promise<void>;\n\n /**\n * This api is used to fetch the hierarchical groups for an RS if {@link FieldDef.hierarchicalInfo 'hierarchicalInfo'} key is set to true for at least one FieldDef.\n * @requireWhen {@link FieldDef.hierarchicalInfo 'hierarchicalInfo'} key is set to true for at least one FieldDef\n * @invokedWhen Any change in filters, search criteria, hierarchichal groups, aggregations is detected in RS state or personalizations are toggled.\n * @param {State} rsState - Current repeating structures {@link State}.\n * @param {Meta} rsMeta - Repeating structures {@link Meta}.\n * @returns {HierarchicalGroupedInfo[]} - It should return a promise of type array of all the {@link HierarchicalGroupedInfo } for the specific field. It can also include nested hierarchical groups in children key.\n */\n fetchHierarchicalGroupedInfo?: (\n rsState: State,\n rsMeta: Meta,\n apiOptions: ApiOptions\n ) => Promise<HierarchicalGroupedInfo[]>;\n\n /**\n * This api is used to communicate repeating structure state to the consumer. It also includes visibleColumns apart from regular repeating structure state.\n * @requireWhen Optional\n * @invokedWhen After any action performed on Repeating structures that results in updating of state.\n * @param state Repeating structure state\n * @returns {void} void\n */\n stateUpdateCallback?: (state: PersonalizedState & { visibleColumns?: string[] }) => void;\n\n /**\n * This api is used to communicate repeating structure state to the consumer. It also includes active personalization in RS apart from regular repeating structure state.\n * @requireWhen Optional\n * @param state Repeating structure state\n * @returns {void} void\n */\n setComponentState?: (state: PersonalizedState & { activePersonalization?: string }) => void;\n /**\n * This api is used to communicate repeating structure state to RS from consumer.\n * @requireWhen Optional\n * @returns RS state.\n */\n getComponentState?: () => Promise<PersonalizedState & { activePersonalization?: string }>;\n /** This api is called on click of 'Import data' option in repeating structures toolbar and should open a modal to allow import of data from a CSV file.\n * @requireWhen {@link Meta.showImportDataOption showImportDataOption} is set to true in Meta.\n * @invokedWhen \"Import data\" button is clicked in the repeating structures toolbar\n * @param {ModalManagerContextValue['create']} create - The function to create a modal in the current context {@link ModalManagerContextValue['create']}.\n * @returns {void} void\n */\n importCSVData?: (create: ModalManagerContextValue['create']) => Promise<void>;\n /** This api is called on click of 'Export to excel' option in repeating structures toolbar and should export the data into a excel file.\n * @requireWhen {@link Meta.showExportToExcelOption showExportToExcelOption} is set to true in Meta.\n * @invokedWhen \"Export to excel\" button is clicked in the repeating structures toolbar\n * @param {State} rsState - Current repeating structures state {@link State}.\n * @param {Meta} rsMeta - Repeating structures meta {@link Meta}.\n * @returns {void} void\n */\n exportData?: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<void>;\n\n /** This api is called on click of 'Export to CSV' option in repeating structures toolbar and should export the data into a CSV file.\n * @requireWhen {@link Meta.showExportToCSVOption showExportToCSVOption} is set to true in Meta.\n * @invokedWhen \"Export to CSV\" button is clicked in the repeating structures toolbar\n * @param {State} rsState - Current repeating structures state {@link State}.\n * @param {Meta} rsMeta - Repeating structures meta {@link Meta}.\n * @returns {void} void\n */\n exportDataToCSV?: (rsState: State, rsMeta: Meta, apiOptions: ApiOptions) => Promise<void>;\n\n /** This api is used to communicate source and destinaltion row keys to apiContext during row-reordering operation.\n * @requireWhen {@link Meta.reorderItems reorderItems} is set to true and {@link Meta.moveListRecords moveListRecords} is set to false in Meta.\n * @invokedWhen Reordering operations is being performed on rows.\n * @param {string} sourceKey - the value of {@link Meta.itemKey 'itemKey'} for the given row that user has selected to move.\n * @param {string} destinationKey - the value of {@link Meta.itemKey 'itemKey'} for the given row where the user has dropped the source row.\n * @returns {void} void\n */\n applyRowReorder?: (sourceKey: string, destinationKey: string) => Promise<void>;\n\n /**\n * This API allows Repeating Structures to determine if a given `data` meets a specified `condition`. It is utilized in the following features if provided:\n * - `Conditional Formatting` - Optional. If `evaluateCondition` is not provided, Repeating Structures will evaluate the row condition on their own. Otherwise, this function will be used.\n *\n * @param {State} rsState - The state of the Repeating Structures.\n * @param {Meta} rsMeta - The meta information of the Repeating Structures.\n * @param {ConditionConfig} config - The configuration for the condition.\n * @returns {Promise<boolean> | boolean} - Returns `true` if the data satisfies the condition, otherwise `false`.\n */\n evaluateCondition?: (rsState: State, rsMeta: Meta, config: ConditionConfig) => boolean;\n\n /**\n * This api is used to fetch unique values for a particular group additional field. It is generally called for a group additional field which has more than 1 value.\n * It should return unique values for the additional field along with hasMore flag to indicate if there are more values.\n * @param additionalField - The group additional field for which unique values needs to be fetched.\n * @param groupFilters - The current group filters on which the additional field is set.\n * @param rsState - The state of the Repeating Structures.\n * @param rsMeta - The meta information of the Repeating Structures.\n * @param options - Extra api options provided by repeating structures.\n * @returns GroupAdditionalFieldUniqueValues - It should return a promise of type {@link GroupAdditionalFieldUniqueValues}\n */\n fetchGroupAdditionalFieldUniqueValues?: (\n additionalField: GroupAdditionalField,\n groupFilters: GroupFilter['filters'],\n rsState: State,\n rsMeta: Meta,\n options?: ApiOptions\n ) => Promise<GroupAdditionalFieldUniqueValues>;\n}\n"]}
@@ -2,7 +2,7 @@ import type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';
2
2
  import type { Condition, LeafCondition } from '@pega/cosmos-react-condition-builder';
3
3
  import type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';
4
4
  import type { personalizationProps } from '../src/core/reducers/personalizationReducer';
5
- import type { RowData } from '../src/core/generators/RowGenerator.types';
5
+ import type { RowData, ScalarRowData } from '../src/core/generators/RowGenerator.types';
6
6
  import type { ROW_DENSITY, HierarchicalInfo, FieldDef, ConditionalStyleFormat } from './Meta.types';
7
7
  /** Custom functions ungrouped type */
8
8
  type Ungrouped = {
@@ -99,7 +99,7 @@ export type DateGroupAdditionalField = {
99
99
  /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */
100
100
  id: FieldDef['id'];
101
101
  /** Optional date function for {@link FieldType.DATE 'date'}/ {@link FieldType.DATE_TIME 'dateTime'} field. */
102
- dateFunction?: DateFunction;
102
+ dateFunction?: ExcludeStrict<DateFunction, 'SECONDS'>;
103
103
  };
104
104
  export type NumberGroupAdditionalField = {
105
105
  /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */
@@ -153,7 +153,7 @@ export interface GroupFilter {
153
153
  * Use getGroupFromKey from lists to safely split it.
154
154
  */
155
155
  filters: {
156
- [groupBy: string]: string | number;
156
+ [groupBy: string]: ScalarRowData;
157
157
  };
158
158
  }
159
159
  export interface PersonalizationInfo {
@@ -1 +1 @@
1
- {"version":3,"file":"State.types.d.ts","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"State.types.d.ts","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iFAAiF,CAAC;AAEpH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,2CAA2C,CAAC;AAIxF,OAAO,KAAK,EACV,WAAW,EACX,gBAAgB,EAEhB,QAAQ,EAIR,sBAAsB,EACvB,MAAM,cAAc,CAAC;AAGtB,sCAAsC;AACtC,KAAK,SAAS,GACV;IACE;;;OAGG;IACH,IAAI,EAAE,WAAW,CAAC;IAClB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;CACf,GACD;IACE,2CAA2C;IAC3C,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEN,oCAAoC;AACpC,MAAM,MAAM,eAAe,GACvB,oBAAoB,GACpB,oBAAoB,GACpB,cAAc,GACd,cAAc,CAAC;AAEnB,wDAAwD;AACxD,UAAU,gBAAgB,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM;IAClD,GAAG,EACC;QACE,KAAK,EAAE,CAAC,CAAC;KACV,GACD;QACE,KAAK,EAAE,CAAC,CAAC;QACT,GAAG,EAAE,CAAC,CAAC;QACP,UAAU,EAAE,eAAe,CAAC;KAC7B,CAAC;CACP;AAED,iDAAiD;AACjD,KAAK,0BAA0B,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,UAAU,CAAC,aAAa,EAAE,KAAK,CAAC,GAC3F,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAEtB,wBAAwB;AACxB,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,GAAG,KAAK,CAAC;AAC5D,qCAAqC;AACrC,MAAM,MAAM,WAAW,GAAG;IACxB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,uBAAuB;IACvB,IAAI,EAAE,eAAe,CAAC;CACvB,CAAC;AAEF,4BAA4B;AAC5B,MAAM,MAAM,eAAe,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAEjE,qDAAqD;AACrD,MAAM,MAAM,YAAY,GAAG;IACzB,2BAA2B;IAC3B,IAAI,EAAE,eAAe,CAAC;IACtB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,MAAM,EAAE;QACN,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,sBAAsB;QACtB,SAAS,EAAE,aAAa,CAAC;KAC1B,EAAE,CAAC;IACJ,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,sDAAsD;AACtD,MAAM,MAAM,aAAa,GAAG;IAC1B,2BAA2B;IAC3B,IAAI,EAAE,gBAAgB,CAAC;IACvB,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,gCAAgC;IAChC,MAAM,EAAE;QACN,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,sBAAsB;QACtB,SAAS,EAAE,0BAA0B,CAAC,MAAM,CAAC,CAAC;KAC/C,EAAE,CAAC;IACJ,4BAA4B;IAC5B,SAAS,EAAE,SAAS,CAAC;CACtB,CAAC;AAEF,yDAAyD;AACzD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,2BAA2B;IAC3B,IAAI,EAAE,mBAAmB,CAAC;IAC1B,0FAA0F;IAC1F,EAAE,EAAE,MAAM,CAAC;IACX,eAAe;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,UAAU,EAAE,oBAAoB,GAAG,oBAAoB,CAAC;CACzD,CAAC;AAEF,eAAO,MAAM,aAAa;;;CAGhB,CAAC;AAEX,eAAO,MAAM,kBAAkB;IAE7B,8DAA8D;;;;CAEtD,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG;IACrC,qFAAqF;IACrF,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,8GAA8G;IAC9G,YAAY,CAAC,EAAE,aAAa,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;CACvD,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG;IACvC,qFAAqF;IACrF,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;IACnB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,aAAa,CAAC,eAAe,EAAE,KAAK,CAAC,CAAC;CACrD,CAAC;AAEF,6CAA6C;AAC7C,MAAM,MAAM,oBAAoB,GAC5B;IACE,qFAAqF;IACrF,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACpB,GACD,wBAAwB,GACxB,0BAA0B,CAAC;AAE/B,yCAAyC;AACzC,MAAM,WAAW,KAAK;IACpB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,uDAAuD;IACvD,cAAc,CAAC,EAAE,YAAY,GAAG,aAAa,GAAG,gBAAgB,CAAC;IACjE;;;;OAIG;IACH,KAAK,EAAE,CAAC,OAAO,kBAAkB,CAAC,CAAC,MAAM,OAAO,kBAAkB,CAAC,CAAC;IACpE,oEAAoE;IACpE,KAAK,EAAE,MAAM,CAAC;IACd,qDAAqD;IACrD,gBAAgB,CAAC,EAAE,oBAAoB,EAAE,CAAC;CAC3C;AAED,wCAAwC;AACxC,MAAM,WAAW,IAAI;IACnB,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB;IACjB,KAAK,EAAE,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAC;IAC1D,kDAAkD;IAClD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wCAAwC;AACxC,MAAM,WAAW,WAAW;IAC1B,sCAAsC;IACtC,SAAS,EAAE,MAAM,CAAC;IAClB,oCAAoC;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,OAAO,EAAE;QACP,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,CAAC;KAClC,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB,EAAE,KAAK,CAAC;IAC5B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AACD,MAAM,WAAW,eAAe;IAC9B,mBAAmB,EAAE;QACnB,CAAC,kBAAkB,EAAE,MAAM,GAAG,mBAAmB,CAAC;KACnD,CAAC;IACF,sBAAsB,EAAE,MAAM,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,0BAA0B,CAAC,EAAE,mBAAmB,CAAC;CAClD;AACD,MAAM,WAAW,KAAM,SAAQ,WAAW;IACxC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,EAAE,KAAK,EAAE,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;CACtB;AACD,iHAAiH;AACjH,UAAU,cAAc;IACtB,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AACD,MAAM,MAAM,WAAW,GAAG;IACxB;;;;;;;OAOG;IACH,UAAU,EAAE,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;IAClC,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,mGAAmG;IACnG,eAAe,EAAE,MAAM,CAAC;CACzB,GAAG,cAAc,CAAC;AAEnB,MAAM,WAAW,SAAS;IACxB,wCAAwC;IACxC,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,GAAG;QAC/B,gCAAgC;QAChC,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AACD,MAAM,WAAW,MAAM;IACrB,iCAAiC;IACjC,UAAU,EAAE,SAAS,CAAC;CACvB;AAED,MAAM,MAAM,oBAAoB,GAAG;KAChC,UAAU,IAAI,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,EAAE,OAAO;CAC3D,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,gGAAgG;IAChG,CAAC,OAAO,EAAE,MAAM,GAAG;QACjB,8DAA8D;QAC9D,CAAC,SAAS,EAAE,MAAM,GAAG;YACnB,qCAAqC;YACrC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC;YACxC,mEAAmE;YACnE,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC;KACH,CAAC;CACH;AAED,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,OAAO,EAAE,MAAM,GAAG,CAAC,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,CAAC,EAAE,EAAE,CAAC;CAC3D;AAED,MAAM,WAAW,qBAAqB;IACpC,CAAC,GAAG,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC;CACrE;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,KAAK;IACpB,2FAA2F;IAC3F,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,8FAA8F;IAC9F,YAAY,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACzC,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,iEAAiE;IACjE,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qEAAqE;IACrE,oBAAoB,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,OAAO,WAAW,CAAC,CAAC;IACtE,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,SAAS,CAAC;IAC7B,gCAAgC;IAChC,eAAe,CAAC,EAAE,WAAW,EAAE,CAAC;IAChC,6BAA6B;IAC7B,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC;IACjB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,IAAI,EAAE,CAAC;IACtB,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,kBAAkB;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,0BAA0B;QAC1B,MAAM,EAAE,MAAM,EAAE,CAAC;KAClB,CAAC;IACF,oDAAoD;IACpD,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B,iDAAiD;IACjD,iBAAiB,CAAC,EAAE;QAClB,CAAC,aAAa,EAAE,MAAM,GAAG;YACvB,UAAU,EAAE,MAAM,CAAC;YACnB,QAAQ,EAAE,MAAM,CAAC;SAClB,CAAC;KACH,CAAC;IACF,8GAA8G;IAC9G,mBAAmB,CAAC,EAAE;QACpB,gEAAgE;QAChE,oBAAoB,CAAC,EAAE,OAAO,CAAC;QAC/B,uFAAuF;QACvF,uBAAuB,CAAC,EAAE,OAAO,CAAC;QAClC,6GAA6G;QAC7G,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;IACF,kGAAkG;IAClG,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,0DAA0D;IAC1D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,2BAA2B;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,mDAAmD;IACnD,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,oEAAoE;IACpE,YAAY,CAAC,EAAE,WAAW,EAAE,CAAC;IAC7B;;;OAGG;IACH,aAAa,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAC1C;;;;OAIG;IACH,eAAe,CAAC,EAAE;QAChB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,uIAAuI;IACvI,WAAW,CAAC,EAAE;QACZ,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;KACvB,CAAC;IACF,+BAA+B;IAC/B,iBAAiB,CAAC,EAAE,gBAAgB,CAAC;IACrC,qCAAqC;IACrC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAE5B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B;;;;;;;;OAQG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,uEAAuE;IACvE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gEAAgE;IAChE,aAAa,CAAC,EAAE,YAAY,EAAE,CAAC;IAC/B,gLAAgL;IAChL,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,yCAAyC;IACzC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,qEAAqE;IACrE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,qEAAqE;IACrE,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iGAAiG;IACjG,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,8EAA8E;IAC9E,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gHAAgH;IAChH,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,mDAAmD;IACnD,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,yDAAyD;IACzD,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC;;;;;;;;;OASG;IACH,uBAAuB,CAAC,EAAE,sBAAsB,EAAE,CAAC;CACpD;AAED,MAAM,WAAW,iBAAkB,SAAQ,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,oBAAoB,CAAC,CAAC,MAAM,CAAC,CAAC;CAAG"}
@@ -1 +1 @@
1
- {"version":3,"file":"State.types.js","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"AAwHA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,aAAa;IAChB,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC","sourcesContent":["import type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition, LeafCondition } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\n\nimport type { personalizationProps } from '../src/core/reducers/personalizationReducer';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\nimport type {\n ROW_DENSITY,\n HierarchicalInfo,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n FieldDef,\n Meta,\n FieldType,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ConditionalStyleFormat\n} from './Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, RsApi } from './ApiContext.types';\n/** Custom functions ungrouped type */\ntype Ungrouped =\n | {\n /**\n * Ungrouped mode\n * 'aggregate' - Aggregate remaining groups as others group\n */\n mode: 'aggregate';\n /** Others group label */\n label: string;\n }\n | {\n /** 'exclude' - Exclude remaining values */\n mode: 'exclude';\n };\n\n/** Boundaries for range grouping */\nexport type RangeBoundaries =\n | 'include-lower-only'\n | 'include-upper-only'\n | 'include-both'\n | 'exclude-both';\n\n/** Rhs type for range grouping to support boundaries */\ninterface RangeGroupingRhs<T extends number | string> {\n rhs:\n | {\n value: T;\n }\n | {\n start: T;\n end: T;\n boundaries: RangeBoundaries;\n };\n}\n\n/** Modified leaf condition for Range grouping */\ntype RangeGroupingLeafCondition<T extends number | string> = OmitStrict<LeafCondition, 'rhs'> &\n RangeGroupingRhs<T>;\n\n/** Aggregation types */\nexport type AggregationType = 'Sum' | 'Min' | 'Max' | 'Avg';\n/** Aggregation state on the Table */\nexport type Aggregation = {\n /** Column ID */\n columnId: string;\n /** Aggregation type */\n type: AggregationType;\n};\n\n/** Custom grouping types */\nexport type CustomFunctions = 'TEXT_GROUPING' | 'RANGE_GROUPING';\n\n/** Custom text grouping details applied on column */\nexport type TextGrouping = {\n /** Custom function name */\n type: 'TEXT_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: LeafCondition;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom range grouping details applied on column */\nexport type RangeGrouping = {\n /** Custom function name */\n type: 'RANGE_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: RangeGroupingLeafCondition<number>;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom interval grouping details applied on column */\nexport type IntervalGrouping = {\n /** Custom function name */\n type: 'INTERVAL_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** interval */\n interval: number;\n /** boundaries */\n boundaries: 'include-lower-only' | 'include-upper-only';\n};\n\nexport const SortDirection = {\n ASC: 'asc',\n DESC: 'desc'\n} as const;\n\nexport const GroupSortDirection = {\n ...SortDirection,\n /** For custom grouping, the group order can be custom too. */\n CUSTOM: 'custom'\n} as const;\n\nexport type DateGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional date function for {@link FieldType.DATE 'date'}/ {@link FieldType.DATE_TIME 'dateTime'} field. */\n dateFunction?: DateFunction;\n};\n\nexport type NumberGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional aggregation for {@link FieldType.NUMBER 'number'} type field. */\n aggregation?: ExcludeStrict<AggregationType, 'Avg'>;\n};\n\n/** Additional fields data for Group info. */\nexport type GroupAdditionalField =\n | {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n }\n | DateGroupAdditionalField\n | NumberGroupAdditionalField;\n\n/** Group configuration on Table state */\nexport interface Group {\n /** Column ID */\n columnId: string;\n /** Date function if grouping by a date part */\n dateFunction?: DateFunction;\n /** Custom function if applied on Text/Number column */\n customFunction?: TextGrouping | RangeGrouping | IntervalGrouping;\n /** Sort order of the grouped column.\n * - asc - ascending\n * - desc - descending\n * - custom - user defined custom sorting. This is applicable in case of custom grouping.\n */\n order: (typeof GroupSortDirection)[keyof typeof GroupSortDirection];\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** Additional field config for current group node */\n additionalFields?: GroupAdditionalField[];\n}\n\n/** Sort configuration on Table state */\nexport interface Sort {\n /** Column ID */\n columnId: string;\n /** Sort order */\n order: (typeof SortDirection)[keyof typeof SortDirection];\n /** Used to indicate the sequence in multi-sort */\n sequence: number;\n}\n\n/** Group filter from the Table state */\nexport interface GroupFilter {\n /** Start-index used for pagination */\n groupFrom: number;\n /** End-index used for pagination */\n groupTo: number;\n /**\n * List of filters in the current branch of groupFilters.\n * Each entry in the object corresponds to a single node in the given group's hierarchy\n * groupBy can be in one of two patterns - `${columnId}`, `${columnId}||${dateFunction}`.\n * Use getGroupFromKey from lists to safely split it.\n */\n filters: {\n [groupBy: string]: string | number;\n };\n}\n\nexport interface PersonalizationInfo {\n name: string;\n personalizationState: State;\n isDefaultPreset?: boolean;\n isPreset?: boolean;\n title?: string;\n template?: string;\n markAsDefault?: boolean;\n}\nexport interface Personalization {\n allPersonalizations: {\n [personalizationkey: string]: PersonalizationInfo;\n };\n defaultPersonalization: string;\n active: string;\n dirty?: boolean;\n previousDefaultPersonalization?: string;\n lastDeletedPersonalization?: PersonalizationInfo;\n}\nexport interface Child extends CustomField {\n fieldIds: string[];\n children: Child[];\n templateName: string;\n}\n/** This interface is the old implementation of custom fields which is required for state versioning reducer. */\ninterface OldCustomField {\n children?: Child[];\n templateName?: string;\n}\nexport type CustomField = {\n /**\n * An array which contains the 2 join column id details and merge template details(a tuple of length 1 and type string) for those 2 columns\n * Column Merge templates:\n * - comma\n * - space\n * - multiline\n * - forwardslash\n */\n expression: (string | [string])[];\n /** A unique id to identify the new column resulted from merging of 2 columns. */\n id: string;\n /** Label for the new column */\n label: string;\n /** Primary column id which is used to derive the {@link FieldDef FieldDefinition} of new column */\n primaryColumnId: string;\n} & OldCustomField;\n\nexport interface DataError {\n /** itemKey of the row that has error */\n [itemKeyValue: string | number]: {\n /** error message for the row */\n message: string;\n };\n}\nexport interface Errors {\n /** errors related to row data */\n dataErrors: DataError;\n}\n\nexport type ResponsiveBreakpoint = {\n [breakpoint in 'xs' | 'sm' | 'md' | 'lg' | 'xl']?: boolean;\n};\n\nexport interface EditChangeSet {\n /** Value of the itemKey {@link Meta. itemKey itemKey} of the row under which cell is edited. */\n [itemKey: string]: {\n /** {@link FieldDef.name name} of the field that is edited. */\n [fieldName: string]: {\n /** Updated cell value after edit. */\n value: string | number | boolean | Date;\n /** Current status of the edit process. 'pending' | 'inProgress' */\n status: string;\n };\n };\n}\n\nexport interface Notification {\n content: string;\n id?: string;\n}\n\n/**\n * groupBy - field id of the column on which group is toggled.\n * value(2D array) - The path of the group which is toggled.\n * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\nexport interface GroupToggle {\n [groupBy: string]: (string | number | boolean | Date)[][];\n}\n\nexport interface RowSelectionChangeSet {\n [key: string]: { data: RowData; status: string; selected: boolean };\n}\n\nexport interface EditInfo {\n rowId?: string;\n colId?: string;\n}\n\nexport interface State {\n /** Current order of the columns in the form of array of {@link FieldDef.id fieldDef id} */\n colOrder?: string[];\n /** Current widths of the columns in the form of array of fieldDef id and its current width */\n columnWidths?: { [key: string]: number };\n /** Current frozen columns represented by array of fieldDef id */\n freezeColumns?: string[];\n /** Current hidden columns represented by array of fieldDef id */\n hiddenColumns?: string[];\n /** id value from displayDensity table meta configuration property */\n selectedHeightOption?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /** Filter configuration in the ConditionBuilder format */\n filterExpression?: Condition;\n /** Aggregation configuration */\n aggregationInfo?: Aggregation[];\n /** Grouping configuration */\n groups?: Group[];\n /** Sorting configuration */\n sortingOrder?: Sort[];\n /** Search configuration */\n search?: {\n /** Search text */\n query: string;\n /** Fields to search in */\n fields: string[];\n };\n /** Group filters applied when fetching data-rows */\n groupFilters?: GroupFilter[];\n /** Pagination applied when fetching data-rows */\n paginationOptions?: {\n [virtualizerId: string]: {\n startIndex: number;\n endIndex: number;\n };\n };\n /** An object of features that needs to be forced triggered on next dispatch cycle of Repeating structures. */\n forceUpdateFeatures?: {\n /** Force re-render the Repeating structures on next dispatch */\n forceRenderOnNextRun?: boolean;\n /** Force re-calculate width of fields of the Repeating structures on next dispatch. */\n forceCalculateAutoWidth?: boolean;\n /** Force re-fetch selectedRows by calling {@link ApiContext.getSelectedRows getSelectedRows} apiContext. */\n updateSelectedRows?: number;\n };\n /** An array of selected rows identified by value of {@link Meta.itemKey itemkey} for that rows */\n selectedRows?: string[];\n /** Repeating Structure {@link Meta.template templates} */\n template?: string;\n /**\n * Preset identifier through which the current preset/personalized view is derived.\n * For default preset or personalization dervied from default preset the value is equal to 'nonPersonalizationViewKey'\n */\n presetId?: string;\n /** Version of the state */\n version?: string;\n /** Personalization state of repeating structure */\n personalization?: Personalization;\n /** An array of custom fields generated using joining the columns */\n customFields?: CustomField[];\n /**\n * This key holds the state of the external component within RS state.\n * This state is never manipulated by Repeating structures. This key is personalizable. Currently it contains state related to {@link Meta.externalFilters}\n */\n externalState?: { [key: string]: object };\n /**\n * This holds formatter info for a given column id.\n * key - {@link FieldDef.id columnId}\n * value - Formatter name\n */\n renderFormatter?: {\n [key: string]: string;\n };\n /** It contains the alias for the column. Key is {@link FieldDef.id id} of the column, value is the alias name given to that column. */\n columnAlias?: {\n [key: string]: string;\n };\n /** Hierarchical groups info */\n hierarchicalGroup?: HierarchicalInfo;\n /** Groups are expanded or closed. */\n allGroupsExpanded?: boolean;\n\n /** Stores the errors */\n errors?: Errors;\n /** {@link FieldDef.id Id} of the field for which filter is going to be deleted. */\n clearColFilter?: string | null;\n /** A 2D array that contains the expand/collapse info of groups\n * * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\n groupToggle?: GroupToggle;\n /** Indicates if the header icon needs to be shown for header cells. */\n showHeaderIcons?: boolean;\n /** The current set of notifications on repeating structures. */\n notifications?: Notification[];\n /** Temporary change set for the selection of rows till the time the selected rows are not communicated to ApiContext via {@link ApiContext.setSelectedRows setSelectedRows}. */\n rowSelectionChangeSet?: RowSelectionChangeSet;\n /** The edit information of the cells. */\n editInfo?: EditInfo;\n /** Indicates the repeating structures is bootstraped. */\n bootstrap?: boolean;\n /** Triggers refresh on repeating structures. */\n refresh?: number;\n /** Indicates to show select all checkbox in repeating structures. */\n showSelectAllCheckbox?: boolean;\n /** Indicates to show confirmation action in repeating structures. */\n showConfirmationAction?: boolean;\n /** Stores the itemkey of the row which is being moved in drag drop operations. */\n sourceKey?: string;\n /** Stores the itemkey of the row on which the dragged row is dropped in drag drop operations. */\n destinationKey?: string;\n /** Set of features which should be skipped when running the queued action. */\n featuresToAvoid?: string[];\n /** Temporary change set information for edited row till the time data is not submitted to {@link ApiContext} */\n changeSet?: EditChangeSet;\n /** Stores the repeating structures body height. */\n tableHeight?: number | string;\n /** Stores the responsive breakpoints of DOM container */\n responsive?: ResponsiveBreakpoint;\n /**\n * Array of conditional style formats.\n *\n * When set, make sure the following conditions must be met:\n * - The available {@link RsCoreBootArgs.styleFormats styleFormats} must be passed to repeating structures as a prop.\n * - The `styleFormatId` referenced in conditional style formats within {@link State.conditionalStyleFormats state} must belong to one of the {@link RsCoreBootArgs.styleFormats styleFormats}.\n * - The {@link ApiContext.evaluateCondition evaluateCondition} API is optional. If the RS consumer wants to evaluate the condition itself, this API should be provided; otherwise, it is optional.\n *\n * **Note**: *For a given fieldName, if the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n */\n conditionalStyleFormats?: ConditionalStyleFormat[];\n}\n\nexport interface PersonalizedState extends Pick<State, (typeof personalizationProps)[number]> {}\n"]}
1
+ {"version":3,"file":"State.types.js","sourceRoot":"","sources":["../../types/State.types.ts"],"names":[],"mappings":"AAwHA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,GAAG,aAAa;IAChB,8DAA8D;IAC9D,MAAM,EAAE,QAAQ;CACR,CAAC","sourcesContent":["import type { ExcludeStrict, OmitStrict } from '@pega/cosmos-react-core';\nimport type { Condition, LeafCondition } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\n\nimport type { personalizationProps } from '../src/core/reducers/personalizationReducer';\nimport type { RowData, ScalarRowData } from '../src/core/generators/RowGenerator.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\nimport type {\n ROW_DENSITY,\n HierarchicalInfo,\n /* eslint-disable @typescript-eslint/no-unused-vars */\n FieldDef,\n Meta,\n FieldType,\n /* eslint-enable @typescript-eslint/no-unused-vars */\n ConditionalStyleFormat\n} from './Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, RsApi } from './ApiContext.types';\n/** Custom functions ungrouped type */\ntype Ungrouped =\n | {\n /**\n * Ungrouped mode\n * 'aggregate' - Aggregate remaining groups as others group\n */\n mode: 'aggregate';\n /** Others group label */\n label: string;\n }\n | {\n /** 'exclude' - Exclude remaining values */\n mode: 'exclude';\n };\n\n/** Boundaries for range grouping */\nexport type RangeBoundaries =\n | 'include-lower-only'\n | 'include-upper-only'\n | 'include-both'\n | 'exclude-both';\n\n/** Rhs type for range grouping to support boundaries */\ninterface RangeGroupingRhs<T extends number | string> {\n rhs:\n | {\n value: T;\n }\n | {\n start: T;\n end: T;\n boundaries: RangeBoundaries;\n };\n}\n\n/** Modified leaf condition for Range grouping */\ntype RangeGroupingLeafCondition<T extends number | string> = OmitStrict<LeafCondition, 'rhs'> &\n RangeGroupingRhs<T>;\n\n/** Aggregation types */\nexport type AggregationType = 'Sum' | 'Min' | 'Max' | 'Avg';\n/** Aggregation state on the Table */\nexport type Aggregation = {\n /** Column ID */\n columnId: string;\n /** Aggregation type */\n type: AggregationType;\n};\n\n/** Custom grouping types */\nexport type CustomFunctions = 'TEXT_GROUPING' | 'RANGE_GROUPING';\n\n/** Custom text grouping details applied on column */\nexport type TextGrouping = {\n /** Custom function name */\n type: 'TEXT_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: LeafCondition;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom range grouping details applied on column */\nexport type RangeGrouping = {\n /** Custom function name */\n type: 'RANGE_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** Custom groups information */\n groups: {\n /** Group label */\n label: string;\n /** Group condition */\n condition: RangeGroupingLeafCondition<number>;\n }[];\n /** Ungrouped information */\n ungrouped: Ungrouped;\n};\n\n/** Custom interval grouping details applied on column */\nexport type IntervalGrouping = {\n /** Custom function name */\n type: 'INTERVAL_GROUPING';\n /** Randomly generated unique id to distinguish separate custom functions on same field */\n id: string;\n /** interval */\n interval: number;\n /** boundaries */\n boundaries: 'include-lower-only' | 'include-upper-only';\n};\n\nexport const SortDirection = {\n ASC: 'asc',\n DESC: 'desc'\n} as const;\n\nexport const GroupSortDirection = {\n ...SortDirection,\n /** For custom grouping, the group order can be custom too. */\n CUSTOM: 'custom'\n} as const;\n\nexport type DateGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional date function for {@link FieldType.DATE 'date'}/ {@link FieldType.DATE_TIME 'dateTime'} field. */\n dateFunction?: ExcludeStrict<DateFunction, 'SECONDS'>;\n};\n\nexport type NumberGroupAdditionalField = {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n /** Optional aggregation for {@link FieldType.NUMBER 'number'} type field. */\n aggregation?: ExcludeStrict<AggregationType, 'Avg'>;\n};\n\n/** Additional fields data for Group info. */\nexport type GroupAdditionalField =\n | {\n /** Additional field id reference as mentioned in {@link FieldDef.id fieldDef id}. */\n id: FieldDef['id'];\n }\n | DateGroupAdditionalField\n | NumberGroupAdditionalField;\n\n/** Group configuration on Table state */\nexport interface Group {\n /** Column ID */\n columnId: string;\n /** Date function if grouping by a date part */\n dateFunction?: DateFunction;\n /** Custom function if applied on Text/Number column */\n customFunction?: TextGrouping | RangeGrouping | IntervalGrouping;\n /** Sort order of the grouped column.\n * - asc - ascending\n * - desc - descending\n * - custom - user defined custom sorting. This is applicable in case of custom grouping.\n */\n order: (typeof GroupSortDirection)[keyof typeof GroupSortDirection];\n /** Current group level, starts with 0 for 1st level of grouping. */\n level: number;\n /** Additional field config for current group node */\n additionalFields?: GroupAdditionalField[];\n}\n\n/** Sort configuration on Table state */\nexport interface Sort {\n /** Column ID */\n columnId: string;\n /** Sort order */\n order: (typeof SortDirection)[keyof typeof SortDirection];\n /** Used to indicate the sequence in multi-sort */\n sequence: number;\n}\n\n/** Group filter from the Table state */\nexport interface GroupFilter {\n /** Start-index used for pagination */\n groupFrom: number;\n /** End-index used for pagination */\n groupTo: number;\n /**\n * List of filters in the current branch of groupFilters.\n * Each entry in the object corresponds to a single node in the given group's hierarchy\n * groupBy can be in one of two patterns - `${columnId}`, `${columnId}||${dateFunction}`.\n * Use getGroupFromKey from lists to safely split it.\n */\n filters: {\n [groupBy: string]: ScalarRowData;\n };\n}\n\nexport interface PersonalizationInfo {\n name: string;\n personalizationState: State;\n isDefaultPreset?: boolean;\n isPreset?: boolean;\n title?: string;\n template?: string;\n markAsDefault?: boolean;\n}\nexport interface Personalization {\n allPersonalizations: {\n [personalizationkey: string]: PersonalizationInfo;\n };\n defaultPersonalization: string;\n active: string;\n dirty?: boolean;\n previousDefaultPersonalization?: string;\n lastDeletedPersonalization?: PersonalizationInfo;\n}\nexport interface Child extends CustomField {\n fieldIds: string[];\n children: Child[];\n templateName: string;\n}\n/** This interface is the old implementation of custom fields which is required for state versioning reducer. */\ninterface OldCustomField {\n children?: Child[];\n templateName?: string;\n}\nexport type CustomField = {\n /**\n * An array which contains the 2 join column id details and merge template details(a tuple of length 1 and type string) for those 2 columns\n * Column Merge templates:\n * - comma\n * - space\n * - multiline\n * - forwardslash\n */\n expression: (string | [string])[];\n /** A unique id to identify the new column resulted from merging of 2 columns. */\n id: string;\n /** Label for the new column */\n label: string;\n /** Primary column id which is used to derive the {@link FieldDef FieldDefinition} of new column */\n primaryColumnId: string;\n} & OldCustomField;\n\nexport interface DataError {\n /** itemKey of the row that has error */\n [itemKeyValue: string | number]: {\n /** error message for the row */\n message: string;\n };\n}\nexport interface Errors {\n /** errors related to row data */\n dataErrors: DataError;\n}\n\nexport type ResponsiveBreakpoint = {\n [breakpoint in 'xs' | 'sm' | 'md' | 'lg' | 'xl']?: boolean;\n};\n\nexport interface EditChangeSet {\n /** Value of the itemKey {@link Meta. itemKey itemKey} of the row under which cell is edited. */\n [itemKey: string]: {\n /** {@link FieldDef.name name} of the field that is edited. */\n [fieldName: string]: {\n /** Updated cell value after edit. */\n value: string | number | boolean | Date;\n /** Current status of the edit process. 'pending' | 'inProgress' */\n status: string;\n };\n };\n}\n\nexport interface Notification {\n content: string;\n id?: string;\n}\n\n/**\n * groupBy - field id of the column on which group is toggled.\n * value(2D array) - The path of the group which is toggled.\n * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\nexport interface GroupToggle {\n [groupBy: string]: (string | number | boolean | Date)[][];\n}\n\nexport interface RowSelectionChangeSet {\n [key: string]: { data: RowData; status: string; selected: boolean };\n}\n\nexport interface EditInfo {\n rowId?: string;\n colId?: string;\n}\n\nexport interface State {\n /** Current order of the columns in the form of array of {@link FieldDef.id fieldDef id} */\n colOrder?: string[];\n /** Current widths of the columns in the form of array of fieldDef id and its current width */\n columnWidths?: { [key: string]: number };\n /** Current frozen columns represented by array of fieldDef id */\n freezeColumns?: string[];\n /** Current hidden columns represented by array of fieldDef id */\n hiddenColumns?: string[];\n /** id value from displayDensity table meta configuration property */\n selectedHeightOption?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /** Filter configuration in the ConditionBuilder format */\n filterExpression?: Condition;\n /** Aggregation configuration */\n aggregationInfo?: Aggregation[];\n /** Grouping configuration */\n groups?: Group[];\n /** Sorting configuration */\n sortingOrder?: Sort[];\n /** Search configuration */\n search?: {\n /** Search text */\n query: string;\n /** Fields to search in */\n fields: string[];\n };\n /** Group filters applied when fetching data-rows */\n groupFilters?: GroupFilter[];\n /** Pagination applied when fetching data-rows */\n paginationOptions?: {\n [virtualizerId: string]: {\n startIndex: number;\n endIndex: number;\n };\n };\n /** An object of features that needs to be forced triggered on next dispatch cycle of Repeating structures. */\n forceUpdateFeatures?: {\n /** Force re-render the Repeating structures on next dispatch */\n forceRenderOnNextRun?: boolean;\n /** Force re-calculate width of fields of the Repeating structures on next dispatch. */\n forceCalculateAutoWidth?: boolean;\n /** Force re-fetch selectedRows by calling {@link ApiContext.getSelectedRows getSelectedRows} apiContext. */\n updateSelectedRows?: number;\n };\n /** An array of selected rows identified by value of {@link Meta.itemKey itemkey} for that rows */\n selectedRows?: string[];\n /** Repeating Structure {@link Meta.template templates} */\n template?: string;\n /**\n * Preset identifier through which the current preset/personalized view is derived.\n * For default preset or personalization dervied from default preset the value is equal to 'nonPersonalizationViewKey'\n */\n presetId?: string;\n /** Version of the state */\n version?: string;\n /** Personalization state of repeating structure */\n personalization?: Personalization;\n /** An array of custom fields generated using joining the columns */\n customFields?: CustomField[];\n /**\n * This key holds the state of the external component within RS state.\n * This state is never manipulated by Repeating structures. This key is personalizable. Currently it contains state related to {@link Meta.externalFilters}\n */\n externalState?: { [key: string]: object };\n /**\n * This holds formatter info for a given column id.\n * key - {@link FieldDef.id columnId}\n * value - Formatter name\n */\n renderFormatter?: {\n [key: string]: string;\n };\n /** It contains the alias for the column. Key is {@link FieldDef.id id} of the column, value is the alias name given to that column. */\n columnAlias?: {\n [key: string]: string;\n };\n /** Hierarchical groups info */\n hierarchicalGroup?: HierarchicalInfo;\n /** Groups are expanded or closed. */\n allGroupsExpanded?: boolean;\n\n /** Stores the errors */\n errors?: Errors;\n /** {@link FieldDef.id Id} of the field for which filter is going to be deleted. */\n clearColFilter?: string | null;\n /** A 2D array that contains the expand/collapse info of groups\n * * @example - Consider 3 columns Priority, Severity, Status and all are grouped.\n * Expanding the first and second nested group header fully starting from Priority -> Severity -> Status will result in:\n * {\n * 'Priority': [['85 P'], ['95P']],\n * 'Severity': [['85P', 'Low severity'], ['95P', 'Low severity']],\n * 'Status': [['85P', 'Low severity', 'Pending'],['95P', 'Low severity', 'Pending']]\n * }\n */\n groupToggle?: GroupToggle;\n /** Indicates if the header icon needs to be shown for header cells. */\n showHeaderIcons?: boolean;\n /** The current set of notifications on repeating structures. */\n notifications?: Notification[];\n /** Temporary change set for the selection of rows till the time the selected rows are not communicated to ApiContext via {@link ApiContext.setSelectedRows setSelectedRows}. */\n rowSelectionChangeSet?: RowSelectionChangeSet;\n /** The edit information of the cells. */\n editInfo?: EditInfo;\n /** Indicates the repeating structures is bootstraped. */\n bootstrap?: boolean;\n /** Triggers refresh on repeating structures. */\n refresh?: number;\n /** Indicates to show select all checkbox in repeating structures. */\n showSelectAllCheckbox?: boolean;\n /** Indicates to show confirmation action in repeating structures. */\n showConfirmationAction?: boolean;\n /** Stores the itemkey of the row which is being moved in drag drop operations. */\n sourceKey?: string;\n /** Stores the itemkey of the row on which the dragged row is dropped in drag drop operations. */\n destinationKey?: string;\n /** Set of features which should be skipped when running the queued action. */\n featuresToAvoid?: string[];\n /** Temporary change set information for edited row till the time data is not submitted to {@link ApiContext} */\n changeSet?: EditChangeSet;\n /** Stores the repeating structures body height. */\n tableHeight?: number | string;\n /** Stores the responsive breakpoints of DOM container */\n responsive?: ResponsiveBreakpoint;\n /**\n * Array of conditional style formats.\n *\n * When set, make sure the following conditions must be met:\n * - The available {@link RsCoreBootArgs.styleFormats styleFormats} must be passed to repeating structures as a prop.\n * - The `styleFormatId` referenced in conditional style formats within {@link State.conditionalStyleFormats state} must belong to one of the {@link RsCoreBootArgs.styleFormats styleFormats}.\n * - The {@link ApiContext.evaluateCondition evaluateCondition} API is optional. If the RS consumer wants to evaluate the condition itself, this API should be provided; otherwise, it is optional.\n *\n * **Note**: *For a given fieldName, if the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n */\n conditionalStyleFormats?: ConditionalStyleFormat[];\n}\n\nexport interface PersonalizedState extends Pick<State, (typeof personalizationProps)[number]> {}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@pega/lists-core",
3
- "version": "9.0.0-build.11.4",
3
+ "version": "9.0.0-build.11.5",
4
4
  "description": "Core headless UI library that the users can use to write their own UI and create repeating structures like table, gallery, timeline etc.",
5
5
  "license": "SEE LICENSE IN LICENSE",
6
6
  "author": "Pegasystems",
@@ -14,8 +14,8 @@
14
14
  "build": "tsc -b tsconfig.build.json"
15
15
  },
16
16
  "dependencies": {
17
- "@pega/cosmos-react-condition-builder": "9.0.0-build.11.4",
18
- "@pega/cosmos-react-core": "9.0.0-build.11.4",
17
+ "@pega/cosmos-react-condition-builder": "9.0.0-build.11.5",
18
+ "@pega/cosmos-react-core": "9.0.0-build.11.5",
19
19
  "@types/lodash.get": "^4.4.9",
20
20
  "@types/uuid": "^9.0.0",
21
21
  "dayjs": "^1.11.13",