@stenajs-webui/redux 15.0.1 → 15.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md ADDED
@@ -0,0 +1,9 @@
1
+ # v15.1.0 (Fri Feb 25 2022)
2
+
3
+ #### 🚀 Enhancement
4
+
5
+ - Support initial state in reducer factories [#437](https://github.com/StenaIT/stenajs-webui/pull/437) ([@mattias800](https://github.com/mattias800))
6
+
7
+ #### Authors: 1
8
+
9
+ - Mattias Andersson ([@mattias800](https://github.com/mattias800))
@@ -5,5 +5,5 @@ export interface SelectedIdsState {
5
5
  }
6
6
  export declare const createSelectedIdsReducerInitialState: (initialSelection?: string[]) => SelectedIdsState;
7
7
  export declare type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;
8
- export declare const createSelectedIdsReducer: () => SelectedIdsReducer;
8
+ export declare const createSelectedIdsReducer: (initialState?: SelectedIdsState) => SelectedIdsReducer;
9
9
  export declare const selectedIdsReducer: SelectedIdsReducer;
@@ -6,4 +6,4 @@ export interface SortOrderState<TSortBy> {
6
6
  }
7
7
  export declare const createSortOrderReducerInitialState: <TSortBy>(sortBy?: TSortBy | undefined, desc?: boolean) => SortOrderState<TSortBy>;
8
8
  export declare type SortOrderReducer<TSortBy> = Reducer<SortOrderState<TSortBy>, SortOrderAction<TSortBy>>;
9
- export declare const createSortOrderReducer: <TSortBy>() => SortOrderReducer<TSortBy>;
9
+ export declare const createSortOrderReducer: <TSortBy>(initialState?: SortOrderState<TSortBy>) => SortOrderReducer<TSortBy>;
package/dist/index.es.js CHANGED
@@ -498,21 +498,24 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
498
498
  selectedIds: initialSelection,
499
499
  });
500
500
  };
