@pega/lists-core 9.0.0-build.7.5 → 9.0.0-build.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/src/core/generators/ColumnGenerator.d.ts +1 -1
- package/lib/src/core/generators/ColumnGenerator.d.ts.map +1 -1
- package/lib/src/core/generators/ColumnGenerator.js +2 -1
- package/lib/src/core/generators/ColumnGenerator.js.map +1 -1
- package/lib/types/ApiContext.types.d.ts +6 -0
- package/lib/types/ApiContext.types.d.ts.map +1 -1
- package/lib/types/ApiContext.types.js.map +1 -1
- package/lib/types/Meta.types.d.ts +6 -0
- package/lib/types/Meta.types.d.ts.map +1 -1
- package/lib/types/Meta.types.js.map +1 -1
- package/package.json +4 -4
|
@@ -144,7 +144,7 @@ export default class Column {
|
|
|
144
144
|
* Returns the formatters available for the current column from
|
|
145
145
|
* {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}
|
|
146
146
|
*/
|
|
147
|
-
getRenderFormatters(): import("../../../types/RsCoreBootArgs.types").RenderFormatterType[]
|
|
147
|
+
getRenderFormatters(): import("../../../types/RsCoreBootArgs.types").RenderFormatterType[];
|
|
148
148
|
/** Returns the sorting information for the current column. */
|
|
149
149
|
getSortProperties(): {
|
|
150
150
|
sorted: boolean;
|
|
@@ -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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"}
|
|
@@ -299,7 +299,8 @@ export default class Column {
|
|
|
299
299
|
* {@link RsProps.renderFormatterTypeMap renderFormatterTypeMap} based on its {@link FieldDef.type type}
|
|
300
300
|
*/
|
|
301
301
|
getRenderFormatters() {
|
|
302
|
-
|
|
302
|
+
const formattersForType = this.parent.renderFormatterTypeMap?.[this.field.type] || [];
|
|
303
|
+
return this.field.formatters ?? formattersForType;
|
|
303
304
|
}
|
|
304
305
|
/** Returns the sorting information for the current column. */
|
|
305
306
|
getSortProperties() {
|
|
@@ -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 return this.parent.renderFormatterTypeMap?.[this.field.type];\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) {\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"]}
|
|
@@ -93,6 +93,12 @@ export type RsApi = {
|
|
|
93
93
|
updateColumnsVisibility: (columns: {
|
|
94
94
|
[key: FieldDef['id']]: boolean;
|
|
95
95
|
}) => void;
|
|
96
|
+
/**
|
|
97
|
+
* Sets the `renderFormatter` for the given column.
|
|
98
|
+
* @param columnId - Column ID
|
|
99
|
+
* @param formatterName - ID of the formatter/renderer
|
|
100
|
+
*/
|
|
101
|
+
setRenderFormatter: (columnId: string, formatterName: string) => void;
|
|
96
102
|
/**
|
|
97
103
|
* Sets the conditional style formats of the view.
|
|
98
104
|
* @param conditionalStyleFormats - The conditional style formats to apply.
|
|
@@ -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 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 /* 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"]}
|
|
@@ -6,6 +6,7 @@ import type { FilterConfig } from '../src/core/config/filterConfig';
|
|
|
6
6
|
import type Row from '../src/core/generators/RowGenerator';
|
|
7
7
|
import type { RowData } from '../src/core/generators/RowGenerator.types';
|
|
8
8
|
import type { AggregationType, GroupAdditionalField, SortDirection } from './State.types';
|
|
9
|
+
import type { RenderFormatterType } from './RsCoreBootArgs.types';
|
|
9
10
|
type CSSVariable = `--${string}`;
|
|
10
11
|
export interface RowAction {
|
|
11
12
|
/** A label to be displayed to end user for this action */
|
|
@@ -329,6 +330,11 @@ export interface FieldDef {
|
|
|
329
330
|
* @default false
|
|
330
331
|
*/
|
|
331
332
|
disableFormatting?: boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Formatter options for this specific field.
|
|
335
|
+
* If the field level formatters are provided then they will be given priority than RS level {@link RsCoreBootArgs.renderFormatterTypeMap formatters}.
|
|
336
|
+
*/
|
|
337
|
+
formatters?: RenderFormatterType[];
|
|
332
338
|
}
|
|
333
339
|
export declare const ROW_DENSITY: {
|
|
334
340
|
readonly SHORT: "1";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meta.types.d.ts","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iFAAiF,CAAC;AACpH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gEAAgE,CAAC;AAErG,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,KAAK,GAAG,MAAM,qCAAqC,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,2CAA2C,CAAC;AAIzE,OAAO,KAAK,EAAE,eAAe,EAAE,oBAAoB,EAAE,aAAa,EAAS,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"Meta.types.d.ts","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Meta.types.js","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"AAsDA,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,WAAW;IACtB,iEAAiE;IACjE,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAyDX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,kBAAkB;CAC9B,CAAC;AA2NX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,YAAY,EAAE,GAAG;CACT,CAAC;AAOX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;CACxB,CAAC","sourcesContent":["import type { Condition, DateFunctionsByType } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\nimport type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { ActivityObject } from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';\n\nimport type { FilterConfig } from '../src/core/config/filterConfig';\nimport type Row from '../src/core/generators/RowGenerator';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { ApiContext } from './ApiContext.types';\nimport type { AggregationType, GroupAdditionalField, SortDirection, State } from './State.types';\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\ntype CSSVariable = `--${string}`;\n\nexport interface RowAction {\n /** A label to be displayed to end user for this action */\n text: string;\n /** An identifier to uniquely identify this action */\n id: string;\n /**\n * @param {RowData} rowContext - RowData where this row action is triggered.\n * @param refreshRow - A callback which can be used to trigger refreshRow\n * which will trigger 'fetchRowData' api of {@link ApiContext} to fetch latest data for a row, after action is completed.\n * @return {void} - void\n */\n onClick: (rowContext: RowData, refreshRow: () => void) => void;\n}\n\n// Meta and it's type START\ninterface Category {\n label: string;\n}\n\ninterface ContextMenuOption {\n id: string;\n icon?: string;\n label: string;\n show?: boolean;\n disabled?: boolean;\n onClick?: (target: HTMLElement) => void;\n}\n\nexport interface HierarchicalInfo {\n parentId?: string;\n materializedPathId?: string;\n targetId?: string;\n sortById?: string;\n columnId?: string;\n mode?: string;\n}\n\nconst CellAlign = {\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\n\nexport const FieldType = {\n TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE_TIME: 'datetime',\n DATE: 'date',\n TIME: 'time',\n DATE_TIMELINE: 'Date',\n DATE_ONLY: 'Date only',\n // TODO: URL as a type is not needed. It can be merged with TEXT.\n URL: 'URL',\n ACTION_FIELD_TYPE: 'action',\n CUSTOM: 'custom',\n CURRENCY: 'currency'\n} as const;\n\nexport interface StyleFormat {\n /** A unique identifier for the style format. */\n id: string;\n /** The display name of the style format. */\n label: string;\n /** A collection of style properties that defines how the format will be applied. */\n config: {\n /** Background color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n backgroundColor: string;\n /**\n * Foreground (text) color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n *\n * Optional\n */\n foregroundColor?: string;\n /**\n * An icon used as a visual indicator of the applied format.\n * Optional.\n */\n icon?: {\n /** The name of icon. */\n name: string;\n /** The color of icon.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n color: string;\n };\n };\n}\n\n// For now, conditionalFormatting is exposed for fields only. In future, for rows the fieldName can be made optional.\nexport interface ConditionalStyleFormat {\n /** The condition that determines whether this style format should be applied. */\n condition: Condition;\n /** The ID of the style format, sourced from {@link RsCoreBootArgs.styleFormats}, that will be applied if the condition is met. */\n styleFormatId: StyleFormat['id'];\n /** The {@link FieldDef.name name of the fieldDef} to which this style format is applied. */\n fieldName: FieldDef['name'];\n}\n\nexport const cellUpdateTrigger = {\n ROW_DENSITY_CHANGE: 'rowDensityChange'\n} as const;\n\nexport interface FieldDef {\n /** Actual field name in data */\n name: string;\n /** The type of the field will be used to derive cell renderer from {@link RsProps.renderFactory} */\n type: (typeof FieldType)[keyof typeof FieldType];\n /** Persistent ID of the field, typically the same as the name */\n id: string;\n /** A display name of that field */\n label: string;\n /**\n * Represents the category hierarchy of a field, if the field is nested within a parent property. The format should be an array of objects\n * where each index represents a level of the category hierarchy.\n * This structure is used to display the hierarchy of the field wherever necessary.\n * @example\n * ```json\n * [{label: 'categoryName'}]\n * ```\n */\n category?: Category[];\n /** Show {@link category} in header label. The header will be displayed in format {categoryName}.{label} where categoryName will be all the category's labels combined with .(dot) notation */\n showCategoryInHeaderLabel?: boolean;\n /** Defines Field whose value needs to be shown as HelperText e.g tooltip: 'pzDescription' field value for pyID field */\n tooltip?: string;\n /** Enable/Disable tooltip on column */\n showTooltip?: boolean;\n /** Width of the field in px */\n width?: number;\n /** Maximum width of the field in px */\n maxWidth?: number;\n /** Minimum width in pixels, field width cannot be resized below this threshold\n * @default 90\n */\n minWidth?: number;\n /** Allow filtering on this field\n * @default true\n */\n filter?: boolean;\n /** Filter popup presents a pick list to choose values from\n * @default false\n */\n filterPickList?: boolean;\n /** Allow sorting on this field\n * @default true\n */\n sort?: boolean;\n /** Allows sorting on load. If this property is present, then sortPriority is mandatory */\n sortDirection?: (typeof SortDirection)[keyof typeof SortDirection];\n /** Sets the priority on filed for multi sorting(1 takes highest precedence). Allows sorting on load. If this property is present, then sortDirection is mandatory */\n sortPriority?: number;\n /** Allow grouping on this field\n * @default true\n */\n grouping?: boolean;\n /** To set group order of the current field def */\n groupOrder?: number;\n /** To auto apply grouping on this field */\n grouped?: boolean;\n /** Choose date function {@link DateFunction} to group by when `grouped` is enabled for date/time field. Fallbacks to grouping by equality if undefined. */\n groupedDateFunction?: DateFunction;\n /** Additional field config for current field, if grouping is applied */\n groupedAdditionalFields?: GroupAdditionalField[];\n /** Allow resizing on this field\n * @default true\n */\n resize?: boolean;\n /** Allow reordering on this field\n * @default true\n */\n reorderFields?: boolean;\n /** Allow freezing of this field\n * @default true\n */\n freeze?: boolean;\n /** This field will resize to available excess width if set to true. Only first field definition will be honoured if configured on multiple fields. */\n fillAvailableSpace?: boolean;\n /** An asterisk will be added in the table header cell right after the label signifying it is required. */\n required?: boolean;\n /** Allow show/hide of this field\n * @default true\n */\n toggle?: boolean;\n /** Field shows in the view by default. Can be set to false to toggle it in later */\n show?: boolean;\n /** Show/hide field level Header action menu\n * @default true\n */\n showMenu?: boolean;\n /** Allow aggregation on this field\n * @default true\n */\n aggregation?: boolean;\n /** Allow combining of this field with other field\n * @default true\n */\n combineColumn?: boolean;\n /** Allow customizing column label and apply formatting\n * @default true\n */\n customizeColumn?: boolean;\n /** Disable context menu at cells of this field if set to true. Context menu is shown on right mouse click in the cell\n * @default false\n */\n noContextMenu?: boolean;\n /** This property extends options provided on right click in a cell context.\n * The default one's that the Repeating structures provide out of the box\n * are 'Copy Text', 'Paste Text' and 'Filter by this' */\n contextMenuOptions?: ContextMenuOption[];\n /** Optional name of a custom component to be rendered in the header cell of the column.\n * The custom component should be provided via the render factory.\n * If not specified, the default header cell renderer will be used. */\n headerCellRenderer?: string;\n /** Name of a custom component that is made available through the render factory. Check section on cellRenderer */\n cellRenderer?: string;\n /**\n * Configure additional events that explicitly trigger this field’s cell(s) to regenerate (re-render).\n * If omitted or empty, the cell will not update automatically on these events.\n *\n * These are *explicit* triggers that require the consumer to specify them for the cell to update.\n *\n *\n * Supported triggers include:\n * - `rowDensityChange`: when the row height or density changes.\n *\n * **Caution:** Using this may cause rendering overhead as the cells will be re-generated(re-rendered).\n *\n * @examples\n * ```json\n * cellUpdateTriggers: [\"rowDensityChange\"]\n * ```\n */\n cellUpdateTriggers?: (typeof cellUpdateTrigger)[keyof typeof cellUpdateTrigger][];\n\n /** Format on the basis of this field data should be formatted. The formatter should be present in {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}. */\n formatter?: string;\n /** To enable autosize on this field.\n * @default true\n */\n autosize?: boolean;\n // TODO: Remove this parentPath field. Consumer should handle the corresponding logic.\n /** If a field is of type pageList, parentpath should contain the path of the parent to traverse the field. */\n parentPath?: string;\n // TODO: Remove this isPageListField field. Consumer should handle the corresponding logic.\n /** Set if the field is of type pageList */\n isPageListField?: boolean;\n /** Enable 'Hierarchical' display mode on column if hierarchicalInfo exists. */\n hierarchicalInfo?: HierarchicalInfo;\n /** Align cell to left/right/center. Values accepted: 'left', 'right', 'center' */\n cellAlign?: (typeof CellAlign)[keyof typeof CellAlign];\n /** Column name label in group header will be hidden when set to 'true'\n * @default false\n */\n hideGroupColumnNameLabel?: boolean;\n // TODO this is exposed to consumer but is not being considered. Check this.\n /** Filter options for various field type\n * @example\n * [\n {\n value: 'Equals',\n key: 'equals'\n },\n {\n value: 'Not equals',\n key: 'notEquals'\n },\n {\n value: 'After',\n key: 'greaterThan'\n },\n {\n value: 'Before',\n key: 'lessThan'\n },\n {\n value: 'On or after',\n key: 'greaterThanEquals'\n },\n {\n value: 'On or before',\n key: 'lessThanEquals'\n }\n ]\n */\n filterParams?: {\n value: string;\n key: string;\n }[];\n /** To enable inline editing for a field. */\n editable?: boolean;\n /** A read only extra info related to field can be preserved in meta.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n meta?: { [key: string | number | symbol]: any };\n /** A read only extra info related to field can be preserved in this.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n customObject?: { [key: string | number | symbol]: any };\n /** Indicates if the field is used as rowHeader for A11y of the row */\n isRowHeader?: boolean;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A unique idHash.\n */\n idHash?: number;\n /** Indicates if this field is aggregated. If set to true, then first option from {@link Meta.aggregationType} will be picked as aggregation type for this field. */\n aggregated?: boolean;\n /** An array of conditional formats applied to the fieldDef.\n * @property {Condition} condition - The condition that determines whether the format should be applied.\n * @property {ConditionalStyleFormat} styleFormat - The {@link StyleFormat.id style format id} from `field` {@link RsCoreBootArgs.styleFormats styleFormats} applied to the cell if the condition evaluates to true.\n *\n * **Note**: *If the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n * */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n /** Disables formatting on the field using {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}\n * @default false\n */\n disableFormatting?: boolean;\n}\nexport const ROW_DENSITY = {\n SHORT: '1',\n MEDIUM: '2',\n TALL: '3',\n WRAP_CONTENT: '4'\n} as const;\n\ntype DisplayDensity = {\n id: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n name: string;\n};\n\nexport const REPEATING_STRUCTURE_TEMPLATES = {\n TABLE: 'Table',\n GALLERY: 'Gallery',\n TIMELINE: 'Timeline',\n MAP: 'Map'\n} as const;\n\nconst SELECTION_MODE = {\n SINGLE: 'single',\n MULTI: 'multi',\n MULTI_ON_HOVER: 'multi_on_hover'\n} as const;\n\ntype TimelineFieldDef = Partial<Pick<FieldDef, 'name' | 'label' | 'type' | 'meta'>>;\n\ntype DisplayFeature = {\n filter?: boolean;\n grouping?: boolean;\n sort?: boolean;\n};\n\n/** Meta input to RS */\nexport interface Meta {\n /** Metadata for fields */\n fieldDefs: FieldDef[];\n /** itemKey for data identification */\n itemKey: string;\n /** Preset id of the current preset/personalization. This will be used to uniquely identify the preset on which the current view is dervied from */\n id: string;\n /** Preset name of the current preset/personalization. This will be displayed to end user */\n name: string;\n /** Array of fields(extra) that should be included in the query prepared for different api's in {@link ApiContext}.\n * `lists-client-api` package implicitly appends this in `select` field while preparing the query.\n */\n patchQueryFields?: string[];\n /** Array denoting sort operation order.\n *\n * @default\n * ```json\n * ['asc', 'desc', null]\n * ```\n */\n sortOrder?: (string | null)[];\n /**\n * A collection of row density options that users can select to adjust the height of rows based on the chosen density.\n *\n * @default\n * ```json\n * [\n * { \"name\": \"Short\", \"id\": \"1\" },\n * { \"name\": \"Medium\", \"id\": \"2\" },\n * { \"name\": \"Tall\", \"id\": \"3\" },\n * { \"name\": \"Full content\", \"id\": \"4\" }\n * ]\n * ```\n */\n displayDensity?: DisplayDensity[];\n /**\n * Configuration for the height of the view.\n *\n * @default\n * ```json\n * {\n * minHeight: 600\n * }\n * ```\n */\n height?: {\n /** The minimum height in pixels for the view or 'auto' */\n minHeight?: number;\n /** Specifies an HTML element or a string query selector to which the view's height will be adjusted. If this property is used, the `height` property will be ignored */\n fitHeightToElement?: HTMLElement | string;\n /** Specifies an explicit height in pixels for the view. If set, the `fitHeightToElement` property will be ignored. */\n height?: number;\n /** A height adjustment value in pixels */\n deltaAdjustment?: number;\n /** If true, the height will be adjusted responsively on window resize, but only if `fitHeightToElement` is provided. */\n autoSize?: boolean;\n /** The maximum height for the view, specified in pixels or as a CSS variable (e.g., `--view-height`) */\n maxHeight?: number | string;\n /** CSS variable that defines the minimum threshold to be used in `maxHeight` calculations. If not provided, a default value of `25rem` will be used.\n *\n * Caution: Use carefully as setting this value too low can introduce usability issues on smaller screens.\n */\n maxHeightMinValueVariable?: CSSVariable;\n };\n /** Allow show/hide of fields\n *\n * @default true\n */\n toggleFieldVisibility?: boolean;\n /** Allow grouping on fields\n *\n * @default true\n */\n grouping?: boolean;\n /** Determines the view of a Repeating Structure\n *\n * @default 'Table'\n */\n template?: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES];\n /** Allow editing on fields and if enabled then row actions are also enabled.\n *\n * @default false\n */\n editing?: boolean;\n /** Allow deleting of rows.\n */\n deleting?: boolean;\n /** Allow personalization views\n * @default true\n */\n personalization?: boolean;\n /** Enable app default personalization options in Toolbar action menu.\n * If a personalization is set as App Default then that will be used as default personalization in repeating structures.\n * @default false\n * */\n enableAppDefault?: boolean;\n /**\n * Name to be shown for non personalized view.\n * @default 'Initial view'\n */\n nonPersonalizationViewName?: string;\n /** Allow field (column) reordering through a drag and drop action.\n * @default true\n */\n reorderFields?: boolean;\n /** Allow row reordering through a drag and drop action.\n * @default false\n */\n reorderItems?: boolean;\n /**\n * Allow to add a column for drag handle\n * @default false\n * @deprecated Use {@link rowReorderField}\n */\n dragHandle?: boolean;\n /**\n * Enables row reorder column. By default if enabled, it will be visible. To override the default behavior set show as false.\n */\n rowReorderField?: {\n show: boolean;\n };\n /**\n * Brings in a search widget to allow searching across all text type fields.\n * @default true\n */\n globalSearch?: boolean;\n /** Display toolbar on the view.\n * @default true\n */\n toolbar?: boolean;\n /** Display count in toolbar.\n * @default true\n */\n showCount?: boolean;\n /**\n * Row density id value from the \"displayDensity\" options prop above.\n * @default {@link ROW_DENSITY.SHORT}\n */\n defaultRowHeight?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /**\n * Renders the 'Bulk actions' button in the table toolbar, which gets enabled on row selection.\n * @default false\n */\n allowBulkActions?: boolean;\n /**\n * Denotes the page size being passed in the case of rest backed data page\n * #JSDOC\n */\n pageSize?: number;\n /** Enables date-functions like MONTHS/WEEKS/... during Grouping and Filtering. ([Object structure](https://git.pega.io/projects/PS/repos/cosmos/browse/packages/cosmos-condition-builder/src/components/ConditionBuilder/ConditionBuilder.types.ts?until=dfcf607851276bfeb877e9fb2c8f55d4396fd8b7&untilPath=packages%2Fcosmos-condition-builder%2Fsrc%2Fcomponents%2FConditionBuilder%2FConditionBuilder.types.ts#79-85)) */\n dateFunctions?: DateFunctionsByType;\n /** Enabled Relative Dates, such as \"Last 7 days\" (Or) \"Current Year\", in filtering for the DateTime or Date_Only values\".\n * @default false\n */\n relativeDates?: boolean;\n /** Display footer on the view.\n * @default true\n */\n footer?: boolean;\n /**\n * Templates for dynamic fields (or) columns which are used to combine two columns with a template.\n * @default\n * ```json\n * [\n * { name: 'Comma separated', value: 'comma',selected: true },\n * { name: 'Space separated', value: 'space' },\n * { name: 'Multi line', value: 'multiline' },\n * { name: 'Forward slash', value: 'forwardslash' }\n * ]\n * ```\n */\n dynamicFieldTemplates?: {\n name: string;\n value: string;\n selected?: boolean;\n }[];\n /** Repeating Structure Title\n * @default '<label not set>'\n */\n title?: string;\n /** Repeating Structure Icon\n * @default 'picture'\n */\n icon?: string;\n /** Display Header Bar\n * @default false\n */\n headerBar?: boolean;\n /**\n * Display Respective Header Icons at field labels based on type\n * @default false\n */\n showHeaderIcons?: boolean;\n /** Indicates if freezing is allowed on Fields. */\n freezeFields?: boolean;\n /**\n * list of available static actions for an editable table with following properties\n * @example\n * ```json\n * [\n * {\n * text: 'Open in a new tab',\n * id: 'row-new-tab',\n * onClick: () => {}\n * }\n * ]\n * ```\n * @default\n * []\n */\n rowActions?: RowAction[];\n /** Decides type of row selection mode (radio for single/ checkbox for multi) possible values : single / multi / multi-on-hover */\n selectionMode?: (typeof SELECTION_MODE)[keyof typeof SELECTION_MODE];\n /** Displays select-all checkbox if selectionMode is multi-on-hover and the records count is not greater than threshold */\n selectionCountThreshold?: number;\n /** To Disable/Enable selection of rows */\n disableSelectionOnLoad?: boolean;\n /** To show asterisk(*) symbol on table header in case of Data Reference/Embedded views. (Note: This works perfectly if the personalization is off.) */\n requiredOnLoad?: boolean;\n /**\n * List of available static actions at table level (shown in toolbar/ headerbar) with following properties\n * [{ text: 'Add', tooltip: 'Add story', id: 'Add', onClick: () => {}}]\n */\n toolbarActions?: {\n text: string;\n id: string;\n onClick: () => void;\n tooltip: string;\n }[];\n /** Allow row reordering through a drag and drop action.\n * default value: false\n */\n moveListRecords?: boolean;\n\n /** Allow end user to refresh data of the repeating structures. Enabling this will show up `Refresh` action in repeating structures toolbar.\n * @default false\n */\n allowRefresh?: boolean;\n\n /** The height of repeating structure is calculated on this parameter if provided. */\n numberOfRows?: number;\n /** Display views of repeating structures with full or condensed toolbar.\n * @default false\n * Default shows full toolbar.\n */\n basicMode?: boolean;\n /** Timezone which is passed to formatter\n * @default 'America/New_York'\n */\n timezone?: string;\n /** Locale which is passed to formatter function\n * @default 'en-US'\n */\n locale?: string;\n timelineFields?: {\n /** Timeline template title for display */\n title?: TimelineFieldDef;\n /** Timeline template date for display */\n date?: TimelineFieldDef;\n /** Timeline template status for display */\n status?: TimelineFieldDef & { getCustomContent?: (row: Row) => ActivityObject['status'] };\n /** Timeline template icon for display */\n icon?: TimelineFieldDef;\n /** Timeline template content for display */\n content?: TimelineFieldDef;\n };\n /** Map template field ids for display */\n mapFieldIds?: {\n /** Map template location field id for display */\n location?: FieldDef['id'];\n /** Map template label field id for display */\n label?: FieldDef['id'];\n /** Map template content field id for display */\n content?: FieldDef['id'];\n };\n /** A unique key for injectable filters component.\n * This key will be sent to {@link RsCoreBootArgs.renderFactory renderFactory} as 'type' to get a renderer for the external filters.\n * The renderer will be shown between Repeating structures body and repeating structures toolbar.\n * This key should be used in {@link State.externalState externalState} to populate state related to externalFilters.\n */\n externalFilters?: string;\n /** This key is used to show the 'Import Data' action in the repeating structures toolbar. It will only work for Launchpad.\n * On click, it will call {@link ApiContext.importCSVData importCSVData} open a modal allowing the user to upload a file.\n */\n showImportDataOption?: boolean;\n /** This key is used to show 'Export to Excel' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportData exportData} api is called to export repeating structures data into excel file. */\n showExportToExcelOption?: boolean;\n /** This key is used to show 'Export to CSV' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportDataToCSV exportDataToCSV} api is called to export repeating structures data into CSV file. */\n showExportToCSVOption?: boolean;\n /** To enable 'Freeze columns' action in toolbar action menu. This action triggers freezing of columns.This toolbar action considers {@link FieldDef.freeze freeze} key in FieldDef too.\n * @default true\n */\n // TODO: meta.freezeFields and meta.enableFreezeColumns are checking the same thing. Evaluate if one can be removed.\n enableFreezeColumns?: boolean;\n /** To enable 'Auto size columns' action in toolbar action menu. This action triggers auto size of columns.\n * @default true\n */\n autoSizeColumns?: boolean;\n /** To enable 'Query info' action in toolbar action menu. This action shows query information.\n * @default false\n */\n showQueryInfo?: boolean;\n /** To enable 'Reset column widths' action in toolbar action menu. This action triggers reset of columns width to its default state.\n * @default true\n */\n resetColumnWidths?: boolean;\n /** To enable 'Row density' action in toolbar action menu. This action triggers a popover menu item to select row density.This toolbar action considers {@link Meta.displayDensity displayDensity} key in Meta too.\n * @default true\n */\n rowDensity?: boolean;\n /** To show/hide filter,sort,group action buttons from end user.\\\n * **Note**: Above features will still work, it is just not available to end user to trigger.\n * @default\n * ```json\n * {\n * filter: true,\n * grouping: true,\n * sort: true\n * }\n * ```\n */\n displayFeatures?: DisplayFeature;\n /** Enables error column. The column will be visible when dataErrors are present in {@link State.errors errors}.\n * @default false\n * @deprecated Use {@link rowErrorField}\n */\n showErrorField?: boolean;\n /**\n * Enables error column. By default if enabled, it will be hidden. To override the default behavior set show as true.\n * The column will be visible when dataErrors are present in {@link State.errors errors}.\n */\n rowErrorField?: {\n show: boolean;\n };\n /** Id of the custom renderer that should be used to display customized columns cells. */\n customFieldRenderer?: string;\n /** Id of the custom renderer that should be used to display header cells. */\n customHeaderRenderer?: string;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * The default config of the FieldDef. This is used to normalize each {@link FieldDef} properties with its default value.\n */\n defaultFieldDef?: OmitStrict<FieldDef, 'name' | 'type' | 'id' | 'label'>;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A set of comparator map used for filter operation on columns. */\n comparatorMap?: FilterConfig['comparatorMap'];\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * Indicates if editing is enabled on Repeating structures.\n */\n editable?: boolean;\n /** A set of aggregation options available for a column on which the data can be aggregated.\n *\n * @default\n * ```json\n * {\n * number: ['Sum', 'Min', 'Max', 'Avg']\n * }\n * ```\n */\n aggregateOptions?: {\n [fieldType: string]: AggregationType[];\n };\n /** An optional change action that will be called whenever the personalization is switched. */\n personalizationChangeAction?: () => void;\n /** Predefined filters that will be applied on load of repeating structures. */\n filterExpression?: Condition;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"Meta.types.js","sourceRoot":"","sources":["../../types/Meta.types.ts"],"names":[],"mappings":"AAuDA,MAAM,SAAS,GAAG;IAChB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;CACR,CAAC;AAEX,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,SAAS,EAAE,UAAU;IACrB,IAAI,EAAE,MAAM;IACZ,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,WAAW;IACtB,iEAAiE;IACjE,GAAG,EAAE,KAAK;IACV,iBAAiB,EAAE,QAAQ;IAC3B,MAAM,EAAE,QAAQ;IAChB,QAAQ,EAAE,UAAU;CACZ,CAAC;AAyDX,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,kBAAkB;CAC9B,CAAC;AAgOX,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,KAAK,EAAE,GAAG;IACV,MAAM,EAAE,GAAG;IACX,IAAI,EAAE,GAAG;IACT,YAAY,EAAE,GAAG;CACT,CAAC;AAOX,MAAM,CAAC,MAAM,6BAA6B,GAAG;IAC3C,KAAK,EAAE,OAAO;IACd,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,UAAU;IACpB,GAAG,EAAE,KAAK;CACF,CAAC;AAEX,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,QAAQ;IAChB,KAAK,EAAE,OAAO;IACd,cAAc,EAAE,gBAAgB;CACxB,CAAC","sourcesContent":["import type { Condition, DateFunctionsByType } from '@pega/cosmos-react-condition-builder';\nimport type { DateFunction } from '@pega/cosmos-react-condition-builder/lib/components/ConditionBuilder/core/types';\nimport type { OmitStrict } from '@pega/cosmos-react-core';\nimport type { ActivityObject } from '@pega/cosmos-react-work/lib/components/Timeline/Timeline.types';\n\nimport type { FilterConfig } from '../src/core/config/filterConfig';\nimport type Row from '../src/core/generators/RowGenerator';\nimport type { RowData } from '../src/core/generators/RowGenerator.types';\n\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type { ApiContext } from './ApiContext.types';\nimport type { AggregationType, GroupAdditionalField, SortDirection, State } from './State.types';\nimport type RsCoreBootArgs from './RsCoreBootArgs.types';\nimport type { RenderFormatterType } from './RsCoreBootArgs.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\ntype CSSVariable = `--${string}`;\n\nexport interface RowAction {\n /** A label to be displayed to end user for this action */\n text: string;\n /** An identifier to uniquely identify this action */\n id: string;\n /**\n * @param {RowData} rowContext - RowData where this row action is triggered.\n * @param refreshRow - A callback which can be used to trigger refreshRow\n * which will trigger 'fetchRowData' api of {@link ApiContext} to fetch latest data for a row, after action is completed.\n * @return {void} - void\n */\n onClick: (rowContext: RowData, refreshRow: () => void) => void;\n}\n\n// Meta and it's type START\ninterface Category {\n label: string;\n}\n\ninterface ContextMenuOption {\n id: string;\n icon?: string;\n label: string;\n show?: boolean;\n disabled?: boolean;\n onClick?: (target: HTMLElement) => void;\n}\n\nexport interface HierarchicalInfo {\n parentId?: string;\n materializedPathId?: string;\n targetId?: string;\n sortById?: string;\n columnId?: string;\n mode?: string;\n}\n\nconst CellAlign = {\n LEFT: 'left',\n RIGHT: 'right',\n CENTER: 'center'\n} as const;\n\nexport const FieldType = {\n TEXT: 'text',\n NUMBER: 'number',\n BOOLEAN: 'boolean',\n DATE_TIME: 'datetime',\n DATE: 'date',\n TIME: 'time',\n DATE_TIMELINE: 'Date',\n DATE_ONLY: 'Date only',\n // TODO: URL as a type is not needed. It can be merged with TEXT.\n URL: 'URL',\n ACTION_FIELD_TYPE: 'action',\n CUSTOM: 'custom',\n CURRENCY: 'currency'\n} as const;\n\nexport interface StyleFormat {\n /** A unique identifier for the style format. */\n id: string;\n /** The display name of the style format. */\n label: string;\n /** A collection of style properties that defines how the format will be applied. */\n config: {\n /** Background color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n backgroundColor: string;\n /**\n * Foreground (text) color to be applied.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n *\n * Optional\n */\n foregroundColor?: string;\n /**\n * An icon used as a visual indicator of the applied format.\n * Optional.\n */\n icon?: {\n /** The name of icon. */\n name: string;\n /** The color of icon.\n * Supports standard CSS color formats like below:\n * - Named colors: `'red'`, `'blue'`, `'green'`, `'yellow'`, `'black'`, `'white'`, etc.\n * - Hex codes: `'#RRGGBB'`, `'#RGB'`, `'#RRGGBBAA'`, `'#RGBA'`\n * - RGB: `'rgb(255, 0, 0)'`\n * - RGBA: `'rgba(255, 0, 0, 0.5)'`\n */\n color: string;\n };\n };\n}\n\n// For now, conditionalFormatting is exposed for fields only. In future, for rows the fieldName can be made optional.\nexport interface ConditionalStyleFormat {\n /** The condition that determines whether this style format should be applied. */\n condition: Condition;\n /** The ID of the style format, sourced from {@link RsCoreBootArgs.styleFormats}, that will be applied if the condition is met. */\n styleFormatId: StyleFormat['id'];\n /** The {@link FieldDef.name name of the fieldDef} to which this style format is applied. */\n fieldName: FieldDef['name'];\n}\n\nexport const cellUpdateTrigger = {\n ROW_DENSITY_CHANGE: 'rowDensityChange'\n} as const;\n\nexport interface FieldDef {\n /** Actual field name in data */\n name: string;\n /** The type of the field will be used to derive cell renderer from {@link RsProps.renderFactory} */\n type: (typeof FieldType)[keyof typeof FieldType];\n /** Persistent ID of the field, typically the same as the name */\n id: string;\n /** A display name of that field */\n label: string;\n /**\n * Represents the category hierarchy of a field, if the field is nested within a parent property. The format should be an array of objects\n * where each index represents a level of the category hierarchy.\n * This structure is used to display the hierarchy of the field wherever necessary.\n * @example\n * ```json\n * [{label: 'categoryName'}]\n * ```\n */\n category?: Category[];\n /** Show {@link category} in header label. The header will be displayed in format {categoryName}.{label} where categoryName will be all the category's labels combined with .(dot) notation */\n showCategoryInHeaderLabel?: boolean;\n /** Defines Field whose value needs to be shown as HelperText e.g tooltip: 'pzDescription' field value for pyID field */\n tooltip?: string;\n /** Enable/Disable tooltip on column */\n showTooltip?: boolean;\n /** Width of the field in px */\n width?: number;\n /** Maximum width of the field in px */\n maxWidth?: number;\n /** Minimum width in pixels, field width cannot be resized below this threshold\n * @default 90\n */\n minWidth?: number;\n /** Allow filtering on this field\n * @default true\n */\n filter?: boolean;\n /** Filter popup presents a pick list to choose values from\n * @default false\n */\n filterPickList?: boolean;\n /** Allow sorting on this field\n * @default true\n */\n sort?: boolean;\n /** Allows sorting on load. If this property is present, then sortPriority is mandatory */\n sortDirection?: (typeof SortDirection)[keyof typeof SortDirection];\n /** Sets the priority on filed for multi sorting(1 takes highest precedence). Allows sorting on load. If this property is present, then sortDirection is mandatory */\n sortPriority?: number;\n /** Allow grouping on this field\n * @default true\n */\n grouping?: boolean;\n /** To set group order of the current field def */\n groupOrder?: number;\n /** To auto apply grouping on this field */\n grouped?: boolean;\n /** Choose date function {@link DateFunction} to group by when `grouped` is enabled for date/time field. Fallbacks to grouping by equality if undefined. */\n groupedDateFunction?: DateFunction;\n /** Additional field config for current field, if grouping is applied */\n groupedAdditionalFields?: GroupAdditionalField[];\n /** Allow resizing on this field\n * @default true\n */\n resize?: boolean;\n /** Allow reordering on this field\n * @default true\n */\n reorderFields?: boolean;\n /** Allow freezing of this field\n * @default true\n */\n freeze?: boolean;\n /** This field will resize to available excess width if set to true. Only first field definition will be honoured if configured on multiple fields. */\n fillAvailableSpace?: boolean;\n /** An asterisk will be added in the table header cell right after the label signifying it is required. */\n required?: boolean;\n /** Allow show/hide of this field\n * @default true\n */\n toggle?: boolean;\n /** Field shows in the view by default. Can be set to false to toggle it in later */\n show?: boolean;\n /** Show/hide field level Header action menu\n * @default true\n */\n showMenu?: boolean;\n /** Allow aggregation on this field\n * @default true\n */\n aggregation?: boolean;\n /** Allow combining of this field with other field\n * @default true\n */\n combineColumn?: boolean;\n /** Allow customizing column label and apply formatting\n * @default true\n */\n customizeColumn?: boolean;\n /** Disable context menu at cells of this field if set to true. Context menu is shown on right mouse click in the cell\n * @default false\n */\n noContextMenu?: boolean;\n /** This property extends options provided on right click in a cell context.\n * The default one's that the Repeating structures provide out of the box\n * are 'Copy Text', 'Paste Text' and 'Filter by this' */\n contextMenuOptions?: ContextMenuOption[];\n /** Optional name of a custom component to be rendered in the header cell of the column.\n * The custom component should be provided via the render factory.\n * If not specified, the default header cell renderer will be used. */\n headerCellRenderer?: string;\n /** Name of a custom component that is made available through the render factory. Check section on cellRenderer */\n cellRenderer?: string;\n /**\n * Configure additional events that explicitly trigger this field’s cell(s) to regenerate (re-render).\n * If omitted or empty, the cell will not update automatically on these events.\n *\n * These are *explicit* triggers that require the consumer to specify them for the cell to update.\n *\n *\n * Supported triggers include:\n * - `rowDensityChange`: when the row height or density changes.\n *\n * **Caution:** Using this may cause rendering overhead as the cells will be re-generated(re-rendered).\n *\n * @examples\n * ```json\n * cellUpdateTriggers: [\"rowDensityChange\"]\n * ```\n */\n cellUpdateTriggers?: (typeof cellUpdateTrigger)[keyof typeof cellUpdateTrigger][];\n\n /** Format on the basis of this field data should be formatted. The formatter should be present in {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}. */\n formatter?: string;\n /** To enable autosize on this field.\n * @default true\n */\n autosize?: boolean;\n // TODO: Remove this parentPath field. Consumer should handle the corresponding logic.\n /** If a field is of type pageList, parentpath should contain the path of the parent to traverse the field. */\n parentPath?: string;\n // TODO: Remove this isPageListField field. Consumer should handle the corresponding logic.\n /** Set if the field is of type pageList */\n isPageListField?: boolean;\n /** Enable 'Hierarchical' display mode on column if hierarchicalInfo exists. */\n hierarchicalInfo?: HierarchicalInfo;\n /** Align cell to left/right/center. Values accepted: 'left', 'right', 'center' */\n cellAlign?: (typeof CellAlign)[keyof typeof CellAlign];\n /** Column name label in group header will be hidden when set to 'true'\n * @default false\n */\n hideGroupColumnNameLabel?: boolean;\n // TODO this is exposed to consumer but is not being considered. Check this.\n /** Filter options for various field type\n * @example\n * [\n {\n value: 'Equals',\n key: 'equals'\n },\n {\n value: 'Not equals',\n key: 'notEquals'\n },\n {\n value: 'After',\n key: 'greaterThan'\n },\n {\n value: 'Before',\n key: 'lessThan'\n },\n {\n value: 'On or after',\n key: 'greaterThanEquals'\n },\n {\n value: 'On or before',\n key: 'lessThanEquals'\n }\n ]\n */\n filterParams?: {\n value: string;\n key: string;\n }[];\n /** To enable inline editing for a field. */\n editable?: boolean;\n /** A read only extra info related to field can be preserved in meta.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n meta?: { [key: string | number | symbol]: any };\n /** A read only extra info related to field can be preserved in this.\\\n * This will never be manipulated by repeating structure, it will be passed as it is to {@link FieldDef.cellRenderer cellRenderer} as props as it is. */\n customObject?: { [key: string | number | symbol]: any };\n /** Indicates if the field is used as rowHeader for A11y of the row */\n isRowHeader?: boolean;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A unique idHash.\n */\n idHash?: number;\n /** Indicates if this field is aggregated. If set to true, then first option from {@link Meta.aggregationType} will be picked as aggregation type for this field. */\n aggregated?: boolean;\n /** An array of conditional formats applied to the fieldDef.\n * @property {Condition} condition - The condition that determines whether the format should be applied.\n * @property {ConditionalStyleFormat} styleFormat - The {@link StyleFormat.id style format id} from `field` {@link RsCoreBootArgs.styleFormats styleFormats} applied to the cell if the condition evaluates to true.\n *\n * **Note**: *If the data satisfies multiple conditional style formats, the first matching conditional format will be used.*\n * */\n conditionalStyleFormats?: OmitStrict<ConditionalStyleFormat, 'fieldName'>[];\n /** Disables formatting on the field using {@link RsCoreBootArgs.renderFormatterTypeMap renderFormatterTypeMap}\n * @default false\n */\n disableFormatting?: boolean;\n /**\n * Formatter options for this specific field.\n * If the field level formatters are provided then they will be given priority than RS level {@link RsCoreBootArgs.renderFormatterTypeMap formatters}.\n */\n formatters?: RenderFormatterType[];\n}\nexport const ROW_DENSITY = {\n SHORT: '1',\n MEDIUM: '2',\n TALL: '3',\n WRAP_CONTENT: '4'\n} as const;\n\ntype DisplayDensity = {\n id: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n name: string;\n};\n\nexport const REPEATING_STRUCTURE_TEMPLATES = {\n TABLE: 'Table',\n GALLERY: 'Gallery',\n TIMELINE: 'Timeline',\n MAP: 'Map'\n} as const;\n\nconst SELECTION_MODE = {\n SINGLE: 'single',\n MULTI: 'multi',\n MULTI_ON_HOVER: 'multi_on_hover'\n} as const;\n\ntype TimelineFieldDef = Partial<Pick<FieldDef, 'name' | 'label' | 'type' | 'meta'>>;\n\ntype DisplayFeature = {\n filter?: boolean;\n grouping?: boolean;\n sort?: boolean;\n};\n\n/** Meta input to RS */\nexport interface Meta {\n /** Metadata for fields */\n fieldDefs: FieldDef[];\n /** itemKey for data identification */\n itemKey: string;\n /** Preset id of the current preset/personalization. This will be used to uniquely identify the preset on which the current view is dervied from */\n id: string;\n /** Preset name of the current preset/personalization. This will be displayed to end user */\n name: string;\n /** Array of fields(extra) that should be included in the query prepared for different api's in {@link ApiContext}.\n * `lists-client-api` package implicitly appends this in `select` field while preparing the query.\n */\n patchQueryFields?: string[];\n /** Array denoting sort operation order.\n *\n * @default\n * ```json\n * ['asc', 'desc', null]\n * ```\n */\n sortOrder?: (string | null)[];\n /**\n * A collection of row density options that users can select to adjust the height of rows based on the chosen density.\n *\n * @default\n * ```json\n * [\n * { \"name\": \"Short\", \"id\": \"1\" },\n * { \"name\": \"Medium\", \"id\": \"2\" },\n * { \"name\": \"Tall\", \"id\": \"3\" },\n * { \"name\": \"Full content\", \"id\": \"4\" }\n * ]\n * ```\n */\n displayDensity?: DisplayDensity[];\n /**\n * Configuration for the height of the view.\n *\n * @default\n * ```json\n * {\n * minHeight: 600\n * }\n * ```\n */\n height?: {\n /** The minimum height in pixels for the view or 'auto' */\n minHeight?: number;\n /** Specifies an HTML element or a string query selector to which the view's height will be adjusted. If this property is used, the `height` property will be ignored */\n fitHeightToElement?: HTMLElement | string;\n /** Specifies an explicit height in pixels for the view. If set, the `fitHeightToElement` property will be ignored. */\n height?: number;\n /** A height adjustment value in pixels */\n deltaAdjustment?: number;\n /** If true, the height will be adjusted responsively on window resize, but only if `fitHeightToElement` is provided. */\n autoSize?: boolean;\n /** The maximum height for the view, specified in pixels or as a CSS variable (e.g., `--view-height`) */\n maxHeight?: number | string;\n /** CSS variable that defines the minimum threshold to be used in `maxHeight` calculations. If not provided, a default value of `25rem` will be used.\n *\n * Caution: Use carefully as setting this value too low can introduce usability issues on smaller screens.\n */\n maxHeightMinValueVariable?: CSSVariable;\n };\n /** Allow show/hide of fields\n *\n * @default true\n */\n toggleFieldVisibility?: boolean;\n /** Allow grouping on fields\n *\n * @default true\n */\n grouping?: boolean;\n /** Determines the view of a Repeating Structure\n *\n * @default 'Table'\n */\n template?: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES];\n /** Allow editing on fields and if enabled then row actions are also enabled.\n *\n * @default false\n */\n editing?: boolean;\n /** Allow deleting of rows.\n */\n deleting?: boolean;\n /** Allow personalization views\n * @default true\n */\n personalization?: boolean;\n /** Enable app default personalization options in Toolbar action menu.\n * If a personalization is set as App Default then that will be used as default personalization in repeating structures.\n * @default false\n * */\n enableAppDefault?: boolean;\n /**\n * Name to be shown for non personalized view.\n * @default 'Initial view'\n */\n nonPersonalizationViewName?: string;\n /** Allow field (column) reordering through a drag and drop action.\n * @default true\n */\n reorderFields?: boolean;\n /** Allow row reordering through a drag and drop action.\n * @default false\n */\n reorderItems?: boolean;\n /**\n * Allow to add a column for drag handle\n * @default false\n * @deprecated Use {@link rowReorderField}\n */\n dragHandle?: boolean;\n /**\n * Enables row reorder column. By default if enabled, it will be visible. To override the default behavior set show as false.\n */\n rowReorderField?: {\n show: boolean;\n };\n /**\n * Brings in a search widget to allow searching across all text type fields.\n * @default true\n */\n globalSearch?: boolean;\n /** Display toolbar on the view.\n * @default true\n */\n toolbar?: boolean;\n /** Display count in toolbar.\n * @default true\n */\n showCount?: boolean;\n /**\n * Row density id value from the \"displayDensity\" options prop above.\n * @default {@link ROW_DENSITY.SHORT}\n */\n defaultRowHeight?: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY];\n /**\n * Renders the 'Bulk actions' button in the table toolbar, which gets enabled on row selection.\n * @default false\n */\n allowBulkActions?: boolean;\n /**\n * Denotes the page size being passed in the case of rest backed data page\n * #JSDOC\n */\n pageSize?: number;\n /** Enables date-functions like MONTHS/WEEKS/... during Grouping and Filtering. ([Object structure](https://git.pega.io/projects/PS/repos/cosmos/browse/packages/cosmos-condition-builder/src/components/ConditionBuilder/ConditionBuilder.types.ts?until=dfcf607851276bfeb877e9fb2c8f55d4396fd8b7&untilPath=packages%2Fcosmos-condition-builder%2Fsrc%2Fcomponents%2FConditionBuilder%2FConditionBuilder.types.ts#79-85)) */\n dateFunctions?: DateFunctionsByType;\n /** Enabled Relative Dates, such as \"Last 7 days\" (Or) \"Current Year\", in filtering for the DateTime or Date_Only values\".\n * @default false\n */\n relativeDates?: boolean;\n /** Display footer on the view.\n * @default true\n */\n footer?: boolean;\n /**\n * Templates for dynamic fields (or) columns which are used to combine two columns with a template.\n * @default\n * ```json\n * [\n * { name: 'Comma separated', value: 'comma',selected: true },\n * { name: 'Space separated', value: 'space' },\n * { name: 'Multi line', value: 'multiline' },\n * { name: 'Forward slash', value: 'forwardslash' }\n * ]\n * ```\n */\n dynamicFieldTemplates?: {\n name: string;\n value: string;\n selected?: boolean;\n }[];\n /** Repeating Structure Title\n * @default '<label not set>'\n */\n title?: string;\n /** Repeating Structure Icon\n * @default 'picture'\n */\n icon?: string;\n /** Display Header Bar\n * @default false\n */\n headerBar?: boolean;\n /**\n * Display Respective Header Icons at field labels based on type\n * @default false\n */\n showHeaderIcons?: boolean;\n /** Indicates if freezing is allowed on Fields. */\n freezeFields?: boolean;\n /**\n * list of available static actions for an editable table with following properties\n * @example\n * ```json\n * [\n * {\n * text: 'Open in a new tab',\n * id: 'row-new-tab',\n * onClick: () => {}\n * }\n * ]\n * ```\n * @default\n * []\n */\n rowActions?: RowAction[];\n /** Decides type of row selection mode (radio for single/ checkbox for multi) possible values : single / multi / multi-on-hover */\n selectionMode?: (typeof SELECTION_MODE)[keyof typeof SELECTION_MODE];\n /** Displays select-all checkbox if selectionMode is multi-on-hover and the records count is not greater than threshold */\n selectionCountThreshold?: number;\n /** To Disable/Enable selection of rows */\n disableSelectionOnLoad?: boolean;\n /** To show asterisk(*) symbol on table header in case of Data Reference/Embedded views. (Note: This works perfectly if the personalization is off.) */\n requiredOnLoad?: boolean;\n /**\n * List of available static actions at table level (shown in toolbar/ headerbar) with following properties\n * [{ text: 'Add', tooltip: 'Add story', id: 'Add', onClick: () => {}}]\n */\n toolbarActions?: {\n text: string;\n id: string;\n onClick: () => void;\n tooltip: string;\n }[];\n /** Allow row reordering through a drag and drop action.\n * default value: false\n */\n moveListRecords?: boolean;\n\n /** Allow end user to refresh data of the repeating structures. Enabling this will show up `Refresh` action in repeating structures toolbar.\n * @default false\n */\n allowRefresh?: boolean;\n\n /** The height of repeating structure is calculated on this parameter if provided. */\n numberOfRows?: number;\n /** Display views of repeating structures with full or condensed toolbar.\n * @default false\n * Default shows full toolbar.\n */\n basicMode?: boolean;\n /** Timezone which is passed to formatter\n * @default 'America/New_York'\n */\n timezone?: string;\n /** Locale which is passed to formatter function\n * @default 'en-US'\n */\n locale?: string;\n timelineFields?: {\n /** Timeline template title for display */\n title?: TimelineFieldDef;\n /** Timeline template date for display */\n date?: TimelineFieldDef;\n /** Timeline template status for display */\n status?: TimelineFieldDef & { getCustomContent?: (row: Row) => ActivityObject['status'] };\n /** Timeline template icon for display */\n icon?: TimelineFieldDef;\n /** Timeline template content for display */\n content?: TimelineFieldDef;\n };\n /** Map template field ids for display */\n mapFieldIds?: {\n /** Map template location field id for display */\n location?: FieldDef['id'];\n /** Map template label field id for display */\n label?: FieldDef['id'];\n /** Map template content field id for display */\n content?: FieldDef['id'];\n };\n /** A unique key for injectable filters component.\n * This key will be sent to {@link RsCoreBootArgs.renderFactory renderFactory} as 'type' to get a renderer for the external filters.\n * The renderer will be shown between Repeating structures body and repeating structures toolbar.\n * This key should be used in {@link State.externalState externalState} to populate state related to externalFilters.\n */\n externalFilters?: string;\n /** This key is used to show the 'Import Data' action in the repeating structures toolbar. It will only work for Launchpad.\n * On click, it will call {@link ApiContext.importCSVData importCSVData} open a modal allowing the user to upload a file.\n */\n showImportDataOption?: boolean;\n /** This key is used to show 'Export to Excel' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportData exportData} api is called to export repeating structures data into excel file. */\n showExportToExcelOption?: boolean;\n /** This key is used to show 'Export to CSV' action in repeating structure toolbar.\n * On click of it, {@link ApiContext.exportDataToCSV exportDataToCSV} api is called to export repeating structures data into CSV file. */\n showExportToCSVOption?: boolean;\n /** To enable 'Freeze columns' action in toolbar action menu. This action triggers freezing of columns.This toolbar action considers {@link FieldDef.freeze freeze} key in FieldDef too.\n * @default true\n */\n // TODO: meta.freezeFields and meta.enableFreezeColumns are checking the same thing. Evaluate if one can be removed.\n enableFreezeColumns?: boolean;\n /** To enable 'Auto size columns' action in toolbar action menu. This action triggers auto size of columns.\n * @default true\n */\n autoSizeColumns?: boolean;\n /** To enable 'Query info' action in toolbar action menu. This action shows query information.\n * @default false\n */\n showQueryInfo?: boolean;\n /** To enable 'Reset column widths' action in toolbar action menu. This action triggers reset of columns width to its default state.\n * @default true\n */\n resetColumnWidths?: boolean;\n /** To enable 'Row density' action in toolbar action menu. This action triggers a popover menu item to select row density.This toolbar action considers {@link Meta.displayDensity displayDensity} key in Meta too.\n * @default true\n */\n rowDensity?: boolean;\n /** To show/hide filter,sort,group action buttons from end user.\\\n * **Note**: Above features will still work, it is just not available to end user to trigger.\n * @default\n * ```json\n * {\n * filter: true,\n * grouping: true,\n * sort: true\n * }\n * ```\n */\n displayFeatures?: DisplayFeature;\n /** Enables error column. The column will be visible when dataErrors are present in {@link State.errors errors}.\n * @default false\n * @deprecated Use {@link rowErrorField}\n */\n showErrorField?: boolean;\n /**\n * Enables error column. By default if enabled, it will be hidden. To override the default behavior set show as true.\n * The column will be visible when dataErrors are present in {@link State.errors errors}.\n */\n rowErrorField?: {\n show: boolean;\n };\n /** Id of the custom renderer that should be used to display customized columns cells. */\n customFieldRenderer?: string;\n /** Id of the custom renderer that should be used to display header cells. */\n customHeaderRenderer?: string;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * The default config of the FieldDef. This is used to normalize each {@link FieldDef} properties with its default value.\n */\n defaultFieldDef?: OmitStrict<FieldDef, 'name' | 'type' | 'id' | 'label'>;\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * A set of comparator map used for filter operation on columns. */\n comparatorMap?: FilterConfig['comparatorMap'];\n /**\n * @private\n * This is for internal purpose only. Value for this will not be considered.\n *\n * Indicates if editing is enabled on Repeating structures.\n */\n editable?: boolean;\n /** A set of aggregation options available for a column on which the data can be aggregated.\n *\n * @default\n * ```json\n * {\n * number: ['Sum', 'Min', 'Max', 'Avg']\n * }\n * ```\n */\n aggregateOptions?: {\n [fieldType: string]: AggregationType[];\n };\n /** An optional change action that will be called whenever the personalization is switched. */\n personalizationChangeAction?: () => void;\n /** Predefined filters that will be applied on load of repeating structures. */\n filterExpression?: Condition;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/lists-core",
|
|
3
|
-
"version": "9.0.0-build.
|
|
3
|
+
"version": "9.0.0-build.8.1",
|
|
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,9 +14,9 @@
|
|
|
14
14
|
"build": "tsc -b tsconfig.build.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pega/cosmos-react-condition-builder": "9.0.0-build.
|
|
18
|
-
"@pega/cosmos-react-core": "9.0.0-build.
|
|
19
|
-
"@pega/cosmos-react-work": "9.0.0-build.
|
|
17
|
+
"@pega/cosmos-react-condition-builder": "9.0.0-build.8.1",
|
|
18
|
+
"@pega/cosmos-react-core": "9.0.0-build.8.1",
|
|
19
|
+
"@pega/cosmos-react-work": "9.0.0-build.8.1",
|
|
20
20
|
"@types/lodash.get": "^4.4.9",
|
|
21
21
|
"@types/uuid": "^9.0.0",
|
|
22
22
|
"dayjs": "^1.11.13",
|