@pega/lists-core 9.0.0-build.16.1 → 9.0.0-build.16.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/lib/src/core/actions/actions.js +1 -1
  2. package/lib/src/core/actions/actions.js.map +1 -1
  3. package/lib/src/core/actions/actions.types.d.ts.map +1 -1
  4. package/lib/src/core/config/config.d.ts.map +1 -1
  5. package/lib/src/core/config/config.js +2 -1
  6. package/lib/src/core/config/config.js.map +1 -1
  7. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts +1 -1
  8. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.d.ts.map +1 -1
  9. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js +6 -1
  10. package/lib/src/core/features/uIFeatures/beforeRender/columnToggle.js.map +1 -1
  11. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.d.ts.map +1 -1
  12. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js +30 -12
  13. package/lib/src/core/features/uIFeatures/beforeRender/stateSanitization.js.map +1 -1
  14. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  15. package/lib/src/core/generators/ViewGenerator.d.ts +5 -0
  16. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
  17. package/lib/src/core/generators/ViewGenerator.js +9 -2
  18. package/lib/src/core/generators/ViewGenerator.js.map +1 -1
  19. package/lib/src/core/generators/ViewGenerator.types.d.ts +1 -1
  20. package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -1
  21. package/lib/src/core/generators/ViewGenerator.types.js.map +1 -1
  22. package/lib/src/core/test/junitMocks.d.ts +12 -0
  23. package/lib/src/core/test/junitMocks.d.ts.map +1 -1
  24. package/lib/src/core/test/junitMocks.js +14 -7
  25. package/lib/src/core/test/junitMocks.js.map +1 -1
  26. package/lib/src/core/utils/util.d.ts +1 -1
  27. package/lib/src/core/utils/util.d.ts.map +1 -1
  28. package/lib/src/core/utils/util.js +28 -2
  29. package/lib/src/core/utils/util.js.map +1 -1
  30. package/lib/types/Meta.types.d.ts +11 -5
  31. package/lib/types/Meta.types.d.ts.map +1 -1
  32. package/lib/types/Meta.types.js +2 -1
  33. package/lib/types/Meta.types.js.map +1 -1
  34. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuidV4 } from 'uuid';\n\nimport type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport type { Meta } from '../../../types/Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../types/State.types';\nimport {\n defaultPresetIdIndex,\n rowDensityClasses,\n rowSelectColumnMeta,\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n SELECTION_MODES,\n TEMPLATES\n} from '../constants';\nimport * as actions from '../actions/actions';\nimport { getExternalStateKeys, isRowReorderFieldEnabled, normalizeFieldDef } from '../utils/util';\nimport defaultConfig from '../config/config';\nimport type RsStore from '../RsStore';\nimport type RsInternal from '../RsInternal';\nimport type RsProps from '../RsProps';\nimport type StateResolver from '../StateResolver';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type ActionTypes from '../actions/actionConstants';\n\nimport type { UtilityFunctions } from './viewUtilityMethods';\nimport Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type {\n ConfirmationActionDetails,\n DebugInfo,\n FormatterFunction,\n FreezeLine,\n RefreshNotification,\n RequiredDefinition,\n UIProps,\n ViewConfig,\n ViewContext,\n ViewState,\n VirtualizeElement\n} from './ViewGenerator.types';\nimport type { RowData } from './RowGenerator.types';\nimport type { ColumnConfig } from './ColumnGenerator.types';\nimport type GroupGenerator from './GroupGenerator';\n\n/** A view model blueprint that represents the whole view of a repeating structure component. */\nexport default class View {\n /** A dispatcher function to dispatch actions to RsCore. */\n #dispatch: StateResolver['dispatch'];\n /** Rs store object */\n #rsStore: RsStore;\n /** Unique id for the current view */\n #viewID: string;\n /** Rs internal object reference. */\n #rsInternal: RsInternal;\n /** used to pass the latest view to rsInternal. */\n #updateView!: RsInternal['updateView'];\n /** Value of unique key to identify the single selected row. */\n #singleSelectionRowKey?: string;\n /** Render factory reference from {@link RsProps} */\n renderFactory: RsProps['renderFactory'];\n /** A unique id to identify the current repeating structure. */\n rsID: string;\n /** Current data for the view. */\n data?: RowData[];\n /** Current {@link Column columns} for the view. */\n columns?: Column[];\n /** Current {@link Row rows} for the view. */\n rows?: Row[];\n /** Current group headers for the view. */\n groupHeaders?: GroupGenerator[];\n /** Indicates the visible records count for the current view after applying any type of filter operation. */\n resultsCount?: number;\n /** Indicates whether to show the overall count on view or not. */\n showCount?: boolean;\n /** Indicates if the view has more records. */\n hasMoreResults?: boolean;\n /** Indicates the total record count of the view including group headers.\n */\n totalItemCount?: number;\n /** Indicates the total selected records count. */\n selectedRecordsCount?: number;\n /** Indicates the total height of the view. */\n viewHeight?: number;\n /** Indicates the current height of the container that contains data records like rows. */\n bodyHeight?: number | string;\n /** Indicates max height of the current parent container. */\n bodyMaxHeight?: number;\n /** Indicates the current height of each data row. It does not include group header row. */\n rowHeight?: number;\n /** Indicates the class name of the current selected row density. */\n rowHeightClass?: string;\n /** Indicates if the filter is applied for the current view. */\n isFilterApplied?: boolean;\n /** Indicates if the view is in loading state and not ready. It is used to show loaders in case of api calls. */\n isLoading?: boolean;\n /** Styles for the freeze line to be shown when freezing is applied. */\n freezeLine?: FreezeLine;\n /** Meta of the repeating structures. */\n meta: Meta;\n /**\n * This function is provided a click handler for a row via row generator.\n * @param {RowData} data - current row data\n * @returns {void} void\n */\n onRowClickAction?: RsProps['onRowClickAction'];\n /** A list of customised the toolbar actions to be displayed at the top of a repeating structure, apart from ootb toolbar actions. */\n toolBarOptions?: RsProps['toolBarOptions'];\n /** An object of formatter functions which formats the raw value. */\n formatters?: RsProps['formatters'];\n /** A collection of style formats that can be applied for styling the data. */\n styleFormats?: RsProps['styleFormats'];\n /** A map of formatters that will be displayed to consumer to format a fieldDef in repeating structure. */\n renderFormatterTypeMap?: RsProps['renderFormatterTypeMap'];\n /** Reference to the top level Html element of repeating structures. */\n domContainer?: HTMLElement;\n /** Reference to the scroller element of repeating structures */\n scrollerNode?: HTMLElement;\n /** Reference to the header element of repeating structures. */\n itemElement?: HTMLElement;\n /** Reference to the virtualizer instance of the repeating structures. */\n virtualizeElements: VirtualizeElement;\n /** Indicates if hierarchical grouping is enabled. */\n hierarchicalGroupEnabled?: boolean;\n /** The details of the confirmation action modal triggered from consumer of repeating structures. */\n confirmationActionDetails?: ConfirmationActionDetails;\n /** Indicates if a count update is required. E.g. after applying filter a reset of count is required. */\n isCountUpdateRequired?: boolean;\n /** Indicates if count is generated internally. Used for RS core internal purpose. */\n countGeneratedInternally?: boolean;\n /** The state shared with the view after completion of one render cycle. */\n state: ViewState;\n /** The details of the debug information shared by the consumer of repeating structures.\n * It is displayed as one of the toolbar actions to debug the {@link ApiContext api context methods} latency. */\n debugInfo?: DebugInfo[];\n /** The definition of a required view. It has a boolean flag to indicate if the current repeating structures view\n * is required and a validation message to be displayed in case of required validation failure.\n * This definition is passed by consumer of repeating structures. */\n requiredDef?: RequiredDefinition;\n /** A set of {@link State.externalState external state} valid keys derived from meta.\n * E.g. value of {@link Meta.externalFilters external filters in meta} is a valid external state key. */\n externalStateKeys?: string[];\n /** Stores all the view related utility functions */\n type!: UtilityFunctions;\n /** Indicates if the current view object is generated via instantRender. */\n isInstantRender?: boolean;\n /** Config to show refreshNotification. This will be set upon receiving {@link ActionTypes.NOTIFY_DATA_REFRESH NOTIFY_DATA_REFRESH} action. */\n refreshNotification?: RefreshNotification;\n\n /**\n Overrides the default count announcement behavior for screen readers.\n * true: Always announce the row count, including on first render.\n * false: Never announce the row count.\n * undefined: Use default behavior (skip first count announcement, announce on subsequent count updates).\n */\n announceCount?: boolean;\n /**\n * Creates a view instance that represents the whole view of repeating structures.\n * It has properties like rows, columns, data to build a repeating structures view.\n * @param options An options object to create a view instance. If passed the view is created with this set of options.\n * @param rsInternal The {@link RsInternal} object.\n */\n constructor(config: ViewConfig, rsInternal: RsInternal) {\n const {\n data,\n columns,\n rows = [],\n groupHeaders,\n resultsCount,\n hasMoreResults,\n totalItemCount,\n showCount,\n viewHeight,\n selectedRecordsCount,\n bodyHeight,\n bodyMaxHeight,\n rowHeight,\n rowHeightClass,\n isFilterApplied,\n isLoading,\n freezeLine,\n state,\n domContainer,\n scrollerNode,\n meta,\n itemElement,\n virtualizeElements,\n debugInfo = [] as DebugInfo[],\n requiredDef,\n hierarchicalGroupEnabled,\n singleSelectionRowKey,\n confirmationActionDetails,\n externalStateKeys,\n isCountUpdateRequired,\n countGeneratedInternally,\n isInstantRender,\n refreshNotification,\n announceCount\n } = config;\n const { getRsStore, getRsProps, getRsStateResolver } = rsInternal;\n this.#rsInternal = rsInternal;\n this.#rsStore = getRsStore();\n const rsProps = getRsProps();\n const rsStateResolver = getRsStateResolver();\n\n this.#dispatch = rsStateResolver.dispatch;\n this.#viewID = uuidV4();\n\n // TODO: temporary solution until renderFactory is moved out of core library\n this.renderFactory = rsProps.renderFactory;\n this.rsID = rsInternal.getRsID();\n\n this.data = data;\n this.columns = columns!;\n this.rows = rows;\n this.groupHeaders = groupHeaders;\n this.resultsCount = resultsCount;\n this.hasMoreResults = hasMoreResults;\n this.showCount = meta.showCount ? showCount : false;\n this.totalItemCount = totalItemCount;\n this.selectedRecordsCount = selectedRecordsCount;\n this.viewHeight = viewHeight;\n this.bodyHeight = bodyHeight;\n this.bodyMaxHeight = bodyMaxHeight;\n this.rowHeight = rowHeight;\n this.rowHeightClass = rowHeightClass;\n this.isFilterApplied = isFilterApplied;\n this.isLoading = isLoading;\n this.freezeLine = freezeLine;\n this.meta = meta;\n this.onRowClickAction = rsProps.onRowClickAction;\n this.toolBarOptions = rsProps.toolBarOptions;\n this.formatters = rsProps.formatters;\n this.styleFormats = rsProps.styleFormats;\n this.renderFormatterTypeMap = rsProps.renderFormatterTypeMap;\n this.#singleSelectionRowKey = singleSelectionRowKey;\n\n this.domContainer = domContainer;\n this.scrollerNode = scrollerNode;\n this.itemElement = itemElement;\n this.virtualizeElements = virtualizeElements || {};\n this.hierarchicalGroupEnabled = hierarchicalGroupEnabled;\n this.confirmationActionDetails = {\n ...confirmationActionDetails!,\n showConfirmationAction: state?.showConfirmationAction!\n };\n this.isCountUpdateRequired = isCountUpdateRequired;\n this.countGeneratedInternally = countGeneratedInternally;\n this.debugInfo = debugInfo;\n this.requiredDef = requiredDef;\n this.externalStateKeys = externalStateKeys || getExternalStateKeys(this.meta);\n this.isInstantRender = isInstantRender;\n this.refreshNotification = refreshNotification;\n this.announceCount = announceCount;\n // FIXME: keep the state on view in sync with the emitted stated from StateResolver\n this.state = {\n searchText: state?.search?.query || '',\n personalization: state?.personalization,\n filterExpression: state?.filterExpression,\n clearColFilter: state?.clearColFilter,\n sortingOrder: state?.sortingOrder,\n groups: state?.groups,\n allGroupsExpanded: state?.allGroupsExpanded,\n groupToggle: state?.groupToggle,\n showHeaderIcons: state?.showHeaderIcons,\n colOrder: state?.colOrder,\n hiddenColumns: state?.hiddenColumns,\n freezeColumns: state?.freezeColumns,\n columnWidths: state?.columnWidths,\n customFields: state?.customFields,\n selectedHeightOption: state?.selectedHeightOption,\n paginationOptions: state?.paginationOptions,\n notifications: state?.notifications,\n rowSelectionChangeSet: state?.rowSelectionChangeSet,\n selectedRows: state?.selectedRows,\n bootstrap: state?.bootstrap,\n refresh: state?.refresh,\n showSelectAllCheckbox: state?.showSelectAllCheckbox,\n externalState: state?.externalState,\n columnAlias: state?.columnAlias,\n aggregationInfo: state?.aggregationInfo,\n errors: state?.errors,\n responsive: state?.responsive, // stores the responsive behavior of DOM container w.r.t. various breakpoints.\n conditionalStyleFormats: state?.conditionalStyleFormats\n };\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.getRenderingEnginePropsById = this.getRenderingEnginePropsById.bind(this);\n this.getFormatterByKey = this.getFormatterByKey.bind(this);\n this.getContext = this.getContext.bind(this);\n this.setProp = this.setProp.bind(this);\n this.addColumnAtIndex = this.addColumnAtIndex.bind(this);\n this.getRowDensity = this.getRowDensity.bind(this);\n this.setDomContainer = this.setDomContainer.bind(this);\n this.setItemElement = this.setItemElement.bind(this);\n this.shouldDisplayFeature = this.shouldDisplayFeature.bind(this);\n this.setScrollNode = this.setScrollNode.bind(this);\n this.putVirtualizeElement = this.putVirtualizeElement.bind(this);\n this.getDomContainer = this.getDomContainer.bind(this);\n this.getItemElement = this.getItemElement.bind(this);\n this.getScrollNode = this.getScrollNode.bind(this);\n this.getVirtualizeElement = this.getVirtualizeElement.bind(this);\n this.applyColumnsAutoSize = this.applyColumnsAutoSize.bind(this);\n this.addColumn = this.addColumn.bind(this);\n this.getUIProps = this.getUIProps.bind(this);\n }\n\n // Used by setProp for mutation\n /**\n * Retruns the View properties that is used by setProp while creating new view.\n * @returns\n */\n #get(): ViewConfig &\n Pick<RsProps, 'toolBarOptions' | 'formatters' | 'renderFormatterTypeMap' | 'onRowClickAction'> {\n return {\n data: this.data,\n singleSelectionRowKey: this.#singleSelectionRowKey,\n columns: this.columns,\n rows: this.rows,\n groupHeaders: this.groupHeaders,\n resultsCount: this.resultsCount,\n showCount: this.showCount,\n hasMoreResults: this.hasMoreResults,\n totalItemCount: this.totalItemCount,\n selectedRecordsCount: this.selectedRecordsCount,\n viewHeight: this.viewHeight,\n bodyHeight: this.bodyHeight,\n bodyMaxHeight: this.bodyMaxHeight,\n rowHeight: this.rowHeight,\n rowHeightClass: this.rowHeightClass,\n isFilterApplied: this.isFilterApplied,\n isLoading: this.isLoading,\n freezeLine: this.freezeLine,\n meta: this.meta,\n toolBarOptions: this.toolBarOptions,\n formatters: this.formatters,\n renderFormatterTypeMap: this.renderFormatterTypeMap,\n state: this.state,\n onRowClickAction: this.onRowClickAction,\n domContainer: this.domContainer,\n scrollerNode: this.scrollerNode,\n itemElement: this.itemElement,\n virtualizeElements: this.virtualizeElements,\n debugInfo: this.debugInfo,\n requiredDef: this.requiredDef,\n hierarchicalGroupEnabled: this.hierarchicalGroupEnabled,\n confirmationActionDetails: this.confirmationActionDetails,\n externalStateKeys: this.externalStateKeys,\n isCountUpdateRequired: this.isCountUpdateRequired,\n countGeneratedInternally: this.countGeneratedInternally,\n isInstantRender: this.isInstantRender,\n refreshNotification: this.refreshNotification,\n announceCount: this.announceCount\n };\n }\n\n /**\n * Attach utility functions of view to {@link type} property.\n * @param functions\n * @returns void\n */\n addUtilityFunctions(functions: UtilityFunctions) {\n this.type = functions;\n }\n\n /**\n * Sets the {@link updateView} callback function.\n * @param updateViewCallback\n * @returns void\n */\n setViewUpdateCallback(updateViewCallback: RsInternal['updateView']) {\n this.#updateView = updateViewCallback;\n }\n\n /**\n * This is used to create immutable objects of {@link View} instance. Always call setProp if updating any properties of View to make it immutable.\n * @param prop Either partial of {@link ViewConfig} or individual properties of {@link ViewConfig}.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link ViewConfig}\n * @returns void\n */\n setProp(prop: Partial<ViewConfig> | keyof ViewConfig, value?: ViewConfig[keyof ViewConfig]) {\n const { getView } = this.#rsInternal;\n if (getView().#viewID !== this.#viewID) {\n // eslint-disable-next-line no-console\n console.warn('Doing setProp on a stale view. This might cause bugs.');\n }\n const pObject = typeof prop === 'object' ? prop : { [prop]: value };\n\n const clonedView = new View({ ...this.#get(), ...(pObject as ViewConfig) }, this.#rsInternal);\n\n if (!Object.hasOwn(pObject, 'state')) {\n clonedView.state = this.state;\n }\n\n this.#updateView(clonedView);\n\n return clonedView;\n }\n\n // FIXME: add tranlsations back\n /**\n * Returns the ui props for the {@link View} used for accessibility.\n */\n getUIProps(): UIProps {\n const activeView = this.state.personalization?.active!;\n const personalizations = this.state.personalization?.allPersonalizations;\n const ariaLabel =\n personalizations && Object.keys(personalizations).length > 1\n ? `${this.meta.title}: ${personalizations[activeView]?.name}`\n : this.meta.title!;\n return {\n role: 'grid',\n 'aria-rowcount': (this.totalItemCount ?? 0) + 1, // include header row as well in total row count announcement\n 'aria-colcount': this.getVisibleColumns(true).length, // include action columns as well for total column count announcement\n 'aria-label': this.#rsStore.translate('view_navigation_instructions', [ariaLabel])\n };\n }\n\n /** Returns the default(preset at 0th index in {@link RsStore.presets presets} array) preset id. */\n get defaultPresetId(): string | undefined {\n return this.#rsStore.presets?.[defaultPresetIdIndex].id;\n }\n\n /** Indicates if the view is ready.(means the RS component is mounted). */\n get isReady() {\n return this.state.bootstrap;\n }\n\n /** Indicates if {@link Meta.selectionMode selection mode} is ON */\n get isInSelectionMode(): boolean {\n return !!(this.meta?.selectionMode && SELECTION_MODES[this.meta.selectionMode]);\n }\n\n /** Indicates if the Group Expand all functionality should be shown on UI. */\n get showGroupingExpandCollapseAll(): boolean {\n return !!this.#rsStore.groupingInfo?.length;\n }\n\n /** A set of props that can be used to configure Group Expand all Header cell. */\n get groupingHeaderCellProps() {\n if (!this.showGroupingExpandCollapseAll) return {};\n return {\n isExpanded: this.state.allGroupsExpanded,\n handleChange: (isExpanded: boolean): void =>\n this.#dispatch(actions.actionGroupingExpandCollapseAll(isExpanded)),\n enable: this.showGroupingExpandCollapseAll as boolean,\n // Do not show right border if OOTB columns are on.\n classList:\n this.state.showSelectAllCheckbox ||\n this.state.errors?.dataErrors ||\n isRowReorderFieldEnabled(this.meta)\n ? ['no-border-right']\n : []\n };\n }\n\n /** Indicates if there are no records in the view. */\n get hasNoRecords() {\n return !Number.isNaN(this.resultsCount) && this.resultsCount === 0;\n }\n\n /** Indicates if there are any frozen columns in the view. */\n get hasNoFrozenColumns() {\n return (this.columns?.filter(c => c.frozen && !c.hidden).length ?? 0) === 0;\n }\n\n /** Indicates to hide the freeze line if selection column is the only frozen column in the view. */\n get bHideFreezeLine() {\n const frozenColumns = this.columns?.filter(col => col.frozen && !col.hidden) ?? [];\n return frozenColumns.length === 1 && frozenColumns[0].field.id === rowSelectColumnMeta.field.id;\n }\n\n /** Return the predefined CSS classes for a view. */\n get className(): string {\n if (this.meta?.template !== TEMPLATES.TABLE) return '';\n // if every visible column has a width defined in field def, no need to hide the columns and wait for width calculation\n if (this.getVisibleColumns().every(col => !!col?.field?.width)) return '';\n if (!this.#rsStore.columnSizingTriggerdOnRowsAvailable) return 'hide-rows-till-ready';\n return '';\n }\n\n /**\n * Adds a column to the {@link columns Columns} of the view\n * @param field The {@link Column.field field} for the column.\n * @param option Extra options.\n * @returns the new column or existing column if it already exists.\n */\n addColumn(field: Column['field'], option: OmitStrict<ColumnConfig, 'field'>): Column {\n // Check if any column with new field exists, don't add it and show warnings.\n const existingColumn = this.columns?.find(c => c.field.id === field.id);\n\n if (!existingColumn) {\n const rowActionColumnIndex = this.columns?.findIndex(\n c => c.field.id === rowActionColumnMeta.field.id\n );\n /*\n The row action column should always be the last column in the view.\n The newly added column should take the position of the row action column\n and push it to the last in the array.\n */\n if (rowActionColumnIndex && rowActionColumnIndex !== -1) {\n return this.addColumnAtIndex(field, option, rowActionColumnIndex);\n }\n normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n const cloned = [...this.columns!];\n cloned.push(column);\n this.columns = cloned;\n return column;\n }\n return existingColumn;\n }\n\n /**\n * Adds a column at a specified index in the {@link columns Columns} of the view.\n * @param field The {@link Column.field field} for the column.\n * @param option Extra options.\n * @param index The index at which the column needs to be inserted in the {@link columns Columns} array of view.\n * @returns void\n */\n addColumnAtIndex(\n field: Column['field'],\n option: OmitStrict<ColumnConfig, 'field'>,\n index: number\n ): Column {\n // Check if any column with new field exists, don't add it and show warnings.\n const existingColumn = this.columns?.find(c => c.field.id === field.id);\n if (!existingColumn) {\n // Full blow the meta\n normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n const cloned = [...this.columns!];\n cloned.splice(index, 0, column);\n this.columns = cloned;\n return column;\n }\n return existingColumn;\n }\n\n /**\n * Remove a column from the {@link columns Columns} array of the view.\n * @param fieldId The {@link Column.field.id fieldId} of the column to be removed.\n * @returns boolean - Indicates if the column is successfully removed from the view.\n */\n removeColumn(fieldId: string) {\n // Check if column exists, delete it and show warnings if not exists.\n const existingColumn = this.columns?.find(c => c.field.id === fieldId);\n if (existingColumn) {\n this.columns = this.columns?.filter(c => c.field.id !== fieldId);\n return true;\n }\n // eslint-disable-next-line no-console\n console.warn(`Column with id ${fieldId} not found.`);\n\n return false;\n }\n\n /**\n * Return the rendering engine props of a given column\n * @param id The {@link Column.field.id id} of the column for which rendering engine props are required.\n * @returns\n */\n getRenderingEnginePropsById(id: string) {\n const column = this.columns?.find(c => c.field.id === id);\n return column?.getRenderingEngineProps();\n }\n\n /**\n * Returns the row density id for a given {@link rowHeightClass}.\n * @returns\n */\n getRowDensity(): string {\n return Object.values(rowDensityClasses).find(obj => obj.className === this.rowHeightClass)!.id;\n }\n\n /** Returns the current view context. While building a RS view,\n * pass getContext to the consumers of RS to access the view related information.\n *\n * @public\n * */\n getContext(): ViewContext {\n return {\n getMeta: () => this.meta,\n getState: () => this.state,\n getColumns: () => this.columns,\n getRenderingEnginePropsById: this.getRenderingEnginePropsById,\n selectedRecordsCount: this.selectedRecordsCount,\n resultsCount: this.resultsCount,\n getRequiredDef: () => this.requiredDef,\n getRowDensity: this.getRowDensity\n };\n }\n\n /**\n * It returns the formatter function available for a given formatterName from {@link RsProps.formatters formatters} passed to RS Core.\n * @param formatterName\n * @returns\n */\n getFormatterByKey(formatterName: string): FormatterFunction | undefined {\n return this.formatters?.[formatterName];\n }\n\n /**\n * This sets the parent dom container in RS core. RS Core utilizes this dom container for DOM related features.\n * Set this as part of initialization of Repeating structures.\n *\n * Refer `Initialization section` in [README.md](../../../README.md)\n * @param n - the parent container of the whole Repeating structures.\n */\n setDomContainer(n: HTMLElement): void {\n this.domContainer = n;\n }\n\n /**\n * This sets the the header element in RS core. RS Core utilizes this header element for DOM related features e.g. animation.\n * Pass Html header element of the repeating structures to this method as part of initialization of Repeating structures.\n *\n * Refer `Initialization section` in [README.md](../../../README.md)\n * @param n The header element\n */\n setItemElement(n: HTMLElement): void {\n this.itemElement = n;\n }\n\n /**\n * This sets the scroller element(the element used in virtualizer as a scrollable area, e.g. a buffer container) of repeating structures into RS core. RS Core utilizes this scroller element for scrolling related features.\n * Pass Html scrollable area element of the repeating structures to this method as part of initialization of Repeating structures.\n * @param n The scroller element\n */\n setScrollNode(n: HTMLElement): void {\n this.scrollerNode = n;\n }\n\n /**\n * This sets the virtualizer instance in the RS core.\n * @param name unique id of the virtualizer\n * @param element the instance of the virtualizer\n */\n putVirtualizeElement(\n name: string,\n virtualizerInstance: VirtualizeElement[keyof VirtualizeElement[number]]\n ) {\n this.virtualizeElements[name] = virtualizerInstance;\n }\n\n /**\n * Returns the parent dom container HTML element.\n * @returns\n */\n getDomContainer() {\n return this.domContainer;\n }\n\n /**\n * Returns the scroller element(the element used in virtualizer as a scrollable area.)\n * @returns\n */\n getScrollNode() {\n return this.scrollerNode;\n }\n\n /**\n * Returns the header row of the Repeating structures view.\n * @returns\n */\n getItemElement() {\n return this.itemElement;\n }\n\n /**\n * Indicates if the given {@link feature} should be displayed on the Repeating structures UI or not.\n * This flag can be derived for a given {@link column} too apart from the whole view.\n * This flag is just to hide the user interaction items from the UI for the respective features. It will not stop running the respective features.\n * @param feature The feature name\n * @param column an optional column parameter if you want to check if the feature is available for the given column.\n * @returns boolean\n */\n shouldDisplayFeature(feature: 'filter' | 'sort' | 'grouping', column?: Column): boolean {\n const viewDisplayFeatureFlag = this.meta?.displayFeatures![feature];\n return !!(column ? !!column.field[feature] && viewDisplayFeatureFlag : viewDisplayFeatureFlag);\n }\n\n /**\n * Returns virtualizer instance for a given virtualizer name.\n * @param name unique id of the virtualizer\n */\n getVirtualizeElement(\n name: string\n ): VirtualizeElement[keyof VirtualizeElement[number]] | undefined {\n return this.virtualizeElements[name];\n }\n\n /**\n * It triggers the autosize of columns.\n * @param reset An optional flag to reset the column widths to its default configured width.\n */\n applyColumnsAutoSize(reset = true) {\n this.#dispatch(actions.actionColumnsAutoSize(this.columns!, this.getDomContainer()!, reset));\n }\n\n /** Returns value of unique key to identify the single selected row */\n getSingleSelectionRowKey() {\n return this.#singleSelectionRowKey;\n }\n\n /** Sets the value of unique key to identify the single selected row */\n setSingleSelectionRowKey(key: string) {\n this.#singleSelectionRowKey = key;\n }\n\n /**\n * Returns the array of visible columns.\n * @function getVisibleColumns\n * @param includeActionColumns include action columns. Default value is false.\n * @returns array of visible columns with/without including action columns(rowSelect, rowDragDrop and rowActionColumn).\n */\n getVisibleColumns(includeActionColumns = false) {\n const actionColumns = [\n rowSelectColumnMeta.field.id,\n rowDragDropColumnMeta.field.id,\n rowActionColumnMeta.field.id\n ];\n return (\n this.columns?.filter(\n column =>\n !column.hidden && (includeActionColumns || !actionColumns.includes(column.field.id))\n ) ?? []\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ViewGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import { v4 as uuidV4 } from 'uuid';\n\nimport type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport type { Meta } from '../../../types/Meta.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../types/State.types';\nimport {\n defaultPresetIdIndex,\n rowDensityClasses,\n rowSelectColumnMeta,\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n SELECTION_MODES,\n TEMPLATES\n} from '../constants';\nimport * as actions from '../actions/actions';\nimport { getExternalStateKeys, isRowReorderFieldEnabled, normalizeFieldDef } from '../utils/util';\nimport defaultConfig from '../config/config';\nimport type RsStore from '../RsStore';\nimport type RsInternal from '../RsInternal';\nimport type RsProps from '../RsProps';\nimport type StateResolver from '../StateResolver';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type ActionTypes from '../actions/actionConstants';\n\nimport type { UtilityFunctions } from './viewUtilityMethods';\nimport Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type {\n ConfirmationActionDetails,\n DebugInfo,\n FormatterFunction,\n FreezeLine,\n RefreshNotification,\n RequiredDefinition,\n UIProps,\n ViewConfig,\n ViewContext,\n ViewState,\n VirtualizeElement\n} from './ViewGenerator.types';\nimport type { RowData } from './RowGenerator.types';\nimport type { ColumnConfig } from './ColumnGenerator.types';\nimport type GroupGenerator from './GroupGenerator';\n\n/** A view model blueprint that represents the whole view of a repeating structure component. */\nexport default class View {\n /** A dispatcher function to dispatch actions to RsCore. */\n #dispatch: StateResolver['dispatch'];\n /** Rs store object */\n #rsStore: RsStore;\n /** Unique id for the current view */\n #viewID: string;\n /** Rs internal object reference. */\n #rsInternal: RsInternal;\n /** used to pass the latest view to rsInternal. */\n #updateView!: RsInternal['updateView'];\n /** Value of unique key to identify the single selected row. */\n #singleSelectionRowKey?: string;\n /** Render factory reference from {@link RsProps} */\n renderFactory: RsProps['renderFactory'];\n /** A unique id to identify the current repeating structure. */\n rsID: string;\n /** Current data for the view. */\n data?: RowData[];\n /** Current {@link Column columns} for the view. */\n columns?: Column[];\n /** Current {@link Row rows} for the view. */\n rows?: Row[];\n /** Current group headers for the view. */\n groupHeaders?: GroupGenerator[];\n /** Indicates the visible records count for the current view after applying any type of filter operation. */\n resultsCount?: number;\n /** Indicates whether to show the overall count on view or not. */\n showCount?: boolean;\n /** Indicates if the view has more records. */\n hasMoreResults?: boolean;\n /** Indicates the total record count of the view including group headers.\n */\n totalItemCount?: number;\n /** Indicates the total selected records count. */\n selectedRecordsCount?: number;\n /** Indicates the total height of the view. */\n viewHeight?: number;\n /** Indicates the current height of the container that contains data records like rows. */\n bodyHeight?: number | string;\n /** Indicates max height of the current parent container. */\n bodyMaxHeight?: number;\n /** Indicates the current height of each data row. It does not include group header row. */\n rowHeight?: number;\n /** Indicates the class name of the current selected row density. */\n rowHeightClass?: string;\n /** Indicates if the filter is applied for the current view. */\n isFilterApplied?: boolean;\n /** Indicates if the view is in loading state and not ready. It is used to show loaders in case of api calls. */\n isLoading?: boolean;\n /** Styles for the freeze line to be shown when freezing is applied. */\n freezeLine?: FreezeLine;\n /** Meta of the repeating structures. */\n meta: Meta;\n /**\n * This function is provided a click handler for a row via row generator.\n * @param {RowData} data - current row data\n * @returns {void} void\n */\n onRowClickAction?: RsProps['onRowClickAction'];\n /** A list of customised the toolbar actions to be displayed at the top of a repeating structure, apart from ootb toolbar actions. */\n toolBarOptions?: RsProps['toolBarOptions'];\n /** An object of formatter functions which formats the raw value. */\n formatters?: RsProps['formatters'];\n /** A collection of style formats that can be applied for styling the data. */\n styleFormats?: RsProps['styleFormats'];\n /** A map of formatters that will be displayed to consumer to format a fieldDef in repeating structure. */\n renderFormatterTypeMap?: RsProps['renderFormatterTypeMap'];\n /** Reference to the top level Html element of repeating structures. */\n domContainer?: HTMLElement;\n /** Reference to the scroller element of repeating structures */\n scrollerNode?: HTMLElement;\n /** Reference to the header element of repeating structures. */\n itemElement?: HTMLElement;\n /** Reference to the virtualizer instance of the repeating structures. */\n virtualizeElements: VirtualizeElement;\n /** Indicates if hierarchical grouping is enabled. */\n hierarchicalGroupEnabled?: boolean;\n /** The details of the confirmation action modal triggered from consumer of repeating structures. */\n confirmationActionDetails?: ConfirmationActionDetails;\n /** Indicates if a count update is required. E.g. after applying filter a reset of count is required. */\n isCountUpdateRequired?: boolean;\n /** Indicates if count is generated internally. Used for RS core internal purpose. */\n countGeneratedInternally?: boolean;\n /** The state shared with the view after completion of one render cycle. */\n state: ViewState;\n /** The details of the debug information shared by the consumer of repeating structures.\n * It is displayed as one of the toolbar actions to debug the {@link ApiContext api context methods} latency. */\n debugInfo?: DebugInfo[];\n /** The definition of a required view. It has a boolean flag to indicate if the current repeating structures view\n * is required and a validation message to be displayed in case of required validation failure.\n * This definition is passed by consumer of repeating structures. */\n requiredDef?: RequiredDefinition;\n /** A set of {@link State.externalState external state} valid keys derived from meta.\n * E.g. value of {@link Meta.externalFilters external filters in meta} is a valid external state key. */\n externalStateKeys?: string[];\n /** Stores all the view related utility functions */\n type!: UtilityFunctions;\n /** Indicates if the current view object is generated via instantRender. */\n isInstantRender?: boolean;\n /** Config to show refreshNotification. This will be set upon receiving {@link ActionTypes.NOTIFY_DATA_REFRESH NOTIFY_DATA_REFRESH} action. */\n refreshNotification?: RefreshNotification;\n\n /**\n Overrides the default count announcement behavior for screen readers.\n * true: Always announce the row count, including on first render.\n * false: Never announce the row count.\n * undefined: Use default behavior (skip first count announcement, announce on subsequent count updates).\n */\n announceCount?: boolean;\n /** Indicates if global search is enabled.\n * If a view does not contain any visible columns which are searchable, then this will be false.\n * @default true\n */\n enableGlobalSearch: boolean;\n /**\n * Creates a view instance that represents the whole view of repeating structures.\n * It has properties like rows, columns, data to build a repeating structures view.\n * @param options An options object to create a view instance. If passed the view is created with this set of options.\n * @param rsInternal The {@link RsInternal} object.\n */\n constructor(config: ViewConfig, rsInternal: RsInternal) {\n const {\n data,\n columns,\n rows = [],\n groupHeaders,\n resultsCount,\n hasMoreResults,\n totalItemCount,\n showCount,\n viewHeight,\n selectedRecordsCount,\n bodyHeight,\n bodyMaxHeight,\n rowHeight,\n rowHeightClass,\n isFilterApplied,\n isLoading,\n freezeLine,\n state,\n domContainer,\n scrollerNode,\n meta,\n itemElement,\n virtualizeElements,\n debugInfo = [] as DebugInfo[],\n requiredDef,\n hierarchicalGroupEnabled,\n singleSelectionRowKey,\n confirmationActionDetails,\n externalStateKeys,\n isCountUpdateRequired,\n countGeneratedInternally,\n isInstantRender,\n refreshNotification,\n announceCount,\n enableGlobalSearch\n } = config;\n const { getRsStore, getRsProps, getRsStateResolver } = rsInternal;\n this.#rsInternal = rsInternal;\n this.#rsStore = getRsStore();\n const rsProps = getRsProps();\n const rsStateResolver = getRsStateResolver();\n\n this.#dispatch = rsStateResolver.dispatch;\n this.#viewID = uuidV4();\n\n // TODO: temporary solution until renderFactory is moved out of core library\n this.renderFactory = rsProps.renderFactory;\n this.rsID = rsInternal.getRsID();\n\n this.data = data;\n this.columns = columns!;\n this.rows = rows;\n this.groupHeaders = groupHeaders;\n this.resultsCount = resultsCount;\n this.hasMoreResults = hasMoreResults;\n this.showCount = meta.showCount ? showCount : false;\n this.totalItemCount = totalItemCount;\n this.selectedRecordsCount = selectedRecordsCount;\n this.viewHeight = viewHeight;\n this.bodyHeight = bodyHeight;\n this.bodyMaxHeight = bodyMaxHeight;\n this.rowHeight = rowHeight;\n this.rowHeightClass = rowHeightClass;\n this.isFilterApplied = isFilterApplied;\n this.isLoading = isLoading;\n this.freezeLine = freezeLine;\n this.meta = meta;\n this.onRowClickAction = rsProps.onRowClickAction;\n this.toolBarOptions = rsProps.toolBarOptions;\n this.formatters = rsProps.formatters;\n this.styleFormats = rsProps.styleFormats;\n this.renderFormatterTypeMap = rsProps.renderFormatterTypeMap;\n this.#singleSelectionRowKey = singleSelectionRowKey;\n\n this.domContainer = domContainer;\n this.scrollerNode = scrollerNode;\n this.itemElement = itemElement;\n this.virtualizeElements = virtualizeElements || {};\n this.hierarchicalGroupEnabled = hierarchicalGroupEnabled;\n this.confirmationActionDetails = {\n ...confirmationActionDetails!,\n showConfirmationAction: state?.showConfirmationAction!\n };\n this.isCountUpdateRequired = isCountUpdateRequired;\n this.countGeneratedInternally = countGeneratedInternally;\n this.debugInfo = debugInfo;\n this.requiredDef = requiredDef;\n this.externalStateKeys = externalStateKeys || getExternalStateKeys(this.meta);\n this.isInstantRender = isInstantRender;\n this.refreshNotification = refreshNotification;\n this.announceCount = announceCount;\n this.enableGlobalSearch = enableGlobalSearch ?? true;\n // FIXME: keep the state on view in sync with the emitted stated from StateResolver\n this.state = {\n searchText: state?.search?.query || '',\n personalization: state?.personalization,\n filterExpression: state?.filterExpression,\n clearColFilter: state?.clearColFilter,\n sortingOrder: state?.sortingOrder,\n groups: state?.groups,\n allGroupsExpanded: state?.allGroupsExpanded,\n groupToggle: state?.groupToggle,\n showHeaderIcons: state?.showHeaderIcons,\n colOrder: state?.colOrder,\n hiddenColumns: state?.hiddenColumns,\n freezeColumns: state?.freezeColumns,\n columnWidths: state?.columnWidths,\n customFields: state?.customFields,\n selectedHeightOption: state?.selectedHeightOption,\n paginationOptions: state?.paginationOptions,\n notifications: state?.notifications,\n rowSelectionChangeSet: state?.rowSelectionChangeSet,\n selectedRows: state?.selectedRows,\n bootstrap: state?.bootstrap,\n refresh: state?.refresh,\n showSelectAllCheckbox: state?.showSelectAllCheckbox,\n externalState: state?.externalState,\n columnAlias: state?.columnAlias,\n aggregationInfo: state?.aggregationInfo,\n errors: state?.errors,\n responsive: state?.responsive, // stores the responsive behavior of DOM container w.r.t. various breakpoints.\n conditionalStyleFormats: state?.conditionalStyleFormats\n };\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.getRenderingEnginePropsById = this.getRenderingEnginePropsById.bind(this);\n this.getFormatterByKey = this.getFormatterByKey.bind(this);\n this.getContext = this.getContext.bind(this);\n this.setProp = this.setProp.bind(this);\n this.addColumnAtIndex = this.addColumnAtIndex.bind(this);\n this.getRowDensity = this.getRowDensity.bind(this);\n this.setDomContainer = this.setDomContainer.bind(this);\n this.setItemElement = this.setItemElement.bind(this);\n this.shouldDisplayFeature = this.shouldDisplayFeature.bind(this);\n this.setScrollNode = this.setScrollNode.bind(this);\n this.putVirtualizeElement = this.putVirtualizeElement.bind(this);\n this.getDomContainer = this.getDomContainer.bind(this);\n this.getItemElement = this.getItemElement.bind(this);\n this.getScrollNode = this.getScrollNode.bind(this);\n this.getVirtualizeElement = this.getVirtualizeElement.bind(this);\n this.applyColumnsAutoSize = this.applyColumnsAutoSize.bind(this);\n this.addColumn = this.addColumn.bind(this);\n this.getUIProps = this.getUIProps.bind(this);\n }\n\n // Used by setProp for mutation\n /**\n * Retruns the View properties that is used by setProp while creating new view.\n * @returns\n */\n #get(): ViewConfig &\n Pick<RsProps, 'toolBarOptions' | 'formatters' | 'renderFormatterTypeMap' | 'onRowClickAction'> {\n return {\n data: this.data,\n singleSelectionRowKey: this.#singleSelectionRowKey,\n columns: this.columns,\n rows: this.rows,\n groupHeaders: this.groupHeaders,\n resultsCount: this.resultsCount,\n showCount: this.showCount,\n hasMoreResults: this.hasMoreResults,\n totalItemCount: this.totalItemCount,\n selectedRecordsCount: this.selectedRecordsCount,\n viewHeight: this.viewHeight,\n bodyHeight: this.bodyHeight,\n bodyMaxHeight: this.bodyMaxHeight,\n rowHeight: this.rowHeight,\n rowHeightClass: this.rowHeightClass,\n isFilterApplied: this.isFilterApplied,\n isLoading: this.isLoading,\n freezeLine: this.freezeLine,\n meta: this.meta,\n toolBarOptions: this.toolBarOptions,\n formatters: this.formatters,\n renderFormatterTypeMap: this.renderFormatterTypeMap,\n state: this.state,\n onRowClickAction: this.onRowClickAction,\n domContainer: this.domContainer,\n scrollerNode: this.scrollerNode,\n itemElement: this.itemElement,\n virtualizeElements: this.virtualizeElements,\n debugInfo: this.debugInfo,\n requiredDef: this.requiredDef,\n hierarchicalGroupEnabled: this.hierarchicalGroupEnabled,\n confirmationActionDetails: this.confirmationActionDetails,\n externalStateKeys: this.externalStateKeys,\n isCountUpdateRequired: this.isCountUpdateRequired,\n countGeneratedInternally: this.countGeneratedInternally,\n isInstantRender: this.isInstantRender,\n refreshNotification: this.refreshNotification,\n announceCount: this.announceCount,\n enableGlobalSearch: this.enableGlobalSearch\n };\n }\n\n /**\n * Attach utility functions of view to {@link type} property.\n * @param functions\n * @returns void\n */\n addUtilityFunctions(functions: UtilityFunctions) {\n this.type = functions;\n }\n\n /**\n * Sets the {@link updateView} callback function.\n * @param updateViewCallback\n * @returns void\n */\n setViewUpdateCallback(updateViewCallback: RsInternal['updateView']) {\n this.#updateView = updateViewCallback;\n }\n\n /**\n * This is used to create immutable objects of {@link View} instance. Always call setProp if updating any properties of View to make it immutable.\n * @param prop Either partial of {@link ViewConfig} or individual properties of {@link ViewConfig}.\n * @param [value] An optional parameter to provide value for {@link prop} in case prop is not of type {@link ViewConfig}\n * @returns void\n */\n setProp(prop: Partial<ViewConfig> | keyof ViewConfig, value?: ViewConfig[keyof ViewConfig]) {\n const { getView } = this.#rsInternal;\n if (getView().#viewID !== this.#viewID) {\n // eslint-disable-next-line no-console\n console.warn('Doing setProp on a stale view. This might cause bugs.');\n }\n const pObject = typeof prop === 'object' ? prop : { [prop]: value };\n\n const clonedView = new View({ ...this.#get(), ...(pObject as ViewConfig) }, this.#rsInternal);\n\n if (!Object.hasOwn(pObject, 'state')) {\n clonedView.state = this.state;\n }\n\n this.#updateView(clonedView);\n\n return clonedView;\n }\n\n // FIXME: add tranlsations back\n /**\n * Returns the ui props for the {@link View} used for accessibility.\n */\n getUIProps(): UIProps {\n const activeView = this.state.personalization?.active!;\n const personalizations = this.state.personalization?.allPersonalizations;\n const ariaLabel =\n personalizations && Object.keys(personalizations).length > 1\n ? `${this.meta.title}: ${personalizations[activeView]?.name}`\n : this.meta.title!;\n return {\n role: 'grid',\n 'aria-rowcount': (this.totalItemCount ?? 0) + 1, // include header row as well in total row count announcement\n 'aria-colcount': this.getVisibleColumns(true).length, // include action columns as well for total column count announcement\n 'aria-label': this.#rsStore.translate('view_navigation_instructions', [ariaLabel])\n };\n }\n\n /** Returns the default(preset at 0th index in {@link RsStore.presets presets} array) preset id. */\n get defaultPresetId(): string | undefined {\n return this.#rsStore.presets?.[defaultPresetIdIndex].id;\n }\n\n /** Indicates if the view is ready.(means the RS component is mounted). */\n get isReady() {\n return this.state.bootstrap;\n }\n\n /** Indicates if {@link Meta.selectionMode selection mode} is ON */\n get isInSelectionMode(): boolean {\n return !!(this.meta?.selectionMode && SELECTION_MODES[this.meta.selectionMode]);\n }\n\n /** Indicates if the Group Expand all functionality should be shown on UI. */\n get showGroupingExpandCollapseAll(): boolean {\n return !!this.#rsStore.groupingInfo?.length;\n }\n\n /** A set of props that can be used to configure Group Expand all Header cell. */\n get groupingHeaderCellProps() {\n if (!this.showGroupingExpandCollapseAll) return {};\n return {\n isExpanded: this.state.allGroupsExpanded,\n handleChange: (isExpanded: boolean): void =>\n this.#dispatch(actions.actionGroupingExpandCollapseAll(isExpanded)),\n enable: this.showGroupingExpandCollapseAll as boolean,\n // Do not show right border if OOTB columns are on.\n classList:\n this.state.showSelectAllCheckbox ||\n this.state.errors?.dataErrors ||\n isRowReorderFieldEnabled(this.meta)\n ? ['no-border-right']\n : []\n };\n }\n\n /** Indicates if there are no records in the view. */\n get hasNoRecords() {\n return !Number.isNaN(this.resultsCount) && this.resultsCount === 0;\n }\n\n /** Indicates if there are any frozen columns in the view. */\n get hasNoFrozenColumns() {\n return (this.columns?.filter(c => c.frozen && !c.hidden).length ?? 0) === 0;\n }\n\n /** Indicates to hide the freeze line if selection column is the only frozen column in the view. */\n get bHideFreezeLine() {\n const frozenColumns = this.columns?.filter(col => col.frozen && !col.hidden) ?? [];\n return frozenColumns.length === 1 && frozenColumns[0].field.id === rowSelectColumnMeta.field.id;\n }\n\n /** Return the predefined CSS classes for a view. */\n get className(): string {\n if (this.meta?.template !== TEMPLATES.TABLE) return '';\n // if every visible column has a width defined in field def, no need to hide the columns and wait for width calculation\n if (this.getVisibleColumns().every(col => !!col?.field?.width)) return '';\n if (!this.#rsStore.columnSizingTriggerdOnRowsAvailable) return 'hide-rows-till-ready';\n return '';\n }\n\n /**\n * Adds a column to the {@link columns Columns} of the view\n * @param field The {@link Column.field field} for the column.\n * @param option Extra options.\n * @returns the new column or existing column if it already exists.\n */\n addColumn(field: Column['field'], option: OmitStrict<ColumnConfig, 'field'>): Column {\n // Check if any column with new field exists, don't add it and show warnings.\n const existingColumn = this.columns?.find(c => c.field.id === field.id);\n\n if (!existingColumn) {\n const rowActionColumnIndex = this.columns?.findIndex(\n c => c.field.id === rowActionColumnMeta.field.id\n );\n /*\n The row action column should always be the last column in the view.\n The newly added column should take the position of the row action column\n and push it to the last in the array.\n */\n if (rowActionColumnIndex && rowActionColumnIndex !== -1) {\n return this.addColumnAtIndex(field, option, rowActionColumnIndex);\n }\n normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n const cloned = [...this.columns!];\n cloned.push(column);\n this.columns = cloned;\n return column;\n }\n return existingColumn;\n }\n\n /**\n * Adds a column at a specified index in the {@link columns Columns} of the view.\n * @param field The {@link Column.field field} for the column.\n * @param option Extra options.\n * @param index The index at which the column needs to be inserted in the {@link columns Columns} array of view.\n * @returns void\n */\n addColumnAtIndex(\n field: Column['field'],\n option: OmitStrict<ColumnConfig, 'field'>,\n index: number\n ): Column {\n // Check if any column with new field exists, don't add it and show warnings.\n const existingColumn = this.columns?.find(c => c.field.id === field.id);\n if (!existingColumn) {\n // Full blow the meta\n normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n const cloned = [...this.columns!];\n cloned.splice(index, 0, column);\n this.columns = cloned;\n return column;\n }\n return existingColumn;\n }\n\n /**\n * Remove a column from the {@link columns Columns} array of the view.\n * @param fieldId The {@link Column.field.id fieldId} of the column to be removed.\n * @returns boolean - Indicates if the column is successfully removed from the view.\n */\n removeColumn(fieldId: string) {\n // Check if column exists, delete it and show warnings if not exists.\n const existingColumn = this.columns?.find(c => c.field.id === fieldId);\n if (existingColumn) {\n this.columns = this.columns?.filter(c => c.field.id !== fieldId);\n return true;\n }\n // eslint-disable-next-line no-console\n console.warn(`Column with id ${fieldId} not found.`);\n\n return false;\n }\n\n /**\n * Return the rendering engine props of a given column\n * @param id The {@link Column.field.id id} of the column for which rendering engine props are required.\n * @returns\n */\n getRenderingEnginePropsById(id: string) {\n const column = this.columns?.find(c => c.field.id === id);\n return column?.getRenderingEngineProps();\n }\n\n /**\n * Returns the row density id for a given {@link rowHeightClass}.\n * @returns\n */\n getRowDensity(): string {\n return Object.values(rowDensityClasses).find(obj => obj.className === this.rowHeightClass)!.id;\n }\n\n /** Returns the current view context. While building a RS view,\n * pass getContext to the consumers of RS to access the view related information.\n *\n * @public\n * */\n getContext(): ViewContext {\n return {\n getMeta: () => this.meta,\n getState: () => this.state,\n getColumns: () => this.columns,\n getRenderingEnginePropsById: this.getRenderingEnginePropsById,\n selectedRecordsCount: this.selectedRecordsCount,\n resultsCount: this.resultsCount,\n getRequiredDef: () => this.requiredDef,\n getRowDensity: this.getRowDensity\n };\n }\n\n /**\n * It returns the formatter function available for a given formatterName from {@link RsProps.formatters formatters} passed to RS Core.\n * @param formatterName\n * @returns\n */\n getFormatterByKey(formatterName: string): FormatterFunction | undefined {\n return this.formatters?.[formatterName];\n }\n\n /**\n * This sets the parent dom container in RS core. RS Core utilizes this dom container for DOM related features.\n * Set this as part of initialization of Repeating structures.\n *\n * Refer `Initialization section` in [README.md](../../../README.md)\n * @param n - the parent container of the whole Repeating structures.\n */\n setDomContainer(n: HTMLElement): void {\n this.domContainer = n;\n }\n\n /**\n * This sets the the header element in RS core. RS Core utilizes this header element for DOM related features e.g. animation.\n * Pass Html header element of the repeating structures to this method as part of initialization of Repeating structures.\n *\n * Refer `Initialization section` in [README.md](../../../README.md)\n * @param n The header element\n */\n setItemElement(n: HTMLElement): void {\n this.itemElement = n;\n }\n\n /**\n * This sets the scroller element(the element used in virtualizer as a scrollable area, e.g. a buffer container) of repeating structures into RS core. RS Core utilizes this scroller element for scrolling related features.\n * Pass Html scrollable area element of the repeating structures to this method as part of initialization of Repeating structures.\n * @param n The scroller element\n */\n setScrollNode(n: HTMLElement): void {\n this.scrollerNode = n;\n }\n\n /**\n * This sets the virtualizer instance in the RS core.\n * @param name unique id of the virtualizer\n * @param element the instance of the virtualizer\n */\n putVirtualizeElement(\n name: string,\n virtualizerInstance: VirtualizeElement[keyof VirtualizeElement[number]]\n ) {\n this.virtualizeElements[name] = virtualizerInstance;\n }\n\n /**\n * Returns the parent dom container HTML element.\n * @returns\n */\n getDomContainer() {\n return this.domContainer;\n }\n\n /**\n * Returns the scroller element(the element used in virtualizer as a scrollable area.)\n * @returns\n */\n getScrollNode() {\n return this.scrollerNode;\n }\n\n /**\n * Returns the header row of the Repeating structures view.\n * @returns\n */\n getItemElement() {\n return this.itemElement;\n }\n\n /**\n * Indicates if the given {@link feature} should be displayed on the Repeating structures UI or not.\n * This flag can be derived for a given {@link column} too apart from the whole view.\n * This flag is just to hide the user interaction items from the UI for the respective features. It will not stop running the respective features.\n * @param feature The feature name\n * @param column an optional column parameter if you want to check if the feature is available for the given column.\n * @returns boolean\n */\n shouldDisplayFeature(feature: 'filter' | 'sort' | 'grouping', column?: Column): boolean {\n const viewDisplayFeatureFlag = this.meta?.displayFeatures![feature];\n return !!(column ? !!column.field[feature] && viewDisplayFeatureFlag : viewDisplayFeatureFlag);\n }\n\n /**\n * Returns virtualizer instance for a given virtualizer name.\n * @param name unique id of the virtualizer\n */\n getVirtualizeElement(\n name: string\n ): VirtualizeElement[keyof VirtualizeElement[number]] | undefined {\n return this.virtualizeElements[name];\n }\n\n /**\n * It triggers the autosize of columns.\n * @param reset An optional flag to reset the column widths to its default configured width.\n */\n applyColumnsAutoSize(reset = true) {\n this.#dispatch(actions.actionColumnsAutoSize(this.columns!, this.getDomContainer()!, reset));\n }\n\n /** Returns value of unique key to identify the single selected row */\n getSingleSelectionRowKey() {\n return this.#singleSelectionRowKey;\n }\n\n /** Sets the value of unique key to identify the single selected row */\n setSingleSelectionRowKey(key: string) {\n this.#singleSelectionRowKey = key;\n }\n\n /**\n * Returns the array of visible columns.\n * @function getVisibleColumns\n * @param includeActionColumns include action columns. Default value is false.\n * @returns array of visible columns with/without including action columns(rowSelect, rowDragDrop and rowActionColumn).\n */\n getVisibleColumns(includeActionColumns = false) {\n const actionColumns = [\n rowSelectColumnMeta.field.id,\n rowDragDropColumnMeta.field.id,\n rowActionColumnMeta.field.id\n ];\n return (\n this.columns?.filter(\n column =>\n !column.hidden && (includeActionColumns || !actionColumns.includes(column.field.id))\n ) ?? []\n );\n }\n}\n"]}
@@ -3,7 +3,7 @@ import type { State } from '../../../types/State.types';
3
3
  import type { FieldDef } from '../../../types/Meta.types';
4
4
  import type { Formatters } from '../../../types/RsCoreBootArgs.types';
5
5
  import type View from './ViewGenerator';
6
- export type ViewConfig = Partial<Pick<View, 'data' | 'columns' | 'rows' | 'groupHeaders' | 'resultsCount' | 'hasMoreResults' | 'showCount' | 'totalItemCount' | 'selectedRecordsCount' | 'bodyHeight' | 'bodyMaxHeight' | 'rowHeight' | 'rowHeightClass' | 'isFilterApplied' | 'isLoading' | 'freezeLine' | 'state' | 'domContainer' | 'scrollerNode' | 'itemElement' | 'virtualizeElements' | 'debugInfo' | 'requiredDef' | 'hierarchicalGroupEnabled' | 'confirmationActionDetails' | 'externalStateKeys' | 'isCountUpdateRequired' | 'countGeneratedInternally' | 'isInstantRender' | 'viewHeight' | 'refreshNotification' | 'announceCount'>> & Pick<View, 'meta'> & {
6
+ export type ViewConfig = Partial<Pick<View, 'data' | 'columns' | 'rows' | 'groupHeaders' | 'resultsCount' | 'hasMoreResults' | 'showCount' | 'totalItemCount' | 'selectedRecordsCount' | 'bodyHeight' | 'bodyMaxHeight' | 'rowHeight' | 'rowHeightClass' | 'isFilterApplied' | 'isLoading' | 'freezeLine' | 'state' | 'domContainer' | 'scrollerNode' | 'itemElement' | 'virtualizeElements' | 'debugInfo' | 'requiredDef' | 'hierarchicalGroupEnabled' | 'confirmationActionDetails' | 'externalStateKeys' | 'isCountUpdateRequired' | 'countGeneratedInternally' | 'isInstantRender' | 'viewHeight' | 'refreshNotification' | 'announceCount' | 'enableGlobalSearch'>> & Pick<View, 'meta'> & {
7
7
  singleSelectionRowKey?: string;
8
8
  };
9
9
  export type ViewContext = {
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport type { State } from '../../../types/State.types';\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type { Formatters } from '../../../types/RsCoreBootArgs.types';\n\nimport type View from './ViewGenerator';\n\n// @ts-check findout which are the mandatory properties in View options.\nexport type ViewConfig = Partial<\n Pick<\n View,\n | 'data'\n | 'columns'\n | 'rows'\n | 'groupHeaders'\n | 'resultsCount'\n | 'hasMoreResults'\n | 'showCount'\n | 'totalItemCount'\n | 'selectedRecordsCount'\n | 'bodyHeight'\n | 'bodyMaxHeight'\n | 'rowHeight'\n | 'rowHeightClass'\n | 'isFilterApplied'\n | 'isLoading'\n | 'freezeLine'\n | 'state'\n | 'domContainer'\n | 'scrollerNode'\n | 'itemElement'\n | 'virtualizeElements'\n | 'debugInfo'\n | 'requiredDef'\n | 'hierarchicalGroupEnabled'\n | 'confirmationActionDetails'\n | 'externalStateKeys'\n | 'isCountUpdateRequired'\n | 'countGeneratedInternally'\n | 'isInstantRender'\n | 'viewHeight'\n | 'refreshNotification'\n | 'announceCount'\n >\n> &\n Pick<View, 'meta'> & { singleSelectionRowKey?: string };\nexport type ViewContext = {\n /** Returns the {@link View.meta meta} */\n getMeta: () => View['meta'];\n /** Returns the {@link View.state state} */\n getState: () => View['state'];\n /** Returns the {@link View.columns columns} */\n getColumns: () => View['columns'];\n /** Returns the {@link View.getRenderingEnginePropsById getRenderingEnginePropsById} */\n getRenderingEnginePropsById: View['getRenderingEnginePropsById'];\n /** Returns the {@link View.selectedRecordsCount selectedRecordsCount} */\n selectedRecordsCount: View['selectedRecordsCount'];\n /** Returns the {@link View.resultsCount resultsCount} */\n resultsCount: View['resultsCount'];\n /** Returns the {@link View.requiredDef requiredDef} */\n getRequiredDef: () => View['requiredDef'];\n /** Returns the {@link View.getRowDensity getRowDensity} */\n getRowDensity: View['getRowDensity'];\n};\n\n/** Interface exposed for confirmation dialogue */\nexport interface ConfirmationActionDetails {\n /** Labels for the confirmation dialogue */\n labels: {\n /** Header of the confirmation dialogue pop up */\n heading: string;\n\n /** Description of the confirmation dialogue pop up */\n description: string;\n\n /** Label of the submit button inside confirmation dialogue pop up */\n submitButtonLabel: string;\n\n /** Label of the cancel button inside confirmation dialogue pop up */\n cancelButtonLabel: string;\n };\n\n /** Boolean to toggle the show/visibility */\n showConfirmationAction: boolean;\n\n /** Function to be executed upon submission of the concerned modal */\n onSubmit: (value?: any) => void;\n\n /** Function to be executed upon cancellation of the concerned modal */\n onCancel: (reason?: any) => void;\n}\n\n/** Interface for displaying API stats on the view */\nexport interface DebugInfo {\n /** Class name of the data page */\n className: string;\n\n /** Name of the data page */\n dataPage: string;\n\n /** Source of the data page */\n dataSource?: string;\n\n /** Unique identifier for the insight */\n insightId?: string;\n\n /** Time taken by the API */\n timeTaken?: string;\n}\n\n/** Style interface for freezeline */\nexport interface FreezeLine {\n styles: {\n left: string;\n };\n}\n\n/** An interface used for group headers, consisting of grouping and hierarchical grouping properties */\nexport interface GroupHeader {\n /** Applied aggregation to be displayed in group header */\n aggregation: { [key: FieldDef['name']]: { [key: string]: number } };\n\n /** Count to be displayed in group header */\n count: number;\n\n /** Data */\n data: object;\n\n /** End index of the rows in a particular group */\n endIndex: number;\n\n /** group-key: Computed using getGroupKey utility */\n groupBy: string;\n\n /** String array denoting hierarchy */\n hierarchy: string[];\n\n /** Hierarchical grouping info object */\n info: object;\n\n /** Indicates expanded state */\n isExpanded: boolean;\n\n /** Indicates if its hierarchical grouping */\n isHierarchical: boolean;\n\n /** Indicates if it is a leaf node. */\n isLeafNode: boolean;\n\n /** Indicates visibility */\n isVisible: boolean;\n\n /** Label of the group header to be displayed on UI */\n label: string;\n\n /** Level denoting the nesting level of a group header */\n level: number;\n\n /** Name attribute on a group header */\n name: string;\n\n /** Boolean to toggle displaying the hierarchical footer */\n showHierarchicalFooter: boolean;\n\n /** End index of the rows in a particular group */\n startIndex: number;\n}\n\nexport interface RequiredDefinition {\n required: boolean;\n validatemessage: string;\n}\n\n/** UI props to be set on the view for A11Y purpose */\nexport interface UIProps {\n /** This attribute conveys the number of columns in the repeating structures to screen readers. */\n 'aria-colcount': number;\n\n /** This attribute conveys the label of the repeating structures to screen readers. */\n 'aria-label': string;\n\n /** This attribute conveys the number of rows in the repeating structures to screen readers. */\n 'aria-rowcount': number;\n\n /** HTML role attribute for the view.\n * @default 'grid'\n */\n role: string;\n}\n\nexport type ViewState = OmitStrict<\n State,\n | 'groupFilters'\n | 'forceUpdateFeatures'\n | 'template'\n | 'presetId'\n | 'version'\n | 'renderFormatter'\n | 'hierarchicalGroup'\n> & { searchText?: string };\n\n/** Personalization information object */\ninterface PersonalizationInfo {\n /** Coordinates of current row index. */\n existingItemBoundingBox: DOMRect;\n\n /** Common visible item in view before and after paint (previous and next paint) */\n currentRowIndex: number;\n\n /** Possible index on view top */\n topRowIndex: number;\n\n /** Buffer coordinates while pagination. */\n bufferOldCords: DOMRect;\n\n /** Buffer coordinates while pagination is in progress and user scroll. */\n bufferNewCords: DOMRect;\n\n /** View object containing start index and end index */\n view: {\n startIndex: number;\n endIndex: number;\n };\n}\n\n/** Interface structure for virtualizer instance */\ninterface VirtualizeInstance {\n /** DOM element for body container */\n bContainer: HTMLElement;\n\n /** Multiplier to be used when calculating the buffer rows to be loaded, bufferRows = bufferMultiplier * totalrows */\n bufferMultiplier: number;\n\n /** Number denoting the row height */\n itemHeight: number;\n\n /** DOM element for parent container */\n pContainer: HTMLElement;\n\n /** Virtualizer specific information */\n pInfo: PersonalizationInfo;\n\n /** DOM element for row container */\n rContainer: HTMLElement;\n}\n\n/**\n * Attributes of the virtualizer being used\n */\nexport interface RootVirtualizer {\n /**\n * Returns the parent container pContainer set on the virtualizer\n * @returns div with id pContainer\n */\n getParentContainer: () => HTMLElement;\n\n /** Unique identifier of the virtualizer */\n id: string;\n\n /** Function to execute to scroll the virtualizer to top */\n scrollToTop: () => void;\n\n /** Additional information set on the virtualizer instance */\n vi: VirtualizeInstance;\n}\n\nexport interface VirtualizeElement {\n [key: string]: RootVirtualizer;\n}\n\nexport type FormatterFunction = Formatters[keyof Formatters];\n\nexport interface RefreshNotification {\n /** A unique identifier for a refresh notification published by consumer of RS. */\n id: number;\n /** The message that needs to be displayed as refresh notification */\n message: string;\n /** The label for the refresh action button. */\n refreshActionLabel: string;\n}\n"]}
1
+ {"version":3,"file":"ViewGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.types.ts"],"names":[],"mappings":"","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport type { State } from '../../../types/State.types';\nimport type { FieldDef } from '../../../types/Meta.types';\nimport type { Formatters } from '../../../types/RsCoreBootArgs.types';\n\nimport type View from './ViewGenerator';\n\n// @ts-check findout which are the mandatory properties in View options.\nexport type ViewConfig = Partial<\n Pick<\n View,\n | 'data'\n | 'columns'\n | 'rows'\n | 'groupHeaders'\n | 'resultsCount'\n | 'hasMoreResults'\n | 'showCount'\n | 'totalItemCount'\n | 'selectedRecordsCount'\n | 'bodyHeight'\n | 'bodyMaxHeight'\n | 'rowHeight'\n | 'rowHeightClass'\n | 'isFilterApplied'\n | 'isLoading'\n | 'freezeLine'\n | 'state'\n | 'domContainer'\n | 'scrollerNode'\n | 'itemElement'\n | 'virtualizeElements'\n | 'debugInfo'\n | 'requiredDef'\n | 'hierarchicalGroupEnabled'\n | 'confirmationActionDetails'\n | 'externalStateKeys'\n | 'isCountUpdateRequired'\n | 'countGeneratedInternally'\n | 'isInstantRender'\n | 'viewHeight'\n | 'refreshNotification'\n | 'announceCount'\n | 'enableGlobalSearch'\n >\n> &\n Pick<View, 'meta'> & { singleSelectionRowKey?: string };\nexport type ViewContext = {\n /** Returns the {@link View.meta meta} */\n getMeta: () => View['meta'];\n /** Returns the {@link View.state state} */\n getState: () => View['state'];\n /** Returns the {@link View.columns columns} */\n getColumns: () => View['columns'];\n /** Returns the {@link View.getRenderingEnginePropsById getRenderingEnginePropsById} */\n getRenderingEnginePropsById: View['getRenderingEnginePropsById'];\n /** Returns the {@link View.selectedRecordsCount selectedRecordsCount} */\n selectedRecordsCount: View['selectedRecordsCount'];\n /** Returns the {@link View.resultsCount resultsCount} */\n resultsCount: View['resultsCount'];\n /** Returns the {@link View.requiredDef requiredDef} */\n getRequiredDef: () => View['requiredDef'];\n /** Returns the {@link View.getRowDensity getRowDensity} */\n getRowDensity: View['getRowDensity'];\n};\n\n/** Interface exposed for confirmation dialogue */\nexport interface ConfirmationActionDetails {\n /** Labels for the confirmation dialogue */\n labels: {\n /** Header of the confirmation dialogue pop up */\n heading: string;\n\n /** Description of the confirmation dialogue pop up */\n description: string;\n\n /** Label of the submit button inside confirmation dialogue pop up */\n submitButtonLabel: string;\n\n /** Label of the cancel button inside confirmation dialogue pop up */\n cancelButtonLabel: string;\n };\n\n /** Boolean to toggle the show/visibility */\n showConfirmationAction: boolean;\n\n /** Function to be executed upon submission of the concerned modal */\n onSubmit: (value?: any) => void;\n\n /** Function to be executed upon cancellation of the concerned modal */\n onCancel: (reason?: any) => void;\n}\n\n/** Interface for displaying API stats on the view */\nexport interface DebugInfo {\n /** Class name of the data page */\n className: string;\n\n /** Name of the data page */\n dataPage: string;\n\n /** Source of the data page */\n dataSource?: string;\n\n /** Unique identifier for the insight */\n insightId?: string;\n\n /** Time taken by the API */\n timeTaken?: string;\n}\n\n/** Style interface for freezeline */\nexport interface FreezeLine {\n styles: {\n left: string;\n };\n}\n\n/** An interface used for group headers, consisting of grouping and hierarchical grouping properties */\nexport interface GroupHeader {\n /** Applied aggregation to be displayed in group header */\n aggregation: { [key: FieldDef['name']]: { [key: string]: number } };\n\n /** Count to be displayed in group header */\n count: number;\n\n /** Data */\n data: object;\n\n /** End index of the rows in a particular group */\n endIndex: number;\n\n /** group-key: Computed using getGroupKey utility */\n groupBy: string;\n\n /** String array denoting hierarchy */\n hierarchy: string[];\n\n /** Hierarchical grouping info object */\n info: object;\n\n /** Indicates expanded state */\n isExpanded: boolean;\n\n /** Indicates if its hierarchical grouping */\n isHierarchical: boolean;\n\n /** Indicates if it is a leaf node. */\n isLeafNode: boolean;\n\n /** Indicates visibility */\n isVisible: boolean;\n\n /** Label of the group header to be displayed on UI */\n label: string;\n\n /** Level denoting the nesting level of a group header */\n level: number;\n\n /** Name attribute on a group header */\n name: string;\n\n /** Boolean to toggle displaying the hierarchical footer */\n showHierarchicalFooter: boolean;\n\n /** End index of the rows in a particular group */\n startIndex: number;\n}\n\nexport interface RequiredDefinition {\n required: boolean;\n validatemessage: string;\n}\n\n/** UI props to be set on the view for A11Y purpose */\nexport interface UIProps {\n /** This attribute conveys the number of columns in the repeating structures to screen readers. */\n 'aria-colcount': number;\n\n /** This attribute conveys the label of the repeating structures to screen readers. */\n 'aria-label': string;\n\n /** This attribute conveys the number of rows in the repeating structures to screen readers. */\n 'aria-rowcount': number;\n\n /** HTML role attribute for the view.\n * @default 'grid'\n */\n role: string;\n}\n\nexport type ViewState = OmitStrict<\n State,\n | 'groupFilters'\n | 'forceUpdateFeatures'\n | 'template'\n | 'presetId'\n | 'version'\n | 'renderFormatter'\n | 'hierarchicalGroup'\n> & { searchText?: string };\n\n/** Personalization information object */\ninterface PersonalizationInfo {\n /** Coordinates of current row index. */\n existingItemBoundingBox: DOMRect;\n\n /** Common visible item in view before and after paint (previous and next paint) */\n currentRowIndex: number;\n\n /** Possible index on view top */\n topRowIndex: number;\n\n /** Buffer coordinates while pagination. */\n bufferOldCords: DOMRect;\n\n /** Buffer coordinates while pagination is in progress and user scroll. */\n bufferNewCords: DOMRect;\n\n /** View object containing start index and end index */\n view: {\n startIndex: number;\n endIndex: number;\n };\n}\n\n/** Interface structure for virtualizer instance */\ninterface VirtualizeInstance {\n /** DOM element for body container */\n bContainer: HTMLElement;\n\n /** Multiplier to be used when calculating the buffer rows to be loaded, bufferRows = bufferMultiplier * totalrows */\n bufferMultiplier: number;\n\n /** Number denoting the row height */\n itemHeight: number;\n\n /** DOM element for parent container */\n pContainer: HTMLElement;\n\n /** Virtualizer specific information */\n pInfo: PersonalizationInfo;\n\n /** DOM element for row container */\n rContainer: HTMLElement;\n}\n\n/**\n * Attributes of the virtualizer being used\n */\nexport interface RootVirtualizer {\n /**\n * Returns the parent container pContainer set on the virtualizer\n * @returns div with id pContainer\n */\n getParentContainer: () => HTMLElement;\n\n /** Unique identifier of the virtualizer */\n id: string;\n\n /** Function to execute to scroll the virtualizer to top */\n scrollToTop: () => void;\n\n /** Additional information set on the virtualizer instance */\n vi: VirtualizeInstance;\n}\n\nexport interface VirtualizeElement {\n [key: string]: RootVirtualizer;\n}\n\nexport type FormatterFunction = Formatters[keyof Formatters];\n\nexport interface RefreshNotification {\n /** A unique identifier for a refresh notification published by consumer of RS. */\n id: number;\n /** The message that needs to be displayed as refresh notification */\n message: string;\n /** The label for the refresh action button. */\n refreshActionLabel: string;\n}\n"]}
@@ -264,6 +264,7 @@ export const fieldDefsMock: ({
264
264
  resize: boolean;
265
265
  show: boolean;
266
266
  sort: boolean;
267
+ searchable: boolean;
267
268
  category?: undefined;
268
269
  showCategoryInHeaderLabel?: undefined;
269
270
  filter?: undefined;
@@ -277,6 +278,7 @@ export const fieldDefsMock: ({
277
278
  resize: boolean;
278
279
  show: boolean;
279
280
  sort: boolean;
281
+ searchable: boolean;
280
282
  minWidth?: undefined;
281
283
  category?: undefined;
282
284
  showCategoryInHeaderLabel?: undefined;
@@ -294,6 +296,7 @@ export const fieldDefsMock: ({
294
296
  label: string;
295
297
  }[];
296
298
  showCategoryInHeaderLabel: boolean;
299
+ searchable: boolean;
297
300
  minWidth?: undefined;
298
301
  sort?: undefined;
299
302
  filter?: undefined;
@@ -306,6 +309,7 @@ export const fieldDefsMock: ({
306
309
  idHash: string;
307
310
  filter: boolean;
308
311
  show: boolean;
312
+ searchable: boolean;
309
313
  minWidth?: undefined;
310
314
  resize?: undefined;
311
315
  sort?: undefined;
@@ -319,6 +323,7 @@ export const fieldDefsMock: ({
319
323
  id: string;
320
324
  idHash: string;
321
325
  show: boolean;
326
+ searchable: boolean;
322
327
  minWidth?: undefined;
323
328
  resize?: undefined;
324
329
  sort?: undefined;
@@ -335,6 +340,7 @@ export const fieldDefsMock: ({
335
340
  resize: boolean;
336
341
  filter: boolean;
337
342
  show: boolean;
343
+ searchable: boolean;
338
344
  minWidth?: undefined;
339
345
  sort?: undefined;
340
346
  category?: undefined;
@@ -597,6 +603,7 @@ export namespace viewMock {
597
603
  resize: boolean;
598
604
  show: boolean;
599
605
  sort: boolean;
606
+ searchable: boolean;
600
607
  category?: undefined;
601
608
  showCategoryInHeaderLabel?: undefined;
602
609
  filter?: undefined;
@@ -610,6 +617,7 @@ export namespace viewMock {
610
617
  resize: boolean;
611
618
  show: boolean;
612
619
  sort: boolean;
620
+ searchable: boolean;
613
621
  minWidth?: undefined;
614
622
  category?: undefined;
615
623
  showCategoryInHeaderLabel?: undefined;
@@ -627,6 +635,7 @@ export namespace viewMock {
627
635
  label: string;
628
636
  }[];
629
637
  showCategoryInHeaderLabel: boolean;
638
+ searchable: boolean;
630
639
  minWidth?: undefined;
631
640
  sort?: undefined;
632
641
  filter?: undefined;
@@ -639,6 +648,7 @@ export namespace viewMock {
639
648
  idHash: string;
640
649
  filter: boolean;
641
650
  show: boolean;
651
+ searchable: boolean;
642
652
  minWidth?: undefined;
643
653
  resize?: undefined;
644
654
  sort?: undefined;
@@ -652,6 +662,7 @@ export namespace viewMock {
652
662
  id: string;
653
663
  idHash: string;
654
664
  show: boolean;
665
+ searchable: boolean;
655
666
  minWidth?: undefined;
656
667
  resize?: undefined;
657
668
  sort?: undefined;
@@ -668,6 +679,7 @@ export namespace viewMock {
668
679
  resize: boolean;
669
680
  filter: boolean;
670
681
  show: boolean;
682
+ searchable: boolean;
671
683
  minWidth?: undefined;
672
684
  sort?: undefined;
673
685
  category?: undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"junitMocks.d.ts","sourceRoot":"","sources":["../../../../src/core/test/junitMocks.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuhBE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6EE;AAEK,oDAA2F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8D3F,qDAeL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCF;;;;;;;;IAyEE;AAUF;;;;IAGE;AAEF;;;;;;IA2BE;;;;;;;;AAWF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4ME;;;;;;QAUW,kCAER;;IAEH,kDAEC;IACD,yDAEC;IACgB,kDAAkB;;QAErB,4BAAQ;QACQ,4CAAQ;QACtB,8BAAQ;;;IAEF,6CAAQ;;;IAGf,sCAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BvB;;MAEC;IACD,6CAEC;IACD;;MAIC;;AA47CI;;;EAKL;AAKK,yGAFI;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE;;;EAwCxI;AAQM,0CAJI,OAAO,CAAC,OAAO,+BAA+B,EAAE,OAAO,CAAC,eACxD,OAAO,6BAA6B,EAAE,OAAO,eAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAvjDD,wBAAiB,UAAU,CAAC;AArxC5B,2CAAmD;wBAb3B,+BAA+B"}
1
+ {"version":3,"file":"junitMocks.d.ts","sourceRoot":"","sources":["../../../../src/core/test/junitMocks.js"],"names":[],"mappings":"AAgBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuhBE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkPF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAoFE;AAEK,oDAA2F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA8D3F,qDAeL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkCF;;;;;;;;IAyEE;AAUF;;;;IAGE;AAEF;;;;;;IA2BE;;;;;;;;AAWF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4ME;;;;;;QAUW,kCAER;;IAEH,kDAEC;IACD,yDAEC;IACgB,kDAAkB;;QAErB,4BAAQ;QACQ,4CAAQ;QACtB,8BAAQ;;;IAEF,6CAAQ;;;IAGf,sCAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4BvB;;MAEC;IACD,6CAEC;IACD;;MAIC;;AA47CI;;;EAKL;AAKK,yGAFI;IAAE,aAAa,CAAC,EAAE,OAAO,CAAC;IAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAAC,aAAa,CAAC,EAAE,OAAO,CAAA;CAAE;;;EAwCxI;AAQM,0CAJI,OAAO,CAAC,OAAO,+BAA+B,EAAE,OAAO,CAAC,eACxD,OAAO,6BAA6B,EAAE,OAAO,eAMvD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAvjDD,wBAAiB,UAAU,CAAC;AA5xC5B,2CAAmD;wBAb3B,+BAA+B"}
@@ -798,7 +798,8 @@ export const fieldDefsMock = [
798
798
  minWidth: 40,
799
799
  resize: true,
800
800
  show: true,
801
- sort: true
801
+ sort: true,
802
+ searchable: false
802
803
  },
803
804
  {
804
805
  type: 'text',
@@ -809,7 +810,8 @@ export const fieldDefsMock = [
809
810
  idHash: '2',
810
811
  resize: true,
811
812
  show: true,
812
- sort: true
813
+ sort: true,
814
+ searchable: true
813
815
  },
814
816
  {
815
817
  type: 'text',
@@ -820,7 +822,8 @@ export const fieldDefsMock = [
820
822
  idHash: '3',
821
823
  resize: true,
822
824
  show: true,
823
- sort: true
825
+ sort: true,
826
+ searchable: true
824
827
  },
825
828
  {
826
829
  type: 'number',
@@ -832,7 +835,8 @@ export const fieldDefsMock = [
832
835
  resize: true,
833
836
  show: true,
834
837
  category: [{ label: 'Update Operator' }],
835
- showCategoryInHeaderLabel: true
838
+ showCategoryInHeaderLabel: true,
839
+ searchable: false
836
840
  },
837
841
  {
838
842
  type: 'date',
@@ -842,7 +846,8 @@ export const fieldDefsMock = [
842
846
  id: '5',
843
847
  idHash: '5',
844
848
  filter: true,
845
- show: true
849
+ show: true,
850
+ searchable: false
846
851
  },
847
852
  {
848
853
  type: 'text',
@@ -851,7 +856,8 @@ export const fieldDefsMock = [
851
856
  width: 100,
852
857
  id: '7',
853
858
  idHash: '7',
854
- show: true
859
+ show: true,
860
+ searchable: true
855
861
  },
856
862
  {
857
863
  type: 'text',
@@ -862,7 +868,8 @@ export const fieldDefsMock = [
862
868
  idHash: 'F',
863
869
  resize: true,
864
870
  filter: true,
865
- show: true
871
+ show: true,
872
+ searchable: true
866
873
  }
867
874
  ];
868
875
  export const prepareColumns = fieldDefs => fieldDefs.map(field => ({ field, label: field.label }));