501
- var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
502
- var createSelectedIdsReducer = function () { return function (state, action) {
503
- if (state === void 0) { state = INITIAL_STATE$2; }
504
- switch (action.type) {
505
- case "SELECTED_IDS:SET_SELECTED_IDS": {
506
- var selectedIds = action.selectedIds;
507
- return __assign(__assign({}, state), { selectedIds: selectedIds });
508
- }
509
- case "SELECTED_IDS:CLEAR_SELECTED_IDS": {
510
- return __assign(__assign({}, state), { selectedIds: [] });
501
+ var INITIAL_STATE$1 = createSelectedIdsReducerInitialState();
502
+ var createSelectedIdsReducer = function (initialState) {
503
+ if (initialState === void 0) { initialState = INITIAL_STATE$1; }
504
+ return function (state, action) {
505
+ if (state === void 0) { state = initialState; }
506
+ switch (action.type) {
507
+ case "SELECTED_IDS:SET_SELECTED_IDS": {
508
+ var selectedIds = action.selectedIds;
509
+ return __assign(__assign({}, state), { selectedIds: selectedIds });
510
+ }
511
+ case "SELECTED_IDS:CLEAR_SELECTED_IDS": {
512
+ return __assign(__assign({}, state), { selectedIds: [] });
513
+ }
514
+ default:
515
+ return state;
511
516
  }
512
- default:
513
- return state;
514
- }
515
- }; };
517
+ };
518
+ };
516
519
  var selectedIdsReducer = createSelectedIdsReducer();
517
520
 
518
521
  var createSelectedIdsActions = function () { return ({
@@ -530,11 +533,11 @@ var createSelectedIdsSelectors = function (stateSelector) { return ({
530
533
  getState: stateSelector,
531
534
  }); };
532
535
 
533
- var INITIAL_STATE$1 = {
536
+ var INITIAL_STATE = {
534
537
  ids: undefined,
535
538
  };
536
539
  var createSortOrderByIdReducer = function () { return function (state, action) {
537
- if (state === void 0) { state = INITIAL_STATE$1; }
540
+ if (state === void 0) { state = INITIAL_STATE; }
538
541
  switch (action.type) {
539
542
  case "SORT_ORDER_BY_ID:SET_SORT_ORDER":
540
543
  return __assign(__assign({}, state), { ids: action.ids });
@@ -578,24 +581,23 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
578
581
  desc: desc,
579
582
  });
580
583
  };
581
- var INITIAL_STATE = {
582
- sortBy: undefined,
583
- desc: false,
584
- };
585
- var createSortOrderReducer = function () { return function (state, action) {
586
- if (state === void 0) { state = INITIAL_STATE; }
587
- switch (action.type) {
588
- case "SORT_ORDER:SET_SORT_BY": {
589
- var sortBy = action.sortBy, desc = action.desc;
590
- return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
591
- }
592
- case "SORT_ORDER:CLEAR_SORT_ORDER": {
593
- return __assign(__assign({}, state), { sortBy: undefined, desc: false });
584
+ var createSortOrderReducer = function (initialState) {
585
+ if (initialState === void 0) { initialState = { sortBy: undefined, desc: false }; }
586
+ return function (state, action) {
587
+ if (state === void 0) { state = initialState; }
588
+ switch (action.type) {
589
+ case "SORT_ORDER:SET_SORT_BY": {
590
+ var sortBy = action.sortBy, desc = action.desc;
591
+ return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
592
+ }
593
+ case "SORT_ORDER:CLEAR_SORT_ORDER": {
594
+ return __assign(__assign({}, state), { sortBy: undefined, desc: false });
595
+ }
596
+ default:
597
+ return state;
594
598
  }
595
- default:
596
- return state;
597
- }
598
- }; };
599
+ };
600
+ };
599
601
 
600
602
  var createSortOrderActions = function () { return ({
601
603
  sortBy: function (sortBy, desc) { return ({
@@ -1 +1 @@
1
- {"version":3,"file":"index.es.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer = <\n TInnerAction extends RecordObjectWrappedAction,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n> => (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\n };\n};\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators = {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer = <TState>(\n id: string,\n initialState: CommitReducerState<TState>\n) => (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n};\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer = <\n TListItem,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\n) => (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n};\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n};\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer = () => (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n};\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["INITIAL_STATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.es.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer = <\n TInnerAction extends RecordObjectWrappedAction,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n> => (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\n };\n};\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators = {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer = <TState>(\n id: string,\n initialState: CommitReducerState<TState>\n) => (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n};\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer = <\n TListItem,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\n) => (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n};\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer = (\n initialState: SelectedIdsState = INITIAL_STATE\n): SelectedIdsReducer => (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n};\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer = () => (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n};\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n): SortOrderReducer<TSortBy> => (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["INITIAL_STATE"],"mappings":"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"}
package/dist/index.js CHANGED
@@ -502,21 +502,24 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
502
502
  selectedIds: initialSelection,
503
503
  });
504
504
  };
505
- var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
506
- var createSelectedIdsReducer = function () { return function (state, action) {
507
- if (state === void 0) { state = INITIAL_STATE$2; }
508
- switch (action.type) {
509
- case "SELECTED_IDS:SET_SELECTED_IDS": {
510
- var selectedIds = action.selectedIds;
511
- return __assign(__assign({}, state), { selectedIds: selectedIds });
512
- }
513
- case "SELECTED_IDS:CLEAR_SELECTED_IDS": {
514
- return __assign(__assign({}, state), { selectedIds: [] });
505
+ var INITIAL_STATE$1 = createSelectedIdsReducerInitialState();
506
+ var createSelectedIdsReducer = function (initialState) {
507
+ if (initialState === void 0) { initialState = INITIAL_STATE$1; }
508
+ return function (state, action) {
509
+ if (state === void 0) { state = initialState; }
510
+ switch (action.type) {
511
+ case "SELECTED_IDS:SET_SELECTED_IDS": {
512
+ var selectedIds = action.selectedIds;
513
+ return __assign(__assign({}, state), { selectedIds: selectedIds });
514
+ }
515
+ case "SELECTED_IDS:CLEAR_SELECTED_IDS": {
516
+ return __assign(__assign({}, state), { selectedIds: [] });
517
+ }
518
+ default:
519
+ return state;
515
520
  }
516
- default:
517
- return state;
518
- }
519
- }; };
521
+ };
522
+ };
520
523
  var selectedIdsReducer = createSelectedIdsReducer();
521
524
 
522
525
  var createSelectedIdsActions = function () { return ({
@@ -534,11 +537,11 @@ var createSelectedIdsSelectors = function (stateSelector) { return ({
534
537
  getState: stateSelector,
535
538
  }); };
536
539
 
537
- var INITIAL_STATE$1 = {
540
+ var INITIAL_STATE = {
538
541
  ids: undefined,
539
542
  };
540
543
  var createSortOrderByIdReducer = function () { return function (state, action) {
541
- if (state === void 0) { state = INITIAL_STATE$1; }
544
+ if (state === void 0) { state = INITIAL_STATE; }
542
545
  switch (action.type) {
543
546
  case "SORT_ORDER_BY_ID:SET_SORT_ORDER":
544
547
  return __assign(__assign({}, state), { ids: action.ids });
@@ -582,24 +585,23 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
582
585
  desc: desc,
583
586
  });
584
587
  };
585
- var INITIAL_STATE = {
586
- sortBy: undefined,
587
- desc: false,
588
- };
589
- var createSortOrderReducer = function () { return function (state, action) {
590
- if (state === void 0) { state = INITIAL_STATE; }
591
- switch (action.type) {
592
- case "SORT_ORDER:SET_SORT_BY": {
593
- var sortBy = action.sortBy, desc = action.desc;
594
- return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
595
- }
596
- case "SORT_ORDER:CLEAR_SORT_ORDER": {
597
- return __assign(__assign({}, state), { sortBy: undefined, desc: false });
588
+ var createSortOrderReducer = function (initialState) {
589
+ if (initialState === void 0) { initialState = { sortBy: undefined, desc: false }; }
590
+ return function (state, action) {
591
+ if (state === void 0) { state = initialState; }
592
+ switch (action.type) {
593
+ case "SORT_ORDER:SET_SORT_BY": {
594
+ var sortBy = action.sortBy, desc = action.desc;
595
+ return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
596
+ }
597
+ case "SORT_ORDER:CLEAR_SORT_ORDER": {
598
+ return __assign(__assign({}, state), { sortBy: undefined, desc: false });
599
+ }
600
+ default:
601
+ return state;
598
602
  }
599
- default:
600
- return state;
601
- }
602
- }; };
603
+ };
604
+ };
603
605
 
604
606
  var createSortOrderActions = function () { return ({
605
607
  sortBy: function (sortBy, desc) { return ({
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer = <\n TInnerAction extends RecordObjectWrappedAction,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n> => (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\n };\n};\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators = {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer = <TState>(\n id: string,\n initialState: CommitReducerState<TState>\n) => (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n};\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer = <\n TListItem,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\n) => (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n};\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer = (): SelectedIdsReducer => (\n state = INITIAL_STATE,\n action\n) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n};\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer = () => (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n};\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nconst INITIAL_STATE = {\n sortBy: undefined,\n desc: false,\n};\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <\n TSortBy\n>(): SortOrderReducer<TSortBy> => (state = INITIAL_STATE, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["INITIAL_STATE"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/features/higher-order-reducers/record-object-reducer/record-object-reducer.ts","../src/features/higher-order-reducers/record-object-reducer/record-object-action-creators.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.ts","../src/features/higher-order-reducers/reducer-id-gate/reducer-id-action-wrapper.ts","../src/features/reducer-factories/commit-reducer/commit-action-creators.ts","../src/features/reducer-factories/commit-reducer/commit-reducer.ts","../src/features/reducer-factories/commit-reducer/commit-selectors.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-action-creators.ts","../src/common/util/field-matcher.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-reducer.ts","../src/features/higher-order-reducers/entity-list-reducer/entity-list-selectors.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-reducer.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-action-creators.ts","../src/features/reducer-factories/entity-by-id-reducer/entity-by-id-selectors.ts","../src/features/reducer-factories/entity-reducer/entity-reducer.ts","../src/features/reducer-factories/entity-reducer/entity-action-creators.ts","../src/features/reducer-factories/entity-reducer/entity-selectors.ts","../src/features/reducer-factories/entity-crud-status-reducer/entity-crud-status-redux.ts","../src/features/reducer-factories/modified-field-reducer/modified-field-redux.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-reducer.ts","../src/features/reducer-factories/editable-entity-reducer/editable-entity-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-action-creators.ts","../src/features/reducer-factories/selected-ids-reducer/selected-ids-selectors.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-reducer.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-action-creators.ts","../src/features/reducer-factories/sort-order-by-id-reducer/sort-order-by-id-selectors.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-reducer.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-action-creators.ts","../src/features/reducer-factories/sort-order-reducer/sort-order-selectors.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-reducer.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-action-creators.ts","../src/features/reducer-factories/value-by-id-reducer/value-by-id-selectors.ts"],"sourcesContent":["import { Reducer } from \"redux\";\nimport {\n RecordObjectAction,\n RecordObjectClearRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport type RecordObjectState<TInnerState> = Record<\n RecordObjectKey,\n TInnerState\n>;\n\nexport const createRecordObjectReducer = <\n TInnerAction extends RecordObjectWrappedAction,\n TInnerState = unknown\n>(\n reducer: Reducer<TInnerState, TInnerAction>\n): Reducer<\n RecordObjectState<TInnerState>,\n RecordObjectAction<TInnerAction>\n> => (state = {}, action) => {\n switch (action.type) {\n case \"RECORD_OBJECT:CLEAR_RECORD\": {\n const { recordId } = action as RecordObjectClearRecordAction;\n const newState = { ...state };\n delete newState[recordId];\n return newState;\n }\n\n case \"RECORD_OBJECT:CLEAR_ALL_RECORDS\": {\n return {};\n }\n\n case \"RECORD_OBJECT:ACTION\": {\n const { recordId, action: innerAction } = action;\n return {\n ...state,\n [recordId]: reducer(state[recordId], innerAction),\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n RecordObjectClearAllRecordsAction,\n RecordObjectClearRecordAction,\n RecordObjectRecordAction,\n RecordObjectKey,\n RecordObjectWrappedAction,\n} from \"./record-object-actions\";\n\nexport interface RecordObjectActions<\n TInnerAction extends RecordObjectWrappedAction\n> {\n recordAction: (\n recordId: RecordObjectKey,\n action: TInnerAction\n ) => RecordObjectRecordAction<TInnerAction>;\n clearRecord: (recordId: RecordObjectKey) => RecordObjectClearRecordAction;\n clearAllRecords: () => RecordObjectClearAllRecordsAction;\n}\n\nexport const createRecordObjectActions = <\n TInnerAction extends RecordObjectWrappedAction\n>(): RecordObjectActions<TInnerAction> => ({\n recordAction: (recordId, action) => ({\n type: \"RECORD_OBJECT:ACTION\",\n action,\n recordId,\n }),\n clearRecord: (recordId) => ({\n type: \"RECORD_OBJECT:CLEAR_RECORD\",\n recordId,\n }),\n clearAllRecords: () => ({\n type: \"RECORD_OBJECT:CLEAR_ALL_RECORDS\",\n }),\n});\n","import { Action, AnyAction, Reducer } from \"redux\";\n\nexport interface ReducerIdGateAction<TInnerAction> {\n type: \"REDUCER_ID_GATE:ACTION\";\n reducerId: string;\n action: TInnerAction;\n}\n\nexport type ReducerIdGateReducer<\n TState,\n TInnerAction extends Action = AnyAction\n> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;\n\nexport const reducerIdGate = <TState, TInnerAction extends Action = AnyAction>(\n reducerId: string,\n reducer: Reducer<TState, TInnerAction>\n): ReducerIdGateReducer<TState, TInnerAction> => (state, action) => {\n let newState = state == null ? reducer(undefined, {} as any) : state;\n\n if (!isValidReducerIdGateAction(action)) {\n return newState;\n }\n\n if (\n reducerId !== action.reducerId ||\n action.type !== \"REDUCER_ID_GATE:ACTION\"\n ) {\n return newState;\n }\n return reducer(newState, action.action);\n};\n\nexport const reducerIdGateAction = <TInnerAction>(\n reducerId: string,\n action: TInnerAction\n): ReducerIdGateAction<TInnerAction> => ({\n type: \"REDUCER_ID_GATE:ACTION\",\n action,\n reducerId,\n});\n\nconst isValidReducerIdGateAction = (action: any): boolean =>\n !!action.action &&\n action.type === \"REDUCER_ID_GATE:ACTION\" &&\n typeof action.reducerId === \"string\";\n","import { ReducerIdGateAction } from \"./reducer-id-gate\";\n\ntype ActionCreator = (...args: any) => any;\n\nexport type ActionCreatorCreator<TActionCreator extends ActionCreator> = (\n ...args: Parameters<TActionCreator>\n) => ReducerIdGateAction<ReturnType<TActionCreator>>;\n\nexport const wrapActionWithReducerIdGate = <\n TActionCreator extends ActionCreator\n>(\n reducerId: string,\n actionCreator: TActionCreator\n): ActionCreatorCreator<TActionCreator> => (...args) => {\n return {\n type: \"REDUCER_ID_GATE:ACTION\",\n reducerId,\n action: actionCreator(...args),\n };\n};\n\nexport interface ActionCreatorsMapObject {\n [key: string]: ActionCreator;\n}\n\nexport type ReducerIdGatedActionCreator<\n TActionCreators extends ActionCreatorsMapObject\n> = {\n [K in keyof TActionCreators]: ActionCreatorCreator<TActionCreators[K]>;\n};\n\nexport const wrapActionsWithReducerIdGate = <\n TActionCreators extends ActionCreatorsMapObject\n>(\n reducerId: string,\n actionCreators: TActionCreators\n): ReducerIdGatedActionCreator<TActionCreators> => {\n const boundActionCreators = {} as ReducerIdGatedActionCreator<TActionCreators>;\n for (const key in actionCreators) {\n const actionCreator = actionCreators[key];\n boundActionCreators[key] = wrapActionWithReducerIdGate(\n reducerId,\n actionCreator\n );\n }\n return boundActionCreators;\n};\n","import {\n ClearFilterValuesActionCreator,\n CommitFilterValuesActionCreator,\n SetFilterValuesActionCreator,\n} from \"./commit-actions\";\n\nexport interface CommitReducerActions<TState> {\n setValues: SetFilterValuesActionCreator<TState>;\n commitValues: CommitFilterValuesActionCreator;\n clearValues: ClearFilterValuesActionCreator;\n}\n\nexport const createCommitReducerActions = <TState>(\n id: string\n): CommitReducerActions<TState> => {\n return {\n setValues: (values) => ({\n type: \"COMMIT_REDUCER.SET_VALUES\",\n id,\n values,\n }),\n commitValues: () => ({\n type: \"COMMIT_REDUCER.COMMIT_VALUES\",\n id,\n }),\n clearValues: () => ({\n type: \"COMMIT_REDUCER.CLEAR\",\n id,\n }),\n };\n};\n","import { CommitReducerAction } from \"./commit-actions\";\nimport { CommitReducerState } from \"./commit-state\";\n\nexport const createCommitReducer = <TState>(\n id: string,\n initialState: CommitReducerState<TState>\n) => (\n state: CommitReducerState<TState> = initialState,\n action: CommitReducerAction<TState>\n): CommitReducerState<TState> => {\n if (action.id !== id) {\n return state;\n }\n switch (action.type) {\n case `COMMIT_REDUCER.SET_VALUES`: {\n const { values } = action;\n return {\n ...state,\n workspace: {\n ...state.workspace,\n ...values,\n },\n };\n }\n\n case `COMMIT_REDUCER.CLEAR`: {\n return {\n ...state,\n workspace: {\n ...initialState.workspace,\n },\n };\n }\n\n case `COMMIT_REDUCER.COMMIT_VALUES`: {\n return {\n ...state,\n committed: {\n ...state.workspace,\n },\n };\n }\n\n default:\n return state;\n }\n};\n","import { CommitReducerState } from \"./commit-state\";\n\nexport type CommitReducerStateSelector<TStoreState, TState> = (\n state: TStoreState,\n id: string\n) => CommitReducerState<TState>;\n\nexport interface CommitReducerSelectors<TStoreState, TState> {\n getWorkspaceValues: (state: TStoreState) => TState;\n getCommittedValues: (state: TStoreState) => TState;\n}\n\nexport const createCommitReducerSelectors = <TStoreState, TState>(\n id: string,\n stateSelector: CommitReducerStateSelector<TStoreState, TState>\n): CommitReducerSelectors<TStoreState, TState> => {\n return {\n getWorkspaceValues: (state) => stateSelector(state, id).workspace,\n getCommittedValues: (state) => stateSelector(state, id).committed,\n };\n};\n","import {\n EntityListActionByFieldsMatchAction,\n EntityListActionByIndexAction,\n EntityListActionOnAllAction,\n EntityListAddAtEndAction,\n EntityListAddAtStartAction,\n EntityListClearListAction,\n EntityListRemoveAction,\n EntityListRemoveAtIndexAction,\n EntityListRemoveByFieldMatchAction,\n EntityListRemoveFirstAction,\n EntityListRemoveLastAction,\n EntityListSetListAction,\n EntityListToggleAction,\n} from \"./entity-list-actions\";\n\nexport interface EntityListActions<T, TInnerAction> {\n addAtEnd: (entity: T) => EntityListAddAtEndAction<T>;\n addAtStart: (entity: T) => EntityListAddAtStartAction<T>;\n clearList: () => EntityListClearListAction;\n removeFirst: () => EntityListRemoveFirstAction;\n removeLast: () => EntityListRemoveLastAction;\n removeAtIndex: (index: number) => EntityListRemoveAtIndexAction;\n removeByFieldMatch: (\n fields: Partial<T>\n ) => EntityListRemoveByFieldMatchAction<T>;\n remove: (entity: T) => EntityListRemoveAction<T>;\n setList: (list: Array<T>) => EntityListSetListAction<T>;\n toggle: (entity: T) => EntityListToggleAction<T>;\n actionByFieldsMatch: (\n fields: Partial<T>,\n action: TInnerAction\n ) => EntityListActionByFieldsMatchAction<T, TInnerAction>;\n actionByIndex: (\n index: number,\n action: TInnerAction\n ) => EntityListActionByIndexAction<TInnerAction>;\n actionOnAll: (\n action: TInnerAction\n ) => EntityListActionOnAllAction<TInnerAction>;\n}\n\nexport const createEntityListActions = <\n T,\n TInnerAction = unknown\n>(): EntityListActions<T, TInnerAction> => {\n return {\n addAtEnd: (entity) => ({ type: \"ENTITY_LIST:ADD_AT_END\", entity }),\n addAtStart: (entity) => ({\n entity,\n type: \"ENTITY_LIST:ADD_AT_START\",\n }),\n clearList: () => ({ type: \"ENTITY_LIST:CLEAR_LIST\" }),\n removeFirst: () => ({ type: \"ENTITY_LIST:REMOVE_FIRST\" }),\n removeLast: () => ({ type: \"ENTITY_LIST:REMOVE_LAST\" }),\n removeAtIndex: (index) => ({\n type: \"ENTITY_LIST:REMOVE_AT_INDEX\",\n index,\n }),\n removeByFieldMatch: (fields) => ({\n type: \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\",\n fields,\n }),\n remove: (entity) => ({ type: \"ENTITY_LIST:REMOVE\", entity }),\n setList: (list) => ({ type: \"ENTITY_LIST:SET_LIST\", list }),\n toggle: (entity) => ({ type: \"ENTITY_LIST:TOGGLE\", entity }),\n actionByFieldsMatch: (fields, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\",\n fields,\n action,\n }),\n actionByIndex: (index, action) => ({\n type: \"ENTITY_LIST:ACTION_BY_INDEX\",\n index,\n action,\n }),\n actionOnAll: (action) => ({\n type: \"ENTITY_LIST:ACTION_ON_ALL\",\n action,\n }),\n };\n};\n","export const fieldsMatch = <T>(entity: T, fields: Partial<T>): boolean => {\n const keys = Object.keys(fields) as Array<keyof T>;\n if (keys.length === 0) {\n return false;\n }\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (entity[key] !== fields[key]) {\n return false;\n }\n }\n return true;\n};\n","import { EntityListAction } from \"./entity-list-actions\";\nimport { fieldsMatch } from \"../../../common/util/field-matcher\";\nimport { Action, AnyAction, Reducer } from \"redux\";\n\nexport type EntityListState<TListItem> = Array<TListItem>;\n\nexport const createEntityListReducer = <\n TListItem,\n TListItemAction extends Action = AnyAction\n>(\n reducer?: Reducer<TListItem, TListItemAction>\n) => (\n state: EntityListState<TListItem> = [],\n action: EntityListAction<TListItem, TListItemAction>\n): EntityListState<TListItem> => {\n switch (action.type) {\n case \"ENTITY_LIST:SET_LIST\": {\n const { list } = action;\n return list;\n }\n case \"ENTITY_LIST:CLEAR_LIST\": {\n return [];\n }\n case \"ENTITY_LIST:ADD_AT_END\": {\n const { entity } = action;\n return [...state, entity];\n }\n case \"ENTITY_LIST:ADD_AT_START\": {\n const { entity } = action;\n return [entity, ...state];\n }\n case \"ENTITY_LIST:REMOVE_FIRST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const [, ...list] = state;\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_LAST\": {\n if (state.length === 0) {\n throw new Error(\"Cannot remove, list is empty.\");\n }\n const list = [...state];\n list.pop();\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_AT_INDEX\": {\n const { index } = action;\n if (index < 0) {\n throw new Error(\"Index is lower than 0.\");\n }\n if (index >= state.length) {\n throw new Error(\"Index is outside of list bounds.\");\n }\n const list = [...state];\n list.splice(index, 1);\n return list;\n }\n\n case \"ENTITY_LIST:REMOVE_BY_FIELD_MATCH\": {\n const { fields } = action;\n return state.filter((item) => !fieldsMatch(item, fields));\n }\n\n case \"ENTITY_LIST:REMOVE\": {\n const { entity } = action;\n return state.filter((item) => item !== entity);\n }\n\n case \"ENTITY_LIST:TOGGLE\": {\n const { entity } = action;\n const index = state.findIndex(\n (item) => item === entity || fieldsMatch(item, entity)\n );\n\n if (index >= 0) {\n const list = [...state];\n list.splice(index, index);\n\n return list;\n } else {\n return [...state, entity];\n }\n }\n\n case \"ENTITY_LIST:ACTION_BY_FIELDS_MATCH\": {\n const { fields, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByFieldsMatch'.\"\n );\n }\n return state.map((item) =>\n fieldsMatch(item, fields) ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_BY_INDEX\": {\n const { index, action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item, i) =>\n index === i ? reducer(item, innerAction) : item\n );\n }\n\n case \"ENTITY_LIST:ACTION_ON_ALL\": {\n const { action: innerAction } = action;\n if (!reducer) {\n throw new Error(\n \"No reducer specified, unable to handle 'actionByIndex'.\"\n );\n }\n return state.map((item) => reducer(item, innerAction));\n }\n\n default:\n return state;\n }\n};\n","import { EntityListState } from \"./entity-list-reducer\";\n\nexport interface EntityListSelectors<TStoreState, TEntity> {\n getList: (store: TStoreState) => Array<TEntity>;\n}\n\nexport type EntityListSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityListState<TEntity>;\n\nexport const createEntityListSelectors = <TStoreState, TEntity>(\n stateSelector: EntityListSelector<TStoreState, TEntity>\n): EntityListSelectors<TStoreState, TEntity> => ({\n getList: (store) => stateSelector(store),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"./entity-by-id-actions\";\n\nexport interface EntityByIdState<T extends EntityWithId> {\n entities: { [key: string]: T };\n}\n\nexport const entityByIdInitialState = { entities: {} };\n\nexport const createEntityByIdReducer = <T extends EntityWithId>() => {\n return (\n state: EntityByIdState<T> = entityByIdInitialState,\n action: EntityByIdAction<T>\n ): EntityByIdState<T> => {\n switch (action.type) {\n case \"ENTITY_BY_ID:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [entity.id]: entity,\n },\n };\n }\n\n case \"ENTITY_BY_ID:SET_ENTITY_FIELDS\": {\n const { id, fields } = action;\n return {\n ...state,\n entities: {\n ...state.entities,\n [id]: {\n ...state.entities[id],\n ...fields,\n },\n },\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\": {\n return {\n ...state,\n entities: {},\n };\n }\n\n case \"ENTITY_BY_ID:CLEAR_ENTITY\": {\n const { id } = action;\n const entities = {\n ...state.entities,\n };\n delete entities[id];\n return {\n ...state,\n entities,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport {\n EntityByIdClearAllEntitiesAction,\n EntityByIdClearEntityAction,\n EntityByIdSetEntityAction,\n EntityByIdSetEntityFieldsAction,\n} from \"./entity-by-id-actions\";\n\nexport interface EntityByIdActions<T extends EntityWithId> {\n setEntity: (entity: T) => EntityByIdSetEntityAction<T>;\n setEntityFields: (\n id: string,\n fields: Partial<T>\n ) => EntityByIdSetEntityFieldsAction<T>;\n clearEntity: (id: string) => EntityByIdClearEntityAction;\n clearAllEntities: () => EntityByIdClearAllEntitiesAction;\n}\n\nexport const createEntityByIdActions = <\n T extends EntityWithId\n>(): EntityByIdActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (id, fields) => ({\n type: \"ENTITY_BY_ID:SET_ENTITY_FIELDS\",\n id,\n fields,\n }),\n clearEntity: (id) => ({\n type: \"ENTITY_BY_ID:CLEAR_ENTITY\",\n id,\n }),\n clearAllEntities: () => ({\n type: \"ENTITY_BY_ID:CLEAR_ALL_ENTITIES\",\n }),\n});\n","import { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdState } from \"./entity-by-id-reducer\";\n\nexport interface EntityByIdSelectors<\n TStoreState,\n TEntity extends EntityWithId\n> {\n getState: EntityByIdStateSelector<TStoreState, TEntity>;\n}\n\nexport type EntityByIdStateSelector<\n TStoreState,\n TEntity extends EntityWithId\n> = (state: TStoreState) => EntityByIdState<TEntity>;\n\nexport const createEntityByIdSelectors = <\n TStoreState,\n TEntity extends EntityWithId\n>(\n stateSelector: EntityByIdStateSelector<TStoreState, TEntity>\n): EntityByIdSelectors<TStoreState, TEntity> => ({\n getState: stateSelector,\n});\n","import { EntityAction } from \"./entity-actions\";\nimport { Reducer } from \"redux\";\n\nexport type EntityState<T> = T;\n\nexport const createEntityReducer = <T>(\n initialEntity: T\n): Reducer<EntityState<T>, EntityAction<T>> => {\n const INITIAL_STATE = initialEntity;\n\n return (\n state: EntityState<T> = INITIAL_STATE,\n action: EntityAction<T>\n ): EntityState<T> => {\n switch (action.type) {\n case \"ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return entity;\n }\n\n case \"ENTITY:SET_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n ...fields,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EntitySetEntityAction,\n EntitySetEntityFieldsAction,\n} from \"./entity-actions\";\n\nexport interface EntityActions<T> {\n setEntity: (entity: T) => EntitySetEntityAction<T>;\n setEntityFields: (fields: Partial<T>) => EntitySetEntityFieldsAction<T>;\n}\n\nexport const createEntityActions = <T>(): EntityActions<T> => ({\n setEntity: (entity) => ({\n type: \"ENTITY:SET_ENTITY\",\n entity,\n }),\n setEntityFields: (fields) => ({\n type: \"ENTITY:SET_ENTITY_FIELDS\",\n fields,\n }),\n});\n","import { EntityState } from \"./entity-reducer\";\n\nexport interface EntitySelectors<TStoreState, TEntity> {\n getEntity: (state: TStoreState) => TEntity;\n}\n\nexport type EntityStateSelector<TStoreState, TEntity> = (\n state: TStoreState\n) => EntityState<TEntity>;\n\nexport const createEntitySelectors = <TStoreState, TEntity>(\n stateSelector: EntityStateSelector<TStoreState, TEntity>\n): EntitySelectors<TStoreState, TEntity> => ({\n getEntity: (state) => stateSelector(state),\n});\n","import { Reducer } from \"redux\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n EntityByIdStateSelector,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\n\nexport interface EntityCrudStatus extends CrudStatus {\n id: string;\n}\n\nexport interface CrudStatus {\n loading?: boolean;\n creating?: boolean;\n updating?: boolean;\n modified?: boolean;\n deleting?: boolean;\n hasError?: boolean;\n errorMessage?: string;\n}\n\nexport type EntityCrudStatusState = EntityByIdState<EntityCrudStatus>;\nexport type EntityCrudStatusAction = EntityByIdAction<EntityCrudStatus>;\nexport type EntityCrudStatusActions = EntityByIdActions<EntityCrudStatus>;\n\nexport interface EntityCrudStatusRedux<TStoreState> {\n reducer: EntityCrudStatusReducer;\n actions: EntityCrudStatusActions;\n selectors: EntityCrudStatusSelectors<TStoreState>;\n}\n\nexport type EntityCrudStatusReducer = Reducer<\n EntityCrudStatusState,\n EntityByIdAction<EntityCrudStatus>\n>;\n\nexport const createEntityCrudStatusReducer = () =>\n createEntityByIdReducer<EntityCrudStatus>();\n\nexport const createEntityCrudStatusActions = (): EntityCrudStatusActions =>\n createEntityByIdActions<EntityCrudStatus>();\n\nexport type EntityCrudStatusSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n EntityCrudStatus\n>;\n\nexport const createEntityCrudStatusSelectors = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n) => createEntityByIdSelectors<TStoreState, EntityCrudStatus>(stateSelector);\n\nexport const createEntityCrudStatusRedux = <TStoreState>(\n stateSelector: EntityByIdStateSelector<TStoreState, EntityCrudStatus>\n): EntityCrudStatusRedux<TStoreState> => {\n const reducer = createEntityCrudStatusReducer();\n const actions = createEntityCrudStatusActions();\n const selectors = createEntityCrudStatusSelectors(stateSelector);\n return {\n reducer,\n actions,\n selectors,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EntityWithId } from \"../../../common/EntityWithId\";\nimport { EntityByIdAction } from \"../entity-by-id-reducer/entity-by-id-actions\";\nimport {\n createEntityByIdActions,\n EntityByIdActions,\n} from \"../entity-by-id-reducer/entity-by-id-action-creators\";\nimport {\n createEntityByIdReducer,\n EntityByIdState,\n} from \"../entity-by-id-reducer/entity-by-id-reducer\";\nimport {\n createEntityByIdSelectors,\n EntityByIdSelectors,\n} from \"../entity-by-id-reducer/entity-by-id-selectors\";\n\nexport interface ModifiedFieldItemState extends EntityWithId {\n modified?: boolean;\n originalValue?: string;\n newValue?: string;\n}\n\nexport type ModifiedFieldState = EntityByIdState<ModifiedFieldItemState>;\nexport type ModifiedFieldAction = EntityByIdAction<ModifiedFieldItemState>;\nexport type ModifiedFieldActions = EntityByIdActions<ModifiedFieldItemState>;\n\nexport type ModifiedFieldsSelectors<TStoreState> = EntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n>;\n\nexport type ModifiedFieldStateSelector<TStoreState> = (\n state: TStoreState\n) => ModifiedFieldState;\n\nexport type ModifiedStateReducer = Reducer<\n ModifiedFieldState,\n ModifiedFieldAction\n>;\n\nexport interface ModifiedFieldRedux<TStoreState> {\n reducer: ModifiedStateReducer;\n selectors: ModifiedFieldsSelectors<TStoreState>;\n actions: ModifiedFieldActions;\n}\n\nexport const createModifiedFieldRedux = <TStoreState>(\n stateSelector: ModifiedFieldStateSelector<TStoreState>\n): ModifiedFieldRedux<TStoreState> => {\n const reducer = createEntityByIdReducer<ModifiedFieldItemState>();\n\n const selectors: ModifiedFieldsSelectors<TStoreState> = createEntityByIdSelectors<\n TStoreState,\n ModifiedFieldItemState\n >(stateSelector);\n\n const actions = createEntityByIdActions<ModifiedFieldItemState>();\n\n return {\n reducer,\n selectors,\n actions,\n };\n};\n","import { Reducer } from \"redux\";\nimport { EditableEntityAction } from \"./editable-entity-actions\";\n\nexport interface EditableEntityState<T> {\n id?: string;\n persisted: T;\n editable: T;\n}\n\nexport const createEditableEntityReducer = <T>(\n initialEntity: T,\n initialId?: string\n): Reducer<EditableEntityState<T>, EditableEntityAction<T>> => {\n const initialState: EditableEntityState<T> = {\n id: initialId,\n editable: initialEntity,\n persisted: initialEntity,\n };\n\n return (state = initialState, action) => {\n switch (action.type) {\n case \"EDITABLE_ENTITY:SET_ENTITY_ID\": {\n const { id } = action;\n return {\n ...state,\n id,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n persisted: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\": {\n const { entity } = action;\n return {\n ...state,\n editable: entity,\n };\n }\n\n case \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\": {\n const { fields } = action;\n return {\n ...state,\n editable: {\n ...state.editable,\n ...fields,\n },\n };\n }\n\n case \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\": {\n return {\n ...state,\n editable: state.persisted,\n };\n }\n\n case \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\": {\n return {\n ...state,\n persisted: state.editable,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n EditableEntityCommitEditableEntityToPersistedAction,\n EditableEntityRevertEditableEntityAction,\n EditableEntitySetEditableEntityAction,\n EditableEntitySetEditableEntityFieldsAction,\n EditableEntitySetEntityAction,\n EditableEntitySetEntityIdAction,\n EditableEntitySetPersistedEntityAction,\n} from \"./editable-entity-actions\";\n\nexport interface EditableEntityActions<T> {\n setEntityId: (\n entityId: string | undefined\n ) => EditableEntitySetEntityIdAction;\n setEntity: (entity: T) => EditableEntitySetEntityAction<T>;\n setPersistedEntity: (entity: T) => EditableEntitySetPersistedEntityAction<T>;\n setEditableEntity: (entity: T) => EditableEntitySetEditableEntityAction<T>;\n setEditableEntityFields: (\n fields: Partial<T>\n ) => EditableEntitySetEditableEntityFieldsAction<T>;\n revertEditableEntity: () => EditableEntityRevertEditableEntityAction;\n commitEditableEntityToPersisted: () => EditableEntityCommitEditableEntityToPersistedAction;\n}\n\nexport const createEditableEntityActions = <T>(): EditableEntityActions<T> => ({\n setEntityId: (id: string | undefined) => ({\n type: \"EDITABLE_ENTITY:SET_ENTITY_ID\",\n id,\n }),\n setEntity: (entity) => ({ type: \"EDITABLE_ENTITY:SET_ENTITY\", entity }),\n setPersistedEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_PERSISTED_ENTITY\",\n entity,\n }),\n setEditableEntity: (entity) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY\",\n entity,\n }),\n setEditableEntityFields: (fields) => ({\n type: \"EDITABLE_ENTITY:SET_EDITABLE_ENTITY_FIELDS\",\n fields,\n }),\n revertEditableEntity: () => ({\n type: \"EDITABLE_ENTITY:REVERT_EDITABLE_ENTITY\",\n }),\n commitEditableEntityToPersisted: () => ({\n type: \"EDITABLE_ENTITY:COMMIT_EDITABLE_ENTITY_TO_PERSISTED\",\n }),\n});\n","import { Reducer } from \"redux\";\nimport { SelectedIdsAction } from \"./selected-ids-actions\";\n\nexport interface SelectedIdsState {\n selectedIds: Array<string>;\n}\n\nexport const createSelectedIdsReducerInitialState = (\n initialSelection: string[] = []\n): SelectedIdsState => ({\n selectedIds: initialSelection,\n});\n\nconst INITIAL_STATE = createSelectedIdsReducerInitialState();\n\nexport type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;\n\nexport const createSelectedIdsReducer = (\n initialState: SelectedIdsState = INITIAL_STATE\n): SelectedIdsReducer => (state = initialState, action) => {\n switch (action.type) {\n case \"SELECTED_IDS:SET_SELECTED_IDS\": {\n const { selectedIds } = action;\n return {\n ...state,\n selectedIds,\n };\n }\n case \"SELECTED_IDS:CLEAR_SELECTED_IDS\": {\n return {\n ...state,\n selectedIds: [],\n };\n }\n default:\n return state;\n }\n};\n\nexport const selectedIdsReducer = createSelectedIdsReducer();\n","import {\n SelectedIdsClearSelectedIdsAction,\n SelectedIdsSetSelectedIdsAction,\n} from \"./selected-ids-actions\";\n\nexport interface SelectedIdsActions {\n setSelectedIds: (ids: Array<string>) => SelectedIdsSetSelectedIdsAction;\n clearSelectedIds: () => SelectedIdsClearSelectedIdsAction;\n}\n\nexport const createSelectedIdsActions = (): SelectedIdsActions => ({\n setSelectedIds: (selectedIds) => ({\n selectedIds,\n type: \"SELECTED_IDS:SET_SELECTED_IDS\",\n }),\n clearSelectedIds: () => ({\n type: \"SELECTED_IDS:CLEAR_SELECTED_IDS\",\n }),\n});\n\nexport const selectedIdsActions = createSelectedIdsActions();\n","import { SelectedIdsState } from \"./selected-ids-reducer\";\n\nexport interface SelectedIdsSelectors<TStoreState> {\n getState: SelectedIdsStateSelector<TStoreState>;\n}\n\nexport type SelectedIdsStateSelector<TStoreState> = (\n state: TStoreState\n) => SelectedIdsState;\n\nexport const createSelectedIdsSelectors = <TStoreState>(\n stateSelector: SelectedIdsStateSelector<TStoreState>\n): SelectedIdsSelectors<TStoreState> => ({\n getState: stateSelector,\n});\n","import { SortOrderByIdAction } from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdState {\n ids: Array<string> | undefined;\n}\n\nconst INITIAL_STATE: SortOrderByIdState = {\n ids: undefined,\n};\n\nexport const createSortOrderByIdReducer = () => (\n state: SortOrderByIdState = INITIAL_STATE,\n action: SortOrderByIdAction\n): SortOrderByIdState => {\n switch (action.type) {\n case \"SORT_ORDER_BY_ID:SET_SORT_ORDER\":\n return {\n ...state,\n ids: action.ids,\n };\n\n case \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\":\n return {\n ...state,\n ids: undefined,\n };\n\n default:\n return state;\n }\n};\n\nexport const sortOrderByIdReducer = createSortOrderByIdReducer();\n","import {\n SortOrderByIdClearSortOrderAction,\n SortOrderByIdSetSortOrderAction,\n} from \"./sort-order-by-id-actions\";\n\nexport interface SortOrderByIdActions {\n setSortOrder: (ids: Array<string>) => SortOrderByIdSetSortOrderAction;\n clearSortOrder: () => SortOrderByIdClearSortOrderAction;\n}\n\nexport const createSortOrderByIdActions = (): SortOrderByIdActions => {\n return {\n setSortOrder: (ids) => ({\n ids,\n type: \"SORT_ORDER_BY_ID:SET_SORT_ORDER\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER_BY_ID:CLEAR_SORT_ORDER\",\n }),\n };\n};\n\nexport const sortOrderByIdActions = createSortOrderByIdActions();\n","import { SortOrderByIdState } from \"./sort-order-by-id-reducer\";\n\ninterface SortOrderByIdSelectors<TStoreState> {\n getSortOrderByIdState: (state: TStoreState) => SortOrderByIdState;\n getSortOrder: (state: TStoreState) => Array<string> | undefined;\n}\n\ntype SortOrderByIdStateProvider<TStoreState> = (\n state: TStoreState\n) => SortOrderByIdState;\n\nexport const createSortOrderByIdSelectors = <TStoreState>(\n rootStateProvider: SortOrderByIdStateProvider<TStoreState>\n): SortOrderByIdSelectors<TStoreState> => {\n return {\n getSortOrderByIdState: (state) => {\n return rootStateProvider(state);\n },\n getSortOrder: (state) => {\n return rootStateProvider(state).ids;\n },\n };\n};\n","import { Reducer } from \"redux\";\nimport { SortOrderAction } from \"./sort-order-actions\";\n\nexport interface SortOrderState<TSortBy> {\n sortBy: TSortBy | undefined;\n desc: boolean;\n}\n\nexport const createSortOrderReducerInitialState = <TSortBy>(\n sortBy: TSortBy | undefined = undefined,\n desc: boolean = false\n): SortOrderState<TSortBy> => ({\n sortBy,\n desc,\n});\n\nexport type SortOrderReducer<TSortBy> = Reducer<\n SortOrderState<TSortBy>,\n SortOrderAction<TSortBy>\n>;\n\nexport const createSortOrderReducer = <TSortBy>(\n initialState: SortOrderState<TSortBy> = { sortBy: undefined, desc: false }\n): SortOrderReducer<TSortBy> => (state = initialState, action) => {\n switch (action.type) {\n case \"SORT_ORDER:SET_SORT_BY\": {\n const { sortBy, desc } = action;\n return {\n ...state,\n sortBy,\n desc,\n };\n }\n\n case \"SORT_ORDER:CLEAR_SORT_ORDER\": {\n return {\n ...state,\n sortBy: undefined,\n desc: false,\n };\n }\n\n default:\n return state;\n }\n};\n","import {\n SortOrderClearSortOrderAction,\n SortOrderSetSortByAction,\n} from \"./sort-order-actions\";\n\nexport interface SortOrderActions<TSortBy> {\n sortBy: (sortBy: TSortBy, desc: boolean) => SortOrderSetSortByAction<TSortBy>;\n clearSortOrder: () => SortOrderClearSortOrderAction;\n}\n\nexport const createSortOrderActions = <\n TSortBy\n>(): SortOrderActions<TSortBy> => ({\n sortBy: (sortBy, desc) => ({\n desc,\n sortBy,\n type: \"SORT_ORDER:SET_SORT_BY\",\n }),\n clearSortOrder: () => ({\n type: \"SORT_ORDER:CLEAR_SORT_ORDER\",\n }),\n});\n","import { SortOrderState } from \"./sort-order-reducer\";\n\nexport interface SortOrderSelectors<TStoreState, TSortBy> {\n getState: SortOrderStateSelector<TStoreState, TSortBy>;\n}\n\nexport type SortOrderStateSelector<TStoreState, TSortBy> = (\n state: TStoreState\n) => SortOrderState<TSortBy>;\n\nexport const createSortOrderSelectors = <TStoreState, TSortBy>(\n stateProvider: SortOrderStateSelector<TStoreState, TSortBy>\n): SortOrderSelectors<TStoreState, TSortBy> => ({\n getState: stateProvider,\n});\n","import { ValueByIdAction } from \"./value-by-id-actions\";\n\nexport interface ValueByIdState<TValue> {\n values: { [key: string]: TValue };\n}\n\nexport const valueByIdInitialState = { values: {} };\n\nexport const createValueByIdReducer = <TValue>(\n initialValue: ValueByIdState<TValue> = valueByIdInitialState\n) => {\n return (\n state: ValueByIdState<TValue> = initialValue,\n action: ValueByIdAction<TValue>\n ): ValueByIdState<TValue> => {\n switch (action.type) {\n case \"VALUE_BY_ID:SET_VALUE\": {\n const { id, value } = action;\n return {\n ...state,\n values: {\n ...state.values,\n [id]: value,\n },\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_ALL_VALUES\": {\n return {\n ...state,\n values: {},\n };\n }\n\n case \"VALUE_BY_ID:CLEAR_VALUE\": {\n const { id } = action;\n const values = {\n ...state.values,\n };\n delete values[id];\n return {\n ...state,\n values,\n };\n }\n\n default:\n return state;\n }\n };\n};\n","import {\n ValueByIdClearAllValuesAction,\n ValueByIdClearValueAction,\n ValueByIdSetValueAction,\n} from \"./value-by-id-actions\";\n\nexport interface ValueByIdActions<TValue> {\n setValue: (id: string, value: TValue) => ValueByIdSetValueAction<TValue>;\n clearValue: (id: string) => ValueByIdClearValueAction;\n clearAllValues: () => ValueByIdClearAllValuesAction;\n}\n\nexport const createValueByIdActions = <TValue>(): ValueByIdActions<TValue> => ({\n setValue: (id, value) => ({\n type: \"VALUE_BY_ID:SET_VALUE\",\n id,\n value,\n }),\n clearValue: (id) => ({\n type: \"VALUE_BY_ID:CLEAR_VALUE\",\n id,\n }),\n clearAllValues: () => ({\n type: \"VALUE_BY_ID:CLEAR_ALL_VALUES\",\n }),\n});\n","import { ValueByIdState } from \"./value-by-id-reducer\";\n\nexport interface ValueByIdSelectors<TStoreState, TValue> {\n getState: ValueByIdStateSelector<TStoreState, TValue>;\n}\n\nexport type ValueByIdStateSelector<TStoreState, TValue> = (\n state: TStoreState\n) => ValueByIdState<TValue>;\n\nexport const createValueByIdSelectors = <TStoreState, TValue>(\n stateSelector: ValueByIdStateSelector<TStoreState, TValue>\n): ValueByIdSelectors<TStoreState, TValue> => ({\n getState: stateSelector,\n});\n"],"names":["INITIAL_STATE"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stenajs-webui/redux",
3
- "version": "15.0.1",
3
+ "version": "15.1.0",
4
4
  "description": "",
5
5
  "author": "mattias800",
6
6
  "license": "MIT",
@@ -46,5 +46,5 @@
46
46
  "files": [
47
47
  "dist"
48
48
  ],
49
- "gitHead": "9239996b87edefee8975eafdedc89b3382827117"
49
+ "gitHead": "5d4c72651b9cf0494be37e65347df47c08d4224f"
50
50
  }