@pega/lists-core 9.0.0-build.26.2 → 9.0.0-build.27.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js +2 -1
- package/lib/src/core/features/uIFeatures/beforeRender/stateHydration.js.map +1 -1
- package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
- package/lib/src/core/reducers/personalizationDirtyReducer.js +2 -2
- package/lib/src/core/reducers/personalizationDirtyReducer.js.map +1 -1
- package/lib/src/core/reducers/personalizationReducer.js +2 -2
- package/lib/src/core/reducers/personalizationReducer.js.map +1 -1
- package/lib/src/core/reducers/versioning/index.d.ts +1 -1
- package/lib/src/core/reducers/versioning/index.d.ts.map +1 -1
- package/lib/src/core/reducers/versioning/index.js +1 -1
- package/lib/src/core/reducers/versioning/index.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateHydration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"stateHydration.d.ts","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iCAAiC,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAO9D;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,CAS1D;AACD;;;;;GAKG;AACH,wBAAgB,+BAA+B,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,CAuB/E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,IAAI,GAAG,KAAK,CAqFtD;AA+ED;;;;;;GAMG;+BAKuB,cAAc,wBAAwB;AAJhE,wBAQE"}
|
|
@@ -2,6 +2,7 @@ import { actionHydrateState } from '../../../actions/actions';
|
|
|
2
2
|
import { withMemoization, pickProperties, isEmpty, isRowSelectFieldEnabled, isRowActionFieldEnabled, getVisibleColumnsFromHidden, getVisibleColumnsFromFieldDefs, isRowReorderFieldVisible, isRowErrorFieldVisible } from '../../../utils/util';
|
|
3
3
|
import { personalizationProps } from '../../../reducers/personalizationReducer';
|
|
4
4
|
import { rowActionColumnMeta, rowDragDropColumnMeta, rowErrorColumnMeta, rowSelectColumnMeta, TEMPLATES } from '../../../constants';
|
|
5
|
+
import { getCurrentVersionedState } from '../../../reducers/versioning';
|
|
5
6
|
/* eslint-enable @typescript-eslint/no-unused-vars */
|
|
6
7
|
/**
|
|
7
8
|
* Returns visible OOTB column IDs.
|
|
@@ -187,7 +188,7 @@ const hydrate = ([{ getRsStore, getRsProps, getView, dispatch, getState }]) => {
|
|
|
187
188
|
else {
|
|
188
189
|
return null;
|
|
189
190
|
}
|
|
190
|
-
hydratedState = hydrateVisibleColumnsStateSlice(getView().meta, hydratedState);
|
|
191
|
+
hydratedState = getCurrentVersionedState(hydrateVisibleColumnsStateSlice(getView().meta, hydratedState));
|
|
191
192
|
return dispatch(actionHydrateState(hydratedState));
|
|
192
193
|
};
|
|
193
194
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stateHydration.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EACL,eAAe,EACf,cAAc,EACd,OAAO,EACP,uBAAuB,EACvB,uBAAuB,EACvB,2BAA2B,EAC3B,8BAA8B,EAC9B,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAChF,OAAO,EACL,mBAAmB,EACnB,qBAAqB,EACrB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACV,MAAM,oBAAoB,CAAC;AAO5B,qDAAqD;AAErD;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAU;IAC9C,MAAM,WAAW,GAAG;QAClB,EAAE,OAAO,EAAE,sBAAsB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,kBAAkB,CAAC,KAAK,CAAC,EAAE,EAAE;QAC1E,EAAE,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,qBAAqB,CAAC,KAAK,CAAC,EAAE,EAAE;QAC/E,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE;QAC5E,EAAE,OAAO,EAAE,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAAE,EAAE;KACpE,CAAC;IAEX,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AACD;;;;;GAKG;AACH,MAAM,UAAU,+BAA+B,CAAC,IAAU,EAAE,KAAY;IACtE,IAAI,cAAwB,CAAC;IAE7B,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;QACvC,6CAA6C;QAC7C,cAAc,GAAG,CAAC,GAAG,KAAK,CAAC,cAAc,CAAC,CAAC;IAC7C,CAAC;SAAM,IAAI,KAAK,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;QAC7C,4DAA4D;QAC5D,cAAc,GAAG,2BAA2B,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;IAC1E,CAAC;SAAM,CAAC;QACN,6CAA6C;QAC7C,cAAc,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;IACxD,CAAC;IAED,mDAAmD;IACnD,MAAM,aAAa,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAClD,cAAc,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,CAAC;IAEtC,qDAAqD;IACrD,OAAO;QACL,GAAG,KAAK;QACR,cAAc;KACf,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,IAAU;IAC7C,MAAM,YAAY,GAA0B,EAAE,CAAC;IAC/C,MAAM,aAAa,GAA2B,EAAE,CAAC;IACjD,MAAM,cAAc,GAA4B,EAAE,CAAC;IACnD,IAAI,MAAM,GAAiC,EAAE,CAAC;IAC9C,MAAM,eAAe,GAA6B,EAAE,CAAC;IACrD,MAAM,uBAAuB,GAAqC,EAAE,CAAC;IACrE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAErE,6BAA6B;IAC7B,iEAAiE;IACjE,MAAM,oBAAoB,GAAG,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,SAAS,CAAC;IAE9F,oCAAoC;IACpC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAChC,oBAAoB;QACpB,IAAI,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,aAAa;YAClE,YAAY,CAAC,IAAI,CAAC;gBAChB,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,KAAK,EAAE,QAAQ,CAAC,aAAa;gBAC7B,QAAQ,EAAE,QAAQ,CAAC,YAAY;aAChC,CAAC,CAAC;QAEL,8BAA8B;QAC9B,qDAAqD;QACrD,IAAI,CAAC,QAAQ,CAAC,IAAI;YAAE,aAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEpD,4BAA4B;QAC5B,IAAI,QAAQ,CAAC,IAAI;YAAE,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEpD,8BAA8B;QAC9B,IAAI,QAAQ,CAAC,UAAU,IAAI,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,IAAI,QAAQ,CAAC,IAAI,KAAK,UAAU,CAAC,EAAE,CAAC;YACxF,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAEpE,IAAI,eAAe,EAAE,CAAC;gBACpB,eAAe,CAAC,IAAI,CAAC;oBACnB,QAAQ,EAAE,QAAQ,CAAC,EAAE;oBACrB,IAAI,EAAE,eAAe;iBACtB,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,qBAAqB;QACrB,oGAAoG;QACpG,IAAI,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,QAAQ,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YAC3D,MAAM,KAAK,GAAG,QAAQ,CAAC,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC;YACnD,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,IAAI,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC;YACvF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,EAAE;gBACtB,QAAQ,EAAE,QAAQ,CAAC,EAAE;gBACrB,KAAK;gBACL,KAAK;gBACL,YAAY,EAAE,QAAQ,CAAC,mBAAmB;gBAC1C,gBAAgB,EAAE,QAAQ,CAAC,uBAAuB;aACnD,CAAC,CAAC;QACL,CAAC;QAED,IAAI,QAAQ,CAAC,uBAAuB,EAAE,CAAC;YACrC,uBAAuB,CAAC,IAAI,CAC1B,GAAG,QAAQ,CAAC,uBAAuB,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC,CAAC;gBACjE,GAAG,sBAAsB;gBACzB,SAAS,EAAE,QAAQ,CAAC,IAAI;aACzB,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,gDAAgD;IAChD,YAAY,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAEjE,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;QAAE,MAAM,GAAG,EAAE,CAAC;IAE7C,OAAO;QACL,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,OAAO,IAAI;YACzC,aAAa,EAAE,IAAI,CAAC,aAAa,EAAE,MAAM;SAC1C,CAAC;QACF,YAAY;QACZ,aAAa;QACb,MAAM;QACN,eAAe;QACf,gBAAgB;QAChB,eAAe;QACf,oBAAoB;QACpB,uBAAuB;QACvB,cAAc;KACf,CAAC;AACJ,CAAC;AAED,MAAM,qBAAqB,GAAG,KAAK,EAAE,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,CAE5F,EAAE,EAAE;IACH,IAAI,cAAc,CAAC;IACnB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAC9B,IAAI,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;QAC3C,cAAc,GAAG,MAAM,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAClE,CAAC;IACD,MAAM,EAAE,eAAe,EAAE,GAAG,QAAQ,EAAE,CAAC;IACvC,iEAAiE;IACjE,IACE,cAAc;QACd,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM;QAClC,eAAe;QACf,cAAc,CAAC,qBAAqB,EACpC,CAAC;QACD,OAAO,CAAC,cAAc,GAAG,cAAc,CAAC;QACxC,MAAM,oBAAoB,GAAG,cAAc,CAAC,cAAc,EAAE,oBAAoB,CAAC,CAAC;QAClF,IAAI,aAAa,GAAU;YACzB,eAAe,EAAE;gBACf,GAAG,eAAe;gBAClB,MAAM,EAAE,cAAc,CAAC,qBAAqB;aAC7C;YACD,GAAG,oBAAoB;SACxB,CAAC;QAEF,6DAA6D;QAC7D,aAAa,GAAG,+BAA+B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;QAC/E,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9C,CAAC;AACH,CAAC,CAAC;AAEF,iEAAiE;AACjE,uDAAuD;AACvD,MAAM,OAAO,GAAG,CAAC,CAAC,EAAE,UAAU,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAExE,EAAE,EAAE;IACH,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,qBAAqB,GACzB,KAAK,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAE9E,IAAI,aAAa,GAAU,EAAE,CAAC;IAE9B,IAAI,OAAO,CAAC,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACrF,+BAA+B;QAC/B,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IACxC,CAAC;SAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;QAClC,4EAA4E;QAC5E,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;SAAM,IACL,qBAAqB,EAAE,QAAQ;QAC/B,CAAC,OAAO,CAAC,qBAAqB,CAAC,oBAAoB,IAAI,EAAE,CAAC,EAC1D,CAAC;QACD,4DAA4D;QAC5D,aAAa,GAAG,qBAAqB,CAAC,oBAAoB,IAAI,EAAE,CAAC;IACnE,CAAC;SAAM,IAAI,qBAAqB,EAAE,QAAQ,EAAE,CAAC;QAC3C,0EAA0E;QAC1E,aAAa,GAAG;YACd,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,QAAQ;YACjC,QAAQ,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE;YAC3B,GAAG,oBAAoB,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC;SACxC,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,GAAG,+BAA+B,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;IAC/E,OAAO,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,CAAC,CAAC;AACrD,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,eAAe,GAAG,EAAE;IAClB,MAAM,6BAA6B,GAAG,eAAe,CAAC,qBAAqB,CAAC,CAAC;IAC7E,MAAM,eAAe,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,SAAS,OAAO,CAAC,YAAsC;QAC5D,6BAA6B,CAAC,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC,CAAC;QAClD,eAAe,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACjE,CAAC,CAAC;AACJ,CAAC,CAAC","sourcesContent":["import { actionHydrateState } from '../../../actions/actions';\nimport {\n withMemoization,\n pickProperties,\n isEmpty,\n isRowSelectFieldEnabled,\n isRowActionFieldEnabled,\n getVisibleColumnsFromHidden,\n getVisibleColumnsFromFieldDefs,\n isRowReorderFieldVisible,\n isRowErrorFieldVisible\n} from '../../../utils/util';\nimport { personalizationProps } from '../../../reducers/personalizationReducer';\nimport {\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n rowErrorColumnMeta,\n rowSelectColumnMeta,\n TEMPLATES\n} from '../../../constants';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { Meta } from '../../../../../types/Meta.types';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type RsProps from '../../../RsProps';\nimport type { ApiContext } from '../../../../../types/ApiContext.types';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\n/**\n * Returns visible OOTB column IDs.\n *\n * @param meta - View meta containing field configuration.\n * @returns Array of visible OOTB column IDs.\n */\nexport function getVisibleOotbColumns(meta: Meta): string[] {\n const ootbColumns = [\n { enabled: isRowErrorFieldVisible(meta), id: rowErrorColumnMeta.field.id },\n { enabled: isRowReorderFieldVisible(meta), id: rowDragDropColumnMeta.field.id },\n { enabled: isRowSelectFieldEnabled(meta), id: rowSelectColumnMeta.field.id },\n { enabled: isRowActionFieldEnabled(meta), id: rowActionColumnMeta.field.id }\n ] as const;\n\n return ootbColumns.filter(({ enabled }) => enabled).map(({ id }) => id);\n}\n/**\n * Resolves `visibleColumns` from state and appends enabled OOTB columns.\n *\n * @param meta - View meta containing fieldDefs and OOTB field config.\n * @param state - Current state to hydrate into.\n */\nexport function hydrateVisibleColumnsStateSlice(meta: Meta, state: State): State {\n let visibleColumns: string[];\n\n if (state.visibleColumns !== undefined) {\n // Use explicitly saved visibleColumns as-is.\n visibleColumns = [...state.visibleColumns];\n } else if (state.hiddenColumns !== undefined) {\n // Derive visibleColumns from fieldDefs minus hiddenColumns.\n visibleColumns = getVisibleColumnsFromHidden(meta, state.hiddenColumns);\n } else {\n // Fall back to fieldDefs where show is true.\n visibleColumns = getVisibleColumnsFromFieldDefs(meta);\n }\n\n // Append enabled OOTB columns that are not hidden.\n const ootbColumnIds = getVisibleOotbColumns(meta);\n visibleColumns.push(...ootbColumnIds);\n\n // TODO OOTB columns should not be part of the state.\n return {\n ...state,\n visibleColumns\n };\n}\n\n/**\n * Converts given meta into the state structure.\n */\nexport function convertMetaIntoState(meta: Meta): State {\n const sortingOrder: State['sortingOrder'] = [];\n const hiddenColumns: State['hiddenColumns'] = [];\n const visibleColumns: State['visibleColumns'] = [];\n let groups: NonNullable<State['groups']> = [];\n const aggregationInfo: State['aggregationInfo'] = [];\n const conditionalStyleFormats: State['conditionalStyleFormats'] = [];\n const { filterExpression, showHeaderIcons, defaultRowHeight } = meta;\n\n // default RowHeight as short\n // update selectedHeightOption if defaultRowHeight is set in meta\n const selectedHeightOption = meta.template === TEMPLATES.TABLE ? defaultRowHeight : undefined;\n\n // hydrate state with meta.fieldDefs\n meta.fieldDefs.forEach(fieldDef => {\n // hydrating sorting\n if (fieldDef.sort && fieldDef.sortPriority && fieldDef.sortDirection)\n sortingOrder.push({\n columnId: fieldDef.id,\n order: fieldDef.sortDirection,\n sequence: fieldDef.sortPriority\n });\n\n // hydrating column visibility\n // TODO: when hiddenColumns is deprecated removed it.\n if (!fieldDef.show) hiddenColumns.push(fieldDef.id);\n\n // hydrating visible columns\n if (fieldDef.show) visibleColumns.push(fieldDef.id);\n\n // hydrating aggregated Fields\n if (fieldDef.aggregated && (fieldDef.type === 'number' || fieldDef.type === 'currency')) {\n const aggregationType = meta.aggregateOptions?.[fieldDef.type]?.[0];\n\n if (aggregationType) {\n aggregationInfo.push({\n columnId: fieldDef.id,\n type: aggregationType\n });\n }\n }\n\n // hydrating grouping\n // consider sort direction of column for group order if its provided otherwise default to ascending.\n if (meta.grouping && fieldDef.grouping && fieldDef.grouped) {\n const level = fieldDef.groupOrder ?? groups.length;\n const order = fieldDef.sort && fieldDef.sortDirection ? fieldDef.sortDirection : 'asc';\n groups.splice(level, 0, {\n columnId: fieldDef.id,\n order,\n level,\n dateFunction: fieldDef.groupedDateFunction,\n additionalFields: fieldDef.groupedAdditionalFields\n });\n }\n\n if (fieldDef.conditionalStyleFormats) {\n conditionalStyleFormats.push(\n ...fieldDef.conditionalStyleFormats.map(conditionalStyleFormat => ({\n ...conditionalStyleFormat,\n fieldName: fieldDef.name\n }))\n );\n }\n });\n\n // BUG-752261 Maintaining sort sequence in state\n sortingOrder.sort((col1, col2) => col1.sequence - col2.sequence);\n\n if (meta.grouping === undefined) groups = [];\n\n return {\n ...(meta.template === TEMPLATES.GALLERY && {\n galleryLayout: meta.galleryConfig?.layout\n }),\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats,\n visibleColumns\n };\n}\n\nconst hydrateComponentState = async ([{ getRsProps, getRsStore, dispatch, getState, getView }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n let componentState;\n const rsProps = getRsProps();\n const rsStore = getRsStore();\n rsStore.componentState = null;\n if (rsProps?.apiContext?.getComponentState) {\n componentState = await rsProps?.apiContext?.getComponentState();\n }\n const { personalization } = getState();\n // if client set component state somewhere for persisting changes\n if (\n componentState &&\n Object.keys(componentState).length &&\n personalization &&\n componentState.activePersonalization\n ) {\n rsStore.componentState = componentState;\n const activeComponentState = pickProperties(componentState, personalizationProps);\n let hydratedState: State = {\n personalization: {\n ...personalization,\n active: componentState.activePersonalization\n },\n ...activeComponentState\n };\n\n // Resolve visible columns then apply OOTB column visibility.\n hydratedState = hydrateVisibleColumnsStateSlice(getView().meta, hydratedState);\n dispatch(actionHydrateState(hydratedState));\n }\n};\n\n// Todo: onLoad sorting, filterBy, GroupBy, Freeze, HiddenColumn,\n// the structure in meta and hydration of state from it\nconst hydrate = ([{ getRsStore, getRsProps, getView, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const state = getState();\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const activePersonalization =\n state.personalization?.allPersonalizations?.[state.personalization?.active];\n\n let hydratedState: State = {};\n\n if (rsProps.persistedInfo && rsStore.presets[0].id === state.personalization?.active) {\n // Hydrate from persisted info.\n hydratedState = rsProps.persistedInfo;\n } else if (rsStore.componentState) {\n // Component state already applied by hydrateComponentState ,clear and skip.\n rsStore.componentState = null;\n return null;\n } else if (\n activePersonalization?.isPreset &&\n !isEmpty(activePersonalization.personalizationState ?? {})\n ) {\n // Preset has its own saved personalization,use it directly.\n hydratedState = activePersonalization.personalizationState ?? {};\n } else if (activePersonalization?.isPreset) {\n // If Preset has no saved personalization, derive initial state from meta.\n hydratedState = {\n template: getView().meta.template,\n presetId: getView().meta.id,\n ...convertMetaIntoState(getView().meta)\n };\n } else {\n return null;\n }\n\n hydratedState = hydrateVisibleColumnsStateSlice(getView().meta, hydratedState);\n return dispatch(actionHydrateState(hydratedState));\n};\n\n/**\n * Hydrates the repeating structure state on bootstrap, following this priority order:\n * 1. {@link RsProps.persistedInfo}\n * 2. Component state from {@link ApiContext.getComponentState}\n * 3. Personalized state from the preset\n * 4. {@link Meta}\n */\nexport default () => {\n const memoizedHydrateComponentState = withMemoization(hydrateComponentState);\n const memoizedHydrate = withMemoization(hydrate);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedHydrateComponentState([featureProps], []);\n memoizedHydrate([featureProps], [featureProps.getView().meta]);\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"stateHydration.js","sourceRoot":"","sources":["../../../../../../src/core/features/uIFeatures/beforeRender/stateHydration.ts"],"names":[],"mappings":"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","sourcesContent":["import { actionHydrateState } from '../../../actions/actions';\nimport {\n withMemoization,\n pickProperties,\n isEmpty,\n isRowSelectFieldEnabled,\n isRowActionFieldEnabled,\n getVisibleColumnsFromHidden,\n getVisibleColumnsFromFieldDefs,\n isRowReorderFieldVisible,\n isRowErrorFieldVisible\n} from '../../../utils/util';\nimport { personalizationProps } from '../../../reducers/personalizationReducer';\nimport {\n rowActionColumnMeta,\n rowDragDropColumnMeta,\n rowErrorColumnMeta,\n rowSelectColumnMeta,\n TEMPLATES\n} from '../../../constants';\nimport type { BeforeRenderFeatureProps } from '../../featureFactory';\nimport type { Meta } from '../../../../../types/Meta.types';\nimport type { State } from '../../../../../types/State.types';\n/* eslint-disable @typescript-eslint/no-unused-vars */\nimport type RsProps from '../../../RsProps';\nimport type { ApiContext } from '../../../../../types/ApiContext.types';\nimport { getCurrentVersionedState } from '../../../reducers/versioning';\n/* eslint-enable @typescript-eslint/no-unused-vars */\n\n/**\n * Returns visible OOTB column IDs.\n *\n * @param meta - View meta containing field configuration.\n * @returns Array of visible OOTB column IDs.\n */\nexport function getVisibleOotbColumns(meta: Meta): string[] {\n const ootbColumns = [\n { enabled: isRowErrorFieldVisible(meta), id: rowErrorColumnMeta.field.id },\n { enabled: isRowReorderFieldVisible(meta), id: rowDragDropColumnMeta.field.id },\n { enabled: isRowSelectFieldEnabled(meta), id: rowSelectColumnMeta.field.id },\n { enabled: isRowActionFieldEnabled(meta), id: rowActionColumnMeta.field.id }\n ] as const;\n\n return ootbColumns.filter(({ enabled }) => enabled).map(({ id }) => id);\n}\n/**\n * Resolves `visibleColumns` from state and appends enabled OOTB columns.\n *\n * @param meta - View meta containing fieldDefs and OOTB field config.\n * @param state - Current state to hydrate into.\n */\nexport function hydrateVisibleColumnsStateSlice(meta: Meta, state: State): State {\n let visibleColumns: string[];\n\n if (state.visibleColumns !== undefined) {\n // Use explicitly saved visibleColumns as-is.\n visibleColumns = [...state.visibleColumns];\n } else if (state.hiddenColumns !== undefined) {\n // Derive visibleColumns from fieldDefs minus hiddenColumns.\n visibleColumns = getVisibleColumnsFromHidden(meta, state.hiddenColumns);\n } else {\n // Fall back to fieldDefs where show is true.\n visibleColumns = getVisibleColumnsFromFieldDefs(meta);\n }\n\n // Append enabled OOTB columns that are not hidden.\n const ootbColumnIds = getVisibleOotbColumns(meta);\n visibleColumns.push(...ootbColumnIds);\n\n // TODO OOTB columns should not be part of the state.\n return {\n ...state,\n visibleColumns\n };\n}\n\n/**\n * Converts given meta into the state structure.\n */\nexport function convertMetaIntoState(meta: Meta): State {\n const sortingOrder: State['sortingOrder'] = [];\n const hiddenColumns: State['hiddenColumns'] = [];\n const visibleColumns: State['visibleColumns'] = [];\n let groups: NonNullable<State['groups']> = [];\n const aggregationInfo: State['aggregationInfo'] = [];\n const conditionalStyleFormats: State['conditionalStyleFormats'] = [];\n const { filterExpression, showHeaderIcons, defaultRowHeight } = meta;\n\n // default RowHeight as short\n // update selectedHeightOption if defaultRowHeight is set in meta\n const selectedHeightOption = meta.template === TEMPLATES.TABLE ? defaultRowHeight : undefined;\n\n // hydrate state with meta.fieldDefs\n meta.fieldDefs.forEach(fieldDef => {\n // hydrating sorting\n if (fieldDef.sort && fieldDef.sortPriority && fieldDef.sortDirection)\n sortingOrder.push({\n columnId: fieldDef.id,\n order: fieldDef.sortDirection,\n sequence: fieldDef.sortPriority\n });\n\n // hydrating column visibility\n // TODO: when hiddenColumns is deprecated removed it.\n if (!fieldDef.show) hiddenColumns.push(fieldDef.id);\n\n // hydrating visible columns\n if (fieldDef.show) visibleColumns.push(fieldDef.id);\n\n // hydrating aggregated Fields\n if (fieldDef.aggregated && (fieldDef.type === 'number' || fieldDef.type === 'currency')) {\n const aggregationType = meta.aggregateOptions?.[fieldDef.type]?.[0];\n\n if (aggregationType) {\n aggregationInfo.push({\n columnId: fieldDef.id,\n type: aggregationType\n });\n }\n }\n\n // hydrating grouping\n // consider sort direction of column for group order if its provided otherwise default to ascending.\n if (meta.grouping && fieldDef.grouping && fieldDef.grouped) {\n const level = fieldDef.groupOrder ?? groups.length;\n const order = fieldDef.sort && fieldDef.sortDirection ? fieldDef.sortDirection : 'asc';\n groups.splice(level, 0, {\n columnId: fieldDef.id,\n order,\n level,\n dateFunction: fieldDef.groupedDateFunction,\n additionalFields: fieldDef.groupedAdditionalFields\n });\n }\n\n if (fieldDef.conditionalStyleFormats) {\n conditionalStyleFormats.push(\n ...fieldDef.conditionalStyleFormats.map(conditionalStyleFormat => ({\n ...conditionalStyleFormat,\n fieldName: fieldDef.name\n }))\n );\n }\n });\n\n // BUG-752261 Maintaining sort sequence in state\n sortingOrder.sort((col1, col2) => col1.sequence - col2.sequence);\n\n if (meta.grouping === undefined) groups = [];\n\n return {\n ...(meta.template === TEMPLATES.GALLERY && {\n galleryLayout: meta.galleryConfig?.layout\n }),\n sortingOrder,\n hiddenColumns,\n groups,\n aggregationInfo,\n filterExpression,\n showHeaderIcons,\n selectedHeightOption,\n conditionalStyleFormats,\n visibleColumns\n };\n}\n\nconst hydrateComponentState = async ([{ getRsProps, getRsStore, dispatch, getState, getView }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n let componentState;\n const rsProps = getRsProps();\n const rsStore = getRsStore();\n rsStore.componentState = null;\n if (rsProps?.apiContext?.getComponentState) {\n componentState = await rsProps?.apiContext?.getComponentState();\n }\n const { personalization } = getState();\n // if client set component state somewhere for persisting changes\n if (\n componentState &&\n Object.keys(componentState).length &&\n personalization &&\n componentState.activePersonalization\n ) {\n rsStore.componentState = componentState;\n const activeComponentState = pickProperties(componentState, personalizationProps);\n let hydratedState: State = {\n personalization: {\n ...personalization,\n active: componentState.activePersonalization\n },\n ...activeComponentState\n };\n\n // Resolve visible columns then apply OOTB column visibility.\n hydratedState = hydrateVisibleColumnsStateSlice(getView().meta, hydratedState);\n dispatch(actionHydrateState(hydratedState));\n }\n};\n\n// Todo: onLoad sorting, filterBy, GroupBy, Freeze, HiddenColumn,\n// the structure in meta and hydration of state from it\nconst hydrate = ([{ getRsStore, getRsProps, getView, dispatch, getState }]: [\n featureProps: BeforeRenderFeatureProps\n]) => {\n const state = getState();\n const rsStore = getRsStore();\n const rsProps = getRsProps();\n const activePersonalization =\n state.personalization?.allPersonalizations?.[state.personalization?.active];\n\n let hydratedState: State = {};\n\n if (rsProps.persistedInfo && rsStore.presets[0].id === state.personalization?.active) {\n // Hydrate from persisted info.\n hydratedState = rsProps.persistedInfo;\n } else if (rsStore.componentState) {\n // Component state already applied by hydrateComponentState ,clear and skip.\n rsStore.componentState = null;\n return null;\n } else if (\n activePersonalization?.isPreset &&\n !isEmpty(activePersonalization.personalizationState ?? {})\n ) {\n // Preset has its own saved personalization,use it directly.\n hydratedState = activePersonalization.personalizationState ?? {};\n } else if (activePersonalization?.isPreset) {\n // If Preset has no saved personalization, derive initial state from meta.\n hydratedState = {\n template: getView().meta.template,\n presetId: getView().meta.id,\n ...convertMetaIntoState(getView().meta)\n };\n } else {\n return null;\n }\n\n hydratedState = getCurrentVersionedState(\n hydrateVisibleColumnsStateSlice(getView().meta, hydratedState)\n );\n return dispatch(actionHydrateState(hydratedState));\n};\n\n/**\n * Hydrates the repeating structure state on bootstrap, following this priority order:\n * 1. {@link RsProps.persistedInfo}\n * 2. Component state from {@link ApiContext.getComponentState}\n * 3. Personalized state from the preset\n * 4. {@link Meta}\n */\nexport default () => {\n const memoizedHydrateComponentState = withMemoization(hydrateComponentState);\n const memoizedHydrate = withMemoization(hydrate);\n\n return function execute(featureProps: BeforeRenderFeatureProps) {\n memoizedHydrateComponentState([featureProps], []);\n memoizedHydrate([featureProps], [featureProps.getView().meta]);\n };\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAsCA,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EAJ9B,kEAClB;6BAnBA,kEAAsC;6BAuE6+F,kEAAsC;uBAVjjG,kEAEI;;0BAzDmC,kEAChB;;uBAYpB,kEACR;6BAmDkmC,kEAAsC;;4BAzD5lC,kEACpC;8BAwDw+L,kEAAsC;kCA1B1hM,kEAEJ;6BAtCiC,kEAChB;2BAGgB,kEAC5B;2EAyDuhD,kEAAsC;yCAhD1gD,kEAGxD;+
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAsCA,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EAJ9B,kEAClB;6BAnBA,kEAAsC;6BAuE6+F,kEAAsC;uBAVjjG,kEAEI;;0BAzDmC,kEAChB;;uBAYpB,kEACR;6BAmDkmC,kEAAsC;;4BAzD5lC,kEACpC;8BAwDw+L,kEAAsC;kCA1B1hM,kEAEJ;6BAtCiC,kEAChB;2BAGgB,kEAC5B;2EAyDuhD,kEAAsC;yCAhD1gD,kEAGxD;+BA6CkiL,kEAAsC;4BAnDxjL,kEACd;kCAkDqyS,kEAAsC;;6EAAj/I,kEAAsC;gCA7Dh2J,kEACpB;kCAR2C,kEAC1C;4BAmEwD,kEAAsC;kCAlEtF,kEAAsC;sCAQ/B,kEAC7B;0EAyDijP,kEAAsC;wEAA7qI,kEAAsC;wCAxCl8G,kEAEN;4BA8BgB,kEAGX;6BAvEgD,kEAC5B;sEAwBR,kEACd;2BAkD6E,kEAAsC;4BA7DxG,kEACpB;;uCA4Dm5B,kEAAsC;;;0BAAynD,sDAA0B;iCAA+wC,sDAA0B;yCA3Dh1H,sDAC5B;;;AAYZ,wBA6CE"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { pickProperties, deepEqual } from '../utils/util';
|
|
2
2
|
import { personalizationProps } from './personalizationReducer';
|
|
3
|
-
import {
|
|
3
|
+
import { getCurrentVersionedState } from './versioning';
|
|
4
4
|
function markStateDirty(state, isPreset) {
|
|
5
5
|
const pickedState = pickProperties(state, personalizationProps) ?? {};
|
|
6
6
|
const personalizationKey = state.personalization.active;
|
|
7
|
-
const personalizedState =
|
|
7
|
+
const personalizedState = getCurrentVersionedState(state.personalization.allPersonalizations?.[personalizationKey]?.personalizationState) || {};
|
|
8
8
|
// Compares two state objects for deep equality while excluding `visibleColumns`,
|
|
9
9
|
// since 'visibleColumns' is a newly introduced state slice and older personalization data does not have it.
|
|
10
10
|
const { visibleColumns: CurrentVisible, ...comparableCurrentState } = pickedState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalizationDirtyReducer.js","sourceRoot":"","sources":["../../../../src/core/reducers/personalizationDirtyReducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"personalizationDirtyReducer.js","sourceRoot":"","sources":["../../../../src/core/reducers/personalizationDirtyReducer.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAExD,SAAS,cAAc,CAAC,KAAY,EAAE,QAAiB;IACrD,MAAM,WAAW,GAAG,cAAc,CAAC,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC;IACtE,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAgB,CAAC,MAAM,CAAC;IACzD,MAAM,iBAAiB,GACrB,wBAAwB,CACtB,KAAK,CAAC,eAAgB,CAAC,mBAAmB,EAAE,CAAC,kBAAkB,CAAC,EAAE,oBAAoB,CACvF,IAAI,EAAE,CAAC;IAEV,iFAAiF;IACjF,4GAA4G;IAC5G,MAAM,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,sBAAsB,EAAE,GAAG,WAAW,CAAC;IAClF,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,GAAG,oBAAoB,EAAE,GAC7D,cAAc,CAAC,iBAAiB,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC;IAEhE,MAAM,YAAY,GAAG,CAAC,SAAS,CAAC,sBAAsB,EAAE,oBAAoB,CAAC,CAAC;IAE9E,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAgB,CAAC,KAAK,CAAC;IAExD,wBAAwB;IACxB,IAAI,CAAC,QAAQ,IAAI,YAAY,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACrD,OAAO;YACL,GAAG,KAAK;YACR,eAAe,EAAE;gBACf,GAAG,KAAK,CAAC,eAAgB;gBACzB,KAAK,EAAE,IAAI;aACZ;SACF,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,YAAY,CAAC,IAAI,kBAAkB,EAAE,CAAC;QACtD,OAAO;YACL,GAAG,KAAK;YACR,eAAe,EAAE;gBACf,GAAG,KAAK,CAAC,eAAgB;gBACzB,KAAK,EAAE,KAAK;aACb;SACF,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,OAAO,UAAU,sBAAsB,CAC5C,KAAY,EACZ,OAAe,EACf,EAAE,OAAO,EAAc;IAEvB,qEAAqE;IACrE,sEAAsE;IACtE,wEAAwE;IAExE,MAAM,qBAAqB,GAAG,KAAK,CAAC,eAAe,EAAE,MAAO,CAAC;IAC7D,MAAM,EACJ,IAAI,EAAE,EAAE,gBAAgB,EAAE,EAC3B,GAAG,OAAO,EAAE,CAAC;IAEd,mGAAmG;IACnG,oIAAoI;IAEpI,MAAM,QAAQ,GACZ,CAAC,CAAC,KAAK,CAAC,eAAe,EAAE,mBAAmB,EAAE,CAAC,qBAAqB,CAAC,EAAE,QAAQ;QAC/E,CAAC,KAAK,CAAC,eAAe,EAAE,MAAM,KAAK,aAAa,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAEzE,IAAI,qBAAqB,EAAE,CAAC;QAC1B,OAAO,cAAc,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACzC,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["import type { State } from '../../../types/State.types';\nimport type RsInternal from '../RsInternal';\nimport type { Action } from '../actions/actions.types';\nimport { pickProperties, deepEqual } from '../utils/util';\n\nimport { personalizationProps } from './personalizationReducer';\nimport { getCurrentVersionedState } from './versioning';\n\nfunction markStateDirty(state: State, isPreset: boolean): State {\n const pickedState = pickProperties(state, personalizationProps) ?? {};\n const personalizationKey = state.personalization!.active;\n const personalizedState =\n getCurrentVersionedState(\n state.personalization!.allPersonalizations?.[personalizationKey]?.personalizationState\n ) || {};\n\n // Compares two state objects for deep equality while excluding `visibleColumns`,\n // since 'visibleColumns' is a newly introduced state slice and older personalization data does not have it.\n const { visibleColumns: CurrentVisible, ...comparableCurrentState } = pickedState;\n const { visibleColumns: SavedVisible, ...comparableSavedState } =\n pickProperties(personalizedState, personalizationProps) ?? {};\n\n const isStateDirty = !deepEqual(comparableCurrentState, comparableSavedState);\n\n const isStateMarkedDirty = state.personalization!.dirty;\n\n // markStateDirtyIfValid\n if (!isPreset && isStateDirty && !isStateMarkedDirty) {\n return {\n ...state,\n personalization: {\n ...state.personalization!,\n dirty: true\n }\n };\n }\n if ((isPreset || !isStateDirty) && isStateMarkedDirty) {\n return {\n ...state,\n personalization: {\n ...state.personalization!,\n dirty: false\n }\n };\n }\n\n return state;\n}\n\nexport default function personalizationReducer(\n state: State,\n _action: Action,\n { getView }: RsInternal\n): State {\n // All other dispatched actions which might have caused state changes\n // see means to see or check object reference before creating newState\n // As some dispatched actions might have just bailed out with same state\n\n const activePersonalization = state.personalization?.active!;\n const {\n meta: { enableAppDefault }\n } = getView();\n\n // APP default view cannot be modified in runtime, i.e enableAppDefault = false. Treat it as preset\n // APP default view modification is allowed/enabled only in preview mode, i.e enableAppDefault = true. Treat it as personalized view\n\n const isPreset =\n !!state.personalization?.allPersonalizations?.[activePersonalization]?.isPreset ||\n (state.personalization?.active === 'APP_DEFAULT' && !enableAppDefault);\n\n if (activePersonalization) {\n return markStateDirty(state, isPreset);\n }\n\n return state;\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import ActionTypes from '../actions/actionConstants';
|
|
2
2
|
import { hydrateVisibleColumnsStateSlice } from '../features/uIFeatures/beforeRender/stateHydration';
|
|
3
3
|
import { getDefaultPresetIdFromStatePersonalisation, pickProperties } from '../utils/util';
|
|
4
|
-
import {
|
|
4
|
+
import { getCurrentVersionedState } from './versioning';
|
|
5
5
|
export const personalizationProps = [
|
|
6
6
|
'version',
|
|
7
7
|
'showHeaderIcons',
|
|
@@ -100,7 +100,7 @@ export default function personalizationReducer(state, action, { getView }) {
|
|
|
100
100
|
}
|
|
101
101
|
};
|
|
102
102
|
}
|
|
103
|
-
let newState =
|
|
103
|
+
let newState = getCurrentVersionedState(state.personalization.allPersonalizations?.[personalizationKey]?.personalizationState);
|
|
104
104
|
// Older saved states may have hiddenColumns but no visibleColumns, derive visibleColumns before applying.
|
|
105
105
|
if (newState.hiddenColumns && !newState.visibleColumns) {
|
|
106
106
|
newState = hydrateVisibleColumnsStateSlice(getView().meta, newState);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personalizationReducer.js","sourceRoot":"","sources":["../../../../src/core/reducers/personalizationReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { State } from '../../../types/State.types';\nimport ActionTypes from '../actions/actionConstants';\nimport type {\n Action,\n GetPersonalizationsAction,\n PersonalizationActions,\n PersonalizationCreateAction,\n PersonalizationDeleteAction,\n PersonalizationEditAction,\n PersonalizationSetActiveAction,\n PersonalizationSetAppDefaultAction,\n PersonalizationSetDefaultAction,\n PersonalizationUpdateAction,\n PersonalizationUpdateIdAction,\n PersonalizationUpdatePresetIdAction\n} from '../actions/actions.types';\nimport { hydrateVisibleColumnsStateSlice } from '../features/uIFeatures/beforeRender/stateHydration';\nimport type RsInternal from '../RsInternal';\nimport { getDefaultPresetIdFromStatePersonalisation, pickProperties } from '../utils/util';\n\nimport { getVersionedState } from './versioning';\n\nexport const personalizationProps = [\n 'version',\n 'showHeaderIcons',\n 'columnAlias',\n 'renderFormatter',\n 'colOrder',\n 'columnWidths',\n 'customFields',\n 'sortingOrder',\n 'freezeColumns',\n 'groups',\n 'hierarchicalGroup',\n // 'groupingInfo',\n // 'groupFilters',\n 'filterExpression',\n 'hiddenColumns',\n 'selectedHeightOption',\n 'galleryLayout',\n 'aggregationInfo',\n 'allGroupsExpanded',\n 'template',\n 'presetId',\n 'externalState',\n 'visibleColumns'\n] satisfies (keyof State)[];\n\nconst getStateToCarryAcrossPersonalization = (state: State) => ({\n paginationOptions: state.paginationOptions,\n rowSelectionChangeSet: state.rowSelectionChangeSet,\n selectedRows: state.selectedRows,\n responsive: state.responsive\n});\n\nexport default function personalizationReducer(\n state: State,\n action: Action,\n { getView }: RsInternal\n): State {\n const { type } = action;\n let { payload } = action as PersonalizationActions;\n switch (type) {\n case ActionTypes.PERSONALIZATION_SET_DEFAULT: {\n const { personalizationKey } = payload as PersonalizationSetDefaultAction['payload'];\n if (personalizationKey === state.personalization!.defaultPersonalization) {\n return state;\n }\n // Here update the previousDefaultPersonalization only if newDefault is different from previous one\n const previousDefaultPersonalization = state.personalization!.defaultPersonalization;\n const newPersonalization = {\n ...state.personalization!,\n previousDefaultPersonalization,\n defaultPersonalization: personalizationKey\n };\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_DELETE: {\n const { personalizationKey } = payload as PersonalizationDeleteAction['payload'];\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n\n const personalizationBeingDeleted =\n state.personalization!.allPersonalizations[personalizationKey];\n delete state.personalization!.allPersonalizations[personalizationKey];\n\n if (state.personalization!.defaultPersonalization === personalizationKey) {\n // The personalization being deleted is default so select the non-personalized view as next Default\n state.personalization!.defaultPersonalization = defaultPresetId!;\n }\n\n return {\n ...getStateToCarryAcrossPersonalization(state),\n personalization: {\n ...state.personalization!,\n lastDeletedPersonalization: personalizationBeingDeleted,\n active: defaultPresetId!\n }\n };\n }\n case ActionTypes.PERSONALIZATION_GET: {\n state.personalization = payload as GetPersonalizationsAction['payload'];\n if (!state.personalization.defaultPersonalization) {\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization.allPersonalizations\n );\n\n // If no default is marked then show Non personalized view and also make it active\n state.personalization.defaultPersonalization = defaultPresetId!;\n }\n payload = {\n ...state,\n personalizationKey: state.personalization.defaultPersonalization\n };\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_SET_ACTIVE: {\n const { personalizationKey, isPreset } = payload as PersonalizationSetActiveAction['payload'];\n\n if (personalizationKey === state.personalization!.active) {\n return state;\n }\n\n if (isPreset) {\n // we are making state empty\n return {\n ...getStateToCarryAcrossPersonalization(state),\n personalization: {\n ...state.personalization!,\n active: personalizationKey\n }\n };\n }\n\n let newState = getVersionedState(\n state.personalization!.allPersonalizations?.[personalizationKey]?.personalizationState\n );\n\n // Older saved states may have hiddenColumns but no visibleColumns, derive visibleColumns before applying.\n if (newState.hiddenColumns && !newState.visibleColumns) {\n newState = hydrateVisibleColumnsStateSlice(getView().meta, newState);\n }\n\n return {\n ...getStateToCarryAcrossPersonalization(state),\n ...newState,\n personalization: {\n ...state.personalization!,\n active: personalizationKey\n }\n };\n }\n\n case ActionTypes.PERSONALIZATION_CREATE: {\n if (\n !(payload as PersonalizationCreateAction['payload']).personalizationKey ||\n !(payload as PersonalizationCreateAction['payload']).personalizationName\n )\n return state;\n if ((payload as PersonalizationCreateAction['payload']).markAsDefault) {\n state.personalization!.defaultPersonalization = (\n payload as PersonalizationCreateAction['payload']\n ).personalizationKey;\n }\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_SET_APP_DEFAULT: {\n if (\n !(payload as PersonalizationSetAppDefaultAction['payload']).personalizationKey ||\n !(payload as PersonalizationSetAppDefaultAction['payload']).personalizationName\n )\n return state;\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_UPDATE: {\n if (!(payload as PersonalizationUpdateAction['payload']).personalizationKey) return state;\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n\n // Temp until update is also made separate\n state.personalization!.active = (\n payload as PersonalizationUpdateAction['payload']\n ).personalizationKey;\n if (state.personalization!.active === defaultPresetId) {\n // When we are on default never have any save\n return state;\n }\n\n const activePersonalization = state.personalization!.active;\n\n // should changing personalizationName be separate from saveChanges to View? UX Q to Sree!!!\n const activePersonalizationName =\n // @ts-expect-error personalizationName does not exist on PersonalizationUpdateAction payload.\n (payload as PersonalizationUpdateAction['payload']).personalizationName ||\n state.personalization!.allPersonalizations[activePersonalization].name;\n\n const pickedState = pickProperties(state, personalizationProps);\n let newPersonalization = {\n ...state.personalization!,\n allPersonalizations: {\n ...state.personalization!.allPersonalizations,\n [activePersonalization]: {\n name: activePersonalizationName,\n personalizationState: pickedState!\n }\n }\n };\n\n if ((payload as PersonalizationUpdateAction['payload']).markAsDefault) {\n const previousDefaultPersonalization = state.personalization!.defaultPersonalization;\n newPersonalization = {\n ...newPersonalization,\n previousDefaultPersonalization,\n defaultPersonalization: (payload as PersonalizationUpdateAction['payload'])\n .personalizationKey\n };\n }\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_UPDATE_ID: {\n const { oldPersonalizationId, newPersonalizationId } =\n payload as PersonalizationUpdateIdAction['payload'];\n\n const updatedPersonalization = {\n ...state.personalization!,\n allPersonalizations: { ...state.personalization!.allPersonalizations }\n };\n\n if (state.personalization!.defaultPersonalization === oldPersonalizationId) {\n updatedPersonalization.defaultPersonalization = newPersonalizationId;\n }\n\n if (state.personalization!.active === oldPersonalizationId) {\n updatedPersonalization.active = newPersonalizationId;\n }\n\n if (state.personalization!.previousDefaultPersonalization === oldPersonalizationId) {\n updatedPersonalization.previousDefaultPersonalization = newPersonalizationId;\n }\n\n const oldPersonalization = state.personalization?.allPersonalizations?.[oldPersonalizationId];\n\n delete updatedPersonalization.allPersonalizations[oldPersonalizationId];\n\n updatedPersonalization.allPersonalizations[newPersonalizationId] = oldPersonalization!;\n\n return {\n ...state,\n personalization: updatedPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_UPDATE_PRESET_ID: {\n const { oldPresetId, newPresetId, personalizationKey } =\n payload as PersonalizationUpdatePresetIdAction['payload'];\n const allPersonalizationsCopy = { ...state.personalization!.allPersonalizations };\n\n const currentPresetId =\n allPersonalizationsCopy[personalizationKey].personalizationState.presetId;\n\n if (currentPresetId === oldPresetId) {\n allPersonalizationsCopy[personalizationKey].personalizationState.presetId = newPresetId;\n }\n\n return {\n ...state,\n personalization: {\n ...state.personalization!,\n allPersonalizations: allPersonalizationsCopy\n }\n };\n }\n\n case ActionTypes.PERSONALIZATION_EDIT: {\n const { personalizationKey, personalizationName, markAsDefault } =\n payload as PersonalizationEditAction['payload'];\n if (!personalizationKey || !personalizationName) return state;\n if (markAsDefault) {\n state.personalization!.defaultPersonalization = personalizationKey;\n } else if (markAsDefault === false) {\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n state.personalization!.defaultPersonalization = defaultPresetId!;\n }\n\n const currentPersonalization =\n state.personalization!.allPersonalizations?.[personalizationKey];\n const newPersonalization = {\n ...state.personalization!,\n allPersonalizations: {\n ...state.personalization!.allPersonalizations,\n [personalizationKey]: {\n ...currentPersonalization,\n name: personalizationName\n }\n }\n };\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n default: {\n // Todo: check instance.personalizationExplicitSave in the future\n // and also update the state always here for every action dispatched\n return state;\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"personalizationReducer.js","sourceRoot":"","sources":["../../../../src/core/reducers/personalizationReducer.ts"],"names":[],"mappings":"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","sourcesContent":["import type { State } from '../../../types/State.types';\nimport ActionTypes from '../actions/actionConstants';\nimport type {\n Action,\n GetPersonalizationsAction,\n PersonalizationActions,\n PersonalizationCreateAction,\n PersonalizationDeleteAction,\n PersonalizationEditAction,\n PersonalizationSetActiveAction,\n PersonalizationSetAppDefaultAction,\n PersonalizationSetDefaultAction,\n PersonalizationUpdateAction,\n PersonalizationUpdateIdAction,\n PersonalizationUpdatePresetIdAction\n} from '../actions/actions.types';\nimport { hydrateVisibleColumnsStateSlice } from '../features/uIFeatures/beforeRender/stateHydration';\nimport type RsInternal from '../RsInternal';\nimport { getDefaultPresetIdFromStatePersonalisation, pickProperties } from '../utils/util';\n\nimport { getCurrentVersionedState } from './versioning';\n\nexport const personalizationProps = [\n 'version',\n 'showHeaderIcons',\n 'columnAlias',\n 'renderFormatter',\n 'colOrder',\n 'columnWidths',\n 'customFields',\n 'sortingOrder',\n 'freezeColumns',\n 'groups',\n 'hierarchicalGroup',\n // 'groupingInfo',\n // 'groupFilters',\n 'filterExpression',\n 'hiddenColumns',\n 'selectedHeightOption',\n 'galleryLayout',\n 'aggregationInfo',\n 'allGroupsExpanded',\n 'template',\n 'presetId',\n 'externalState',\n 'visibleColumns'\n] satisfies (keyof State)[];\n\nconst getStateToCarryAcrossPersonalization = (state: State) => ({\n paginationOptions: state.paginationOptions,\n rowSelectionChangeSet: state.rowSelectionChangeSet,\n selectedRows: state.selectedRows,\n responsive: state.responsive\n});\n\nexport default function personalizationReducer(\n state: State,\n action: Action,\n { getView }: RsInternal\n): State {\n const { type } = action;\n let { payload } = action as PersonalizationActions;\n switch (type) {\n case ActionTypes.PERSONALIZATION_SET_DEFAULT: {\n const { personalizationKey } = payload as PersonalizationSetDefaultAction['payload'];\n if (personalizationKey === state.personalization!.defaultPersonalization) {\n return state;\n }\n // Here update the previousDefaultPersonalization only if newDefault is different from previous one\n const previousDefaultPersonalization = state.personalization!.defaultPersonalization;\n const newPersonalization = {\n ...state.personalization!,\n previousDefaultPersonalization,\n defaultPersonalization: personalizationKey\n };\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_DELETE: {\n const { personalizationKey } = payload as PersonalizationDeleteAction['payload'];\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n\n const personalizationBeingDeleted =\n state.personalization!.allPersonalizations[personalizationKey];\n delete state.personalization!.allPersonalizations[personalizationKey];\n\n if (state.personalization!.defaultPersonalization === personalizationKey) {\n // The personalization being deleted is default so select the non-personalized view as next Default\n state.personalization!.defaultPersonalization = defaultPresetId!;\n }\n\n return {\n ...getStateToCarryAcrossPersonalization(state),\n personalization: {\n ...state.personalization!,\n lastDeletedPersonalization: personalizationBeingDeleted,\n active: defaultPresetId!\n }\n };\n }\n case ActionTypes.PERSONALIZATION_GET: {\n state.personalization = payload as GetPersonalizationsAction['payload'];\n if (!state.personalization.defaultPersonalization) {\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization.allPersonalizations\n );\n\n // If no default is marked then show Non personalized view and also make it active\n state.personalization.defaultPersonalization = defaultPresetId!;\n }\n payload = {\n ...state,\n personalizationKey: state.personalization.defaultPersonalization\n };\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_SET_ACTIVE: {\n const { personalizationKey, isPreset } = payload as PersonalizationSetActiveAction['payload'];\n\n if (personalizationKey === state.personalization!.active) {\n return state;\n }\n\n if (isPreset) {\n // we are making state empty\n return {\n ...getStateToCarryAcrossPersonalization(state),\n personalization: {\n ...state.personalization!,\n active: personalizationKey\n }\n };\n }\n\n let newState = getCurrentVersionedState(\n state.personalization!.allPersonalizations?.[personalizationKey]?.personalizationState\n );\n\n // Older saved states may have hiddenColumns but no visibleColumns, derive visibleColumns before applying.\n if (newState.hiddenColumns && !newState.visibleColumns) {\n newState = hydrateVisibleColumnsStateSlice(getView().meta, newState);\n }\n\n return {\n ...getStateToCarryAcrossPersonalization(state),\n ...newState,\n personalization: {\n ...state.personalization!,\n active: personalizationKey\n }\n };\n }\n\n case ActionTypes.PERSONALIZATION_CREATE: {\n if (\n !(payload as PersonalizationCreateAction['payload']).personalizationKey ||\n !(payload as PersonalizationCreateAction['payload']).personalizationName\n )\n return state;\n if ((payload as PersonalizationCreateAction['payload']).markAsDefault) {\n state.personalization!.defaultPersonalization = (\n payload as PersonalizationCreateAction['payload']\n ).personalizationKey;\n }\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_SET_APP_DEFAULT: {\n if (\n !(payload as PersonalizationSetAppDefaultAction['payload']).personalizationKey ||\n !(payload as PersonalizationSetAppDefaultAction['payload']).personalizationName\n )\n return state;\n }\n // eslint-disable-next-line no-fallthrough\n case ActionTypes.PERSONALIZATION_UPDATE: {\n if (!(payload as PersonalizationUpdateAction['payload']).personalizationKey) return state;\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n\n // Temp until update is also made separate\n state.personalization!.active = (\n payload as PersonalizationUpdateAction['payload']\n ).personalizationKey;\n if (state.personalization!.active === defaultPresetId) {\n // When we are on default never have any save\n return state;\n }\n\n const activePersonalization = state.personalization!.active;\n\n // should changing personalizationName be separate from saveChanges to View? UX Q to Sree!!!\n const activePersonalizationName =\n // @ts-expect-error personalizationName does not exist on PersonalizationUpdateAction payload.\n (payload as PersonalizationUpdateAction['payload']).personalizationName ||\n state.personalization!.allPersonalizations[activePersonalization].name;\n\n const pickedState = pickProperties(state, personalizationProps);\n let newPersonalization = {\n ...state.personalization!,\n allPersonalizations: {\n ...state.personalization!.allPersonalizations,\n [activePersonalization]: {\n name: activePersonalizationName,\n personalizationState: pickedState!\n }\n }\n };\n\n if ((payload as PersonalizationUpdateAction['payload']).markAsDefault) {\n const previousDefaultPersonalization = state.personalization!.defaultPersonalization;\n newPersonalization = {\n ...newPersonalization,\n previousDefaultPersonalization,\n defaultPersonalization: (payload as PersonalizationUpdateAction['payload'])\n .personalizationKey\n };\n }\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_UPDATE_ID: {\n const { oldPersonalizationId, newPersonalizationId } =\n payload as PersonalizationUpdateIdAction['payload'];\n\n const updatedPersonalization = {\n ...state.personalization!,\n allPersonalizations: { ...state.personalization!.allPersonalizations }\n };\n\n if (state.personalization!.defaultPersonalization === oldPersonalizationId) {\n updatedPersonalization.defaultPersonalization = newPersonalizationId;\n }\n\n if (state.personalization!.active === oldPersonalizationId) {\n updatedPersonalization.active = newPersonalizationId;\n }\n\n if (state.personalization!.previousDefaultPersonalization === oldPersonalizationId) {\n updatedPersonalization.previousDefaultPersonalization = newPersonalizationId;\n }\n\n const oldPersonalization = state.personalization?.allPersonalizations?.[oldPersonalizationId];\n\n delete updatedPersonalization.allPersonalizations[oldPersonalizationId];\n\n updatedPersonalization.allPersonalizations[newPersonalizationId] = oldPersonalization!;\n\n return {\n ...state,\n personalization: updatedPersonalization\n };\n }\n\n case ActionTypes.PERSONALIZATION_UPDATE_PRESET_ID: {\n const { oldPresetId, newPresetId, personalizationKey } =\n payload as PersonalizationUpdatePresetIdAction['payload'];\n const allPersonalizationsCopy = { ...state.personalization!.allPersonalizations };\n\n const currentPresetId =\n allPersonalizationsCopy[personalizationKey].personalizationState.presetId;\n\n if (currentPresetId === oldPresetId) {\n allPersonalizationsCopy[personalizationKey].personalizationState.presetId = newPresetId;\n }\n\n return {\n ...state,\n personalization: {\n ...state.personalization!,\n allPersonalizations: allPersonalizationsCopy\n }\n };\n }\n\n case ActionTypes.PERSONALIZATION_EDIT: {\n const { personalizationKey, personalizationName, markAsDefault } =\n payload as PersonalizationEditAction['payload'];\n if (!personalizationKey || !personalizationName) return state;\n if (markAsDefault) {\n state.personalization!.defaultPersonalization = personalizationKey;\n } else if (markAsDefault === false) {\n const defaultPresetId = getDefaultPresetIdFromStatePersonalisation(\n state.personalization!.allPersonalizations\n );\n state.personalization!.defaultPersonalization = defaultPresetId!;\n }\n\n const currentPersonalization =\n state.personalization!.allPersonalizations?.[personalizationKey];\n const newPersonalization = {\n ...state.personalization!,\n allPersonalizations: {\n ...state.personalization!.allPersonalizations,\n [personalizationKey]: {\n ...currentPersonalization,\n name: personalizationName\n }\n }\n };\n\n return {\n ...state,\n personalization: newPersonalization\n };\n }\n\n default: {\n // Todo: check instance.personalizationExplicitSave in the future\n // and also update the state always here for every action dispatched\n return state;\n }\n }\n}\n"]}
|
|
@@ -2,7 +2,7 @@ import type { State } from '../../../../types/State.types';
|
|
|
2
2
|
import type { Action } from '../../actions/actions.types';
|
|
3
3
|
export declare const CURRENT_VERSION = "v1";
|
|
4
4
|
export declare const setStateWithCurrentVersion: (state: State) => void;
|
|
5
|
-
export declare function
|
|
5
|
+
export declare function getCurrentVersionedState(state: State): State;
|
|
6
6
|
/** This handles schema changes that occur in RS State over time.
|
|
7
7
|
* If any state slice schema is changed, this handles the conversion of the slice to its latest schema and also bumps the state version.
|
|
8
8
|
* Current version v1.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/reducers/versioning/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAO1D,eAAO,MAAM,eAAe,OAAO,CAAC;AAUpC,eAAO,MAAM,0BAA0B,GAAI,OAAO,KAAK,SAItD,CAAC;AAEF,wBAAgB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/reducers/versioning/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,+BAA+B,CAAC;AAE3D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,6BAA6B,CAAC;AAO1D,eAAO,MAAM,eAAe,OAAO,CAAC;AAUpC,eAAO,MAAM,0BAA0B,GAAI,OAAO,KAAK,SAItD,CAAC;AAEF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,KAAK,SAWpD;AACD;;;;;;;GAOG;yBACa,OAAO,KAAK,EAAE,QAAQ,MAAM;AAA5C,wBAOE"}
|
|
@@ -16,7 +16,7 @@ export const setStateWithCurrentVersion = (state) => {
|
|
|
16
16
|
state.version = CURRENT_VERSION;
|
|
17
17
|
}
|
|
18
18
|
};
|
|
19
|
-
export function
|
|
19
|
+
export function getCurrentVersionedState(state) {
|
|
20
20
|
if (state) {
|
|
21
21
|
return VERSIONS.reduce((acc, versionConvertor) => {
|
|
22
22
|
// Only if this state has an updated version
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/reducers/versioning/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,MAAM,MAAM,CAAC;AAEtB,6CAA6C;AAC7C,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,gBAA2B,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAClC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,CAAC;IAC3F,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACtD,YAAY,CAAC,GAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAqB,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAE,EAAE;IACzD,IAAI,KAAK,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;QACvC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/core/reducers/versioning/index.ts"],"names":[],"mappings":"AACA,OAAO,WAAW,MAAM,+BAA+B,CAAC;AAGxD,OAAO,EAAE,MAAM,MAAM,CAAC;AAEtB,6CAA6C;AAC7C,MAAM,QAAQ,GAAG,CAAC,EAAE,CAAC,CAAC;AAEtB,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC;AACpC,MAAM,eAAe,GAAG,CAAC,KAAY,EAAE,gBAA2B,EAAE,EAAE;IACpE,MAAM,YAAY,GAAG,EAAE,GAAG,KAAK,EAAE,CAAC;IAClC,MAAM,EAAE,eAAe,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,iBAAiB,EAAE,GAAG,gBAAgB,CAAC;IAC3F,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE;QACtD,YAAY,CAAC,GAAqB,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,GAAqB,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,CAAC;IACH,OAAO,EAAE,GAAG,YAAY,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,KAAY,EAAE,EAAE;IACzD,IAAI,KAAK,EAAE,OAAO,KAAK,eAAe,EAAE,CAAC;QACvC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC;IAClC,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,UAAU,wBAAwB,CAAC,KAAY;IACnD,IAAI,KAAK,EAAE,CAAC;QACV,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,gBAAgB,EAAE,EAAE;YAC/C,4CAA4C;YAC5C,IAAI,gBAAgB,CAAC,aAAa,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC;gBACrD,OAAO,eAAe,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;YAClD,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC,EAAE,KAAK,CAAC,CAAC;IACZ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AACD;;;;;;;GAOG;AACH,eAAe,CAAC,KAAY,EAAE,MAAc,EAAE,EAAE;IAC9C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,CAAC;IAExB,IAAI,IAAI,KAAK,WAAW,CAAC,oBAAoB,EAAE,CAAC;QAC9C,OAAO,EAAE,GAAG,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;IAChD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC","sourcesContent":["import type { State } from '../../../../types/State.types';\nimport ActionTypes from '../../actions/actionConstants';\nimport type { Action } from '../../actions/actions.types';\n\nimport v1 from './v1';\n\n// Keep this array updated in ascending order\nconst VERSIONS = [v1];\n\nexport const CURRENT_VERSION = 'v1';\nconst getUpdatedState = (state: State, versionConverter: typeof v1) => {\n const updatedState = { ...state };\n const { previousVersion, version, beforeVersion, ...conversionHelpers } = versionConverter;\n Object.entries(conversionHelpers).forEach(([key, fn]) => {\n updatedState[key as 'customFields'] = fn(updatedState[key as 'customFields']);\n });\n return { ...updatedState, version };\n};\n\nexport const setStateWithCurrentVersion = (state: State) => {\n if (state?.version !== CURRENT_VERSION) {\n state.version = CURRENT_VERSION;\n }\n};\n\nexport function getCurrentVersionedState(state: State) {\n if (state) {\n return VERSIONS.reduce((acc, versionConvertor) => {\n // Only if this state has an updated version\n if (versionConvertor.beforeVersion === state.version) {\n return getUpdatedState(state, versionConvertor);\n }\n return acc;\n }, state);\n }\n return state;\n}\n/** This handles schema changes that occur in RS State over time.\n * If any state slice schema is changed, this handles the conversion of the slice to its latest schema and also bumps the state version.\n * Current version v1.\n * Currently it handles schema change for state slice {@link State.customFields customFields}\n * @param state - Rs State\n * @param action - Dispatched action\n * @returns Updated state.\n */\nexport default (state: State, action: Action) => {\n const { type } = action;\n\n if (type === ActionTypes.UPDATE_STATE_VERSION) {\n return { ...state, version: CURRENT_VERSION };\n }\n return state;\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pega/lists-core",
|
|
3
|
-
"version": "9.0.0-build.
|
|
3
|
+
"version": "9.0.0-build.27.0",
|
|
4
4
|
"description": "Core headless UI library that the users can use to write their own UI and create repeating structures like table, gallery, timeline etc.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"author": "Pegasystems",
|
|
@@ -14,8 +14,8 @@
|
|
|
14
14
|
"build": "tsc -b tsconfig.build.json"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@pega/cosmos-react-condition-builder": "9.0.0-build.
|
|
18
|
-
"@pega/cosmos-react-core": "9.0.0-build.
|
|
17
|
+
"@pega/cosmos-react-condition-builder": "9.0.0-build.27.0",
|
|
18
|
+
"@pega/cosmos-react-core": "9.0.0-build.27.0",
|
|
19
19
|
"@types/lodash-es": "^4.17.12",
|
|
20
20
|
"@types/uuid": "^9.0.0",
|
|
21
21
|
"dayjs": "^1.11.13",
|