@pega/lists-core 10.0.0-build.5.2 → 10.0.0-build.5.20
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/StateResolver.d.ts.map +1 -1
- package/lib/src/core/StateResolver.js +1 -1
- package/lib/src/core/StateResolver.js.map +1 -1
- package/lib/src/core/actions/actions.d.ts +1 -1
- package/lib/src/core/actions/actions.d.ts.map +1 -1
- package/lib/src/core/actions/actions.js +12 -3
- package/lib/src/core/actions/actions.js.map +1 -1
- package/lib/src/core/actions/actions.types.d.ts +2 -1
- package/lib/src/core/actions/actions.types.d.ts.map +1 -1
- package/lib/src/core/actions/actions.types.js.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.d.ts.map +1 -1
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js +24 -9
- package/lib/src/core/features/uIFeatures/afterRender/columnSizing/index.js.map +1 -1
- package/lib/src/core/features/uIFeatures/index.d.ts.map +1 -1
- package/lib/src/core/utils/util.js +2 -2
- package/lib/src/core/utils/util.js.map +1 -1
- package/lib/types/Meta.types.d.ts +4 -0
- package/lib/types/Meta.types.d.ts.map +1 -1
- package/lib/types/Meta.types.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateResolver.d.ts","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAc,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAgB9F,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGpF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAU,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChC,kCAAkC;AAClC,MAAM,CAAC,OAAO,OAAO,aAAa;;IAwChC,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBAED,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU;IAiCxB;;;;;OAKG;IACH,QAAQ,GAAI,QAAQ,UAAU,KAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"StateResolver.d.ts","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,KAAK,EAAc,UAAU,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAgB9F,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAE3C,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,2BAA2B,CAAC;AAC7F,OAAO,KAAK,EAAoB,UAAU,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AAGpF,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,KAAK,KAAK,CAAC;AAC9F,MAAM,MAAM,gBAAgB,GAAG,CAC7B,KAAK,EAAE,KAAK,EACZ,gBAAgB,EAAE,UAAU,KACzB,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAChC,kCAAkC;AAClC,MAAM,CAAC,OAAO,OAAO,aAAa;;IAwChC,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;gBAED,QAAQ,EAAE,eAAe,EACzB,gBAAgB,EAAE,gBAAgB,EAClC,UAAU,EAAE,UAAU;IAiCxB;;;;;OAKG;IACH,QAAQ,GAAI,QAAQ,UAAU,KAAG,IAAI,CAgDnC;IAEF;;OAEG;IACH,QAAQ,cAEN;IAEF;;OAEG;IACH,gBAAgB,cAEd;IAEF;;;;OAIG;IACH,cAAc,GACZ,aAAa,CAAC,YAAY,EAAE,sBAAsB,KAAK,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC,UAI3E;CAoIH;AAED,0EAA0E;AAC1E,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,UAAU,IAcrD,OAAO,KAAK,EAAE,kBAAkB,UAAU,gCAwBzD"}
|
|
@@ -82,7 +82,7 @@ export default class StateResolver {
|
|
|
82
82
|
}
|
|
83
83
|
}
|
|
84
84
|
if (typeof action === 'function')
|
|
85
|
-
return action(this.dispatch, this.getState, this.#rsInternal.getView().meta);
|
|
85
|
+
return action(this.dispatch, this.getState, this.#rsInternal.getView().meta, this.#rsInternal.getRsStore);
|
|
86
86
|
if (!this.#queuedActions.length && !this.fetchDataInProgress) {
|
|
87
87
|
// Don't do deep copy as we don't do deep comparison for arrays and objects in memoization in feature files
|
|
88
88
|
this.#currentState = { ...this.#state };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StateResolver.js","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport type { State } from '../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, ApiOptions, FetchDataResponse } from '../../types/ApiContext.types';\n\nimport { AFTER_FETCH, BEFORE_FETCH } from './pubSub/events';\nimport {\n clearProcessedActionsFromLatestActions,\n isSignificantPaginationOverlap,\n isEmpty,\n isFilterCriteriaChanged,\n isSameActionPresent as isSameActionPresentInQueue,\n isStaleAction,\n pickProperties,\n withMemoization\n} from './utils/util';\nimport { personalizationProps } from './reducers/personalizationReducer';\nimport ActionTypes from './actions/actionConstants';\nimport type { ActionType } from './actions/actionConstants';\nimport type RsInternal from './RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { MiddleWareFeatureProps, UIFeatures, Feature } from './features/featureFactory';\nimport type { ActionAsFunction, BaseAction, Action } from './actions/actions.types';\nimport type RsProps from './RsProps';\n\nexport type ReducerFunction = (state: State, action: Action, rsInternal: RsInternal) => State;\nexport type FetchDataHandler = (\n state: State,\n fetchDataOptions: ApiOptions\n) => Promise<FetchDataResponse>;\n/** It manages state of RsCore. */\nexport default class StateResolver {\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n\n /** Reducer function to reduce RS Core actions to its respective state. */\n #reducers: ReducerFunction;\n\n /** A reference to beforeRender UI features */\n #middlewares?: (featureProps: MiddleWareFeatureProps) => Promise<void | null>;\n\n /** Handler to fetch and manage data using {@link ApiContext.fetchData fetchData} api. */\n #fetchDataHandler: FetchDataHandler;\n\n /** previously dispatched stable state excluding instant state */\n #state: State;\n\n /** Intermittent state generated based upon the processed actions from the queue */\n #currentState: State;\n\n /** State generated via actions with instantRender. */\n #instantState: State;\n\n /** Queue holding actions that are dispatched. */\n #queuedActions: Action[];\n\n /** Holds the action that is executed. */\n #previousExecutedActionQueue: Action[];\n\n /** It contains registered api's provided by consumer of RsCore */\n #externalStoreRef: NonNullable<RsProps['externalStore']>;\n\n /** Keep track of latest action of a type of that action is marked to ignore stale actions */\n #latestActions = new Map<ActionType, Action>();\n\n /** Indicates if an external dispatch to RS core consumer should ber skipped. */\n #skipExternalDispatch = false;\n\n /** Abort controller to abort the fetchData requests in transit */\n #abortController?: AbortController;\n\n /** Indicates if fetchData is in progress. */\n fetchDataInProgress?: boolean;\n\n /**\n * Create an instance of {@link StateResolver} class.\n * @param reducers Reducer function to reduce state for a given action\n * @param fetchDataHandler Fetch Data handler function to fetch the data of RSCore when required.\n * @param rsInternal Reference to {@link RsInternal} object.\n */\n constructor(\n reducers: ReducerFunction,\n fetchDataHandler: FetchDataHandler,\n rsInternal: RsInternal\n ) {\n this.#reducers = reducers;\n this.#fetchDataHandler = fetchDataHandler;\n this.#rsInternal = rsInternal;\n\n this.#externalStoreRef = rsInternal.getRsProps().externalStore!;\n\n this.#state = {};\n this.#currentState = {};\n this.#instantState = {};\n this.#queuedActions = [];\n this.#previousExecutedActionQueue = [];\n }\n\n /**\n * Executes {@link ApiContext.stateUpdateCallback stateUpdateCallback} and {@link ApiContext.setComponentState setComponentState} api with latest state.\n */\n #executePostStateUpdateCallbacks = () => {\n const { apiContext } = this.#rsInternal.getRsProps();\n if (apiContext?.stateUpdateCallback) {\n apiContext.stateUpdateCallback({\n ...pickProperties(this.getState(), personalizationProps)\n });\n }\n if (apiContext?.setComponentState && this.getState().personalization?.active) {\n apiContext.setComponentState({\n ...pickProperties(this.getState(), personalizationProps),\n activePersonalization: this.getState().personalization?.active\n });\n }\n };\n\n /**\n * Dispatches given {@link action} to update the RsCore {@link State state} based on the provided action type. Multiple actions are queued in the action queue.\n * It will further triggers various {@link UIFeatures features} and fetches data using {@link FetchDataHandler} according to the state changes.\n *\n * @param action - The action to be dispatched.\n */\n dispatch = (action: BaseAction): void => {\n if ('takeLatestAction' in action && action.takeLatestAction) {\n if (isSameActionPresentInQueue(action, this.#latestActions)) return;\n this.#latestActions.set(action.type, action);\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#abortController?.abort();\n }\n }\n if (typeof action === 'function')\n return (action as ActionAsFunction)(\n this.dispatch,\n this.getState,\n this.#rsInternal.getView().meta\n );\n if (!this.#queuedActions.length && !this.fetchDataInProgress) {\n // Don't do deep copy as we don't do deep comparison for arrays and objects in memoization in feature files\n this.#currentState = { ...this.#state };\n }\n\n if ('instantRender' in action && action.instantRender) {\n if (this.#rsInternal.getRsProps().mode === 'debug') {\n console.warn(\n 'Doing instant render. This might introduce performance issues. Check if this is really needed.'\n );\n }\n this.#instantState = this.#reducers(this.#instantState, action, this.#rsInternal);\n this.#rsInternal.getView().setProp({\n state: { ...this.getState(), ...this.#instantState },\n isInstantRender: true\n });\n this.#externalStoreRef.dispatch({\n ...this.#instantState\n });\n this.#executePostStateUpdateCallbacks();\n\n return;\n }\n if ('skipActionQueue' in action && action.skipActionQueue) {\n this.#currentState = this.#reducers(this.#currentState, action, this.#rsInternal);\n return;\n }\n\n this.#queuedActions.push(action);\n // We run next batch only after completing first batch, Fetch call should get completed.\n if (this.#queuedActions.length === 1 && !this.#previousExecutedActionQueue.length) {\n this.#runQueuedActions();\n }\n };\n\n /**\n * Returns the current state that is built using the {@link dispatch dispatched} action.\n */\n getState = () => {\n return Object.keys(this.#currentState).length > 0 ? this.#currentState : this.#state;\n };\n\n /**\n * Returns a snapshot of the previous stable state before the action queue starts executing via {@link dispatch}.\n */\n getOriginalState = () => {\n return this.#state;\n };\n\n /**\n * Sets a function to execute a set of {@link Feature features} before triggering a render.\n * The provided function will be called with the {@link MiddleWareFeatureProps featureProps}\n * @param middlewares - A function that executes a set of {@link Feature features} before rendering.\n */\n setMiddlewares = (\n middlewares: (featureProps: MiddleWareFeatureProps) => Promise<void | null>\n ) => {\n if (this.#middlewares) return;\n this.#middlewares = middlewares;\n };\n\n /**\n * Returns true if the lone queued FORCE_UPDATE action should be skipped (no-op optimization).\n */\n #skipForceUpdateAction = (): boolean => {\n if (this.#queuedActions.length !== 1) return false;\n const action = this.#queuedActions[0];\n if (action?.type !== ActionTypes.FORCE_UPDATE) return false;\n if (!('payload' in action)) return false;\n return !Object.keys(action.payload.forceUpdateFeatures ?? {}).length;\n };\n\n /** This will reduce the RsCore {@link State state} for a {@link StateResolver.dispatch dispatched} action .\n * Additionally it will also run middlewares, fetches latest data using {@link FetchDataHandler} and executes post state update callback with latest reduced state.\n */\n #runQueuedActions = async () => {\n const queuedAction = this.#queuedActions[0];\n if (queuedAction) {\n const skipStaleActionExecution =\n 'takeLatestAction' in queuedAction &&\n queuedAction.takeLatestAction &&\n isStaleAction(queuedAction, this.#latestActions);\n\n if (skipStaleActionExecution) {\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n return;\n }\n\n this.#previousExecutedActionQueue.push(queuedAction);\n this.#currentState = this.#reducers(this.#currentState, queuedAction, this.#rsInternal);\n await this.#middlewares!({\n rsInternal: this.#rsInternal,\n getState: this.getState,\n getOriginalState: this.getOriginalState,\n dispatch: this.dispatch,\n queuedActions: [queuedAction]\n });\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n } else if (this.#rsInternal.getRsStore().isMounted) {\n this.fetchDataInProgress = true;\n\n await this.#fetchData({\n ...this.#currentState,\n ...this.#instantState\n });\n\n // if the processed action and latest action has same payload, delete the latestAction as all the actions have been processed.\n clearProcessedActionsFromLatestActions(\n this.#latestActions,\n this.#previousExecutedActionQueue\n );\n\n // if data has been ignored, don't dispatch to view layer as the there is no change in rows\n if (!this.#skipExternalDispatch) {\n await this.#externalStoreRef.dispatch({\n ...this.#currentState\n });\n }\n this.#skipExternalDispatch = false;\n this.fetchDataInProgress = false;\n this.#previousExecutedActionQueue = [];\n\n // this happens in cases of dispatches like query info. In that case, the props have been set on view directly and the dispatch has already happened\n // This will prevent unnecessary renders in case of server side table\n\n // Avoid skipping FORCE_UPDATE action in case feature has triggered it and is relying on forceUpdatedFeatures slice of state.\n // forceUpdateFeatures slice is generally used by features when they are not able to perform their task if the rendering cycle is not complete.\n // For eg.renderHeader and autosize feature set forceRenderOnNextRun and forceCalculateAutoWidth in this slice so that they will get executed after the existing rendering cycle is complete and the rows are rendered on DOM.\n // If we skip these types of FORCE_UPDATE action then the corresponding features execution will also be skipped.\n if (this.#skipForceUpdateAction()) {\n this.#queuedActions.shift();\n }\n if (this.#queuedActions.length) {\n this.#runQueuedActions();\n } else {\n this.#state = { ...this.#currentState };\n this.#currentState = {};\n this.#executePostStateUpdateCallbacks();\n }\n }\n };\n\n /**\n * Calls the {@link FetchDataHandler fetchDataHandler} and updates the latest data in the {@link View}\n * @param latestState - Current state.\n */\n #fetchData = async (latestState: State) => {\n this.#abortController = new AbortController();\n const signal = this.#abortController.signal;\n this.#rsInternal.getPubSubUtils().publish(BEFORE_FETCH);\n\n const derivedState = {\n ...latestState,\n groupFilters: this.#rsInternal.getRsStore().groupFilters\n };\n // TODO: No need to fetch data if all the groups are collapsed.\n const res = await this.#fetchDataHandler(derivedState, {\n signal,\n ...(this.#rsInternal.getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsInternal.getRsStore().refreshToken\n })\n });\n if (res) {\n const { totalRecordCount, filteredRecordCount, data = [] } = res;\n\n if (!isEmpty(totalRecordCount) || !isEmpty(filteredRecordCount)) {\n this.#rsInternal.getView().setProp({\n resultsCount: totalRecordCount || filteredRecordCount,\n countGeneratedInternally: false,\n showCount: true\n });\n }\n\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#skipExternalDispatch = true;\n } else {\n this.#rsInternal.getView().setProp({\n data,\n isCountUpdateRequired:\n isFilterCriteriaChanged(this.#rsInternal.getRsStore().meta, this.#state, latestState) ||\n latestState.refresh !== this.#state.refresh\n });\n }\n }\n\n this.#rsInternal.getPubSubUtils().publish(AFTER_FETCH);\n this.#rsInternal.getView().setProp({ state: latestState, isInstantRender: false });\n };\n}\n\n/** Initializes handler for {@link ApiContext.fetchData fetchData} api. */\nexport function initializeFetchDataHandler(rsCoreInternal: RsInternal) {\n let response = {} as FetchDataResponse;\n const fetchWrapper = withMemoization(async ([state, fetchDataOptions]: [State, ApiOptions]) => {\n try {\n response = await rsCoreInternal\n .getRsProps()\n .apiContext.fetchData(state, rsCoreInternal.getRsStore().meta, fetchDataOptions);\n } catch (err: any) {\n if (!['AbortError', 'CanceledError'].includes(err.name)) {\n console.error('API call failed', err);\n }\n }\n });\n\n return async (state: State, fetchDataOptions: ApiOptions) => {\n /**\n * Returning default data from getView() in case the actual apiContext.getData() doesn't get called.\n *\n * BUG-811621: in case of bulk actions and inline edit, the updated rows come from separate apiContext APIs\n * and the memo of below function won't break, so, it will give stale data. Using getView().data as the default fallback for such cases.\n */\n response.data = rsCoreInternal.getView().data!;\n await fetchWrapper(\n [state, fetchDataOptions],\n [\n state.filterExpression,\n state.search,\n state.paginationOptions,\n state.sortingOrder,\n state.refresh,\n state.groups,\n state.hierarchicalGroup,\n state.groupFilters,\n state.visibleColumns\n ]\n );\n return response;\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StateResolver.js","sourceRoot":"","sources":["../../../src/core/StateResolver.ts"],"names":[],"mappings":"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","sourcesContent":["/* eslint-disable no-console */\nimport type { State } from '../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { ApiContext, ApiOptions, FetchDataResponse } from '../../types/ApiContext.types';\n\nimport { AFTER_FETCH, BEFORE_FETCH } from './pubSub/events';\nimport {\n clearProcessedActionsFromLatestActions,\n isSignificantPaginationOverlap,\n isEmpty,\n isFilterCriteriaChanged,\n isSameActionPresent as isSameActionPresentInQueue,\n isStaleAction,\n pickProperties,\n withMemoization\n} from './utils/util';\nimport { personalizationProps } from './reducers/personalizationReducer';\nimport ActionTypes from './actions/actionConstants';\nimport type { ActionType } from './actions/actionConstants';\nimport type RsInternal from './RsInternal';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { MiddleWareFeatureProps, UIFeatures, Feature } from './features/featureFactory';\nimport type { ActionAsFunction, BaseAction, Action } from './actions/actions.types';\nimport type RsProps from './RsProps';\n\nexport type ReducerFunction = (state: State, action: Action, rsInternal: RsInternal) => State;\nexport type FetchDataHandler = (\n state: State,\n fetchDataOptions: ApiOptions\n) => Promise<FetchDataResponse>;\n/** It manages state of RsCore. */\nexport default class StateResolver {\n /** A reference to {@link RsInternal} object. */\n #rsInternal: RsInternal;\n\n /** Reducer function to reduce RS Core actions to its respective state. */\n #reducers: ReducerFunction;\n\n /** A reference to beforeRender UI features */\n #middlewares?: (featureProps: MiddleWareFeatureProps) => Promise<void | null>;\n\n /** Handler to fetch and manage data using {@link ApiContext.fetchData fetchData} api. */\n #fetchDataHandler: FetchDataHandler;\n\n /** previously dispatched stable state excluding instant state */\n #state: State;\n\n /** Intermittent state generated based upon the processed actions from the queue */\n #currentState: State;\n\n /** State generated via actions with instantRender. */\n #instantState: State;\n\n /** Queue holding actions that are dispatched. */\n #queuedActions: Action[];\n\n /** Holds the action that is executed. */\n #previousExecutedActionQueue: Action[];\n\n /** It contains registered api's provided by consumer of RsCore */\n #externalStoreRef: NonNullable<RsProps['externalStore']>;\n\n /** Keep track of latest action of a type of that action is marked to ignore stale actions */\n #latestActions = new Map<ActionType, Action>();\n\n /** Indicates if an external dispatch to RS core consumer should ber skipped. */\n #skipExternalDispatch = false;\n\n /** Abort controller to abort the fetchData requests in transit */\n #abortController?: AbortController;\n\n /** Indicates if fetchData is in progress. */\n fetchDataInProgress?: boolean;\n\n /**\n * Create an instance of {@link StateResolver} class.\n * @param reducers Reducer function to reduce state for a given action\n * @param fetchDataHandler Fetch Data handler function to fetch the data of RSCore when required.\n * @param rsInternal Reference to {@link RsInternal} object.\n */\n constructor(\n reducers: ReducerFunction,\n fetchDataHandler: FetchDataHandler,\n rsInternal: RsInternal\n ) {\n this.#reducers = reducers;\n this.#fetchDataHandler = fetchDataHandler;\n this.#rsInternal = rsInternal;\n\n this.#externalStoreRef = rsInternal.getRsProps().externalStore!;\n\n this.#state = {};\n this.#currentState = {};\n this.#instantState = {};\n this.#queuedActions = [];\n this.#previousExecutedActionQueue = [];\n }\n\n /**\n * Executes {@link ApiContext.stateUpdateCallback stateUpdateCallback} and {@link ApiContext.setComponentState setComponentState} api with latest state.\n */\n #executePostStateUpdateCallbacks = () => {\n const { apiContext } = this.#rsInternal.getRsProps();\n if (apiContext?.stateUpdateCallback) {\n apiContext.stateUpdateCallback({\n ...pickProperties(this.getState(), personalizationProps)\n });\n }\n if (apiContext?.setComponentState && this.getState().personalization?.active) {\n apiContext.setComponentState({\n ...pickProperties(this.getState(), personalizationProps),\n activePersonalization: this.getState().personalization?.active\n });\n }\n };\n\n /**\n * Dispatches given {@link action} to update the RsCore {@link State state} based on the provided action type. Multiple actions are queued in the action queue.\n * It will further triggers various {@link UIFeatures features} and fetches data using {@link FetchDataHandler} according to the state changes.\n *\n * @param action - The action to be dispatched.\n */\n dispatch = (action: BaseAction): void => {\n if ('takeLatestAction' in action && action.takeLatestAction) {\n if (isSameActionPresentInQueue(action, this.#latestActions)) return;\n this.#latestActions.set(action.type, action);\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#abortController?.abort();\n }\n }\n if (typeof action === 'function')\n return (action as ActionAsFunction)(\n this.dispatch,\n this.getState,\n this.#rsInternal.getView().meta,\n this.#rsInternal.getRsStore\n );\n if (!this.#queuedActions.length && !this.fetchDataInProgress) {\n // Don't do deep copy as we don't do deep comparison for arrays and objects in memoization in feature files\n this.#currentState = { ...this.#state };\n }\n\n if ('instantRender' in action && action.instantRender) {\n if (this.#rsInternal.getRsProps().mode === 'debug') {\n console.warn(\n 'Doing instant render. This might introduce performance issues. Check if this is really needed.'\n );\n }\n this.#instantState = this.#reducers(this.#instantState, action, this.#rsInternal);\n this.#rsInternal.getView().setProp({\n state: { ...this.getState(), ...this.#instantState },\n isInstantRender: true\n });\n this.#externalStoreRef.dispatch({\n ...this.#instantState\n });\n this.#executePostStateUpdateCallbacks();\n\n return;\n }\n if ('skipActionQueue' in action && action.skipActionQueue) {\n this.#currentState = this.#reducers(this.#currentState, action, this.#rsInternal);\n return;\n }\n\n this.#queuedActions.push(action);\n // We run next batch only after completing first batch, Fetch call should get completed.\n if (this.#queuedActions.length === 1 && !this.#previousExecutedActionQueue.length) {\n this.#runQueuedActions();\n }\n };\n\n /**\n * Returns the current state that is built using the {@link dispatch dispatched} action.\n */\n getState = () => {\n return Object.keys(this.#currentState).length > 0 ? this.#currentState : this.#state;\n };\n\n /**\n * Returns a snapshot of the previous stable state before the action queue starts executing via {@link dispatch}.\n */\n getOriginalState = () => {\n return this.#state;\n };\n\n /**\n * Sets a function to execute a set of {@link Feature features} before triggering a render.\n * The provided function will be called with the {@link MiddleWareFeatureProps featureProps}\n * @param middlewares - A function that executes a set of {@link Feature features} before rendering.\n */\n setMiddlewares = (\n middlewares: (featureProps: MiddleWareFeatureProps) => Promise<void | null>\n ) => {\n if (this.#middlewares) return;\n this.#middlewares = middlewares;\n };\n\n /**\n * Returns true if the lone queued FORCE_UPDATE action should be skipped (no-op optimization).\n */\n #skipForceUpdateAction = (): boolean => {\n if (this.#queuedActions.length !== 1) return false;\n const action = this.#queuedActions[0];\n if (action?.type !== ActionTypes.FORCE_UPDATE) return false;\n if (!('payload' in action)) return false;\n return !Object.keys(action.payload.forceUpdateFeatures ?? {}).length;\n };\n\n /** This will reduce the RsCore {@link State state} for a {@link StateResolver.dispatch dispatched} action .\n * Additionally it will also run middlewares, fetches latest data using {@link FetchDataHandler} and executes post state update callback with latest reduced state.\n */\n #runQueuedActions = async () => {\n const queuedAction = this.#queuedActions[0];\n if (queuedAction) {\n const skipStaleActionExecution =\n 'takeLatestAction' in queuedAction &&\n queuedAction.takeLatestAction &&\n isStaleAction(queuedAction, this.#latestActions);\n\n if (skipStaleActionExecution) {\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n return;\n }\n\n this.#previousExecutedActionQueue.push(queuedAction);\n this.#currentState = this.#reducers(this.#currentState, queuedAction, this.#rsInternal);\n await this.#middlewares!({\n rsInternal: this.#rsInternal,\n getState: this.getState,\n getOriginalState: this.getOriginalState,\n dispatch: this.dispatch,\n queuedActions: [queuedAction]\n });\n this.#queuedActions.shift();\n await this.#runQueuedActions();\n } else if (this.#rsInternal.getRsStore().isMounted) {\n this.fetchDataInProgress = true;\n\n await this.#fetchData({\n ...this.#currentState,\n ...this.#instantState\n });\n\n // if the processed action and latest action has same payload, delete the latestAction as all the actions have been processed.\n clearProcessedActionsFromLatestActions(\n this.#latestActions,\n this.#previousExecutedActionQueue\n );\n\n // if data has been ignored, don't dispatch to view layer as the there is no change in rows\n if (!this.#skipExternalDispatch) {\n await this.#externalStoreRef.dispatch({\n ...this.#currentState\n });\n }\n this.#skipExternalDispatch = false;\n this.fetchDataInProgress = false;\n this.#previousExecutedActionQueue = [];\n\n // this happens in cases of dispatches like query info. In that case, the props have been set on view directly and the dispatch has already happened\n // This will prevent unnecessary renders in case of server side table\n\n // Avoid skipping FORCE_UPDATE action in case feature has triggered it and is relying on forceUpdatedFeatures slice of state.\n // forceUpdateFeatures slice is generally used by features when they are not able to perform their task if the rendering cycle is not complete.\n // For eg.renderHeader and autosize feature set forceRenderOnNextRun and forceCalculateAutoWidth in this slice so that they will get executed after the existing rendering cycle is complete and the rows are rendered on DOM.\n // If we skip these types of FORCE_UPDATE action then the corresponding features execution will also be skipped.\n if (this.#skipForceUpdateAction()) {\n this.#queuedActions.shift();\n }\n if (this.#queuedActions.length) {\n this.#runQueuedActions();\n } else {\n this.#state = { ...this.#currentState };\n this.#currentState = {};\n this.#executePostStateUpdateCallbacks();\n }\n }\n };\n\n /**\n * Calls the {@link FetchDataHandler fetchDataHandler} and updates the latest data in the {@link View}\n * @param latestState - Current state.\n */\n #fetchData = async (latestState: State) => {\n this.#abortController = new AbortController();\n const signal = this.#abortController.signal;\n this.#rsInternal.getPubSubUtils().publish(BEFORE_FETCH);\n\n const derivedState = {\n ...latestState,\n groupFilters: this.#rsInternal.getRsStore().groupFilters\n };\n // TODO: No need to fetch data if all the groups are collapsed.\n const res = await this.#fetchDataHandler(derivedState, {\n signal,\n ...(this.#rsInternal.getRsStore().refreshInProgress && {\n invalidateCache: true,\n invalidateCacheToken: this.#rsInternal.getRsStore().refreshToken\n })\n });\n if (res) {\n const { totalRecordCount, filteredRecordCount, data = [] } = res;\n\n if (!isEmpty(totalRecordCount) || !isEmpty(filteredRecordCount)) {\n this.#rsInternal.getView().setProp({\n resultsCount: totalRecordCount || filteredRecordCount,\n countGeneratedInternally: false,\n showCount: true\n });\n }\n\n if (isSignificantPaginationOverlap(this.#latestActions, this.#previousExecutedActionQueue)) {\n this.#skipExternalDispatch = true;\n } else {\n this.#rsInternal.getView().setProp({\n data,\n isCountUpdateRequired:\n isFilterCriteriaChanged(this.#rsInternal.getRsStore().meta, this.#state, latestState) ||\n latestState.refresh !== this.#state.refresh\n });\n }\n }\n\n this.#rsInternal.getPubSubUtils().publish(AFTER_FETCH);\n this.#rsInternal.getView().setProp({ state: latestState, isInstantRender: false });\n };\n}\n\n/** Initializes handler for {@link ApiContext.fetchData fetchData} api. */\nexport function initializeFetchDataHandler(rsCoreInternal: RsInternal) {\n let response = {} as FetchDataResponse;\n const fetchWrapper = withMemoization(async ([state, fetchDataOptions]: [State, ApiOptions]) => {\n try {\n response = await rsCoreInternal\n .getRsProps()\n .apiContext.fetchData(state, rsCoreInternal.getRsStore().meta, fetchDataOptions);\n } catch (err: any) {\n if (!['AbortError', 'CanceledError'].includes(err.name)) {\n console.error('API call failed', err);\n }\n }\n });\n\n return async (state: State, fetchDataOptions: ApiOptions) => {\n /**\n * Returning default data from getView() in case the actual apiContext.getData() doesn't get called.\n *\n * BUG-811621: in case of bulk actions and inline edit, the updated rows come from separate apiContext APIs\n * and the memo of below function won't break, so, it will give stale data. Using getView().data as the default fallback for such cases.\n */\n response.data = rsCoreInternal.getView().data!;\n await fetchWrapper(\n [state, fetchDataOptions],\n [\n state.filterExpression,\n state.search,\n state.paginationOptions,\n state.sortingOrder,\n state.refresh,\n state.groups,\n state.hierarchicalGroup,\n state.groupFilters,\n state.visibleColumns\n ]\n );\n return response;\n };\n}\n"]}
|
|
@@ -156,7 +156,7 @@ export declare function actionVisibleColumnUpdate(payload: string[]): {
|
|
|
156
156
|
payload: string[];
|
|
157
157
|
};
|
|
158
158
|
/**
|
|
159
|
-
* Returns a dispatch function that dispatches {@link query} value with all the text type fields.
|
|
159
|
+
* Returns a dispatch function that dispatches {@link query} value with all the text and URL type fields.
|
|
160
160
|
* @param query search string
|
|
161
161
|
*/
|
|
162
162
|
export declare function actionSearchGlobal(query: string): SearchGlobalActionAsFunction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"actions.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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"}
|
|
@@ -215,11 +215,11 @@ export function actionVisibleColumnUpdate(payload) {
|
|
|
215
215
|
};
|
|
216
216
|
}
|
|
217
217
|
/**
|
|
218
|
-
* Returns a dispatch function that dispatches {@link query} value with all the text type fields.
|
|
218
|
+
* Returns a dispatch function that dispatches {@link query} value with all the text and URL type fields.
|
|
219
219
|
* @param query search string
|
|
220
220
|
*/
|
|
221
221
|
export function actionSearchGlobal(query) {
|
|
222
|
-
return (dispatch, getState, meta) => {
|
|
222
|
+
return (dispatch, getState, meta, getRsStore) => {
|
|
223
223
|
const state = getState();
|
|
224
224
|
const { customFields } = state;
|
|
225
225
|
let { visibleColumns } = state;
|
|
@@ -229,7 +229,16 @@ export function actionSearchGlobal(query) {
|
|
|
229
229
|
visibleColumns = [...new Set([...(visibleColumns ?? []), ...timelineCustomColumns])].filter((column) => Boolean(column));
|
|
230
230
|
}
|
|
231
231
|
const visibleFields = getVisibileFields(meta.fieldDefs, visibleColumns, customFields);
|
|
232
|
-
const fields = visibleFields.
|
|
232
|
+
const fields = visibleFields.flatMap(field => {
|
|
233
|
+
if (!field.searchable) {
|
|
234
|
+
return [];
|
|
235
|
+
}
|
|
236
|
+
const referencedField = field.searchProperty
|
|
237
|
+
? getRsStore().getFieldDefById(field.searchProperty.field)
|
|
238
|
+
: undefined;
|
|
239
|
+
const searchField = referencedField ?? field;
|
|
240
|
+
return searchField.searchable ? [searchField.name] : [];
|
|
241
|
+
});
|
|
233
242
|
dispatch({
|
|
234
243
|
type: ActionTypes.SEARCH,
|
|
235
244
|
payload: { query, fields }
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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","sourcesContent":["// cspell:words Sanitizable\n\nimport {\n REPEATING_STRUCTURE_TEMPLATES,\n type ConditionalStyleFormat,\n type FieldDef,\n type GalleryLayout,\n type HierarchicalInfo,\n type ROW_DENSITY\n} from '../../../types/Meta.types';\nimport type { Errors, Group, Notification, State } from '../../../types/State.types';\nimport { SUPPORTED_AVOIDABLE_FEATURES, SUPPORTED_FLUSH_KEYS } from '../constants';\nimport {\n autoSizeOfColumn,\n autoSizeOfColumns\n} from '../features/uIFeatures/afterRender/columnSizing/autoSize';\nimport type Column from '../generators/ColumnGenerator';\nimport type View from '../generators/ViewGenerator';\nimport { getVisibileFields } from '../utils/util';\nimport type { WarningDetail } from '../generators/ViewGenerator.types';\n\nimport ActionTypes from './actionConstants';\nimport type {\n ActionMeta,\n ApplyAliasesActionPayload,\n ChangeLabelActionPayload,\n ColumnDragDropAction,\n ColumnFilteringActionPayload,\n ColumnResizePayload,\n ColumnSortPayload,\n DeleteCustomColumnPayload,\n ExpandCollapsePayload,\n MergeColumnsPayload,\n MoveRecordKeysUpdatePayload,\n PaginateAction,\n PaginationPayload,\n RemoveRenderFormatterPayload,\n RowSelectionItemsUpdatePayload,\n RowSelectionUpdatePayload,\n SanitizableProperties,\n SearchGlobalActionAsFunction,\n UpdateAggregationPayload,\n UpdateRenderFormatterPayload,\n UpdateRowSelectionStatusPayload\n} from './actions.types';\n\nexport function actionNotificationAdd(notifications: Notification | Notification[]) {\n const msgs = Array.isArray(notifications) ? notifications : [notifications];\n\n msgs.forEach(msg => {\n msg.id = crypto.randomUUID();\n });\n\n return {\n type: ActionTypes.NOTIFICATION_ADD,\n payload: {\n msgs\n }\n };\n}\n\nexport function actionNotificationRemove(ids: string | string[]) {\n return {\n type: ActionTypes.NOTIFICATION_REMOVE,\n payload: {\n ids\n }\n };\n}\n\nexport function actionGroupingExpandCollapseAll(payload: boolean) {\n return {\n type: ActionTypes.TOGGLE_EXPAND_COLLAPSE_ALL,\n payload\n };\n}\n\nexport function actionColumnFiltering(payload: ColumnFilteringActionPayload) {\n return {\n type: ActionTypes.COLUMN_FILTERING,\n payload\n };\n}\n\nexport function actionClearFiltering(colId: string) {\n return {\n type: ActionTypes.COLUMN_CLEAR_FILTERING,\n payload: {\n colId\n }\n };\n}\n\nexport function actionColumnSort(payload: ColumnSortPayload) {\n return {\n type: ActionTypes.COLUMN_SORT,\n payload\n };\n}\n\nexport function setWarningMessages(payload: WarningDetail[]) {\n return {\n type: ActionTypes.SET_WARNING_MESSAGES,\n payload\n };\n}\n\nexport function actionUpdateSort(payload: NonNullable<State['sortingOrder']>) {\n return {\n type: ActionTypes.UPDATE_SORT,\n payload\n };\n}\n\nexport function actionPaginate(\n payload: PaginationPayload,\n actionMeta: ActionMeta = {}\n): PaginateAction {\n return {\n takeLatestAction: actionMeta.takeLatestAction,\n type: ActionTypes.PAGINATE,\n payload\n };\n}\n\nexport function actionChangeTemplate(\n payload: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES]\n) {\n return {\n type: ActionTypes.CHANGE_TEMPLATE,\n payload\n };\n}\n\nexport function actionRowHeightChange(payload: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY]) {\n return {\n type: ActionTypes.ROW_HEIGHT_CHANGE,\n payload\n };\n}\n\nexport function actionGalleryLayoutChange(payload: GalleryLayout) {\n return {\n type: ActionTypes.GALLERY_LAYOUT_CHANGE,\n payload\n };\n}\n\nexport function actionColumnResize(columnResizeObj: ColumnResizePayload['data']) {\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: { data: columnResizeObj }\n };\n}\n\nexport function actionColumnAutoSize(\n column: Column,\n domContainer: NonNullable<View['domContainer']>,\n forceAutoSize = false\n) {\n const columnResizeObj = {\n [column.field.id]: autoSizeOfColumn(column, domContainer, forceAutoSize)\n };\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: { data: columnResizeObj }\n };\n}\n\nexport function actionColumnsAutoSize(\n columns: Column[],\n domContainer: NonNullable<View['domContainer']>,\n reset = true\n) {\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: {\n data: autoSizeOfColumns(columns, domContainer, reset) as ColumnResizePayload['data']\n }\n };\n}\n\nexport function actionColumnToggle(toggledColumns: string[]) {\n return {\n type: ActionTypes.COLUMN_TOGGLE,\n payload: toggledColumns\n };\n}\n\nexport function actionHiddenColumnUpdate(\n hiddenColumns: string[],\n ootbColumns?: { dragHandle?: boolean }\n) {\n return {\n type: ActionTypes.HIDDEN_COLUMN_UPDATE,\n payload: { hiddenColumns, ootbColumns }\n };\n}\n\nexport function actionColumnPin(pinnedColumns: string[]) {\n return {\n type: ActionTypes.TOGGLE_PIN,\n payload: pinnedColumns\n };\n}\n\nexport function actionColumnPinAtIndex(pinnedColumn: string, index: number) {\n return {\n type: ActionTypes.TOGGLE_PIN_AT_INDEX,\n payload: { pinnedColumn, index }\n };\n}\n\nexport function actionColumnDragDrop(\n sourceColId: string,\n targetColId: string\n): ColumnDragDropAction {\n return {\n type: ActionTypes.COLUMN_DRAG_DROP,\n payload: {\n sourceColId: `${sourceColId}`,\n targetColId: `${targetColId}`\n }\n };\n}\n\nexport function actionToggleGrouping(payload: FieldDef) {\n return {\n type: ActionTypes.TOGGLE_GROUPING,\n payload\n };\n}\n\nexport function actionToggleExpandCollpase(payload: ExpandCollapsePayload) {\n return {\n type: ActionTypes.TOGGLE_EXPAND_COLLAPSE,\n payload\n };\n}\n\nexport function actionUpdateGroupingSort() {\n return {\n type: ActionTypes.UPDATE_GROUPING_SORT\n };\n}\n\nexport function actionAddGroups(payload: Group[]) {\n return {\n type: ActionTypes.ADD_GROUPS,\n payload\n };\n}\n\nexport function actionSetGroupSnapshot(payload: Group[] | undefined) {\n return {\n type: ActionTypes.SET_GROUP_SNAPSHOT,\n payload\n };\n}\n\nexport function actionMoveRecordKeysUpdate(payload: MoveRecordKeysUpdatePayload) {\n return {\n type: ActionTypes.MOVE_RECORD_KEYS,\n payload\n };\n}\n\nexport function actionRowSelectionUpdate(payload: RowSelectionUpdatePayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION,\n payload\n };\n}\n\nexport function actionRowSelectionItemsUpdate(payload: RowSelectionItemsUpdatePayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION_ITEMS,\n payload\n };\n}\n\nexport function actionUpdateRowSelectionStatus(payload: UpdateRowSelectionStatusPayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION_STATUS,\n payload\n };\n}\n\nexport function actionClearRowSelectionStatus(payload: { keys: string[] }) {\n return {\n type: ActionTypes.CLEAR_ROW_SELECTION,\n payload\n };\n}\n\nexport function addColumnIntoVisibility(columnIds: string | string[]) {\n return {\n type: ActionTypes.ADD_COLUMN_VISIBILITY,\n payload: columnIds\n };\n}\n\nexport function actionVisibleColumnUpdate(payload: string[]) {\n return {\n type: ActionTypes.VISIBLE_COLUMN_UPDATE,\n payload\n };\n}\n\n/**\n * Returns a dispatch function that dispatches {@link query} value with all the text type fields.\n * @param query search string\n */\nexport function actionSearchGlobal(query: string): SearchGlobalActionAsFunction {\n return (dispatch, getState, meta) => {\n const state = getState();\n const { customFields } = state;\n let { visibleColumns } = state;\n if (meta.template === REPEATING_STRUCTURE_TEMPLATES.TIMELINE && meta.timelineFields) {\n const { title, date, status } = meta.timelineFields;\n const timelineCustomColumns = [title?.label, date?.label, status?.label];\n visibleColumns = [...new Set([...(visibleColumns ?? []), ...timelineCustomColumns])].filter(\n (column): column is string => Boolean(column)\n );\n }\n const visibleFields = getVisibileFields(meta.fieldDefs, visibleColumns, customFields);\n const fields = visibleFields.filter(({ searchable }) => searchable).map(({ name }) => name); // Searchable fields\n dispatch({\n type: ActionTypes.SEARCH,\n payload: { query, fields }\n });\n };\n}\n\nexport function actionMergeColumns(payload: MergeColumnsPayload) {\n return {\n type: ActionTypes.COLUMN_MERGE,\n payload\n };\n}\n\nexport function actionGetPersonalizations(\n payload: NonNullable<State['personalization']> & { personalizationKey?: string }\n) {\n return {\n skipActionQueue: true,\n type: ActionTypes.PERSONALIZATION_GET,\n payload\n };\n}\n\nexport function actionDeleteCustomColumn(payload: DeleteCustomColumnPayload) {\n return {\n type: ActionTypes.CUSTOM_COLUMN_DELETE,\n payload\n };\n}\n\nexport function actionHydrateState(payload: State) {\n return {\n skipActionQueue: false,\n type: ActionTypes.HYDRATE_STATE,\n payload\n };\n}\n\n// cspell:disable-next-line\nexport function actionSanitizeState(payload: SanitizableProperties) {\n return {\n skipActionQueue: true,\n type: ActionTypes.SANITIZE_STATE,\n payload\n };\n}\n\n/**\n * Returns the {@link ActionTypes.UPDATE_COLUMN_ORDER UPDATE_COLUMN_ORDER} action.\n * @param payload A field name tuple of the column.\n */\nexport function actionUpdateColumnOrder(payload: [string]) {\n return {\n type: ActionTypes.UPDATE_COLUMN_ORDER,\n payload\n };\n}\n\nexport function actionNewColumnOrder(payload: string[]) {\n return {\n type: ActionTypes.NEW_COLUMN_ORDER,\n payload\n };\n}\n\nexport function actionUpdateTableHeight(payload: View['bodyHeight']) {\n return {\n type: ActionTypes.UPDATE_TABLE_HEIGHT,\n payload\n };\n}\n\n/**\n * Returns personalization update action.\n * @param personalizationKey - The current personalization key\n * @param markAsDefault - Indicates whether the current personalization should be marked as default.\n * @param markAsAppDefault - Indicates whether the current personalization should be marked as app default.\n */\nexport function actionPersonalizationUpdate(\n personalizationKey: string,\n markAsDefault: boolean,\n markAsAppDefault: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE,\n payload: {\n personalizationKey,\n markAsDefault,\n markAsAppDefault\n }\n };\n}\n\nexport function actionPersonalizationUpdateId(\n oldPersonalizationId: string,\n newPersonalizationId: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE_ID,\n payload: {\n oldPersonalizationId,\n newPersonalizationId\n }\n };\n}\n\nexport function actionPersonalizationUpdatePresetId(\n personalizationKey: string,\n oldPresetId: string,\n newPresetId: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE_PRESET_ID,\n payload: {\n oldPresetId,\n newPresetId,\n personalizationKey\n }\n };\n}\n\n/**\n * Returns an action that deletes the personalization\n * @param personalizationKey id of the personalization that needs to be deleted.\n * @param deletePresetPersonalizations If set to false indicates notification to be shown after deletion of personalization.\n */\nexport function actionPersonalizationDelete(\n personalizationKey: string,\n deletePresetPersonalizations?: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_DELETE,\n payload: {\n personalizationKey,\n deletePresetPersonalizations\n }\n };\n}\n\nexport function actionPersonalizationSetActive({\n id,\n isPreset\n}: {\n id: string;\n isPreset: boolean;\n}) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_ACTIVE,\n payload: {\n personalizationKey: id,\n isPreset\n }\n };\n}\n\n// TODO: remove template, presetId after Infinity'23 release branch is cut\nexport function actionPersonalizationCreate(\n personalizationName: string,\n markAsDefault: boolean,\n template?: string,\n presetId?: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_CREATE,\n payload: {\n personalizationKey: crypto.randomUUID(),\n personalizationName,\n markAsDefault,\n template,\n presetId\n }\n };\n}\n\nexport function actionPersonalizationEdit(\n personalizationKey: string,\n personalizationName: string,\n markAsDefault: boolean,\n markAsAppDefault: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_EDIT,\n payload: {\n personalizationKey,\n personalizationName,\n markAsDefault,\n markAsAppDefault\n }\n };\n}\n\nexport function actionPersonalizationSetDefault(personalizationKey: string) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_DEFAULT,\n payload: {\n personalizationKey\n }\n };\n}\n\nexport function actionPersonalizationSetAppDefault(\n personalizationKey: string,\n personalizationName: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_APP_DEFAULT,\n payload: {\n personalizationKey,\n personalizationName\n }\n };\n}\n\nexport function actionBootstrap() {\n return {\n type: ActionTypes.BOOTSTRAP\n };\n}\n\nexport function actionUpdateStateVersion() {\n return {\n type: ActionTypes.UPDATE_STATE_VERSION\n };\n}\n\nexport function actionUpdateAggregation(payload: UpdateAggregationPayload) {\n return {\n type: ActionTypes.UPDATE_AGGREGATION,\n payload\n };\n}\n\nexport function actionUpdateAggregations(payload: NonNullable<State['aggregationInfo']>) {\n return {\n type: ActionTypes.UPDATE_AGGREGATIONS,\n payload\n };\n}\n\nexport function actionUpdateRenderFormatter(payload: UpdateRenderFormatterPayload) {\n return {\n type: ActionTypes.CHANGE_RENDERER_FORMATTER,\n payload\n };\n}\n\nexport function actionRemoveRenderFormatter(payload: RemoveRenderFormatterPayload) {\n return {\n type: ActionTypes.REMOVE_RENDERER_FORMATTER,\n payload\n };\n}\n\nexport function actionUpdateDisplayMode(payload: HierarchicalInfo) {\n return {\n type: ActionTypes.COLUMN_DISPLAY_CHANGE,\n payload\n };\n}\n\nexport function actionChangeLabel(payload: ChangeLabelActionPayload) {\n return {\n type: ActionTypes.CHANGE_LABEL,\n payload\n };\n}\n\nexport function actionReplaceLabels(payload: ApplyAliasesActionPayload) {\n return {\n type: ActionTypes.REPLACE_LABELS,\n payload\n };\n}\n\nexport function actionShowHeaderIcons(showHeaderIcons: boolean) {\n return {\n type: ActionTypes.SHOW_HEADER_ICONS,\n payload: showHeaderIcons\n };\n}\n\n/**\n *\n * @param instantRender skip the action queue and update the state immediately\n * @param forceUpdateFeatures if instantRender is false, push feature identifying name in state.forceUpdateFeatures to render in next execution\n */\nexport function actionForceUpdate(\n instantRender = true,\n forceUpdateFeatures: State['forceUpdateFeatures'] = {}\n) {\n return {\n instantRender,\n type: ActionTypes.FORCE_UPDATE,\n payload: {\n forceUpdateFeatures\n }\n };\n}\n\nexport function actionForceRefresh(\n flushState: { [key: string]: boolean } = {},\n featuresToAvoid: string[] = []\n) {\n let stateToReset = {};\n if (Object.keys(flushState).length > 0) {\n stateToReset = SUPPORTED_FLUSH_KEYS.reduce((acc: { [k: string]: undefined }, k: string) => {\n if (flushState[k] === true) {\n acc[k] = undefined;\n }\n return acc;\n }, {});\n }\n\n const featuresToNotRun: string[] = [];\n featuresToAvoid.forEach(item => {\n if (SUPPORTED_AVOIDABLE_FEATURES.includes(item)) {\n featuresToNotRun.push(item);\n }\n });\n\n const payload = {\n stateToReset,\n featuresToAvoid: featuresToNotRun\n };\n\n return {\n type: ActionTypes.FORCE_REFRESH,\n payload\n };\n}\n\nexport function showConfirmationAction() {\n return {\n type: ActionTypes.USER_CONFIRMATION_ACTION,\n instantRender: true\n };\n}\n\nexport function completeConfirmationAction() {\n return {\n type: ActionTypes.COMPLETE_USER_CONFIRMATION_ACTION,\n instantRender: true\n };\n}\n\nexport function setDataErrors(payload: Errors['dataErrors']) {\n return {\n type: ActionTypes.SET_DATA_ERROR,\n payload\n };\n}\n\nexport function setDomContainerResponsiveBreakpoints(payload: {\n breakpoint: string;\n value: boolean;\n}) {\n return {\n type: ActionTypes.SET_DOM_CONTAINER_BREAKPOINTS,\n payload\n };\n}\n\n// External state should set instantly without executing action queue.\nexport function setExternalState(payload: NonNullable<State['externalState']>) {\n return {\n type: ActionTypes.SET_IN_EXTERNAL_STATE,\n payload\n };\n}\n\nexport function updateColumnsVisibility(payload: { [key: FieldDef['id']]: boolean }) {\n return {\n type: ActionTypes.UPDATE_COLUMNS_VISIBILITY,\n payload\n };\n}\n\nexport function setConditionalStyleFormats(payload: ConditionalStyleFormat[]) {\n return {\n type: ActionTypes.SET_CONDITIONAL_STYLE_FORMATS,\n payload\n };\n}\n"]}
|
|
1
|
+
{"version":3,"file":"actions.js","sourceRoot":"","sources":["../../../../src/core/actions/actions.ts"],"names":[],"mappings":"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","sourcesContent":["// cspell:words Sanitizable\n\nimport {\n REPEATING_STRUCTURE_TEMPLATES,\n type ConditionalStyleFormat,\n type FieldDef,\n type GalleryLayout,\n type HierarchicalInfo,\n type ROW_DENSITY\n} from '../../../types/Meta.types';\nimport type { Errors, Group, Notification, State } from '../../../types/State.types';\nimport { SUPPORTED_AVOIDABLE_FEATURES, SUPPORTED_FLUSH_KEYS } from '../constants';\nimport {\n autoSizeOfColumn,\n autoSizeOfColumns\n} from '../features/uIFeatures/afterRender/columnSizing/autoSize';\nimport type Column from '../generators/ColumnGenerator';\nimport type View from '../generators/ViewGenerator';\nimport { getVisibileFields } from '../utils/util';\nimport type { WarningDetail } from '../generators/ViewGenerator.types';\n\nimport ActionTypes from './actionConstants';\nimport type {\n ActionMeta,\n ApplyAliasesActionPayload,\n ChangeLabelActionPayload,\n ColumnDragDropAction,\n ColumnFilteringActionPayload,\n ColumnResizePayload,\n ColumnSortPayload,\n DeleteCustomColumnPayload,\n ExpandCollapsePayload,\n MergeColumnsPayload,\n MoveRecordKeysUpdatePayload,\n PaginateAction,\n PaginationPayload,\n RemoveRenderFormatterPayload,\n RowSelectionItemsUpdatePayload,\n RowSelectionUpdatePayload,\n SanitizableProperties,\n SearchGlobalActionAsFunction,\n UpdateAggregationPayload,\n UpdateRenderFormatterPayload,\n UpdateRowSelectionStatusPayload\n} from './actions.types';\n\nexport function actionNotificationAdd(notifications: Notification | Notification[]) {\n const msgs = Array.isArray(notifications) ? notifications : [notifications];\n\n msgs.forEach(msg => {\n msg.id = crypto.randomUUID();\n });\n\n return {\n type: ActionTypes.NOTIFICATION_ADD,\n payload: {\n msgs\n }\n };\n}\n\nexport function actionNotificationRemove(ids: string | string[]) {\n return {\n type: ActionTypes.NOTIFICATION_REMOVE,\n payload: {\n ids\n }\n };\n}\n\nexport function actionGroupingExpandCollapseAll(payload: boolean) {\n return {\n type: ActionTypes.TOGGLE_EXPAND_COLLAPSE_ALL,\n payload\n };\n}\n\nexport function actionColumnFiltering(payload: ColumnFilteringActionPayload) {\n return {\n type: ActionTypes.COLUMN_FILTERING,\n payload\n };\n}\n\nexport function actionClearFiltering(colId: string) {\n return {\n type: ActionTypes.COLUMN_CLEAR_FILTERING,\n payload: {\n colId\n }\n };\n}\n\nexport function actionColumnSort(payload: ColumnSortPayload) {\n return {\n type: ActionTypes.COLUMN_SORT,\n payload\n };\n}\n\nexport function setWarningMessages(payload: WarningDetail[]) {\n return {\n type: ActionTypes.SET_WARNING_MESSAGES,\n payload\n };\n}\n\nexport function actionUpdateSort(payload: NonNullable<State['sortingOrder']>) {\n return {\n type: ActionTypes.UPDATE_SORT,\n payload\n };\n}\n\nexport function actionPaginate(\n payload: PaginationPayload,\n actionMeta: ActionMeta = {}\n): PaginateAction {\n return {\n takeLatestAction: actionMeta.takeLatestAction,\n type: ActionTypes.PAGINATE,\n payload\n };\n}\n\nexport function actionChangeTemplate(\n payload: (typeof REPEATING_STRUCTURE_TEMPLATES)[keyof typeof REPEATING_STRUCTURE_TEMPLATES]\n) {\n return {\n type: ActionTypes.CHANGE_TEMPLATE,\n payload\n };\n}\n\nexport function actionRowHeightChange(payload: (typeof ROW_DENSITY)[keyof typeof ROW_DENSITY]) {\n return {\n type: ActionTypes.ROW_HEIGHT_CHANGE,\n payload\n };\n}\n\nexport function actionGalleryLayoutChange(payload: GalleryLayout) {\n return {\n type: ActionTypes.GALLERY_LAYOUT_CHANGE,\n payload\n };\n}\n\nexport function actionColumnResize(columnResizeObj: ColumnResizePayload['data']) {\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: { data: columnResizeObj }\n };\n}\n\nexport function actionColumnAutoSize(\n column: Column,\n domContainer: NonNullable<View['domContainer']>,\n forceAutoSize = false\n) {\n const columnResizeObj = {\n [column.field.id]: autoSizeOfColumn(column, domContainer, forceAutoSize)\n };\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: { data: columnResizeObj }\n };\n}\n\nexport function actionColumnsAutoSize(\n columns: Column[],\n domContainer: NonNullable<View['domContainer']>,\n reset = true\n) {\n return {\n type: ActionTypes.COLUMN_RESIZE,\n payload: {\n data: autoSizeOfColumns(columns, domContainer, reset) as ColumnResizePayload['data']\n }\n };\n}\n\nexport function actionColumnToggle(toggledColumns: string[]) {\n return {\n type: ActionTypes.COLUMN_TOGGLE,\n payload: toggledColumns\n };\n}\n\nexport function actionHiddenColumnUpdate(\n hiddenColumns: string[],\n ootbColumns?: { dragHandle?: boolean }\n) {\n return {\n type: ActionTypes.HIDDEN_COLUMN_UPDATE,\n payload: { hiddenColumns, ootbColumns }\n };\n}\n\nexport function actionColumnPin(pinnedColumns: string[]) {\n return {\n type: ActionTypes.TOGGLE_PIN,\n payload: pinnedColumns\n };\n}\n\nexport function actionColumnPinAtIndex(pinnedColumn: string, index: number) {\n return {\n type: ActionTypes.TOGGLE_PIN_AT_INDEX,\n payload: { pinnedColumn, index }\n };\n}\n\nexport function actionColumnDragDrop(\n sourceColId: string,\n targetColId: string\n): ColumnDragDropAction {\n return {\n type: ActionTypes.COLUMN_DRAG_DROP,\n payload: {\n sourceColId: `${sourceColId}`,\n targetColId: `${targetColId}`\n }\n };\n}\n\nexport function actionToggleGrouping(payload: FieldDef) {\n return {\n type: ActionTypes.TOGGLE_GROUPING,\n payload\n };\n}\n\nexport function actionToggleExpandCollpase(payload: ExpandCollapsePayload) {\n return {\n type: ActionTypes.TOGGLE_EXPAND_COLLAPSE,\n payload\n };\n}\n\nexport function actionUpdateGroupingSort() {\n return {\n type: ActionTypes.UPDATE_GROUPING_SORT\n };\n}\n\nexport function actionAddGroups(payload: Group[]) {\n return {\n type: ActionTypes.ADD_GROUPS,\n payload\n };\n}\n\nexport function actionSetGroupSnapshot(payload: Group[] | undefined) {\n return {\n type: ActionTypes.SET_GROUP_SNAPSHOT,\n payload\n };\n}\n\nexport function actionMoveRecordKeysUpdate(payload: MoveRecordKeysUpdatePayload) {\n return {\n type: ActionTypes.MOVE_RECORD_KEYS,\n payload\n };\n}\n\nexport function actionRowSelectionUpdate(payload: RowSelectionUpdatePayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION,\n payload\n };\n}\n\nexport function actionRowSelectionItemsUpdate(payload: RowSelectionItemsUpdatePayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION_ITEMS,\n payload\n };\n}\n\nexport function actionUpdateRowSelectionStatus(payload: UpdateRowSelectionStatusPayload) {\n return {\n type: ActionTypes.UPDATE_ROW_SELECTION_STATUS,\n payload\n };\n}\n\nexport function actionClearRowSelectionStatus(payload: { keys: string[] }) {\n return {\n type: ActionTypes.CLEAR_ROW_SELECTION,\n payload\n };\n}\n\nexport function addColumnIntoVisibility(columnIds: string | string[]) {\n return {\n type: ActionTypes.ADD_COLUMN_VISIBILITY,\n payload: columnIds\n };\n}\n\nexport function actionVisibleColumnUpdate(payload: string[]) {\n return {\n type: ActionTypes.VISIBLE_COLUMN_UPDATE,\n payload\n };\n}\n\n/**\n * Returns a dispatch function that dispatches {@link query} value with all the text and URL type fields.\n * @param query search string\n */\nexport function actionSearchGlobal(query: string): SearchGlobalActionAsFunction {\n return (dispatch, getState, meta, getRsStore) => {\n const state = getState();\n const { customFields } = state;\n let { visibleColumns } = state;\n if (meta.template === REPEATING_STRUCTURE_TEMPLATES.TIMELINE && meta.timelineFields) {\n const { title, date, status } = meta.timelineFields;\n const timelineCustomColumns = [title?.label, date?.label, status?.label];\n visibleColumns = [...new Set([...(visibleColumns ?? []), ...timelineCustomColumns])].filter(\n (column): column is string => Boolean(column)\n );\n }\n const visibleFields = getVisibileFields(meta.fieldDefs, visibleColumns, customFields);\n const fields = visibleFields.flatMap(field => {\n if (!field.searchable) {\n return [];\n }\n\n const referencedField = field.searchProperty\n ? getRsStore().getFieldDefById(field.searchProperty.field)\n : undefined;\n const searchField = referencedField ?? field;\n return searchField.searchable ? [searchField.name] : [];\n });\n dispatch({\n type: ActionTypes.SEARCH,\n payload: { query, fields }\n });\n };\n}\n\nexport function actionMergeColumns(payload: MergeColumnsPayload) {\n return {\n type: ActionTypes.COLUMN_MERGE,\n payload\n };\n}\n\nexport function actionGetPersonalizations(\n payload: NonNullable<State['personalization']> & { personalizationKey?: string }\n) {\n return {\n skipActionQueue: true,\n type: ActionTypes.PERSONALIZATION_GET,\n payload\n };\n}\n\nexport function actionDeleteCustomColumn(payload: DeleteCustomColumnPayload) {\n return {\n type: ActionTypes.CUSTOM_COLUMN_DELETE,\n payload\n };\n}\n\nexport function actionHydrateState(payload: State) {\n return {\n skipActionQueue: false,\n type: ActionTypes.HYDRATE_STATE,\n payload\n };\n}\n\n// cspell:disable-next-line\nexport function actionSanitizeState(payload: SanitizableProperties) {\n return {\n skipActionQueue: true,\n type: ActionTypes.SANITIZE_STATE,\n payload\n };\n}\n\n/**\n * Returns the {@link ActionTypes.UPDATE_COLUMN_ORDER UPDATE_COLUMN_ORDER} action.\n * @param payload A field name tuple of the column.\n */\nexport function actionUpdateColumnOrder(payload: [string]) {\n return {\n type: ActionTypes.UPDATE_COLUMN_ORDER,\n payload\n };\n}\n\nexport function actionNewColumnOrder(payload: string[]) {\n return {\n type: ActionTypes.NEW_COLUMN_ORDER,\n payload\n };\n}\n\nexport function actionUpdateTableHeight(payload: View['bodyHeight']) {\n return {\n type: ActionTypes.UPDATE_TABLE_HEIGHT,\n payload\n };\n}\n\n/**\n * Returns personalization update action.\n * @param personalizationKey - The current personalization key\n * @param markAsDefault - Indicates whether the current personalization should be marked as default.\n * @param markAsAppDefault - Indicates whether the current personalization should be marked as app default.\n */\nexport function actionPersonalizationUpdate(\n personalizationKey: string,\n markAsDefault: boolean,\n markAsAppDefault: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE,\n payload: {\n personalizationKey,\n markAsDefault,\n markAsAppDefault\n }\n };\n}\n\nexport function actionPersonalizationUpdateId(\n oldPersonalizationId: string,\n newPersonalizationId: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE_ID,\n payload: {\n oldPersonalizationId,\n newPersonalizationId\n }\n };\n}\n\nexport function actionPersonalizationUpdatePresetId(\n personalizationKey: string,\n oldPresetId: string,\n newPresetId: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_UPDATE_PRESET_ID,\n payload: {\n oldPresetId,\n newPresetId,\n personalizationKey\n }\n };\n}\n\n/**\n * Returns an action that deletes the personalization\n * @param personalizationKey id of the personalization that needs to be deleted.\n * @param deletePresetPersonalizations If set to false indicates notification to be shown after deletion of personalization.\n */\nexport function actionPersonalizationDelete(\n personalizationKey: string,\n deletePresetPersonalizations?: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_DELETE,\n payload: {\n personalizationKey,\n deletePresetPersonalizations\n }\n };\n}\n\nexport function actionPersonalizationSetActive({\n id,\n isPreset\n}: {\n id: string;\n isPreset: boolean;\n}) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_ACTIVE,\n payload: {\n personalizationKey: id,\n isPreset\n }\n };\n}\n\n// TODO: remove template, presetId after Infinity'23 release branch is cut\nexport function actionPersonalizationCreate(\n personalizationName: string,\n markAsDefault: boolean,\n template?: string,\n presetId?: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_CREATE,\n payload: {\n personalizationKey: crypto.randomUUID(),\n personalizationName,\n markAsDefault,\n template,\n presetId\n }\n };\n}\n\nexport function actionPersonalizationEdit(\n personalizationKey: string,\n personalizationName: string,\n markAsDefault: boolean,\n markAsAppDefault: boolean\n) {\n return {\n type: ActionTypes.PERSONALIZATION_EDIT,\n payload: {\n personalizationKey,\n personalizationName,\n markAsDefault,\n markAsAppDefault\n }\n };\n}\n\nexport function actionPersonalizationSetDefault(personalizationKey: string) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_DEFAULT,\n payload: {\n personalizationKey\n }\n };\n}\n\nexport function actionPersonalizationSetAppDefault(\n personalizationKey: string,\n personalizationName: string\n) {\n return {\n type: ActionTypes.PERSONALIZATION_SET_APP_DEFAULT,\n payload: {\n personalizationKey,\n personalizationName\n }\n };\n}\n\nexport function actionBootstrap() {\n return {\n type: ActionTypes.BOOTSTRAP\n };\n}\n\nexport function actionUpdateStateVersion() {\n return {\n type: ActionTypes.UPDATE_STATE_VERSION\n };\n}\n\nexport function actionUpdateAggregation(payload: UpdateAggregationPayload) {\n return {\n type: ActionTypes.UPDATE_AGGREGATION,\n payload\n };\n}\n\nexport function actionUpdateAggregations(payload: NonNullable<State['aggregationInfo']>) {\n return {\n type: ActionTypes.UPDATE_AGGREGATIONS,\n payload\n };\n}\n\nexport function actionUpdateRenderFormatter(payload: UpdateRenderFormatterPayload) {\n return {\n type: ActionTypes.CHANGE_RENDERER_FORMATTER,\n payload\n };\n}\n\nexport function actionRemoveRenderFormatter(payload: RemoveRenderFormatterPayload) {\n return {\n type: ActionTypes.REMOVE_RENDERER_FORMATTER,\n payload\n };\n}\n\nexport function actionUpdateDisplayMode(payload: HierarchicalInfo) {\n return {\n type: ActionTypes.COLUMN_DISPLAY_CHANGE,\n payload\n };\n}\n\nexport function actionChangeLabel(payload: ChangeLabelActionPayload) {\n return {\n type: ActionTypes.CHANGE_LABEL,\n payload\n };\n}\n\nexport function actionReplaceLabels(payload: ApplyAliasesActionPayload) {\n return {\n type: ActionTypes.REPLACE_LABELS,\n payload\n };\n}\n\nexport function actionShowHeaderIcons(showHeaderIcons: boolean) {\n return {\n type: ActionTypes.SHOW_HEADER_ICONS,\n payload: showHeaderIcons\n };\n}\n\n/**\n *\n * @param instantRender skip the action queue and update the state immediately\n * @param forceUpdateFeatures if instantRender is false, push feature identifying name in state.forceUpdateFeatures to render in next execution\n */\nexport function actionForceUpdate(\n instantRender = true,\n forceUpdateFeatures: State['forceUpdateFeatures'] = {}\n) {\n return {\n instantRender,\n type: ActionTypes.FORCE_UPDATE,\n payload: {\n forceUpdateFeatures\n }\n };\n}\n\nexport function actionForceRefresh(\n flushState: { [key: string]: boolean } = {},\n featuresToAvoid: string[] = []\n) {\n let stateToReset = {};\n if (Object.keys(flushState).length > 0) {\n stateToReset = SUPPORTED_FLUSH_KEYS.reduce((acc: { [k: string]: undefined }, k: string) => {\n if (flushState[k] === true) {\n acc[k] = undefined;\n }\n return acc;\n }, {});\n }\n\n const featuresToNotRun: string[] = [];\n featuresToAvoid.forEach(item => {\n if (SUPPORTED_AVOIDABLE_FEATURES.includes(item)) {\n featuresToNotRun.push(item);\n }\n });\n\n const payload = {\n stateToReset,\n featuresToAvoid: featuresToNotRun\n };\n\n return {\n type: ActionTypes.FORCE_REFRESH,\n payload\n };\n}\n\nexport function showConfirmationAction() {\n return {\n type: ActionTypes.USER_CONFIRMATION_ACTION,\n instantRender: true\n };\n}\n\nexport function completeConfirmationAction() {\n return {\n type: ActionTypes.COMPLETE_USER_CONFIRMATION_ACTION,\n instantRender: true\n };\n}\n\nexport function setDataErrors(payload: Errors['dataErrors']) {\n return {\n type: ActionTypes.SET_DATA_ERROR,\n payload\n };\n}\n\nexport function setDomContainerResponsiveBreakpoints(payload: {\n breakpoint: string;\n value: boolean;\n}) {\n return {\n type: ActionTypes.SET_DOM_CONTAINER_BREAKPOINTS,\n payload\n };\n}\n\n// External state should set instantly without executing action queue.\nexport function setExternalState(payload: NonNullable<State['externalState']>) {\n return {\n type: ActionTypes.SET_IN_EXTERNAL_STATE,\n payload\n };\n}\n\nexport function updateColumnsVisibility(payload: { [key: FieldDef['id']]: boolean }) {\n return {\n type: ActionTypes.UPDATE_COLUMNS_VISIBILITY,\n payload\n };\n}\n\nexport function setConditionalStyleFormats(payload: ConditionalStyleFormat[]) {\n return {\n type: ActionTypes.SET_CONDITIONAL_STYLE_FORMATS,\n payload\n };\n}\n"]}
|
|
@@ -5,6 +5,7 @@ import type { FeatureProps } from '../features/featureFactory';
|
|
|
5
5
|
import type Column from '../generators/ColumnGenerator';
|
|
6
6
|
import type { RowData } from '../generators/RowGenerator.types';
|
|
7
7
|
import type View from '../generators/ViewGenerator';
|
|
8
|
+
import type RsStore from '../RsStore';
|
|
8
9
|
import ActionTypes from './actionConstants';
|
|
9
10
|
import * as Actions from './actions';
|
|
10
11
|
/** A Type function utility that accepts an object of methods and returns a union of return type of all the methods. Used in case of actions functions. */
|
|
@@ -80,7 +81,7 @@ export interface UpdateRowSelectionStatusPayload {
|
|
|
80
81
|
status: typeof STATE.IN_PROGRESS;
|
|
81
82
|
mode: NonNullable<Meta['selectionMode']>;
|
|
82
83
|
}
|
|
83
|
-
export type SearchGlobalActionAsFunction = (dispatch: FeatureProps['dispatch'], getState: FeatureProps['getState'], meta: Meta) => void;
|
|
84
|
+
export type SearchGlobalActionAsFunction = (dispatch: FeatureProps['dispatch'], getState: FeatureProps['getState'], meta: Meta, getRsStore: () => RsStore) => void;
|
|
84
85
|
export interface SearchGlobalAction {
|
|
85
86
|
type: typeof ActionTypes.SEARCH;
|
|
86
87
|
payload: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.types.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,KAAK,EAAE,eAAe,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,KAAK,MAAM,MAAM,+BAA+B,CAAC;AACxD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,KAAK,IAAI,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"actions.types.d.ts","sourceRoot":"","sources":["../../../../src/core/actions/actions.types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"actions.types.js","sourceRoot":"","sources":["../../../../src/core/actions/actions.types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"actions.types.js","sourceRoot":"","sources":["../../../../src/core/actions/actions.types.ts"],"names":[],"mappings":"AASA,OAAO,WAAW,MAAM,mBAAmB,CAAC;AAC5C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AA8LrC,2EAA2E;AAC3E,MAAM,EAAE,kBAAkB,EAAE,GAAG,aAAa,EAAE,GAAG,OAAO,CAAC","sourcesContent":["import type { FieldDef, Meta } from '../../../types/Meta.types';\nimport type { AggregationType, Group, Sort, State } from '../../../types/State.types';\nimport type { STATE } from '../constants';\nimport type { FeatureProps } from '../features/featureFactory';\nimport type Column from '../generators/ColumnGenerator';\nimport type { RowData } from '../generators/RowGenerator.types';\nimport type View from '../generators/ViewGenerator';\nimport type RsStore from '../RsStore';\n\nimport ActionTypes from './actionConstants';\nimport * as Actions from './actions';\n\n/** A Type function utility that accepts an object of methods and returns a union of return type of all the methods. Used in case of actions functions. */\ntype GenerateActionType<T extends { [key: string]: (...args: any[]) => any }> = {\n [K in keyof T]: ReturnType<T[K]>;\n}[keyof T];\n\nexport interface ActionMeta {\n /**\n * Instantly dispatches a render by calling the external store reference's dispatch method.\n * This action bypasses the usual waiting for actions, features, or side effects to complete.\n */\n instantRender?: boolean;\n /** Indicates to skip the action queue and directly call reducer. */\n skipActionQueue?: boolean;\n /** Indicates to take latest action from the action queue if multiple actions of same type are present. */\n takeLatestAction?: boolean;\n}\n\nexport interface ColumnFilteringActionPayload {\n filterExp: NonNullable<State['filterExpression']>;\n}\n\nexport interface ApplyAliasesActionPayload {\n aliases: NonNullable<State['columnAlias']>;\n}\nexport interface ColumnSortPayload {\n id: FieldDef['id'];\n flushState: boolean;\n sortOrderId: Sort['order'];\n}\n\nexport interface PaginationPayload {\n id: string;\n startIndex: number;\n endIndex: number;\n}\n\nexport interface PaginateAction extends ActionMeta {\n payload: PaginationPayload;\n type: typeof ActionTypes.PAGINATE;\n}\n\nexport interface ColumnResizePayload {\n data: { [fieldId: string]: number };\n}\n\nexport interface ColumnDragDropAction {\n payload: {\n sourceColId: string;\n targetColId: string;\n };\n type: typeof ActionTypes.COLUMN_DRAG_DROP;\n}\n\nexport interface ExpandCollapsePayload {\n groupHeader?: NonNullable<View['groupHeaders']>[number];\n groups?: Group[];\n}\n\nexport interface MoveRecordKeysUpdatePayload {\n sourceKey?: string;\n destinationKey?: string;\n}\n\nexport interface RowSelectionUpdatePayload {\n key: string;\n selected: boolean;\n data: RowData;\n status: typeof STATE.NOT_STARTED;\n mode: Meta['selectionMode'];\n}\n\nexport interface RowSelectionItemsUpdatePayload {\n selectedRows: string[];\n mode: NonNullable<Meta['selectionMode']>;\n}\n\nexport interface UpdateRowSelectionStatusPayload {\n keys: string[];\n status: typeof STATE.IN_PROGRESS;\n mode: NonNullable<Meta['selectionMode']>;\n}\n\nexport type SearchGlobalActionAsFunction = (\n dispatch: FeatureProps['dispatch'],\n getState: FeatureProps['getState'],\n meta: Meta,\n getRsStore: () => RsStore\n) => void;\n\nexport interface SearchGlobalAction {\n type: typeof ActionTypes.SEARCH;\n payload: { query: string; fields: string[] };\n}\n\nexport interface MergeColumnsPayload {\n sourceId: string;\n targetId: string;\n title: string;\n templateName: string;\n bHideColumns: boolean;\n uniqueID: string;\n hideColumns?: [string, string];\n}\n\nexport interface DeleteCustomColumnPayload {\n columnId: FieldDef['id'] | FieldDef['id'][];\n}\n\n// cSpell:disable-next-line\nexport type SanitizableProperties = Pick<\n State,\n | 'sortingOrder'\n | 'freezeColumns'\n | 'hiddenColumns'\n | 'columnWidths'\n | 'colOrder'\n | 'aggregationInfo'\n | 'groups'\n | 'customFields'\n | 'filterExpression'\n | 'hierarchicalGroup'\n | 'renderFormatter'\n | 'visibleColumns'\n>;\nexport interface UpdateAggregationPayload {\n columnId: FieldDef['id'];\n type: AggregationType;\n}\n\nexport interface UpdateRenderFormatterPayload {\n columnId: FieldDef['id'];\n formatter: Column['formatterConfig'];\n}\n\nexport interface RemoveRenderFormatterPayload {\n columnId: FieldDef['id'];\n}\n\nexport interface ChangeLabelActionPayload {\n columnId: FieldDef['id'];\n label: Column['label'];\n}\n\nexport interface SubmitChangeSetPayload {\n key: string;\n name: string;\n newValue: string | number | Date | boolean;\n oldValue: string | number | Date | boolean;\n status: string;\n}\n\n// Personalization Actions.\nexport type PersonalizationCreateAction = ReturnType<typeof Actions.actionPersonalizationCreate>;\nexport type PersonalizationDeleteAction = ReturnType<typeof Actions.actionPersonalizationDelete>;\nexport type PersonalizationEditAction = ReturnType<typeof Actions.actionPersonalizationEdit>;\nexport type PersonalizationSetActiveAction = ReturnType<\n typeof Actions.actionPersonalizationSetActive\n>;\nexport type PersonalizationSetAppDefaultAction = ReturnType<\n typeof Actions.actionPersonalizationSetAppDefault\n>;\nexport type PersonalizationSetDefaultAction = ReturnType<\n typeof Actions.actionPersonalizationSetDefault\n>;\nexport type PersonalizationUpdateAction = ReturnType<typeof Actions.actionPersonalizationUpdate>;\nexport type PersonalizationUpdateIdAction = ReturnType<\n typeof Actions.actionPersonalizationUpdateId\n>;\nexport type PersonalizationUpdatePresetIdAction = ReturnType<\n typeof Actions.actionPersonalizationUpdatePresetId\n>;\nexport type GetPersonalizationsAction = ReturnType<typeof Actions.actionGetPersonalizations>;\nexport type PersonalizationActions =\n | PersonalizationCreateAction\n | PersonalizationDeleteAction\n | PersonalizationEditAction\n | PersonalizationSetActiveAction\n | PersonalizationSetAppDefaultAction\n | PersonalizationSetDefaultAction\n | PersonalizationUpdateAction\n | PersonalizationUpdateIdAction\n | PersonalizationUpdatePresetIdAction\n | GetPersonalizationsAction;\n\n// TODO: Remove Action as function.The logic for Search global action function can be move to reducer.\n// Needs further refactor, but it is required to remove the Actions as function usecase in reducer.\nexport type ActionAsFunction = SearchGlobalActionAsFunction;\n\n// All Actions of type object with signature {type: TYPE: payload: PAYLOAD}\nconst { actionSearchGlobal, ...objectActions } = Actions;\nexport type Action = GenerateActionType<typeof objectActions> | SearchGlobalAction;\n\n// Generic Action that represents Actions as object and Action as function.\n// TODO Action as function should be removed, only one use case is present as of today which can be migrated to Action as object.\nexport type BaseAction = Action | ActionAsFunction;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/afterRender/columnSizing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/afterRender/columnSizing/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAS1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AA8F5D;;;GAGG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,CAAC,EAAE;IACnE,YAAY,EAAE,UAAU,CAAC,YAAY,EAAE,kBAAkB,GAAG,YAAY,GAAG,gBAAgB,CAAC;CAC7F,QAgCA;AAWD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;+BAUuB,cAAc,YAAY;AATpD,wBAwGE"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { actionColumnResize, actionColumnsAutoSize,
|
|
1
|
+
import { actionColumnResize, actionColumnsAutoSize, actionForceUpdate } from '../../../../actions/actions';
|
|
2
2
|
import { TEMPLATES } from '../../../../constants';
|
|
3
3
|
import { OOTB_COLUMNS, withMemoization } from '../../../../utils/util';
|
|
4
|
-
import { autoSizeOfColumns } from './autoSize';
|
|
4
|
+
import { autoSizeOfColumn, autoSizeOfColumns } from './autoSize';
|
|
5
5
|
/*
|
|
6
6
|
* If columnWidths are undefined, there is no active personalization invloved in the current view
|
|
7
7
|
* So triggering auto column sizing, which depends on column content.
|
|
@@ -37,13 +37,28 @@ const checkDomContainerHasDataRows = (domContainer) => {
|
|
|
37
37
|
* Autosizes the first visual column to account for the expand/collapse button
|
|
38
38
|
* introduced by grouping.
|
|
39
39
|
*/
|
|
40
|
-
function
|
|
41
|
-
const { getView, dispatch } = featureProps;
|
|
40
|
+
function autoSizeFirstVisualColumnOnGroupChange([featureProps]) {
|
|
41
|
+
const { getView, getState, dispatch } = featureProps;
|
|
42
42
|
const { columns = [], getDomContainer } = getView();
|
|
43
|
+
const groupingIsActive = Boolean(getState().groups?.length);
|
|
44
|
+
if (!groupingIsActive) {
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
43
47
|
const firstVisualCol = columns.find(c => c.isFirstVisualColumn);
|
|
44
48
|
const domContainer = getDomContainer();
|
|
45
|
-
if (firstVisualCol
|
|
46
|
-
|
|
49
|
+
if (!firstVisualCol || !domContainer) {
|
|
50
|
+
return;
|
|
51
|
+
}
|
|
52
|
+
const calculatedWidth = autoSizeOfColumn(firstVisualCol, domContainer, true);
|
|
53
|
+
// If the calculated width is greater than the current width that means the column was not wide enough to accommodate the expand/collapse button(32px)
|
|
54
|
+
// So we need to dispatch an action to update the column width.
|
|
55
|
+
const shouldDispatch = calculatedWidth > (firstVisualCol.currentWidth ?? 0);
|
|
56
|
+
// TODO: On removal of grouping, we should remove the extra width added to the first visual column. This cannot be handled reliably currently.
|
|
57
|
+
// The correct architecture is to have a dedicated grouped-icon column, that will be shown/hidden based on grouping state, and will not affect the data column width.
|
|
58
|
+
if (shouldDispatch) {
|
|
59
|
+
dispatch(actionColumnResize({
|
|
60
|
+
[firstVisualCol.field.id]: calculatedWidth
|
|
61
|
+
}));
|
|
47
62
|
}
|
|
48
63
|
}
|
|
49
64
|
/**
|
|
@@ -125,7 +140,7 @@ function resetAutosizeStatus([{ getRsStore }]) {
|
|
|
125
140
|
export default () => {
|
|
126
141
|
const memoizedRunColumnSizing = withMemoization(runColumnSizing);
|
|
127
142
|
const memoizedResetAutosizeStatus = withMemoization(resetAutosizeStatus);
|
|
128
|
-
const
|
|
143
|
+
const memoizedAutosizeFirstVisualColumnOnGroupChange = withMemoization(autoSizeFirstVisualColumnOnGroupChange);
|
|
129
144
|
const memoizedAutosizeOotbActionColumns = withMemoization(autosizeOotbActionColumns);
|
|
130
145
|
let domContainerResizeObserver = null;
|
|
131
146
|
let observedDomContainer = null;
|
|
@@ -178,7 +193,7 @@ export default () => {
|
|
|
178
193
|
currentState.visibleColumns,
|
|
179
194
|
currentState.forceUpdateFeatures?.forceCalculateAutoWidth
|
|
180
195
|
]);
|
|
181
|
-
|
|
196
|
+
memoizedAutosizeFirstVisualColumnOnGroupChange([featureProps], [currentState.groups, currentState.responsive?.sm, currentState.colOrder?.[0]]);
|
|
182
197
|
memoizedAutosizeOotbActionColumns([featureProps], [currentState.selectedHeightOption]);
|
|
183
198
|
domContainerResizeObserver?.unobserve(entry.target);
|
|
184
199
|
domContainerResizeObserver = null;
|
|
@@ -200,7 +215,7 @@ export default () => {
|
|
|
200
215
|
state.visibleColumns,
|
|
201
216
|
state.forceUpdateFeatures?.forceCalculateAutoWidth
|
|
202
217
|
]);
|
|
203
|
-
|
|
218
|
+
memoizedAutosizeFirstVisualColumnOnGroupChange([featureProps], [state.groups, state.responsive?.sm, state.colOrder?.[0]]);
|
|
204
219
|
memoizedAutosizeOotbActionColumns([featureProps], [state.selectedHeightOption]);
|
|
205
220
|
};
|
|
206
221
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/afterRender/columnSizing/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport {\n actionColumnResize,\n actionColumnsAutoSize,\n actionColumnAutoSize,\n actionForceUpdate\n} from '../../../../actions/actions';\nimport { TEMPLATES } from '../../../../constants';\nimport { OOTB_COLUMNS, withMemoization } from '../../../../utils/util';\nimport type { FeatureProps } from '../../../featureFactory';\nimport type View from '../../../../generators/ViewGenerator';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../../../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsStore from '../../../../RsStore';\n\nimport { autoSizeOfColumns } from './autoSize';\n\n/*\n * If columnWidths are undefined, there is no active personalization invloved in the current view\n * So triggering auto column sizing, which depends on column content.\n * in case of nested groupings, skipping group headers from being counted as a row\n */\n/**\n * Checks if {@link View.domContainer dom container} has any rows with visible cells.\n * @param columns\n * @param domContainer\n * @returns true if dom container has any rows available, otherwise false.\n */\nconst checkDomContainerHasAnyRows = (\n columns: NonNullable<View['columns']>,\n domContainer: View['domContainer']\n) => {\n for (const column of columns) {\n if (!column.hidden) {\n const cells = domContainer\n ? domContainer.querySelectorAll(`[data-col-id=\"${column.field.id}\"]`)\n : [];\n if (cells.length > 1) {\n return true;\n }\n }\n }\n return false;\n};\n\n/**\n * Checks if any data rows are available in dom container. It does not includes grouped rows.\n * @returns true if data rows are available, otherwise false.\n */\nconst checkDomContainerHasDataRows = (domContainer: View['domContainer']) => {\n return !!(domContainer && domContainer.querySelectorAll('.row[aria-rowindex]').length);\n};\n\n/**\n * Autosizes the first visual column to account for the expand/collapse button\n * introduced by grouping.\n */\n\nfunction autoSizeFirstVisualColumn([featureProps]: [featureProps: FeatureProps]) {\n const { getView, dispatch } = featureProps;\n const { columns = [], getDomContainer } = getView();\n const firstVisualCol = columns.find(c => c.isFirstVisualColumn);\n const domContainer = getDomContainer();\n if (firstVisualCol && domContainer) {\n dispatch(actionColumnAutoSize(firstVisualCol, domContainer, true));\n }\n}\n\n/**\n * Runs autosizing on out-of-the-box (OOTB) action columns in the view.\n */\nconst autosizeOotbActionColumns = ([featureProps]: [featureProps: FeatureProps]) => {\n const { getView, dispatch } = featureProps;\n const { columns = [], getDomContainer } = getView();\n const ootbColumns = columns?.filter(col => OOTB_COLUMNS.includes(col.field.id));\n const domContainer = getDomContainer();\n if (ootbColumns.length && domContainer) {\n dispatch(actionColumnsAutoSize(ootbColumns, domContainer, true));\n }\n};\n\n/**\n * Executes the autosizing feature on all the columns. It dispatches an action that updates {@link State.columnWidths} slice with the calculated widths for all the columns.\n * @param param featureProps\n */\nexport function runColumnSizing([{ getView, getRsStore, dispatch }]: [\n featureProps: OmitStrict<FeatureProps, 'getOriginalState' | 'getRsProps' | 'browserContext'>\n]) {\n const { columns = [], getDomContainer } = getView();\n\n const rsStore = getRsStore();\n const domContainer = getDomContainer();\n const runColumnSizingOnRowsAvailable =\n !rsStore.columnSizingTriggerdOnRowsAvailable && checkDomContainerHasDataRows(domContainer);\n\n // if there is no group/data row to size in DOM, don't run column sizing\n if (\n !checkDomContainerHasAnyRows(columns, domContainer) ||\n (rsStore.autosizeTriggered && !runColumnSizingOnRowsAvailable)\n ) {\n // if in current render cycle the rows were not painted, check for autosizing in next cycle\n if (!rsStore.autosizeTriggered) {\n dispatch(actionForceUpdate(false, { forceCalculateAutoWidth: true }));\n }\n return;\n }\n\n rsStore.autosizeTriggered = true;\n // skipping column animation on next run if column size changed after personalization change or delete\n rsStore.skipColumnAnimationOnNextRun = true;\n\n if (runColumnSizingOnRowsAvailable) {\n // Fresh column sizing will run only once for a view when the rows are loaded for the first time in DOM\n rsStore.columnSizingTriggerdOnRowsAvailable = true;\n dispatch(actionColumnsAutoSize(columns, domContainer!, true));\n } else {\n // Incremental column sizing on show/hide of columns or table refresh or on view change with grouping applied\n dispatch(actionColumnResize(autoSizeOfColumns(columns, domContainer!)));\n }\n}\n\n/**\n * It resets the {@link RsStore.autosizeTriggered autosize status} on RsStore.\n * @param param featureProps\n */\nfunction resetAutosizeStatus([{ getRsStore }]: [featureProps: FeatureProps]) {\n // This parent flag checks if any type of sizing is triggered on the table including table header/groups/rows.\n getRsStore().autosizeTriggered = false;\n}\n\n/**\n * Manages the autosizing feature of columns in the view. This includes the following actions:\n * 1. **Executing Autosize for All Columns**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.personalization.active}\n * - {@link View.rows}\n * - {@link RsStore.autosizeTriggered}\n * - {@link State.refresh}\n * - {@link State.visibleColumns}\n * - {@link State.forceUpdateFeatures.forceCalculateAutoWidth}\n * 2. **Resetting Autosize Status**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.personalization.active}\n * - {@link State.refresh}\n * - {@link State.visibleColumns}\n * - {@link State.customFields}\n *\n * 3. **Executing Autosize on First Visual Column**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.groups}\n * - {@link State.responsive.sm}\n */\nexport default () => {\n const memoizedRunColumnSizing = withMemoization(runColumnSizing);\n const memoizedResetAutosizeStatus = withMemoization(resetAutosizeStatus);\n const memoizedAutosizeFirstVisualColumn = withMemoization(autoSizeFirstVisualColumn);\n const memoizedAutosizeOotbActionColumns = withMemoization(autosizeOotbActionColumns);\n let domContainerResizeObserver: ResizeObserver | null = null;\n let observedDomContainer: Element | null = null;\n return function execute(featureProps: FeatureProps) {\n /**\n * Column sizing is Table-only. When template switches away from Table, clear any pending observer.\n * This prevents an observer created in a previous hidden-Table render from firing late and\n * triggering sizing work against the current non-Table template\n */\n if (featureProps.getView().template !== TEMPLATES.TABLE) {\n domContainerResizeObserver?.disconnect();\n domContainerResizeObserver = null;\n observedDomContainer = null;\n return;\n }\n const state = featureProps.getState();\n // AutoSize by default\n memoizedResetAutosizeStatus(\n [featureProps],\n [state.personalization?.active, state.refresh, state.visibleColumns, state.customFields]\n );\n\n /**\n * If one of the table's ancestors is in a hidden state, the autosize calculations will not\n * function correctly since the domContainer's offsetWidth will be 0. A single ResizeObserver\n * is attached here (once per hidden period) and fires all sizing functions as soon as the\n * container gains width.\n *\n * The memoized versions are called intentionally so their dependency arrays are initialized\n * with the current state values. If the raw functions were called instead, the memoized\n * wrappers would still have no recorded deps and would re-run on the very next `execute`\n * cycle, causing each sizing function to fire twice.\n *\n * Any function that performs sizing calculations should be called within this observer callback.\n */\n const domContainer = featureProps.getView().getDomContainer();\n if (domContainer && domContainer.offsetWidth === 0) {\n if (domContainerResizeObserver && observedDomContainer !== domContainer) {\n // The DOM container was replaced while the observer was still pending (e.g. component remount).\n domContainerResizeObserver.disconnect();\n domContainerResizeObserver = null;\n observedDomContainer = null;\n }\n\n if (!domContainerResizeObserver) {\n domContainerResizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect.width > 0) {\n const currentState = featureProps.getState();\n memoizedRunColumnSizing(\n [featureProps],\n [\n currentState.personalization?.active,\n featureProps.getView().rows,\n featureProps.getRsStore().autosizeTriggered,\n currentState.refresh,\n currentState.visibleColumns,\n currentState.forceUpdateFeatures?.forceCalculateAutoWidth\n ]\n );\n memoizedAutosizeFirstVisualColumn(\n [featureProps],\n [currentState.groups, currentState.responsive?.sm, currentState.colOrder?.[0]]\n );\n memoizedAutosizeOotbActionColumns(\n [featureProps],\n [currentState.selectedHeightOption]\n );\n domContainerResizeObserver?.unobserve(entry.target);\n domContainerResizeObserver = null;\n observedDomContainer = null;\n }\n }\n });\n domContainerResizeObserver.observe(domContainer);\n observedDomContainer = domContainer;\n }\n return;\n }\n\n // These are still needed as the Resize observer will work only once but we need to run sizing on user operations as well\n memoizedRunColumnSizing(\n [featureProps],\n [\n state.personalization?.active,\n featureProps.getView().rows,\n featureProps.getRsStore().autosizeTriggered,\n state.refresh,\n state.visibleColumns,\n state.forceUpdateFeatures?.forceCalculateAutoWidth\n ]\n );\n memoizedAutosizeFirstVisualColumn(\n [featureProps],\n [state.groups, state.responsive?.sm, state.colOrder?.[0]]\n );\n memoizedAutosizeOotbActionColumns([featureProps], [state.selectedHeightOption]);\n };\n};\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../src/core/features/uIFeatures/afterRender/columnSizing/index.ts"],"names":[],"mappings":"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","sourcesContent":["import type { OmitStrict } from '@pega/cosmos-react-core';\n\nimport {\n actionColumnResize,\n actionColumnsAutoSize,\n actionForceUpdate\n} from '../../../../actions/actions';\nimport { TEMPLATES } from '../../../../constants';\nimport { OOTB_COLUMNS, withMemoization } from '../../../../utils/util';\nimport type { FeatureProps } from '../../../featureFactory';\nimport type View from '../../../../generators/ViewGenerator';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type { State } from '../../../../../../types/State.types';\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nimport type RsStore from '../../../../RsStore';\n\nimport { autoSizeOfColumn, autoSizeOfColumns } from './autoSize';\n\n/*\n * If columnWidths are undefined, there is no active personalization invloved in the current view\n * So triggering auto column sizing, which depends on column content.\n * in case of nested groupings, skipping group headers from being counted as a row\n */\n/**\n * Checks if {@link View.domContainer dom container} has any rows with visible cells.\n * @param columns\n * @param domContainer\n * @returns true if dom container has any rows available, otherwise false.\n */\nconst checkDomContainerHasAnyRows = (\n columns: NonNullable<View['columns']>,\n domContainer: View['domContainer']\n) => {\n for (const column of columns) {\n if (!column.hidden) {\n const cells = domContainer\n ? domContainer.querySelectorAll(`[data-col-id=\"${column.field.id}\"]`)\n : [];\n if (cells.length > 1) {\n return true;\n }\n }\n }\n return false;\n};\n\n/**\n * Checks if any data rows are available in dom container. It does not includes grouped rows.\n * @returns true if data rows are available, otherwise false.\n */\nconst checkDomContainerHasDataRows = (domContainer: View['domContainer']) => {\n return !!(domContainer && domContainer.querySelectorAll('.row[aria-rowindex]').length);\n};\n\n/**\n * Autosizes the first visual column to account for the expand/collapse button\n * introduced by grouping.\n */\n\nfunction autoSizeFirstVisualColumnOnGroupChange([featureProps]: [featureProps: FeatureProps]) {\n const { getView, getState, dispatch } = featureProps;\n const { columns = [], getDomContainer } = getView();\n const groupingIsActive = Boolean(getState().groups?.length);\n\n if (!groupingIsActive) {\n return;\n }\n\n const firstVisualCol = columns.find(c => c.isFirstVisualColumn);\n const domContainer = getDomContainer();\n if (!firstVisualCol || !domContainer) {\n return;\n }\n\n const calculatedWidth = autoSizeOfColumn(firstVisualCol, domContainer, true);\n // If the calculated width is greater than the current width that means the column was not wide enough to accommodate the expand/collapse button(32px)\n // So we need to dispatch an action to update the column width.\n const shouldDispatch = calculatedWidth > (firstVisualCol.currentWidth ?? 0);\n\n // TODO: On removal of grouping, we should remove the extra width added to the first visual column. This cannot be handled reliably currently.\n // The correct architecture is to have a dedicated grouped-icon column, that will be shown/hidden based on grouping state, and will not affect the data column width.\n if (shouldDispatch) {\n dispatch(\n actionColumnResize({\n [firstVisualCol.field.id]: calculatedWidth\n })\n );\n }\n}\n\n/**\n * Runs autosizing on out-of-the-box (OOTB) action columns in the view.\n */\nconst autosizeOotbActionColumns = ([featureProps]: [featureProps: FeatureProps]) => {\n const { getView, dispatch } = featureProps;\n const { columns = [], getDomContainer } = getView();\n const ootbColumns = columns?.filter(col => OOTB_COLUMNS.includes(col.field.id));\n const domContainer = getDomContainer();\n if (ootbColumns.length && domContainer) {\n dispatch(actionColumnsAutoSize(ootbColumns, domContainer, true));\n }\n};\n\n/**\n * Executes the autosizing feature on all the columns. It dispatches an action that updates {@link State.columnWidths} slice with the calculated widths for all the columns.\n * @param param featureProps\n */\nexport function runColumnSizing([{ getView, getRsStore, dispatch }]: [\n featureProps: OmitStrict<FeatureProps, 'getOriginalState' | 'getRsProps' | 'browserContext'>\n]) {\n const { columns = [], getDomContainer } = getView();\n\n const rsStore = getRsStore();\n const domContainer = getDomContainer();\n const runColumnSizingOnRowsAvailable =\n !rsStore.columnSizingTriggerdOnRowsAvailable && checkDomContainerHasDataRows(domContainer);\n\n // if there is no group/data row to size in DOM, don't run column sizing\n if (\n !checkDomContainerHasAnyRows(columns, domContainer) ||\n (rsStore.autosizeTriggered && !runColumnSizingOnRowsAvailable)\n ) {\n // if in current render cycle the rows were not painted, check for autosizing in next cycle\n if (!rsStore.autosizeTriggered) {\n dispatch(actionForceUpdate(false, { forceCalculateAutoWidth: true }));\n }\n return;\n }\n\n rsStore.autosizeTriggered = true;\n // skipping column animation on next run if column size changed after personalization change or delete\n rsStore.skipColumnAnimationOnNextRun = true;\n\n if (runColumnSizingOnRowsAvailable) {\n // Fresh column sizing will run only once for a view when the rows are loaded for the first time in DOM\n rsStore.columnSizingTriggerdOnRowsAvailable = true;\n dispatch(actionColumnsAutoSize(columns, domContainer!, true));\n } else {\n // Incremental column sizing on show/hide of columns or table refresh or on view change with grouping applied\n dispatch(actionColumnResize(autoSizeOfColumns(columns, domContainer!)));\n }\n}\n\n/**\n * It resets the {@link RsStore.autosizeTriggered autosize status} on RsStore.\n * @param param featureProps\n */\nfunction resetAutosizeStatus([{ getRsStore }]: [featureProps: FeatureProps]) {\n // This parent flag checks if any type of sizing is triggered on the table including table header/groups/rows.\n getRsStore().autosizeTriggered = false;\n}\n\n/**\n * Manages the autosizing feature of columns in the view. This includes the following actions:\n * 1. **Executing Autosize for All Columns**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.personalization.active}\n * - {@link View.rows}\n * - {@link RsStore.autosizeTriggered}\n * - {@link State.refresh}\n * - {@link State.visibleColumns}\n * - {@link State.forceUpdateFeatures.forceCalculateAutoWidth}\n * 2. **Resetting Autosize Status**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.personalization.active}\n * - {@link State.refresh}\n * - {@link State.visibleColumns}\n * - {@link State.customFields}\n *\n * 3. **Executing Autosize on First Visual Column**:\n *\n * This action is triggered when any of the following properties change:\n * - {@link State.groups}\n * - {@link State.responsive.sm}\n */\nexport default () => {\n const memoizedRunColumnSizing = withMemoization(runColumnSizing);\n const memoizedResetAutosizeStatus = withMemoization(resetAutosizeStatus);\n const memoizedAutosizeFirstVisualColumnOnGroupChange = withMemoization(\n autoSizeFirstVisualColumnOnGroupChange\n );\n const memoizedAutosizeOotbActionColumns = withMemoization(autosizeOotbActionColumns);\n let domContainerResizeObserver: ResizeObserver | null = null;\n let observedDomContainer: Element | null = null;\n return function execute(featureProps: FeatureProps) {\n /**\n * Column sizing is Table-only. When template switches away from Table, clear any pending observer.\n * This prevents an observer created in a previous hidden-Table render from firing late and\n * triggering sizing work against the current non-Table template\n */\n if (featureProps.getView().template !== TEMPLATES.TABLE) {\n domContainerResizeObserver?.disconnect();\n domContainerResizeObserver = null;\n observedDomContainer = null;\n return;\n }\n const state = featureProps.getState();\n // AutoSize by default\n memoizedResetAutosizeStatus(\n [featureProps],\n [state.personalization?.active, state.refresh, state.visibleColumns, state.customFields]\n );\n\n /**\n * If one of the table's ancestors is in a hidden state, the autosize calculations will not\n * function correctly since the domContainer's offsetWidth will be 0. A single ResizeObserver\n * is attached here (once per hidden period) and fires all sizing functions as soon as the\n * container gains width.\n *\n * The memoized versions are called intentionally so their dependency arrays are initialized\n * with the current state values. If the raw functions were called instead, the memoized\n * wrappers would still have no recorded deps and would re-run on the very next `execute`\n * cycle, causing each sizing function to fire twice.\n *\n * Any function that performs sizing calculations should be called within this observer callback.\n */\n const domContainer = featureProps.getView().getDomContainer();\n if (domContainer && domContainer.offsetWidth === 0) {\n if (domContainerResizeObserver && observedDomContainer !== domContainer) {\n // The DOM container was replaced while the observer was still pending (e.g. component remount).\n domContainerResizeObserver.disconnect();\n domContainerResizeObserver = null;\n observedDomContainer = null;\n }\n\n if (!domContainerResizeObserver) {\n domContainerResizeObserver = new ResizeObserver(entries => {\n for (const entry of entries) {\n if (entry.contentRect.width > 0) {\n const currentState = featureProps.getState();\n memoizedRunColumnSizing(\n [featureProps],\n [\n currentState.personalization?.active,\n featureProps.getView().rows,\n featureProps.getRsStore().autosizeTriggered,\n currentState.refresh,\n currentState.visibleColumns,\n currentState.forceUpdateFeatures?.forceCalculateAutoWidth\n ]\n );\n memoizedAutosizeFirstVisualColumnOnGroupChange(\n [featureProps],\n [currentState.groups, currentState.responsive?.sm, currentState.colOrder?.[0]]\n );\n memoizedAutosizeOotbActionColumns(\n [featureProps],\n [currentState.selectedHeightOption]\n );\n domContainerResizeObserver?.unobserve(entry.target);\n domContainerResizeObserver = null;\n observedDomContainer = null;\n }\n }\n });\n domContainerResizeObserver.observe(domContainer);\n observedDomContainer = domContainer;\n }\n return;\n }\n\n // These are still needed as the Resize observer will work only once but we need to run sizing on user operations as well\n memoizedRunColumnSizing(\n [featureProps],\n [\n state.personalization?.active,\n featureProps.getView().rows,\n featureProps.getRsStore().autosizeTriggered,\n state.refresh,\n state.visibleColumns,\n state.forceUpdateFeatures?.forceCalculateAutoWidth\n ]\n );\n memoizedAutosizeFirstVisualColumnOnGroupChange(\n [featureProps],\n [state.groups, state.responsive?.sm, state.colOrder?.[0]]\n );\n memoizedAutosizeOotbActionColumns([featureProps], [state.selectedHeightOption]);\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;;;4EAFnD,kEAAsC;6BApBnC,kEAAsC;6BAuE41G,kEAAsC;uBARv6G,kEAEM;;0BA3DwC,kEAChB;;uBAYF,kEACR;6BAmDwrC,kEAAsC;;4BAzDpsC,kEACpC;8BAwD4wM,kEAAsC;kCAzB9zM,kEAEH;6BAvCgC,kEAChB;2BAGgB,kEAC5B;2EAyD0wE,kEAAsC;yCA9CtyE,kEAEG;+BA4Cq3L,kEAAsC;4BAnD34L,kEACd;kCAkD00U,kEAAsC;;6EAA1xM,kEAAsC;gCA7D9mI,kEACpB;kCAR2C,kEAC1C;4BAmEmF,kEAAsC;kCAlEjH,kEAAsC;sCAQ/B,kEAC7B;+BADwD,kEAC5B;0EAyDg1P,kEAAsC;wEAA78I,kEAAsC;4BAA13F,kEAAsC;6BA5E1lB,kEAC5B;sEAwBU,kEACd;2BAkDsF,kEAAsC;4BA7DnI,kEACpB;;uCA4D86B,kEAAsC;;;0BAAqtD,sDAA0B;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/core/features/uIFeatures/index.ts"],"names":[],"mappings":"AAsCA,OAAO,WAAW,MAAM,4BAA4B,CAAC;;;4EAFnD,kEAAsC;6BApBnC,kEAAsC;6BAuE41G,kEAAsC;uBARv6G,kEAEM;;0BA3DwC,kEAChB;;uBAYF,kEACR;6BAmDwrC,kEAAsC;;4BAzDpsC,kEACpC;8BAwD4wM,kEAAsC;kCAzB9zM,kEAEH;6BAvCgC,kEAChB;2BAGgB,kEAC5B;2EAyD0wE,kEAAsC;yCA9CtyE,kEAEG;+BA4Cq3L,kEAAsC;4BAnD34L,kEACd;kCAkD00U,kEAAsC;;6EAA1xM,kEAAsC;gCA7D9mI,kEACpB;kCAR2C,kEAC1C;4BAmEmF,kEAAsC;kCAlEjH,kEAAsC;sCAQ/B,kEAC7B;+BADwD,kEAC5B;0EAyDg1P,kEAAsC;wEAA78I,kEAAsC;4BAA13F,kEAAsC;6BA5E1lB,kEAC5B;sEAwBU,kEACd;2BAkDsF,kEAAsC;4BA7DnI,kEACpB;;uCA4D86B,kEAAsC;;;0BAAqtD,sDAA0B;iCAAq9C,sDAA0B;yCA3D5oI,sDAC5B;;;AAYb,wBA6CE"}
|