@pega/lists-core 9.25.0 → 9.25.1-10

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 (82) hide show
  1. package/lib/src/core/actions/actionConstants.d.ts +2 -0
  2. package/lib/src/core/actions/actionConstants.d.ts.map +1 -1
  3. package/lib/src/core/actions/actionConstants.js +3 -1
  4. package/lib/src/core/actions/actionConstants.js.map +1 -1
  5. package/lib/src/core/actions/actions.d.ts +8 -1
  6. package/lib/src/core/actions/actions.d.ts.map +1 -1
  7. package/lib/src/core/actions/actions.js +11 -0
  8. package/lib/src/core/actions/actions.js.map +1 -1
  9. package/lib/src/core/actions/actions.types.d.ts +10 -0
  10. package/lib/src/core/actions/actions.types.d.ts.map +1 -1
  11. package/lib/src/core/actions/actions.types.js.map +1 -1
  12. package/lib/src/core/features/featureFactory.d.ts.map +1 -1
  13. package/lib/src/core/features/featureFactory.js +2 -0
  14. package/lib/src/core/features/featureFactory.js.map +1 -1
  15. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -1
  16. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +24 -9
  17. package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -1
  18. package/lib/src/core/features/uIFeatures/beforeRender/changeTemplate.d.ts.map +1 -1
  19. package/lib/src/core/features/uIFeatures/beforeRender/changeTemplate.js +5 -2
  20. package/lib/src/core/features/uIFeatures/beforeRender/changeTemplate.js.map +1 -1
  21. package/lib/src/core/features/uIFeatures/beforeRender/masterDetail.d.ts +11 -0
  22. package/lib/src/core/features/uIFeatures/beforeRender/masterDetail.d.ts.map +1 -0
  23. package/lib/src/core/features/uIFeatures/beforeRender/masterDetail.js +97 -0
  24. package/lib/src/core/features/uIFeatures/beforeRender/masterDetail.js.map +1 -0
  25. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.d.ts.map +1 -1
  26. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js +1 -0
  27. package/lib/src/core/features/uIFeatures/beforeRender/prepareRows.js.map +1 -1
  28. package/lib/src/core/features/uIFeatures/beforeRender/refresh.d.ts.map +1 -1
  29. package/lib/src/core/features/uIFeatures/beforeRender/refresh.js +2 -0
  30. package/lib/src/core/features/uIFeatures/beforeRender/refresh.js.map +1 -1
  31. package/lib/src/core/features/uIFeatures/index.d.ts +2 -0
  32. package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
  33. package/lib/src/core/features/uIFeatures/index.js +2 -0
  34. package/lib/src/core/features/uIFeatures/index.js.map +1 -1
  35. package/lib/src/core/generators/RowGenerator.d.ts +11 -1
  36. package/lib/src/core/generators/RowGenerator.d.ts.map +1 -1
  37. package/lib/src/core/generators/RowGenerator.js +36 -2
  38. package/lib/src/core/generators/RowGenerator.js.map +1 -1
  39. package/lib/src/core/generators/RowGenerator.types.d.ts +13 -1
  40. package/lib/src/core/generators/RowGenerator.types.d.ts.map +1 -1
  41. package/lib/src/core/generators/RowGenerator.types.js.map +1 -1
  42. package/lib/src/core/generators/ViewGenerator.d.ts +3 -1
  43. package/lib/src/core/generators/ViewGenerator.d.ts.map +1 -1
  44. package/lib/src/core/generators/ViewGenerator.js +7 -1
  45. package/lib/src/core/generators/ViewGenerator.js.map +1 -1
  46. package/lib/src/core/generators/ViewGenerator.types.d.ts +21 -1
  47. package/lib/src/core/generators/ViewGenerator.types.d.ts.map +1 -1
  48. package/lib/src/core/generators/ViewGenerator.types.js.map +1 -1
  49. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts +5 -0
  50. package/lib/src/core/generators/__tests__/viewUtilityMockSetup.d.ts.map +1 -1
  51. package/lib/src/core/generators/viewUtilityMethods.d.ts +18 -0
  52. package/lib/src/core/generators/viewUtilityMethods.d.ts.map +1 -1
  53. package/lib/src/core/generators/viewUtilityMethods.js +91 -0
  54. package/lib/src/core/generators/viewUtilityMethods.js.map +1 -1
  55. package/lib/src/core/reducers/error.d.ts +1 -0
  56. package/lib/src/core/reducers/error.d.ts.map +1 -1
  57. package/lib/src/core/reducers/index.d.ts +1 -0
  58. package/lib/src/core/reducers/index.d.ts.map +1 -1
  59. package/lib/src/core/reducers/index.js +3 -1
  60. package/lib/src/core/reducers/index.js.map +1 -1
  61. package/lib/src/core/reducers/masterDetail.d.ts +4 -0
  62. package/lib/src/core/reducers/masterDetail.d.ts.map +1 -0
  63. package/lib/src/core/reducers/masterDetail.js +23 -0
  64. package/lib/src/core/reducers/masterDetail.js.map +1 -0
  65. package/lib/src/core/reducers/personalizationReducer.d.ts +1 -1
  66. package/lib/src/core/utils/masterDetail.d.ts +8 -0
  67. package/lib/src/core/utils/masterDetail.d.ts.map +1 -0
  68. package/lib/src/core/utils/masterDetail.js +25 -0
  69. package/lib/src/core/utils/masterDetail.js.map +1 -0
  70. package/lib/src/core/utils/util.d.ts.map +1 -1
  71. package/lib/src/core/utils/util.js +3 -0
  72. package/lib/src/core/utils/util.js.map +1 -1
  73. package/lib/types/Meta.types.d.ts +21 -3
  74. package/lib/types/Meta.types.d.ts.map +1 -1
  75. package/lib/types/Meta.types.js.map +1 -1
  76. package/lib/types/State.types.d.ts +9 -0
  77. package/lib/types/State.types.d.ts.map +1 -1
  78. package/lib/types/State.types.js.map +1 -1
  79. package/lib/types.d.ts +9 -4
  80. package/lib/types.d.ts.map +1 -1
  81. package/lib/types.js.map +1 -1
  82. package/package.json +3 -3
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import type { DataError } from 'pega-repeating-structures-core/lib/types/State.types';\n\nimport { STATE, SELECTION_MODES } from '../constants';\nimport { compareObjects, deepCopy, isRowReorderFieldEnabled } from '../utils/util';\nimport { actionForceUpdate, actionRowSelectionUpdate } from '../actions/actions';\nimport type RsInternal from '../RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Meta } from '../../../types/Meta.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from './ViewGenerator';\nimport {\n dataKey,\n type DragProps,\n type DropProps,\n type RowContext,\n type RowData,\n type RowHeader,\n type RowOptions,\n type UIProps\n} from './RowGenerator.types';\nimport type Column from './ColumnGenerator';\n/** A row model that represents row of a repeating structure component. */\nexport default class Row {\n /** A unique key to identify a row object. The value of this must be derived from one of the key of {@link rowData} */\n public key: string;\n /** Value for Html attribute 'role'.\n * @default 'row'\n */\n role: string;\n /** Value of Html attribute 'tabindex'.\n * @default 0\n */\n tabIndex: number;\n /** Properties related to dragging behavior. */\n public dragProps?: DragProps;\n /** Properties related to dropping behavior. */\n public dropProps?: DropProps;\n /** Represents the data of a row. */\n rowData: RowData;\n /** A unique key to identify a row object in case {@link key} is duplicate. This can be used in the dom to uniquely identify a row. */\n uniqueId?: string | null;\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n /**\n * Creates an instance of Row object for a repeating structure.\n * @param args Constructor arguments\n * @param args.key A unique key to identify a row object.\n * @param args.role Value for Html attribute 'role'. Default is 'row'\n * @param args.tabIndex Value of Html attribute 'tabindex'. Default is 0.\n * @param args.dragProps Properties related to dragging behavior.\n * @param args.dropProps Properties related to dropping behavior.\n * @param args.rowData Represents the data of a row.\n * @param args.uniqueId A unique key to identify a row object in case {@link key} is duplicate.\n * @param rsInternal A reference to {@link RsInternal} object.\n */\n constructor(\n { key, role = 'row', tabIndex = 0, dragProps, dropProps, rowData, uniqueId }: RowOptions,\n rsInternal: RsInternal\n ) {\n this.key = key;\n this.role = role;\n this.tabIndex = tabIndex;\n this.dragProps = dragProps;\n this.dropProps = dropProps;\n this.rowData = rowData;\n this.uniqueId = uniqueId;\n this.#rsInternal = rsInternal;\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.getUIProps = this.getUIProps.bind(this);\n this.getContext = this.getContext.bind(this);\n this.updateRow = this.updateRow.bind(this);\n this.selectRow = this.selectRow.bind(this);\n\n this.setProp = this.setProp.bind(this);\n this.getRowError = this.getRowError.bind(this);\n this.getRowHeader = this.getRowHeader.bind(this);\n }\n\n /** A reference to {@link View} object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /**\n * This is majorly used by {@link setprop} function to create a new row object from existing row object.\n * @returns the row instance properties.\n */\n #get(): RowOptions & { className: string } {\n return {\n key: this.key,\n role: this.role,\n tabIndex: this.tabIndex,\n className: this.className,\n dragProps: this.dragProps,\n dropProps: this.dropProps,\n rowData: this.rowData,\n uniqueId: this.uniqueId\n };\n }\n\n /**\n * This property serves to uniquely identify a row's DOM element within a DOM hierarchy.\n * It plays a vital role in modern JavaScript frameworks such as React, where optimizing DOM manipulation requires unique keys.\n * The value is derived from either {@link key} or {@link uniqueId} if {@link key} is duplicate.\n */\n get reactKey() {\n return this.uniqueId || this.key;\n }\n\n /** The data for the row. */\n get data() {\n return this.rowData;\n }\n\n /** Value of HTMl attribute data-key. The value is derived from\n * either the value of {@link Meta.itemKey itemkey} in {@link data} or {@link key} */\n get [dataKey](): string {\n const keyData = this.data?.[this.parent.meta.itemKey];\n if (keyData) return keyData as string;\n return this.key;\n }\n\n /** A set of CSS class names for Row element. */\n get className() {\n const baseRowClass = this.getRowError()?.message ? 'row row-error' : 'row';\n if (this.parent.meta.selectionMode === SELECTION_MODES.multi_on_hover)\n return this.$selected ? `${baseRowClass} selected-row` : `${baseRowClass} row-on-hover`;\n\n return baseRowClass;\n }\n\n /** A transient value to signifies if a row is selected or not if selection mode is on. */\n get $selected(): RowContext['$selected'] {\n const temporaryChangeSetValue = this.parent.state.rowSelectionChangeSet?.[this.key]?.selected;\n const committedValue = this.parent.state.selectedRows?.includes(this.key);\n if (\n (temporaryChangeSetValue ?? committedValue) &&\n this.parent.meta.selectionMode === SELECTION_MODES.single &&\n this.uniqueId\n ) {\n /**\n * temporaryChangeSetValue ?? committedValue - Is current row selected\n * this.parent.meta.selectionMode === SELECTION_MODES.single - Is single select mode\n * this.uniqueId - unique id is present only in case of duplicate rows\n */\n if (this.parent.getSingleSelectionRowKey()) {\n // This block is to avoid duplicate radio button selection on user selection\n return this.parent.getSingleSelectionRowKey() === this.uniqueId;\n }\n for (let i = 0; i < this.parent.rows!.length; i += 1) {\n // This block is to avoid duplicate radio button selection onload / remount\n const row = this.parent.rows![i];\n const rowTemporaryChangeSetValue =\n this.parent.state.rowSelectionChangeSet?.[row.key]?.selected;\n const rowCommittedValue =\n this.parent.state.selectedRows && this.parent.state.selectedRows?.includes(row.key);\n if (rowTemporaryChangeSetValue ?? rowCommittedValue) {\n // 'row' - first selected row in this.parent.rows\n return this.uniqueId === row.uniqueId; // If 'row' is same as current object return true otherwise return false\n }\n }\n }\n return temporaryChangeSetValue ?? committedValue;\n }\n\n /**\n * This is used to create immutable objects of {@link Row} instance. Always call setProp if updating any properties of Row to make it immutable.\n * @param prop Either partial of row object or individual properties of row object.\n * @param value An optional parameter to provide value for {@link prop} in case prop is not of type {@link Row}\n */\n setProp(\n prop: Partial<RowOptions> | keyof RowOptions,\n value?: string | number | Date | boolean | DragProps | DropProps\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().rows!.findIndex(r => r === 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))) {\n const newRow = new Row(\n {\n ...this.#get(),\n ...(pObject as RowOptions)\n },\n this.#rsInternal\n );\n const cloned = [...getView().rows!];\n cloned.splice(index, 1, newRow);\n getView().rows = cloned;\n }\n }\n\n /** This fetches the latest data of the row using\n * {@link rsProps.apiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n async updateRow(): Promise<void> {\n const { getView, getRsProps, getRsStateResolver, getRsStore } = this.#rsInternal;\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n const state = getRsStateResolver().getState();\n // TODO: Check if fetchRowData api is really needed? In case of grouped tables updating single row may cause issues. It is better to refresh whole view.\n const [rowData] =\n (await rsProps.apiContext.fetchRowData?.(\n deepCopy(state),\n getView().meta,\n getView().meta.itemKey,\n this[dataKey],\n this.data,\n {\n ...(getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: getRsStore().refreshToken\n })\n }\n )) || [];\n const dataIndex = getView().data!.findIndex(\n row => row[getView().meta.itemKey] === rowData[getView().meta.itemKey]\n );\n const rowIndex = getView().rows!.findIndex(row => row.key === rowData[getView().meta.itemKey]);\n if (dataIndex > -1) {\n getView().setProp({\n data: [\n ...getView().data!.slice(0, dataIndex),\n rowData,\n ...getView().data!.slice(dataIndex + 1)\n ],\n rows: [\n ...getView().rows!.slice(0, rowIndex),\n new Row(\n {\n key: rowData[getView().meta.itemKey] as string,\n rowData\n },\n this.#rsInternal\n ),\n ...getView().rows!.slice(rowIndex + 1)\n ]\n });\n dispatch(actionForceUpdate());\n }\n }\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow(selected = true): void {\n const { getRsStateResolver } = this.#rsInternal;\n const { dispatch } = getRsStateResolver();\n this.parent.setSingleSelectionRowKey(this.uniqueId ?? (this.key as string));\n\n dispatch(\n actionRowSelectionUpdate({\n key: this.key as string,\n selected,\n data: this.data,\n status: STATE.NOT_STARTED,\n mode: this.parent.meta.selectionMode\n })\n );\n }\n\n /**\n * Returns the ui props for the {@link Row} that can be used to build a row in DOM.\n *\n */\n getUIProps(): UIProps {\n const { getView } = this.#rsInternal;\n return {\n className: this.className,\n 'data-error-message': this.getRowError()?.message,\n [dataKey]: this[dataKey],\n role: this.role,\n 'aria-rowindex':\n // eslint-disable-next-line no-unsafe-optional-chaining\n this.parent.state.paginationOptions?.rootVirtualiser?.startIndex! +\n this.parent.rows!.findIndex(r => r === this)! +\n 1,\n ...(!isRowReorderFieldEnabled(getView().meta) ? this.dragProps : {}),\n ...this.dropProps\n };\n }\n\n /**\n *\n * @returns the errors on the row.\n */\n getRowError(): DataError[string | number] | undefined {\n return this.parent.state.errors?.dataErrors?.[this.key as string | number];\n }\n\n /**\n * Returns the current row Header field and value.\n * This api is exposed to the consumers of Repeating structures to access the row header information of the current row.\n *\n * @public\n */\n getRowHeader(): RowHeader | undefined {\n let rowHeaderColumn: Column | undefined;\n const columns = this.parent.getContext().getColumns();\n for (const column of columns!) {\n if (column.field.isRowHeader) {\n rowHeaderColumn = column;\n break;\n }\n if (column.isFirstDataColumn) {\n rowHeaderColumn = column;\n }\n }\n if (!rowHeaderColumn) {\n return undefined;\n }\n return {\n field: rowHeaderColumn as Column,\n getValue: () => rowHeaderColumn!.getContext().getValue()\n };\n }\n\n /**\n * Returns the current row context.\n * This api can be exposed to the consumers of Repeating structures to access the basic info regarding Row.\n *\n * @public\n */\n getContext(): RowContext {\n const { getRsProps, getView } = this.#rsInternal;\n const rsProps = getRsProps();\n return {\n name: 'row',\n getValue: () => this.data,\n getParentContext: this.parent.getContext,\n getRowActionDetails: (rowContext: RowData) => {\n return (\n rsProps.apiContext.fetchRowActionDetails?.(\n rowContext[getView().meta.itemKey] as string,\n rowContext\n ) ?? Promise.resolve([])\n );\n },\n getDragProps: () => this.dragProps,\n selectRow: this.selectRow,\n refreshRow: this.updateRow,\n $selected: this.$selected,\n getRowError: this.getRowError,\n getRowHeader: this.getRowHeader\n };\n }\n}\n"]}
1
+ {"version":3,"file":"RowGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAEjF,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAMhE,OAAO,EACL,OAAO,EAQR,MAAM,sBAAsB,CAAC;AAE9B,0EAA0E;AAC1E,MAAM,CAAC,OAAO,OAAO,GAAG;IACtB,sHAAsH;IAC/G,GAAG,CAAS;IACnB;;OAEG;IACH,IAAI,CAAS;IACb;;OAEG;IACH,QAAQ,CAAS;IACjB,+CAA+C;IACxC,SAAS,CAAa;IAC7B,+CAA+C;IACxC,SAAS,CAAa;IAC7B,oCAAoC;IACpC,OAAO,CAAU;IACjB,sIAAsI;IACtI,QAAQ,CAAiB;IACzB,6DAA6D;IAC7D,kBAAkB,CAAW;IAC7B,gDAAgD;IAChD,WAAW,CAAa;IACxB;;;;;;;;;;;OAWG;IACH,YACE,EACE,GAAG,EACH,IAAI,GAAG,KAAK,EACZ,QAAQ,GAAG,CAAC,EACZ,SAAS,EACT,SAAS,EACT,OAAO,EACP,QAAQ,EACR,kBAAkB,EACP,EACb,UAAsB;QAEtB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,CAAC;QAC7C,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAE9B;;2EAEmE;QACnE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnF,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEjE,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED,0CAA0C;IAC1C,IAAI,MAAM;QACR,OAAO,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;IACpC,CAAC;IAED;;;OAGG;IACH,IAAI;QACF,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;SAC5C,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,GAAG,CAAC;IACnC,CAAC;IAED,4BAA4B;IAC5B,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED;yFACqF;IACrF,IAAI,CAAC,OAAO,CAAC;QACX,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,IAAI,OAAO;YAAE,OAAO,OAAiB,CAAC;QACtC,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,gDAAgD;IAChD,IAAI,SAAS;QACX,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC;QAC3E,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,cAAc;YACnE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC,CAAC,CAAC,GAAG,YAAY,eAAe,CAAC;QAE1F,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,0FAA0F;IAC1F,IAAI,SAAS;QACX,MAAM,uBAAuB,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;QAC9F,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC1E,IACE,CAAC,uBAAuB,IAAI,cAAc,CAAC;YAC3C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,eAAe,CAAC,MAAM;YACzD,IAAI,CAAC,QAAQ,EACb,CAAC;YACD;;;;eAIG;YACH,IAAI,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,EAAE,CAAC;gBAC3C,4EAA4E;gBAC5E,OAAO,IAAI,CAAC,MAAM,CAAC,wBAAwB,EAAE,KAAK,IAAI,CAAC,QAAQ,CAAC;YAClE,CAAC;YACD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,2EAA2E;gBAC3E,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,CAAC,CAAC,CAAC;gBACjC,MAAM,0BAA0B,GAC9B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC;gBAC/D,MAAM,iBAAiB,GACrB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,EAAE,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;gBACtF,IAAI,0BAA0B,IAAI,iBAAiB,EAAE,CAAC;oBACpD,iDAAiD;oBACjD,OAAO,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,QAAQ,CAAC,CAAC,wEAAwE;gBACjH,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,uBAAuB,IAAI,cAAc,CAAC;IACnD,CAAC;IAED;;;;OAIG;IACH,OAAO,CACL,IAA4C,EAC5C,KAAgE;QAEhE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,KAAK,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,GAAG,IAAI,CAAC;QACnB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAC9B,CAAC;QAED,+CAA+C;QAC/C,6EAA6E;QAC7E,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACzD,MAAM,MAAM,GAAG,IAAI,GAAG,CACpB;gBACE,GAAG,IAAI,CAAC,IAAI,EAAE;gBACd,GAAI,OAAsB;aAC3B,EACD,IAAI,CAAC,WAAW,CACjB,CAAC;YACF,MAAM,MAAM,GAAG,CAAC,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,CAAC;YACpC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAChC,OAAO,EAAE,CAAC,IAAI,GAAG,MAAM,CAAC;QAC1B,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACjF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAC1C,MAAM,KAAK,GAAG,kBAAkB,EAAE,CAAC,QAAQ,EAAE,CAAC;QAC9C,wJAAwJ;QACxJ,MAAM,CAAC,OAAO,CAAC,GACb,CAAC,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,EAAE,CACtC,QAAQ,CAAC,KAAK,CAAC,EACf,OAAO,EAAE,CAAC,IAAI,EACd,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,EACtB,IAAI,CAAC,OAAO,CAAC,EACb,IAAI,CAAC,IAAI,EACT;YACE,GAAG,CAAC,UAAU,EAAE,CAAC,iBAAiB,IAAI;gBACpC,eAAe,EAAE,IAAI;gBACrB,oBAAoB,EAAE,UAAU,EAAE,CAAC,YAAY;aAChD,CAAC;SACH,CACF,CAAC,IAAI,EAAE,CAAC;QACX,MAAM,SAAS,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,SAAS,CACzC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CACvE,CAAC;QACF,MAAM,QAAQ,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/F,IAAI,SAAS,GAAG,CAAC,CAAC,EAAE,CAAC;YACnB,OAAO,EAAE,CAAC,OAAO,CAAC;gBAChB,IAAI,EAAE;oBACJ,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;oBACtC,OAAO;oBACP,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC;iBACxC;gBACD,IAAI,EAAE;oBACJ,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC;oBACrC,IAAI,GAAG,CACL;wBACE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAW;wBAC9C,OAAO;qBACR,EACD,IAAI,CAAC,WAAW,CACjB;oBACD,GAAG,OAAO,EAAE,CAAC,IAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC;iBACvC;aACF,CAAC,CAAC;YACH,oGAAoG;YACpG,OAAO,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;YAC/C,QAAQ,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,QAAQ,GAAG,IAAI;QACvB,MAAM,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,GAAG,kBAAkB,EAAE,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,wBAAwB,CAAC,IAAI,CAAC,QAAQ,IAAK,IAAI,CAAC,GAAc,CAAC,CAAC;QAE5E,QAAQ,CACN,wBAAwB,CAAC;YACvB,GAAG,EAAE,IAAI,CAAC,GAAa;YACvB,QAAQ;YACR,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,KAAK,CAAC,WAAW;YACzB,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa;SACrC,CAAC,CACH,CAAC;IACJ,CAAC;IAED,wCAAwC;IACxC,gBAAgB,CAAC,YAAsC,EAAE,QAAiB;QACxE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,4CAA4C;IAC5C,iBAAiB;QACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;IACvC,CAAC;IAED,qGAAqG;IACrG,6BAA6B;QAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,oDAAoD;IACpD,oBAAoB,CAAC,SAA8B;QACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACnD,CAAC;IAED;;;OAGG;IACH,UAAU;QACR,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,OAAO;YACL,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,oBAAoB,EAAE,IAAI,CAAC,WAAW,EAAE,EAAE,OAAO;YACjD,CAAC,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,eAAe;YACb,uDAAuD;YACvD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,eAAe,EAAE,UAAW;gBACjE,IAAI,CAAC,MAAM,CAAC,IAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,KAAK,IAAI,CAAE;gBAC7C,CAAC;YACH,GAAG,CAAC,CAAC,wBAAwB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;YACpE,GAAG,IAAI,CAAC,SAAS;SAClB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,WAAW;QACT,OAAO,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,CAAC,IAAI,CAAC,GAAsB,CAAC,CAAC;IAC7E,CAAC;IAED;;;;;OAKG;IACH,YAAY;QACV,IAAI,eAAmC,CAAC;QACxC,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,UAAU,EAAE,CAAC;QACtD,KAAK,MAAM,MAAM,IAAI,OAAQ,EAAE,CAAC;YAC9B,IAAI,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;gBAC7B,eAAe,GAAG,MAAM,CAAC;gBACzB,MAAM;YACR,CAAC;YACD,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC7B,eAAe,GAAG,MAAM,CAAC;YAC3B,CAAC;QACH,CAAC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO;YACL,KAAK,EAAE,eAAyB;YAChC,QAAQ,EAAE,GAAG,EAAE,CAAC,eAAgB,CAAC,UAAU,EAAE,CAAC,QAAQ,EAAE;SACzD,CAAC;IACJ,CAAC;IAED;;;;;OAKG;IACH,UAAU;QACR,MAAM,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACjD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,OAAO;YACL,IAAI,EAAE,KAAK;YACX,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG;YACzB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACzB,gBAAgB,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU;YACxC,mBAAmB,EAAE,CAAC,UAAmB,EAAE,EAAE;gBAC3C,OAAO,CACL,OAAO,CAAC,UAAU,CAAC,qBAAqB,EAAE,CACxC,UAAU,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,OAAO,CAAW,EAC5C,UAAU,CACX,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CACzB,CAAC;YACJ,CAAC;YACD,YAAY,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,SAAS;YAClC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,SAAS;YAC1B,GAAG,CAAC,uBAAuB,CAAC,OAAO,EAAE,CAAC,IAAI;gBACxC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;gBACvC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;gBACzC,6BAA6B,EAAE,IAAI,CAAC,6BAA6B;gBACjE,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;aAChD,CAAC;YACF,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;SAChC,CAAC;IACJ,CAAC;CACF","sourcesContent":["import type { DataError } from 'pega-repeating-structures-core/lib/types/State.types';\n\nimport { STATE, SELECTION_MODES } from '../constants';\nimport { compareObjects, deepCopy, isRowReorderFieldEnabled } from '../utils/util';\nimport { actionForceUpdate, actionRowSelectionUpdate } from '../actions/actions';\nimport type RsInternal from '../RsInternal';\nimport { isMasterDetailSupported } from '../utils/masterDetail';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { Meta } from '../../../types/Meta.types';\n\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type View from './ViewGenerator';\nimport {\n dataKey,\n type DragProps,\n type DropProps,\n type RowContext,\n type RowData,\n type RowHeader,\n type RowOptions,\n type UIProps\n} from './RowGenerator.types';\nimport type Column from './ColumnGenerator';\n/** A row model that represents row of a repeating structure component. */\nexport default class Row {\n /** A unique key to identify a row object. The value of this must be derived from one of the key of {@link rowData} */\n public key: string;\n /** Value for Html attribute 'role'.\n * @default 'row'\n */\n role: string;\n /** Value of Html attribute 'tabindex'.\n * @default 0\n */\n tabIndex: number;\n /** Properties related to dragging behavior. */\n public dragProps?: DragProps;\n /** Properties related to dropping behavior. */\n public dropProps?: DropProps;\n /** Represents the data of a row. */\n rowData: RowData;\n /** A unique key to identify a row object in case {@link key} is duplicate. This can be used in the dom to uniquely identify a row. */\n uniqueId?: string | null;\n /** Generic interaction marker used by template renderers. */\n masterDetailActive?: boolean;\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n /**\n * Creates an instance of Row object for a repeating structure.\n * @param args Constructor arguments\n * @param args.key A unique key to identify a row object.\n * @param args.role Value for Html attribute 'role'. Default is 'row'\n * @param args.tabIndex Value of Html attribute 'tabindex'. Default is 0.\n * @param args.dragProps Properties related to dragging behavior.\n * @param args.dropProps Properties related to dropping behavior.\n * @param args.rowData Represents the data of a row.\n * @param args.uniqueId A unique key to identify a row object in case {@link key} is duplicate.\n * @param rsInternal A reference to {@link RsInternal} object.\n */\n constructor(\n {\n key,\n role = 'row',\n tabIndex = 0,\n dragProps,\n dropProps,\n rowData,\n uniqueId,\n masterDetailActive\n }: RowOptions,\n rsInternal: RsInternal\n ) {\n this.key = key;\n this.role = role;\n this.tabIndex = tabIndex;\n this.dragProps = dragProps;\n this.dropProps = dropProps;\n this.rowData = rowData;\n this.uniqueId = uniqueId;\n this.masterDetailActive = masterDetailActive;\n this.#rsInternal = rsInternal;\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.getUIProps = this.getUIProps.bind(this);\n this.getContext = this.getContext.bind(this);\n this.updateRow = this.updateRow.bind(this);\n this.selectRow = this.selectRow.bind(this);\n this.openMasterDetail = this.openMasterDetail.bind(this);\n this.closeMasterDetail = this.closeMasterDetail.bind(this);\n this.clearMasterDetailNestedTarget = this.clearMasterDetailNestedTarget.bind(this);\n this.navigateMasterDetail = this.navigateMasterDetail.bind(this);\n\n this.setProp = this.setProp.bind(this);\n this.getRowError = this.getRowError.bind(this);\n this.getRowHeader = this.getRowHeader.bind(this);\n }\n\n /** A reference to {@link View} object. */\n get parent() {\n return this.#rsInternal.getView();\n }\n\n /**\n * This is majorly used by {@link setprop} function to create a new row object from existing row object.\n * @returns the row instance properties.\n */\n #get(): RowOptions & { className: string } {\n return {\n key: this.key,\n role: this.role,\n tabIndex: this.tabIndex,\n className: this.className,\n dragProps: this.dragProps,\n dropProps: this.dropProps,\n rowData: this.rowData,\n uniqueId: this.uniqueId,\n masterDetailActive: this.masterDetailActive\n };\n }\n\n /**\n * This property serves to uniquely identify a row's DOM element within a DOM hierarchy.\n * It plays a vital role in modern JavaScript frameworks such as React, where optimizing DOM manipulation requires unique keys.\n * The value is derived from either {@link key} or {@link uniqueId} if {@link key} is duplicate.\n */\n get reactKey() {\n return this.uniqueId || this.key;\n }\n\n /** The data for the row. */\n get data() {\n return this.rowData;\n }\n\n /** Value of HTMl attribute data-key. The value is derived from\n * either the value of {@link Meta.itemKey itemkey} in {@link data} or {@link key} */\n get [dataKey](): string {\n const keyData = this.data?.[this.parent.meta.itemKey];\n if (keyData) return keyData as string;\n return this.key;\n }\n\n /** A set of CSS class names for Row element. */\n get className() {\n const baseRowClass = this.getRowError()?.message ? 'row row-error' : 'row';\n if (this.parent.meta.selectionMode === SELECTION_MODES.multi_on_hover)\n return this.$selected ? `${baseRowClass} selected-row` : `${baseRowClass} row-on-hover`;\n\n return baseRowClass;\n }\n\n /** A transient value to signifies if a row is selected or not if selection mode is on. */\n get $selected(): RowContext['$selected'] {\n const temporaryChangeSetValue = this.parent.state.rowSelectionChangeSet?.[this.key]?.selected;\n const committedValue = this.parent.state.selectedRows?.includes(this.key);\n if (\n (temporaryChangeSetValue ?? committedValue) &&\n this.parent.meta.selectionMode === SELECTION_MODES.single &&\n this.uniqueId\n ) {\n /**\n * temporaryChangeSetValue ?? committedValue - Is current row selected\n * this.parent.meta.selectionMode === SELECTION_MODES.single - Is single select mode\n * this.uniqueId - unique id is present only in case of duplicate rows\n */\n if (this.parent.getSingleSelectionRowKey()) {\n // This block is to avoid duplicate radio button selection on user selection\n return this.parent.getSingleSelectionRowKey() === this.uniqueId;\n }\n for (let i = 0; i < this.parent.rows!.length; i += 1) {\n // This block is to avoid duplicate radio button selection onload / remount\n const row = this.parent.rows![i];\n const rowTemporaryChangeSetValue =\n this.parent.state.rowSelectionChangeSet?.[row.key]?.selected;\n const rowCommittedValue =\n this.parent.state.selectedRows && this.parent.state.selectedRows?.includes(row.key);\n if (rowTemporaryChangeSetValue ?? rowCommittedValue) {\n // 'row' - first selected row in this.parent.rows\n return this.uniqueId === row.uniqueId; // If 'row' is same as current object return true otherwise return false\n }\n }\n }\n return temporaryChangeSetValue ?? committedValue;\n }\n\n /**\n * This is used to create immutable objects of {@link Row} instance. Always call setProp if updating any properties of Row to make it immutable.\n * @param prop Either partial of row object or individual properties of row object.\n * @param value An optional parameter to provide value for {@link prop} in case prop is not of type {@link Row}\n */\n setProp(\n prop: Partial<RowOptions> | keyof RowOptions,\n value?: string | number | Date | boolean | DragProps | DropProps\n ) {\n const { getView } = this.#rsInternal;\n const index = getView().rows!.findIndex(r => r === 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))) {\n const newRow = new Row(\n {\n ...this.#get(),\n ...(pObject as RowOptions)\n },\n this.#rsInternal\n );\n const cloned = [...getView().rows!];\n cloned.splice(index, 1, newRow);\n getView().rows = cloned;\n }\n }\n\n /** This fetches the latest data of the row using\n * {@link rsProps.apiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n async updateRow(): Promise<void> {\n const { getView, getRsProps, getRsStateResolver, getRsStore } = this.#rsInternal;\n const rsProps = getRsProps();\n const { dispatch } = getRsStateResolver();\n const state = getRsStateResolver().getState();\n // TODO: Check if fetchRowData api is really needed? In case of grouped tables updating single row may cause issues. It is better to refresh whole view.\n const [rowData] =\n (await rsProps.apiContext.fetchRowData?.(\n deepCopy(state),\n getView().meta,\n getView().meta.itemKey,\n this[dataKey],\n this.data,\n {\n ...(getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: getRsStore().refreshToken\n })\n }\n )) || [];\n const dataIndex = getView().data!.findIndex(\n row => row[getView().meta.itemKey] === rowData[getView().meta.itemKey]\n );\n const rowIndex = getView().rows!.findIndex(row => row.key === rowData[getView().meta.itemKey]);\n if (dataIndex > -1) {\n getView().setProp({\n data: [\n ...getView().data!.slice(0, dataIndex),\n rowData,\n ...getView().data!.slice(dataIndex + 1)\n ],\n rows: [\n ...getView().rows!.slice(0, rowIndex),\n new Row(\n {\n key: rowData[getView().meta.itemKey] as string,\n rowData\n },\n this.#rsInternal\n ),\n ...getView().rows!.slice(rowIndex + 1)\n ]\n });\n // Refresh the active detail as it may be stale even when the refreshed table row data is unchanged.\n getView().type.refreshMasterDetail([this.key]);\n dispatch(actionForceUpdate());\n }\n }\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow(selected = true): void {\n const { getRsStateResolver } = this.#rsInternal;\n const { dispatch } = getRsStateResolver();\n this.parent.setSingleSelectionRowKey(this.uniqueId ?? (this.key as string));\n\n dispatch(\n actionRowSelectionUpdate({\n key: this.key as string,\n selected,\n data: this.data,\n status: STATE.NOT_STARTED,\n mode: this.parent.meta.selectionMode\n })\n );\n }\n\n /** Opens Master Detail for this row. */\n openMasterDetail(nestedTarget?: Record<string, unknown>, viewName?: string): void {\n this.parent.type.openMasterDetail(this.key, nestedTarget, viewName);\n }\n\n /** Closes the active Master Detail item. */\n closeMasterDetail(): void {\n this.parent.type.closeMasterDetail();\n }\n\n /** Clears the nested target set on this row's active Master Detail selection, without closing it. */\n clearMasterDetailNestedTarget(): void {\n this.parent.type.clearMasterDetailNestedTarget(this.key);\n }\n\n /** Navigates from the active Master Detail item. */\n navigateMasterDetail(direction: 'previous' | 'next'): void {\n this.parent.type.navigateMasterDetail(direction);\n }\n\n /**\n * Returns the ui props for the {@link Row} that can be used to build a row in DOM.\n *\n */\n getUIProps(): UIProps {\n const { getView } = this.#rsInternal;\n return {\n className: this.className,\n 'data-error-message': this.getRowError()?.message,\n [dataKey]: this[dataKey],\n role: this.role,\n 'aria-rowindex':\n // eslint-disable-next-line no-unsafe-optional-chaining\n this.parent.state.paginationOptions?.rootVirtualiser?.startIndex! +\n this.parent.rows!.findIndex(r => r === this)! +\n 1,\n ...(!isRowReorderFieldEnabled(getView().meta) ? this.dragProps : {}),\n ...this.dropProps\n };\n }\n\n /**\n *\n * @returns the errors on the row.\n */\n getRowError(): DataError[string | number] | undefined {\n return this.parent.state.errors?.dataErrors?.[this.key as string | number];\n }\n\n /**\n * Returns the current row Header field and value.\n * This api is exposed to the consumers of Repeating structures to access the row header information of the current row.\n *\n * @public\n */\n getRowHeader(): RowHeader | undefined {\n let rowHeaderColumn: Column | undefined;\n const columns = this.parent.getContext().getColumns();\n for (const column of columns!) {\n if (column.field.isRowHeader) {\n rowHeaderColumn = column;\n break;\n }\n if (column.isFirstDataColumn) {\n rowHeaderColumn = column;\n }\n }\n if (!rowHeaderColumn) {\n return undefined;\n }\n return {\n field: rowHeaderColumn as Column,\n getValue: () => rowHeaderColumn!.getContext().getValue()\n };\n }\n\n /**\n * Returns the current row context.\n * This api can be exposed to the consumers of Repeating structures to access the basic info regarding Row.\n *\n * @public\n */\n getContext(): RowContext {\n const { getRsProps, getView } = this.#rsInternal;\n const rsProps = getRsProps();\n return {\n name: 'row',\n getRowKey: () => this.key,\n getValue: () => this.data,\n getParentContext: this.parent.getContext,\n getRowActionDetails: (rowContext: RowData) => {\n return (\n rsProps.apiContext.fetchRowActionDetails?.(\n rowContext[getView().meta.itemKey] as string,\n rowContext\n ) ?? Promise.resolve([])\n );\n },\n getDragProps: () => this.dragProps,\n selectRow: this.selectRow,\n refreshRow: this.updateRow,\n ...(isMasterDetailSupported(getView()) && {\n openMasterDetail: this.openMasterDetail,\n closeMasterDetail: this.closeMasterDetail,\n clearMasterDetailNestedTarget: this.clearMasterDetailNestedTarget,\n navigateMasterDetail: this.navigateMasterDetail\n }),\n $selected: this.$selected,\n getRowError: this.getRowError,\n getRowHeader: this.getRowHeader\n };\n }\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import type { ApiContext } from '../../../types/ApiContext.types';
2
- import type { DataError } from '../../../types/State.types';
2
+ import type { DataError, MasterDetailNavigationDirection } from '../../../types/State.types';
3
3
  import type Column from './ColumnGenerator';
4
4
  import type Row from './RowGenerator';
5
5
  import type { ViewContext } from './ViewGenerator.types';
@@ -48,6 +48,8 @@ export interface DropProps {
48
48
  export interface RowContext {
49
49
  /** Name of the the context object - row */
50
50
  name: string;
51
+ /** Returns the row key. */
52
+ getRowKey: () => string;
51
53
  /** Returns the data of the entire row */
52
54
  getValue: () => RowData;
53
55
  /** Returns the context of the parent(view) */
@@ -66,6 +68,14 @@ export interface RowContext {
66
68
  * @returns void
67
69
  */
68
70
  refreshRow: () => Promise<void>;
71
+ /** Opens Master Detail for this row. Omitted from the execution context when Master Detail is disabled for the view. */
72
+ openMasterDetail?: (nestedTarget?: Record<string, unknown>, viewName?: string) => void;
73
+ /** Closes the active Master Detail item when Master Detail is enabled for the view. */
74
+ closeMasterDetail?: () => void;
75
+ /** Clears the nested target set on this row's active Master Detail selection without closing it. */
76
+ clearMasterDetailNestedTarget?: () => void;
77
+ /** Navigates from the active Master Detail item when Master Detail is enabled for the view. */
78
+ navigateMasterDetail?: (direction: MasterDetailNavigationDirection) => void;
69
79
  /** Boolean denoting if a row is selected */
70
80
  $selected?: boolean;
71
81
  /**
@@ -87,6 +97,8 @@ export type RowOptions = {
87
97
  dropProps?: DropProps;
88
98
  rowData: RowData;
89
99
  uniqueId?: string | null;
100
+ /** Generic interaction marker used by template renderers. */
101
+ masterDetailActive?: boolean;
90
102
  };
91
103
  export interface RowHeader {
92
104
  field: Column;
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RowGenerator.types.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAuHA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\nexport type ScalarRowData = string | number | boolean | Date;\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | ScalarRowData | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
1
+ {"version":3,"file":"RowGenerator.types.js","sourceRoot":"","sources":["../../../../src/core/generators/RowGenerator.types.ts"],"names":[],"mappings":"AAqIA,MAAM,CAAC,MAAM,OAAO,GAAG,UAAU,CAAC","sourcesContent":["import type { ApiContext } from '../../../types/ApiContext.types';\nimport type { DataError, MasterDetailNavigationDirection } from '../../../types/State.types';\n\nimport type Column from './ColumnGenerator';\nimport type Row from './RowGenerator';\nimport type { ViewContext } from './ViewGenerator.types';\n\nexport type ScalarRowData = string | number | boolean | Date;\n/** Interface for expressing data present in a row */\nexport interface RowData {\n [key: string]: null | ScalarRowData | RowData | RowData[];\n}\n\n/** UI Props set on a row */\nexport interface UIProps {\n /** Class name of the row */\n className: string;\n /** Role to be set on row for A11y purpose */\n role: string;\n\n /** aria-rowindex attribute is set on row and is used by screen readers */\n 'aria-rowindex': number;\n\n /** On click handler exposed */\n onClick?: (data: Row) => void;\n\n /** Drag props exposed on row for drag and drop operation */\n dragProps?: DragProps;\n\n /** Drop props exposed on row for drag and drop operation */\n dropProps?: DropProps;\n /** The error message for a row. */\n 'data-error-message'?: string;\n /** A key to uniquely identify a row. */\n 'data-key': string;\n}\n\nexport interface DragProps {\n /** Boolean denoting if a row is draggable */\n draggable: boolean;\n\n /** Event handler attached on the row for drag start event */\n onDragStart: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag end event */\n onDragEnd: (e: DragEvent) => void;\n}\n\n/** Drop props exposed on row for drag and drop operation */\nexport interface DropProps {\n /** Event handler attached on the row for drag enter event */\n onDragEnter: (e: DragEvent) => void;\n\n /** Event handler attached on the row for drag leave event */\n onDragLeave: (e: DragEvent) => void;\n\n /** Selector exposed for dropping a row */\n 'data-drop': string;\n}\n/** Context object exposed on the row */\nexport interface RowContext {\n /** Name of the the context object - row */\n name: string;\n\n /** Returns the row key. */\n getRowKey: () => string;\n\n /** Returns the data of the entire row */\n getValue: () => RowData;\n\n /** Returns the context of the parent(view) */\n getParentContext: () => ViewContext;\n\n /** Calls fetchRowActionDetails function of the API context and returns the row actions */\n getRowActionDetails: (\n rowContext: RowData\n ) => ReturnType<Required<ApiContext>['fetchRowActionDetails']>;\n\n /** Returns the drag props set on a row */\n getDragProps: () => DragProps | undefined;\n\n /**\n * Used to select/deselect a {@link Row}.\n * @param selected Flag to indicate the row is selected or not.\n */\n selectRow: (selected: boolean) => void;\n\n /** This fetches the latest data of the row using\n * {@link ApiContext.fetchRowData fetchRowData} and updates the same in the {@link View} and {@link Row}\n * @returns void\n */\n refreshRow: () => Promise<void>;\n\n /** Opens Master Detail for this row. Omitted from the execution context when Master Detail is disabled for the view. */\n openMasterDetail?: (nestedTarget?: Record<string, unknown>, viewName?: string) => void;\n /** Closes the active Master Detail item when Master Detail is enabled for the view. */\n closeMasterDetail?: () => void;\n /** Clears the nested target set on this row's active Master Detail selection without closing it. */\n clearMasterDetailNestedTarget?: () => void;\n /** Navigates from the active Master Detail item when Master Detail is enabled for the view. */\n navigateMasterDetail?: (direction: MasterDetailNavigationDirection) => void;\n\n /** Boolean denoting if a row is selected */\n $selected?: boolean;\n /**\n *\n * @returns the errors on the row.\n */\n getRowError: () => DataError[string | number] | undefined;\n /**\n *\n * @returns the current row Header field and value.\n */\n getRowHeader: () => RowHeader | undefined;\n}\n\nexport type RowOptions = {\n key: string;\n role?: string;\n tabIndex?: number;\n dragProps?: DragProps;\n dropProps?: DropProps;\n rowData: RowData;\n uniqueId?: string | null;\n /** Generic interaction marker used by template renderers. */\n masterDetailActive?: boolean;\n};\n\nexport interface RowHeader {\n field: Column;\n getValue: () => RowData[keyof RowData] | undefined;\n}\n\nexport const dataKey = 'data-key';\n"]}
@@ -5,7 +5,7 @@ import type RsProps from '../RsProps';
5
5
  import type { UtilityFunctions } from './viewUtilityMethods';
6
6
  import Column from './ColumnGenerator';
7
7
  import type Row from './RowGenerator';
8
- import type { ConfirmationActionDetails, DebugInfo, FormatterFunction, FreezeLine, RefreshNotification, RequiredDefinition, UIProps, ViewConfig, ViewContext, ViewState, VirtualizeElement, WarningDetail } from './ViewGenerator.types';
8
+ import type { ConfirmationActionDetails, DebugInfo, FormatterFunction, FreezeLine, MasterDetailSelection, RefreshNotification, RequiredDefinition, UIProps, ViewConfig, ViewContext, ViewState, VirtualizeElement, WarningDetail } from './ViewGenerator.types';
9
9
  import type { RowData } from './RowGenerator.types';
10
10
  import type { ColumnConfig } from './ColumnGenerator.types';
11
11
  import type GroupGenerator from './GroupGenerator';
@@ -22,6 +22,8 @@ export default class View {
22
22
  columns?: Column[];
23
23
  /** Current {@link Row rows} for the view. */
24
24
  rows?: Row[];
25
+ /** Resolved Master Detail selection for the current generated row window. */
26
+ masterDetail?: MasterDetailSelection;
25
27
  /** Current group headers for the view. */
26
28
  groupHeaders?: GroupGenerator[];
27
29
  /** Indicates the visible records count for the current view after applying any type of filter operation. */
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ViewGenerator.d.ts","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,8 @@ export default class View {
35
35
  columns;
36
36
  /** Current {@link Row rows} for the view. */
37
37
  rows;
38
+ /** Resolved Master Detail selection for the current generated row window. */
39
+ masterDetail;
38
40
  /** Current group headers for the view. */
39
41
  groupHeaders;
40
42
  /** Indicates the visible records count for the current view after applying any type of filter operation. */
@@ -138,7 +140,7 @@ export default class View {
138
140
  * @param rsInternal The {@link RsInternal} object.
139
141
  */
140
142
  constructor(config, rsInternal) {
141
- const { data, columns, rows = [], groupHeaders, resultsCount, hasMoreResults, totalItemCount, showCount, viewHeight, selectedRecordsCount, bodyHeight, bodyMaxHeight, rowHeight, rowHeightClass, isFilterApplied, isLoading, freezeLine, state, domContainer, scrollerNode, meta, itemElement, virtualizeElements, debugInfo = [], requiredDef, hierarchicalGroupEnabled, singleSelectionRowKey, confirmationActionDetails, externalStateKeys, isCountUpdateRequired, countGeneratedInternally, isInstantRender, refreshNotification, announceCount, enableGlobalSearch, warningMessages, template } = config;
143
+ const { data, columns, rows = [], groupHeaders, resultsCount, hasMoreResults, totalItemCount, showCount, viewHeight, selectedRecordsCount, bodyHeight, bodyMaxHeight, rowHeight, rowHeightClass, isFilterApplied, isLoading, freezeLine, state, domContainer, scrollerNode, meta, itemElement, virtualizeElements, debugInfo = [], requiredDef, hierarchicalGroupEnabled, singleSelectionRowKey, confirmationActionDetails, externalStateKeys, isCountUpdateRequired, countGeneratedInternally, isInstantRender, refreshNotification, announceCount, enableGlobalSearch, warningMessages, template, masterDetail } = config;
142
144
  const { getRsStore, getRsProps, getRsStateResolver } = rsInternal;
143
145
  this.#rsInternal = rsInternal;
144
146
  this.#rsStore = getRsStore();
@@ -152,6 +154,7 @@ export default class View {
152
154
  this.data = data;
153
155
  this.columns = columns;
154
156
  this.rows = rows;
157
+ this.masterDetail = masterDetail;
155
158
  this.groupHeaders = groupHeaders;
156
159
  this.resultsCount = resultsCount;
157
160
  this.hasMoreResults = hasMoreResults;
@@ -215,6 +218,7 @@ export default class View {
215
218
  notifications: state?.notifications,
216
219
  rowSelectionChangeSet: state?.rowSelectionChangeSet,
217
220
  selectedRows: state?.selectedRows,
221
+ masterDetail: state?.masterDetail,
218
222
  bootstrap: state?.bootstrap,
219
223
  refresh: state?.refresh,
220
224
  externalState: state?.externalState,
@@ -257,6 +261,7 @@ export default class View {
257
261
  singleSelectionRowKey: this.#singleSelectionRowKey,
258
262
  columns: this.columns,
259
263
  rows: this.rows,
264
+ masterDetail: this.masterDetail,
260
265
  groupHeaders: this.groupHeaders,
261
266
  resultsCount: this.resultsCount,
262
267
  showCount: this.showCount,
@@ -499,6 +504,7 @@ export default class View {
499
504
  * */
500
505
  getContext() {
501
506
  return {
507
+ getRsID: () => this.rsID,
502
508
  getMeta: () => this.meta,
503
509
  getState: () => this.state,
504
510
  getColumns: () => this.columns,
@@ -1 +1 @@
1
- {"version":3,"file":"ViewGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAmB,MAAM,yBAAyB,CAAC;AAEhF,OAAO,EAAE,SAAS,EAA4B,MAAM,2BAA2B,CAAC;AAGhF,OAAO,EACL,oBAAoB,EACpB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,eAAe,EACf,SAAS,EACV,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,OAAO,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AACxE,OAAO,aAAa,MAAM,kBAAkB,CAAC;AAS7C,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAoBvC,wEAAwE;AACxE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC;IAChC,mBAAmB,CAAC,KAAK,CAAC,EAAE;IAC5B,qBAAqB,CAAC,KAAK,CAAC,EAAE;IAC9B,mBAAmB,CAAC,KAAK,CAAC,EAAE;CAC7B,CAAC,CAAC;AAEH,gGAAgG;AAChG,MAAM,CAAC,OAAO,OAAO,IAAI;IACvB,4DAA4D;IAC5D,SAAS,CAA4B;IACrC,sBAAsB;IACtB,QAAQ,CAAU;IAClB,qCAAqC;IACrC,OAAO,CAAS;IAChB,oCAAoC;IACpC,WAAW,CAAa;IACxB,kDAAkD;IAClD,WAAW,CAA4B;IACvC,+DAA+D;IAC/D,sBAAsB,CAAU;IAChC,oDAAoD;IACpD,aAAa,CAA2B;IACxC,+DAA+D;IAC/D,IAAI,CAAS;IACb,iCAAiC;IACjC,IAAI,CAAa;IACjB,2DAA2D;IAC3D,OAAO,CAAY;IACnB,6CAA6C;IAC7C,IAAI,CAAS;IACb,0CAA0C;IAC1C,YAAY,CAAoB;IAChC,4GAA4G;IAC5G,YAAY,CAAU;IACtB,kEAAkE;IAClE,SAAS,CAAW;IACpB,8CAA8C;IAC9C,cAAc,CAAW;IACzB;OACG;IACH,cAAc,CAAU;IACxB,kDAAkD;IAClD,oBAAoB,CAAU;IAC9B,8CAA8C;IAC9C,UAAU,CAAU;IACpB,0FAA0F;IAC1F,UAAU,CAAmB;IAC7B,4DAA4D;IAC5D,aAAa,CAAU;IACvB,2FAA2F;IAC3F,SAAS,CAAU;IACnB,oEAAoE;IACpE,cAAc,CAAU;IACxB,+DAA+D;IAC/D,eAAe,CAAW;IAC1B,gHAAgH;IAChH,SAAS,CAAW;IACpB,uEAAuE;IACvE,UAAU,CAAc;IACxB,wCAAwC;IACxC,IAAI,CAAO;IACX,qIAAqI;IACrI,cAAc,CAA6B;IAC3C,oEAAoE;IACpE,UAAU,CAAyB;IACnC,8EAA8E;IAC9E,YAAY,CAA2B;IACvC,0GAA0G;IAC1G,sBAAsB,CAAqC;IAC3D,uEAAuE;IACvE,YAAY,CAAe;IAC3B,gEAAgE;IAChE,YAAY,CAAe;IAC3B,+DAA+D;IAC/D,WAAW,CAAe;IAC1B,yEAAyE;IACzE,kBAAkB,CAAoB;IACtC,qDAAqD;IACrD,wBAAwB,CAAW;IACnC,oGAAoG;IACpG,yBAAyB,CAA6B;IACtD,wGAAwG;IACxG,qBAAqB,CAAW;IAChC,qFAAqF;IACrF,wBAAwB,CAAW;IACnC,2EAA2E;IAC3E,KAAK,CAAY;IACjB;oHACgH;IAChH,SAAS,CAAe;IACxB;;yEAEqE;IACrE,WAAW,CAAsB;IACjC;6GACyG;IACzG,iBAAiB,CAAY;IAC7B,oDAAoD;IACpD,IAAI,CAAoB;IACxB,2EAA2E;IAC3E,eAAe,CAAW;IAC1B,8IAA8I;IAC9I,mBAAmB,CAAuB;IAE1C;;;;;MAKE;IACF,aAAa,CAAW;IACxB;;;OAGG;IACH,kBAAkB,CAAU;IAC5B,6EAA6E;IAC7E,eAAe,CAAmB;IAClC;;;;;;;OAOG;IACH,QAAQ,CAAoB;IAC5B;;;;;OAKG;IACH,YAAY,MAAkB,EAAE,UAAsB;QACpD,MAAM,EACJ,IAAI,EACJ,OAAO,EACP,IAAI,GAAG,EAAE,EACT,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,SAAS,EACT,UAAU,EACV,oBAAoB,EACpB,UAAU,EACV,aAAa,EACb,SAAS,EACT,cAAc,EACd,eAAe,EACf,SAAS,EACT,UAAU,EACV,KAAK,EACL,YAAY,EACZ,YAAY,EACZ,IAAI,EACJ,WAAW,EACX,kBAAkB,EAClB,SAAS,GAAG,EAAiB,EAC7B,WAAW,EACX,wBAAwB,EACxB,qBAAqB,EACrB,yBAAyB,EACzB,iBAAiB,EACjB,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,eAAe,EACf,QAAQ,EACT,GAAG,MAAM,CAAC;QACX,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,UAAU,CAAC;QAClE,IAAI,CAAC,WAAW,GAAG,UAAU,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAE7C,IAAI,CAAC,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC;QAC1C,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAEnC,4EAA4E;QAC5E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;QAC3C,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;QAEjC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAQ,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;QACpD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;QACjD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,cAAc,CAAC;QACrC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;QACzC,IAAI,CAAC,sBAAsB,GAAG,OAAO,CAAC,sBAAsB,CAAC;QAC7D,IAAI,CAAC,sBAAsB,GAAG,qBAAqB,CAAC;QAEpD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,EAAE,CAAC;QACnD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,yBAAyB,GAAG;YAC/B,GAAG,yBAA0B;YAC7B,sBAAsB,EAAE,KAAK,EAAE,sBAAuB;SACvD,CAAC;QACF,IAAI,CAAC,qBAAqB,GAAG,qBAAqB,CAAC;QACnD,IAAI,CAAC,wBAAwB,GAAG,wBAAwB,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9E,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,mBAAmB,GAAG,mBAAmB,CAAC;QAC/C,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,kBAAkB,GAAG,kBAAkB,IAAI,IAAI,CAAC;QACrD,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC;QAC1C,mFAAmF;QACnF,IAAI,CAAC,KAAK,GAAG;YACX,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,EAAE;YACtC,aAAa,EAAE,KAAK,EAAE,aAAa;YACnC,eAAe,EAAE,KAAK,EAAE,eAAe;YACvC,gBAAgB,EAAE,KAAK,EAAE,gBAAgB;YACzC,cAAc,EAAE,KAAK,EAAE,cAAc;YACrC,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,iBAAiB,EAAE,KAAK,EAAE,iBAAiB;YAC3C,WAAW,EAAE,KAAK,EAAE,WAAW;YAC/B,eAAe,EAAE,KAAK,EAAE,eAAe;YACvC,QAAQ,EAAE,KAAK,EAAE,QAAQ;YACzB,aAAa,EAAE,KAAK,EAAE,aAAa;YACnC,cAAc,EAAE,KAAK,EAAE,cAAc;YACrC,aAAa,EAAE,KAAK,EAAE,aAAa;YACnC,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,oBAAoB,EAAE,KAAK,EAAE,oBAAoB;YACjD,iBAAiB,EAAE,KAAK,EAAE,iBAAiB;YAC3C,aAAa,EAAE,KAAK,EAAE,aAAa;YACnC,qBAAqB,EAAE,KAAK,EAAE,qBAAqB;YACnD,YAAY,EAAE,KAAK,EAAE,YAAY;YACjC,SAAS,EAAE,KAAK,EAAE,SAAS;YAC3B,OAAO,EAAE,KAAK,EAAE,OAAO;YACvB,aAAa,EAAE,KAAK,EAAE,aAAa;YACnC,WAAW,EAAE,KAAK,EAAE,WAAW;YAC/B,eAAe,EAAE,KAAK,EAAE,eAAe;YACvC,MAAM,EAAE,KAAK,EAAE,MAAM;YACrB,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE,8EAA8E;YAC7G,uBAAuB,EAAE,KAAK,EAAE,uBAAuB;SACxD,CAAC;QAEF;;2EAEmE;QACnE,IAAI,CAAC,2BAA2B,GAAG,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/E,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3D,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvD,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,+BAA+B;IAC/B;;OAEG;IACH,IAAI;QACF,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,qBAAqB,EAAE,IAAI,CAAC,sBAAsB;YAClD,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,sBAAsB,EAAE,IAAI,CAAC,sBAAsB;YACnD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,yBAAyB,EAAE,IAAI,CAAC,yBAAyB;YACzD,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,qBAAqB,EAAE,IAAI,CAAC,qBAAqB;YACjD,wBAAwB,EAAE,IAAI,CAAC,wBAAwB;YACvD,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,mBAAmB,EAAE,IAAI,CAAC,mBAAmB;YAC7C,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;YAC3C,eAAe,EAAE,IAAI,CAAC,eAAe;YACrC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED,yCAAyC;IACzC,kBAAkB;QAChB,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,SAA2B;QAC7C,IAAI,CAAC,IAAI,GAAG,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,qBAAqB,CAAC,kBAA4C;QAChE,IAAI,CAAC,WAAW,GAAG,kBAAkB,CAAC;IACxC,CAAC;IAED,2DAA2D;IAC3D;;;;OAIG;IACH,OAAO,CAAC,IAA4C,EAAE,KAAoC;QACxF,MAAM,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,IAAI,OAAO,EAAE,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;YACvC,sCAAsC;YACtC,OAAO,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACxE,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;QAEpE,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,IAAI,EAAE,EAAE,GAAI,OAAsB,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;QAE9F,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;YACrC,UAAU,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;QAChC,CAAC;QAED,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAE7B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,+BAA+B;IAC/B;;OAEG;IACH,UAAU;QACR,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,MAAO,CAAC;QACvD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,CAAC;QACzE,IAAI,SAAS,GACX,gBAAgB,IAAI,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,MAAM,GAAG,CAAC;YAC1D,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,UAAU,CAAC,EAAE,IAAI,EAAE;YAC7D,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAM,CAAC;QAEvB,SAAS,IAAI,IAAI,CAAC,WAAW,EAAE,eAAe;YAC5C,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,eAAe,EAAE;YAC5E,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,IAAI,CAAC,WAAW,EAAE,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,cAAc,EAAE,CAAC;YAC5D,SAAS,IAAI,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC;QACzD,CAAC;QAED,MAAM,OAAO,GACX,oBAAoB,IAAI,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,WAAW,CAAC;QAEhG,MAAM,iBAAiB,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,IAAI,CAAC;QACjE,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,eAAe,EAAE,CAAC,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC,GAAG,CAAC,EAAE,6DAA6D;YAC9G,eAAe,EAAE,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,qEAAqE;YAC3H,YAAY,EAAE,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,8BAA8B,EAAE;gBACpE,SAAS;gBACT,iBAAiB;aAClB,CAAC;SACH,CAAC;IACJ,CAAC;IAED,mGAAmG;IACnG,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;IAC1D,CAAC;IAED,0EAA0E;IAC1E,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC;IAC9B,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,KAAK,EAAE,aAAa,CAAC;IACnC,CAAC;IAED,mEAAmE;IACnE,IAAI,iBAAiB;QACnB,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,IAAI,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC;IAClF,CAAC;IAED,6EAA6E;IAC7E,IAAI,6BAA6B;QAC/B,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9C,CAAC;IAED,iFAAiF;IACjF,IAAI,uBAAuB;QACzB,IAAI,CAAC,IAAI,CAAC,6BAA6B;YAAE,OAAO,EAAE,CAAC;QACnD,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,iBAAiB;YACxC,YAAY,EAAE,CAAC,UAAmB,EAAQ,EAAE,CAC1C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;YACrE,MAAM,EAAE,IAAI,CAAC,6BAA6B;SAC3C,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,IAAI,YAAY;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;IACrE,CAAC;IAED,6DAA6D;IAC7D,IAAI,kBAAkB;QACpB,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;IAC9E,CAAC;IAED,mGAAmG;IACnG,IAAI,eAAe;QACjB,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;QACnF,OAAO,aAAa,CAAC,MAAM,KAAK,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,mBAAmB,CAAC,KAAK,CAAC,EAAE,CAAC;IAClG,CAAC;IAED,oDAAoD;IACpD,IAAI,SAAS;QACX,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK;YAAE,OAAO,EAAE,CAAC;QACjD,uHAAuH;QACvH,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,CAAC;YAAE,OAAO,EAAE,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,mCAAmC;YAAE,OAAO,sBAAsB,CAAC;QACtF,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAsB,EAAE,MAAyC;QACzE,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAExE,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAElE,sFAAsF;YACtF,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,iBAAiB,CAAC,EAAE,CAAC;gBAClD,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAClD,CAAC;YAED,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACpB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,gBAAgB,CACd,KAAsB,EACtB,MAAyC,EACzC,KAAa;QAEb,6EAA6E;QAC7E,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,KAAK,KAAK,CAAC,EAAE,CAAC,CAAC;QAC5E,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,qBAAqB;YACrB,iBAAiB,CAAC,KAAK,EAAE,aAAa,CAAC,eAAe,CAAC,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YAElE,MAAM,MAAM,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACzC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE,MAAM,CAAC,CAAC;YAChC,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC;YACtB,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,OAAO,cAAc,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,YAAY,CAAC,OAAe;QAC1B,qEAAqE;QACrE,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;QACvE,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YACjE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,OAAO,CAAC,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,sCAAsC;QACtC,OAAO,CAAC,IAAI,CAAC,kBAAkB,OAAO,aAAa,CAAC,CAAC;QAErD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,2BAA2B,CAAC,EAAU;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QAC1D,OAAO,MAAM,EAAE,uBAAuB,EAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,MAAM,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,KAAK,IAAI,CAAC,cAAc,CAAE,CAAC,EAAE,CAAC;IACjG,CAAC;IAED;;;;SAIK;IACL,UAAU;QACR,OAAO;YACL,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI;YACxB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK;YAC1B,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO;YAC9B,2BAA2B,EAAE,IAAI,CAAC,2BAA2B;YAC7D,oBAAoB,EAAE,IAAI,CAAC,oBAAoB;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,cAAc,EAAE,IAAI,CAAC,cAAc;YACnC,cAAc,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW;YACtC,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;YACzC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,iBAAiB,CAAC,aAAqB;QACrC,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC,aAAa,CAAC,CAAC;IAC1C,CAAC;IAED;;;;;;OAMG;IACH,eAAe,CAAC,CAAc;QAC5B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;;;OAMG;IACH,cAAc,CAAC,CAAc;QAC3B,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC;IACvB,CAAC;IAED;;;;OAIG;IACH,aAAa,CAAC,CAAc;QAC1B,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,oBAAoB,CAClB,IAAY,EACZ,mBAAuE;QAEvE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,IAAI,CAAC,WAAW,CAAC;IAC1B,CAAC;IAED;;;;;;OAMG;IACH,oBAAoB,CAAC,OAAuC,EAAE,MAAe;QAC3E,MAAM,sBAAsB,GAAG,IAAI,CAAC,IAAI,EAAE,eAAgB,CAAC,OAAO,CAAC,CAAC;QACpE,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,sBAAsB,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACjG,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAClB,IAAY;QAEZ,OAAO,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED;;;OAGG;IACH,oBAAoB,CAAC,KAAK,GAAG,IAAI;QAC/B,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAQ,EAAE,IAAI,CAAC,eAAe,EAAG,EAAE,KAAK,CAAC,CAAC,CAAC;IAC/F,CAAC;IAED,sEAAsE;IACtE,wBAAwB;QACtB,OAAO,IAAI,CAAC,sBAAsB,CAAC;IACrC,CAAC;IAED,uEAAuE;IACvE,wBAAwB,CAAC,GAAW;QAClC,IAAI,CAAC,sBAAsB,GAAG,GAAG,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,iBAAiB,CAAC,oBAAoB,GAAG,KAAK;QAC5C,MAAM,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACtD,OAAO,CACL,IAAI,CAAC,OAAO,EAAE,MAAM,CAClB,GAAG,CAAC,EAAE,CACJ,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,CAAC,oBAAoB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CACjE,IAAI,EAAE,CACR,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,mBAAmB,CAAC,oBAAoB,GAAG,KAAK;QAC9C,IAAI,oBAAoB,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACnF,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC;IAC7B,CAAC;CACF","sourcesContent":["import { navigatorIsAvailable, type OmitStrict } from '@pega/cosmos-react-core';\n\nimport { FieldType, type FieldDef, 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, 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 WarningDetail\n} from './ViewGenerator.types';\nimport type { RowData } from './RowGenerator.types';\nimport type { ColumnConfig } from './ColumnGenerator.types';\nimport type GroupGenerator from './GroupGenerator';\n\n/** Module-level Set of action column IDs for O(1) membership checks. */\nconst ACTION_COLUMN_IDS = new Set([\n rowSelectColumnMeta.field.id,\n rowDragDropColumnMeta.field.id,\n rowActionColumnMeta.field.id\n]);\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 visible {@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 /** 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 /** Array of warning details from API responses to display at top of table */\n warningMessages?: WarningDetail[];\n /**\n * The Table ↔ Gallery toggle is only surfaced on small screens, and only when the authored template (`meta.template`) is Table\n * Currently active template for the view. Defaults to `meta.template` but can be\n * overridden at runtime (e.g. when the user toggles between Table and Gallery).\n *\n * Renderers and toolbar code should read this property — not `meta.template` — so\n * that runtime template switches take effect without altering the persisted preset.\n */\n template?: Meta['template'];\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 warningMessages,\n template\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 = crypto.randomUUID();\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.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 this.warningMessages = warningMessages;\n this.template = template ?? meta.template;\n // FIXME: keep the state on view in sync with the emitted stated from StateResolver\n this.state = {\n searchText: state?.search?.query || '',\n galleryLayout: state?.galleryLayout,\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 visibleColumns: state?.visibleColumns,\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 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 this.getVisibleColumns = this.getVisibleColumns.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 */\n #get(): ViewConfig & Pick<RsProps, 'toolBarOptions' | 'formatters' | 'renderFormatterTypeMap'> {\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 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 warningMessages: this.warningMessages,\n template: this.template\n };\n }\n\n /** Returns the warning messages array */\n getWarningMessages(): ViewConfig['warningMessages'] {\n return this.warningMessages;\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 // TODO: evaluate if comparing old/new before setProp helps\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 */\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 let ariaLabel =\n personalizations && Object.keys(personalizations).length > 1\n ? `${this.meta.title}: ${personalizations[activeView]?.name}`\n : this.meta.title!;\n\n ariaLabel += this.requiredDef?.validatemessage\n ? ` ${this.#rsStore.translate('Error')} ${this.requiredDef.validatemessage}`\n : '';\n\n if (this.requiredDef?.required ?? this.meta?.requiredOnLoad) {\n ariaLabel += ` ${this.#rsStore.translate('required')}`;\n }\n\n const isMacOs =\n navigatorIsAvailable && navigator.userAgent.match(/(Windows|Macintosh)/)?.[0] === 'Macintosh';\n\n const navigationHelpKey = `${isMacOs ? 'Command' : 'Control'} /`;\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', [\n ariaLabel,\n navigationHelpKey\n ])\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 get galleryLayout() {\n return this.state?.galleryLayout;\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\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.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 normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n\n // Do not include action fields in fieldDefsMap to avoid showing them in actions menu.\n if (!(field.type === FieldType.ACTION_FIELD_TYPE)) {\n this.#rsStore.fieldDefsMap.set(field.id, field);\n }\n\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(col => col.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\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 this.#rsStore.fieldDefsMap.delete(fieldId);\n this.meta.fieldDefs = this.meta.fieldDefs.filter(fd => fd.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 */\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 */\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 hasMoreResults: this.hasMoreResults,\n getRequiredDef: () => this.requiredDef,\n getRowDensity: this.getRowDensity,\n getVisibleColumns: this.getVisibleColumns,\n template: this.template\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 */\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 */\n getDomContainer() {\n return this.domContainer;\n }\n\n /**\n * @returns The scroller element(the element used in virtualizer as a scrollable area.)\n */\n getScrollNode() {\n return this.scrollerNode;\n }\n\n /**\n * @returns Returns the header row of the Repeating structures view.\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 */\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 * @param includeActionColumns - include action columns (rowSelect, rowDragDrop, rowActionColumn). Default is `false`.\n * @returns array of visible columns with/without action columns.\n */\n getVisibleColumns(includeActionColumns = false) {\n const visibleIds = new Set(this.state.visibleColumns);\n return (\n this.columns?.filter(\n col =>\n visibleIds.has(col.field.id) &&\n (includeActionColumns || !ACTION_COLUMN_IDS.has(col.field.id))\n ) ?? []\n );\n }\n\n /**\n * Returns the array of visible column IDs.\n * @param includeActionColumns - include action column IDs (rowSelect, rowDragDrop, rowActionColumn). Default is `false`.\n * @returns array of visible column IDs with/without action columns.\n */\n getVisibleColumnIds(includeActionColumns = false): string[] {\n if (includeActionColumns) {\n return this.state.visibleColumns ?? [];\n }\n return this.state.visibleColumns?.filter(id => !ACTION_COLUMN_IDS.has(id)) ?? [];\n }\n\n /**\n * Returns the {@link FieldDef fieldDefs} from {@link meta} for the current view.\n * This reflects the latest state of fieldDefs including any additions or removals made after initialization.\n * @returns array of {@link FieldDef fieldDefs} from {@link meta}.\n */\n getFieldDefs(): FieldDef[] {\n return this.meta.fieldDefs;\n }\n}\n"]}
1
+ {"version":3,"file":"ViewGenerator.js","sourceRoot":"","sources":["../../../../src/core/generators/ViewGenerator.ts"],"names":[],"mappings":"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","sourcesContent":["import { navigatorIsAvailable, type OmitStrict } from '@pega/cosmos-react-core';\n\nimport { FieldType, type FieldDef, 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, 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 MasterDetailSelection,\n RefreshNotification,\n RequiredDefinition,\n UIProps,\n ViewConfig,\n ViewContext,\n ViewState,\n VirtualizeElement,\n WarningDetail\n} from './ViewGenerator.types';\nimport type { RowData } from './RowGenerator.types';\nimport type { ColumnConfig } from './ColumnGenerator.types';\nimport type GroupGenerator from './GroupGenerator';\n\n/** Module-level Set of action column IDs for O(1) membership checks. */\nconst ACTION_COLUMN_IDS = new Set([\n rowSelectColumnMeta.field.id,\n rowDragDropColumnMeta.field.id,\n rowActionColumnMeta.field.id\n]);\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 visible {@link Column columns} for the view. */\n columns?: Column[];\n /** Current {@link Row rows} for the view. */\n rows?: Row[];\n /** Resolved Master Detail selection for the current generated row window. */\n masterDetail?: MasterDetailSelection;\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 /** 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 /** Array of warning details from API responses to display at top of table */\n warningMessages?: WarningDetail[];\n /**\n * The Table ↔ Gallery toggle is only surfaced on small screens, and only when the authored template (`meta.template`) is Table\n * Currently active template for the view. Defaults to `meta.template` but can be\n * overridden at runtime (e.g. when the user toggles between Table and Gallery).\n *\n * Renderers and toolbar code should read this property — not `meta.template` — so\n * that runtime template switches take effect without altering the persisted preset.\n */\n template?: Meta['template'];\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 warningMessages,\n template,\n masterDetail\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 = crypto.randomUUID();\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.masterDetail = masterDetail;\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.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 this.warningMessages = warningMessages;\n this.template = template ?? meta.template;\n // FIXME: keep the state on view in sync with the emitted stated from StateResolver\n this.state = {\n searchText: state?.search?.query || '',\n galleryLayout: state?.galleryLayout,\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 visibleColumns: state?.visibleColumns,\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 masterDetail: state?.masterDetail,\n bootstrap: state?.bootstrap,\n refresh: state?.refresh,\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 this.getVisibleColumns = this.getVisibleColumns.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 */\n #get(): ViewConfig & Pick<RsProps, 'toolBarOptions' | 'formatters' | 'renderFormatterTypeMap'> {\n return {\n data: this.data,\n singleSelectionRowKey: this.#singleSelectionRowKey,\n columns: this.columns,\n rows: this.rows,\n masterDetail: this.masterDetail,\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 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 warningMessages: this.warningMessages,\n template: this.template\n };\n }\n\n /** Returns the warning messages array */\n getWarningMessages(): ViewConfig['warningMessages'] {\n return this.warningMessages;\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 // TODO: evaluate if comparing old/new before setProp helps\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 */\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 let ariaLabel =\n personalizations && Object.keys(personalizations).length > 1\n ? `${this.meta.title}: ${personalizations[activeView]?.name}`\n : this.meta.title!;\n\n ariaLabel += this.requiredDef?.validatemessage\n ? ` ${this.#rsStore.translate('Error')} ${this.requiredDef.validatemessage}`\n : '';\n\n if (this.requiredDef?.required ?? this.meta?.requiredOnLoad) {\n ariaLabel += ` ${this.#rsStore.translate('required')}`;\n }\n\n const isMacOs =\n navigatorIsAvailable && navigator.userAgent.match(/(Windows|Macintosh)/)?.[0] === 'Macintosh';\n\n const navigationHelpKey = `${isMacOs ? 'Command' : 'Control'} /`;\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', [\n ariaLabel,\n navigationHelpKey\n ])\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 get galleryLayout() {\n return this.state?.galleryLayout;\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\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.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 normalizeFieldDef(field, defaultConfig.defaultFieldDef);\n const column = new Column({ field, ...option }, this.#rsInternal);\n\n // Do not include action fields in fieldDefsMap to avoid showing them in actions menu.\n if (!(field.type === FieldType.ACTION_FIELD_TYPE)) {\n this.#rsStore.fieldDefsMap.set(field.id, field);\n }\n\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(col => col.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\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 this.#rsStore.fieldDefsMap.delete(fieldId);\n this.meta.fieldDefs = this.meta.fieldDefs.filter(fd => fd.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 */\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 */\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 getRsID: () => this.rsID,\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 hasMoreResults: this.hasMoreResults,\n getRequiredDef: () => this.requiredDef,\n getRowDensity: this.getRowDensity,\n getVisibleColumns: this.getVisibleColumns,\n template: this.template\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 */\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 */\n getDomContainer() {\n return this.domContainer;\n }\n\n /**\n * @returns The scroller element(the element used in virtualizer as a scrollable area.)\n */\n getScrollNode() {\n return this.scrollerNode;\n }\n\n /**\n * @returns Returns the header row of the Repeating structures view.\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 */\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 * @param includeActionColumns - include action columns (rowSelect, rowDragDrop, rowActionColumn). Default is `false`.\n * @returns array of visible columns with/without action columns.\n */\n getVisibleColumns(includeActionColumns = false) {\n const visibleIds = new Set(this.state.visibleColumns);\n return (\n this.columns?.filter(\n col =>\n visibleIds.has(col.field.id) &&\n (includeActionColumns || !ACTION_COLUMN_IDS.has(col.field.id))\n ) ?? []\n );\n }\n\n /**\n * Returns the array of visible column IDs.\n * @param includeActionColumns - include action column IDs (rowSelect, rowDragDrop, rowActionColumn). Default is `false`.\n * @returns array of visible column IDs with/without action columns.\n */\n getVisibleColumnIds(includeActionColumns = false): string[] {\n if (includeActionColumns) {\n return this.state.visibleColumns ?? [];\n }\n return this.state.visibleColumns?.filter(id => !ACTION_COLUMN_IDS.has(id)) ?? [];\n }\n\n /**\n * Returns the {@link FieldDef fieldDefs} from {@link meta} for the current view.\n * This reflects the latest state of fieldDefs including any additions or removals made after initialization.\n * @returns array of {@link FieldDef fieldDefs} from {@link meta}.\n */\n getFieldDefs(): FieldDef[] {\n return this.meta.fieldDefs;\n }\n}\n"]}
@@ -3,10 +3,30 @@ 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' | 'enableGlobalSearch' | 'warningMessages' | 'template'>> & Pick<View, 'meta'> & {
6
+ import type Row from './RowGenerator';
7
+ 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' | 'warningMessages' | 'template' | 'masterDetail'>> & Pick<View, 'meta'> & {
7
8
  singleSelectionRowKey?: string;
8
9
  };
10
+ /** Resolved Master Detail selection for the current generated row window. */
11
+ export interface MasterDetailSelection {
12
+ /** Canonical key held in {@link State.masterDetail}. */
13
+ rowKey: string;
14
+ /** Current generated row for the selected item. */
15
+ row: Row;
16
+ /** Whether the previous loaded row exists. */
17
+ hasPrevious: boolean;
18
+ /** Whether the next loaded row exists. */
19
+ hasNext: boolean;
20
+ /** Opaque, host-provided nested target stored on the resolved View selection. */
21
+ nestedTarget?: Record<string, unknown>;
22
+ /** Explicit detail view override for the root entry. Mutually exclusive with {@link nestedTarget}. */
23
+ viewName?: string;
24
+ /** Opaque token changed when the selected detail should reload without changing rows. */
25
+ refreshKey?: string;
26
+ }
9
27
  export type ViewContext = {
28
+ /** Returns the Repeating Structures instance ID. */
29
+ getRsID: () => string;
10
30
  /** Returns the {@link View.meta meta} */
11
31
  getMeta: () => View['meta'];
12
32
  /** Returns the {@link View.state state} */
@@ -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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"}