@stenajs-webui/redux 14.2.0 → 15.0.0-alpha.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/features/higher-order-reducers/record-object-reducer/record-object-reducer.d.ts +1 -1
- package/dist/features/higher-order-reducers/reducer-id-gate/reducer-id-gate.d.ts +1 -1
- package/dist/features/reducer-factories/selected-ids-reducer/selected-ids-reducer.d.ts +1 -1
- package/dist/features/reducer-factories/sort-order-reducer/sort-order-reducer.d.ts +1 -1
- package/dist/index.es.js +19 -18
- package/dist/index.es.js.map +1 -1
- package/dist/index.js +19 -18
- package/dist/index.js.map +1 -1
- package/package.json +2 -3
package/dist/features/higher-order-reducers/record-object-reducer/record-object-reducer.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { Reducer } from "redux";
|
|
2
2
|
import { RecordObjectAction, RecordObjectKey, RecordObjectWrappedAction } from "./record-object-actions";
|
|
3
3
|
export declare type RecordObjectState<TInnerState> = Record<RecordObjectKey, TInnerState>;
|
|
4
|
-
export declare const createRecordObjectReducer: <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(reducer: Reducer<TInnerState, TInnerAction>) => Reducer<
|
|
4
|
+
export declare const createRecordObjectReducer: <TInnerAction extends RecordObjectWrappedAction, TInnerState = unknown>(reducer: Reducer<TInnerState, TInnerAction>) => Reducer<RecordObjectState<TInnerState>, RecordObjectAction<TInnerAction>>;
|
|
@@ -5,5 +5,5 @@ export interface ReducerIdGateAction<TInnerAction> {
|
|
|
5
5
|
action: TInnerAction;
|
|
6
6
|
}
|
|
7
7
|
export declare type ReducerIdGateReducer<TState, TInnerAction extends Action = AnyAction> = Reducer<TState, ReducerIdGateAction<TInnerAction>>;
|
|
8
|
-
export declare const reducerIdGate: <TState, TInnerAction extends Action<any> = AnyAction>(reducerId: string, reducer: Reducer<TState, TInnerAction>) =>
|
|
8
|
+
export declare const reducerIdGate: <TState, TInnerAction extends Action<any> = AnyAction>(reducerId: string, reducer: Reducer<TState, TInnerAction>) => ReducerIdGateReducer<TState, TInnerAction>;
|
|
9
9
|
export declare const reducerIdGateAction: <TInnerAction>(reducerId: string, action: TInnerAction) => ReducerIdGateAction<TInnerAction>;
|
|
@@ -6,4 +6,4 @@ export interface SelectedIdsState {
|
|
|
6
6
|
export declare const createSelectedIdsReducerInitialState: (initialSelection?: string[]) => SelectedIdsState;
|
|
7
7
|
export declare type SelectedIdsReducer = Reducer<SelectedIdsState, SelectedIdsAction>;
|
|
8
8
|
export declare const createSelectedIdsReducer: () => SelectedIdsReducer;
|
|
9
|
-
export declare const selectedIdsReducer:
|
|
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>() =>
|
|
9
|
+
export declare const createSortOrderReducer: <TSortBy>() => SortOrderReducer<TSortBy>;
|
package/dist/index.es.js
CHANGED
|
@@ -24,12 +24,14 @@ var __assign = function() {
|
|
|
24
24
|
return __assign.apply(this, arguments);
|
|
25
25
|
};
|
|
26
26
|
|
|
27
|
-
function
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
27
|
+
function __spreadArray(to, from, pack) {
|
|
28
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
29
|
+
if (ar || !(i in from)) {
|
|
30
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
31
|
+
ar[i] = from[i];
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
33
35
|
}
|
|
34
36
|
|
|
35
37
|
var createRecordObjectReducer = function (reducer) { return function (state, action) {
|
|
@@ -221,11 +223,11 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
221
223
|
}
|
|
222
224
|
case "ENTITY_LIST:ADD_AT_END": {
|
|
223
225
|
var entity = action.entity;
|
|
224
|
-
return
|
|
226
|
+
return __spreadArray(__spreadArray([], state, true), [entity], false);
|
|
225
227
|
}
|
|
226
228
|
case "ENTITY_LIST:ADD_AT_START": {
|
|
227
229
|
var entity = action.entity;
|
|
228
|
-
return
|
|
230
|
+
return __spreadArray([entity], state, true);
|
|
229
231
|
}
|
|
230
232
|
case "ENTITY_LIST:REMOVE_FIRST": {
|
|
231
233
|
if (state.length === 0) {
|
|
@@ -238,7 +240,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
238
240
|
if (state.length === 0) {
|
|
239
241
|
throw new Error("Cannot remove, list is empty.");
|
|
240
242
|
}
|
|
241
|
-
var list =
|
|
243
|
+
var list = __spreadArray([], state, true);
|
|
242
244
|
list.pop();
|
|
243
245
|
return list;
|
|
244
246
|
}
|
|
@@ -250,7 +252,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
250
252
|
if (index >= state.length) {
|
|
251
253
|
throw new Error("Index is outside of list bounds.");
|
|
252
254
|
}
|
|
253
|
-
var list =
|
|
255
|
+
var list = __spreadArray([], state, true);
|
|
254
256
|
list.splice(index, 1);
|
|
255
257
|
return list;
|
|
256
258
|
}
|
|
@@ -266,12 +268,12 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
266
268
|
var entity_2 = action.entity;
|
|
267
269
|
var index = state.findIndex(function (item) { return item === entity_2 || fieldsMatch(item, entity_2); });
|
|
268
270
|
if (index >= 0) {
|
|
269
|
-
var list =
|
|
271
|
+
var list = __spreadArray([], state, true);
|
|
270
272
|
list.splice(index, index);
|
|
271
273
|
return list;
|
|
272
274
|
}
|
|
273
275
|
else {
|
|
274
|
-
return
|
|
276
|
+
return __spreadArray(__spreadArray([], state, true), [entity_2], false);
|
|
275
277
|
}
|
|
276
278
|
}
|
|
277
279
|
case "ENTITY_LIST:ACTION_BY_FIELDS_MATCH": {
|
|
@@ -496,9 +498,9 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
|
|
|
496
498
|
selectedIds: initialSelection,
|
|
497
499
|
});
|
|
498
500
|
};
|
|
499
|
-
var INITIAL_STATE = createSelectedIdsReducerInitialState();
|
|
501
|
+
var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
|
|
500
502
|
var createSelectedIdsReducer = function () { return function (state, action) {
|
|
501
|
-
if (state === void 0) { state = INITIAL_STATE; }
|
|
503
|
+
if (state === void 0) { state = INITIAL_STATE$2; }
|
|
502
504
|
switch (action.type) {
|
|
503
505
|
case "SELECTED_IDS:SET_SELECTED_IDS": {
|
|
504
506
|
var selectedIds = action.selectedIds;
|
|
@@ -576,17 +578,16 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
|
|
|
576
578
|
desc: desc,
|
|
577
579
|
});
|
|
578
580
|
};
|
|
579
|
-
var INITIAL_STATE
|
|
581
|
+
var INITIAL_STATE = {
|
|
580
582
|
sortBy: undefined,
|
|
581
583
|
desc: false,
|
|
582
584
|
};
|
|
583
585
|
var createSortOrderReducer = function () { return function (state, action) {
|
|
584
|
-
if (state === void 0) { state = INITIAL_STATE
|
|
586
|
+
if (state === void 0) { state = INITIAL_STATE; }
|
|
585
587
|
switch (action.type) {
|
|
586
588
|
case "SORT_ORDER:SET_SORT_BY": {
|
|
587
589
|
var sortBy = action.sortBy, desc = action.desc;
|
|
588
|
-
return __assign(__assign({}, state), { sortBy: sortBy,
|
|
589
|
-
desc: desc });
|
|
590
|
+
return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
|
|
590
591
|
}
|
|
591
592
|
case "SORT_ORDER:CLEAR_SORT_ORDER": {
|
|
592
593
|
return __assign(__assign({}, state), { sortBy: undefined, desc: false });
|
package/dist/index.es.js.map
CHANGED
|
@@ -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 = (): 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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"}
|
package/dist/index.js
CHANGED
|
@@ -28,12 +28,14 @@ var __assign = function() {
|
|
|
28
28
|
return __assign.apply(this, arguments);
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
-
function
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
31
|
+
function __spreadArray(to, from, pack) {
|
|
32
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
33
|
+
if (ar || !(i in from)) {
|
|
34
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
35
|
+
ar[i] = from[i];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
var createRecordObjectReducer = function (reducer) { return function (state, action) {
|
|
@@ -225,11 +227,11 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
225
227
|
}
|
|
226
228
|
case "ENTITY_LIST:ADD_AT_END": {
|
|
227
229
|
var entity = action.entity;
|
|
228
|
-
return
|
|
230
|
+
return __spreadArray(__spreadArray([], state, true), [entity], false);
|
|
229
231
|
}
|
|
230
232
|
case "ENTITY_LIST:ADD_AT_START": {
|
|
231
233
|
var entity = action.entity;
|
|
232
|
-
return
|
|
234
|
+
return __spreadArray([entity], state, true);
|
|
233
235
|
}
|
|
234
236
|
case "ENTITY_LIST:REMOVE_FIRST": {
|
|
235
237
|
if (state.length === 0) {
|
|
@@ -242,7 +244,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
242
244
|
if (state.length === 0) {
|
|
243
245
|
throw new Error("Cannot remove, list is empty.");
|
|
244
246
|
}
|
|
245
|
-
var list =
|
|
247
|
+
var list = __spreadArray([], state, true);
|
|
246
248
|
list.pop();
|
|
247
249
|
return list;
|
|
248
250
|
}
|
|
@@ -254,7 +256,7 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
254
256
|
if (index >= state.length) {
|
|
255
257
|
throw new Error("Index is outside of list bounds.");
|
|
256
258
|
}
|
|
257
|
-
var list =
|
|
259
|
+
var list = __spreadArray([], state, true);
|
|
258
260
|
list.splice(index, 1);
|
|
259
261
|
return list;
|
|
260
262
|
}
|
|
@@ -270,12 +272,12 @@ var createEntityListReducer = function (reducer) { return function (state, actio
|
|
|
270
272
|
var entity_2 = action.entity;
|
|
271
273
|
var index = state.findIndex(function (item) { return item === entity_2 || fieldsMatch(item, entity_2); });
|
|
272
274
|
if (index >= 0) {
|
|
273
|
-
var list =
|
|
275
|
+
var list = __spreadArray([], state, true);
|
|
274
276
|
list.splice(index, index);
|
|
275
277
|
return list;
|
|
276
278
|
}
|
|
277
279
|
else {
|
|
278
|
-
return
|
|
280
|
+
return __spreadArray(__spreadArray([], state, true), [entity_2], false);
|
|
279
281
|
}
|
|
280
282
|
}
|
|
281
283
|
case "ENTITY_LIST:ACTION_BY_FIELDS_MATCH": {
|
|
@@ -500,9 +502,9 @@ var createSelectedIdsReducerInitialState = function (initialSelection) {
|
|
|
500
502
|
selectedIds: initialSelection,
|
|
501
503
|
});
|
|
502
504
|
};
|
|
503
|
-
var INITIAL_STATE = createSelectedIdsReducerInitialState();
|
|
505
|
+
var INITIAL_STATE$2 = createSelectedIdsReducerInitialState();
|
|
504
506
|
var createSelectedIdsReducer = function () { return function (state, action) {
|
|
505
|
-
if (state === void 0) { state = INITIAL_STATE; }
|
|
507
|
+
if (state === void 0) { state = INITIAL_STATE$2; }
|
|
506
508
|
switch (action.type) {
|
|
507
509
|
case "SELECTED_IDS:SET_SELECTED_IDS": {
|
|
508
510
|
var selectedIds = action.selectedIds;
|
|
@@ -580,17 +582,16 @@ var createSortOrderReducerInitialState = function (sortBy, desc) {
|
|
|
580
582
|
desc: desc,
|
|
581
583
|
});
|
|
582
584
|
};
|
|
583
|
-
var INITIAL_STATE
|
|
585
|
+
var INITIAL_STATE = {
|
|
584
586
|
sortBy: undefined,
|
|
585
587
|
desc: false,
|
|
586
588
|
};
|
|
587
589
|
var createSortOrderReducer = function () { return function (state, action) {
|
|
588
|
-
if (state === void 0) { state = INITIAL_STATE
|
|
590
|
+
if (state === void 0) { state = INITIAL_STATE; }
|
|
589
591
|
switch (action.type) {
|
|
590
592
|
case "SORT_ORDER:SET_SORT_BY": {
|
|
591
593
|
var sortBy = action.sortBy, desc = action.desc;
|
|
592
|
-
return __assign(__assign({}, state), { sortBy: sortBy,
|
|
593
|
-
desc: desc });
|
|
594
|
+
return __assign(__assign({}, state), { sortBy: sortBy, desc: desc });
|
|
594
595
|
}
|
|
595
596
|
case "SORT_ORDER:CLEAR_SORT_ORDER": {
|
|
596
597
|
return __assign(__assign({}, state), { sortBy: undefined, desc: false });
|
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 = (): 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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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stenajs-webui/redux",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "15.0.0-alpha.3",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "mattias800",
|
|
6
6
|
"license": "MIT",
|
|
@@ -19,7 +19,6 @@
|
|
|
19
19
|
},
|
|
20
20
|
"scripts": {
|
|
21
21
|
"test": "jest",
|
|
22
|
-
"test:watch": "react-scripts-ts test --env=jsdom",
|
|
23
22
|
"build": "rollup -c",
|
|
24
23
|
"start": "rollup -c -w",
|
|
25
24
|
"clean": "rm -rf dist",
|
|
@@ -47,5 +46,5 @@
|
|
|
47
46
|
"files": [
|
|
48
47
|
"dist"
|
|
49
48
|
],
|
|
50
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "2227ddfa28e11eb8b41680250cc2659a5b5afbdc"
|
|
51
50
|
}
|