@ngrx-traits/common 12.2.0 → 13.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/crud-entities/crud-entities.model.d.ts +1 -3
- package/entities-pagination/entities-pagination.model.d.ts +8 -11
- package/entities-pagination/entities-pagination.model.internal.d.ts +9 -1
- package/entities-pagination/entities-pagination.trait.d.ts +4 -5
- package/esm2020/async-action/async-action.model.mjs +2 -0
- package/esm2020/async-action/async-action.trait.mjs +110 -0
- package/esm2020/async-action/index.mjs +3 -0
- package/esm2020/crud-entities/crud-entities.model.mjs +8 -0
- package/esm2020/crud-entities/crud-entities.trait.actions.mjs +20 -0
- package/esm2020/crud-entities/crud-entities.trait.mjs +57 -0
- package/esm2020/crud-entities/crud-entities.trait.mutators.mjs +121 -0
- package/esm2020/crud-entities/crud-entities.trait.reducer.mjs +17 -0
- package/esm2020/crud-entities/crud-entities.trait.selectors.mjs +54 -0
- package/esm2020/crud-entities/index.mjs +3 -0
- package/esm2020/entities-pagination/entities-pagination.model.internal.mjs +2 -0
- package/esm2020/entities-pagination/entities-pagination.model.mjs +2 -0
- package/esm2020/entities-pagination/entities-pagination.trait.actions.mjs +20 -0
- package/esm2020/entities-pagination/entities-pagination.trait.effects.mjs +62 -0
- package/esm2020/entities-pagination/entities-pagination.trait.mjs +93 -0
- package/esm2020/entities-pagination/entities-pagination.trait.mutators.mjs +55 -0
- package/esm2020/entities-pagination/entities-pagination.trait.reducer.mjs +87 -0
- package/esm2020/entities-pagination/entities-pagination.trait.selectors.mjs +84 -0
- package/esm2020/entities-pagination/index.mjs +3 -0
- package/esm2020/filter-entities/filter-entities.model.internal.mjs +2 -0
- package/esm2020/filter-entities/filter-entities.model.mjs +2 -0
- package/esm2020/filter-entities/filter-entities.trait.actions.mjs +16 -0
- package/esm2020/filter-entities/filter-entities.trait.effect.mjs +59 -0
- package/esm2020/filter-entities/filter-entities.trait.mjs +73 -0
- package/esm2020/filter-entities/filter-entities.trait.mutators.mjs +10 -0
- package/esm2020/filter-entities/filter-entities.trait.reducer.mjs +11 -0
- package/esm2020/filter-entities/filter-entities.trait.selectors.mjs +9 -0
- package/esm2020/filter-entities/index.mjs +3 -0
- package/esm2020/index.mjs +12 -0
- package/esm2020/load-entities/index.mjs +3 -0
- package/esm2020/load-entities/load-entities.model.mjs +2 -0
- package/esm2020/load-entities/load-entities.mutators.mjs +7 -0
- package/esm2020/load-entities/load-entities.trait.actions.mjs +10 -0
- package/esm2020/load-entities/load-entities.trait.mjs +62 -0
- package/esm2020/load-entities/load-entities.trait.reducer.mjs +27 -0
- package/esm2020/load-entities/load-entities.trait.selectors.mjs +38 -0
- package/esm2020/load-entities/load-entities.utils.mjs +10 -0
- package/esm2020/load-entity/index.mjs +3 -0
- package/esm2020/load-entity/load-entity.model.mjs +2 -0
- package/esm2020/load-entity/load-entity.traits.mjs +74 -0
- package/esm2020/ngrx-traits-common.mjs +5 -0
- package/esm2020/public_api.mjs +2 -0
- package/esm2020/reset/index.mjs +2 -0
- package/esm2020/reset/reset.trait.mjs +39 -0
- package/esm2020/select-entities/index.mjs +4 -0
- package/esm2020/select-entities/select-entities.model.mjs +2 -0
- package/esm2020/select-entities/select-entities.trait.actions.mjs +11 -0
- package/esm2020/select-entities/select-entities.trait.mjs +54 -0
- package/esm2020/select-entities/select-entities.trait.mutators.mjs +27 -0
- package/esm2020/select-entities/select-entities.trait.reducer.mjs +42 -0
- package/esm2020/select-entities/select-entities.trait.selectors.mjs +28 -0
- package/esm2020/select-entities/select-entities.utils.mjs +30 -0
- package/esm2020/select-entity/index.mjs +3 -0
- package/esm2020/select-entity/select-entity.model.mjs +2 -0
- package/esm2020/select-entity/select-entity.trait.actions.mjs +9 -0
- package/esm2020/select-entity/select-entity.trait.mjs +51 -0
- package/esm2020/select-entity/select-entity.trait.mutators.mjs +26 -0
- package/esm2020/select-entity/select-entity.trait.reducer.mjs +35 -0
- package/esm2020/select-entity/select-entity.trait.selectors.mjs +13 -0
- package/esm2020/set-entity/index.mjs +3 -0
- package/esm2020/set-entity/set-entity.model.mjs +2 -0
- package/esm2020/set-entity/set-entity.trait.mjs +58 -0
- package/esm2020/sort-entities/index.mjs +4 -0
- package/esm2020/sort-entities/sort-entities.model.mjs +2 -0
- package/esm2020/sort-entities/sort-entities.trait.actions.mjs +8 -0
- package/esm2020/sort-entities/sort-entities.trait.effect.mjs +28 -0
- package/esm2020/sort-entities/sort-entities.trait.mjs +59 -0
- package/esm2020/sort-entities/sort-entities.trait.mutators.mjs +17 -0
- package/esm2020/sort-entities/sort-entities.trait.reducer.mjs +28 -0
- package/esm2020/sort-entities/sort-entities.trait.selectors.mjs +9 -0
- package/esm2020/sort-entities/sort-entities.utils.mjs +63 -0
- package/fesm2015/{ngrx-traits-common.js → ngrx-traits-common.mjs} +61 -82
- package/fesm2015/ngrx-traits-common.mjs.map +1 -0
- package/fesm2020/ngrx-traits-common.mjs +1747 -0
- package/fesm2020/ngrx-traits-common.mjs.map +1 -0
- package/load-entity/load-entity.traits.d.ts +1 -1
- package/package.json +27 -15
- package/reset/reset.trait.d.ts +3 -4
- package/set-entity/set-entity.trait.d.ts +1 -1
- package/bundles/ngrx-traits-common.umd.js +0 -2194
- package/bundles/ngrx-traits-common.umd.js.map +0 -1
- package/esm2015/async-action/async-action.model.js +0 -2
- package/esm2015/async-action/async-action.model.js.map +0 -1
- package/esm2015/async-action/async-action.trait.js +0 -101
- package/esm2015/async-action/async-action.trait.js.map +0 -1
- package/esm2015/async-action/index.js +0 -3
- package/esm2015/async-action/index.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.model.js +0 -8
- package/esm2015/crud-entities/crud-entities.model.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.trait.actions.js +0 -20
- package/esm2015/crud-entities/crud-entities.trait.actions.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.trait.js +0 -57
- package/esm2015/crud-entities/crud-entities.trait.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.trait.mutators.js +0 -101
- package/esm2015/crud-entities/crud-entities.trait.mutators.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.trait.reducer.js +0 -15
- package/esm2015/crud-entities/crud-entities.trait.reducer.js.map +0 -1
- package/esm2015/crud-entities/crud-entities.trait.selectors.js +0 -70
- package/esm2015/crud-entities/crud-entities.trait.selectors.js.map +0 -1
- package/esm2015/crud-entities/index.js +0 -3
- package/esm2015/crud-entities/index.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.model.internal.js +0 -2
- package/esm2015/entities-pagination/entities-pagination.model.internal.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.model.js +0 -2
- package/esm2015/entities-pagination/entities-pagination.model.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.actions.js +0 -20
- package/esm2015/entities-pagination/entities-pagination.trait.actions.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.effects.js +0 -54
- package/esm2015/entities-pagination/entities-pagination.trait.effects.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.js +0 -94
- package/esm2015/entities-pagination/entities-pagination.trait.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.mutators.js +0 -23
- package/esm2015/entities-pagination/entities-pagination.trait.mutators.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.reducer.js +0 -33
- package/esm2015/entities-pagination/entities-pagination.trait.reducer.js.map +0 -1
- package/esm2015/entities-pagination/entities-pagination.trait.selectors.js +0 -65
- package/esm2015/entities-pagination/entities-pagination.trait.selectors.js.map +0 -1
- package/esm2015/entities-pagination/index.js +0 -3
- package/esm2015/entities-pagination/index.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.model.internal.js +0 -2
- package/esm2015/filter-entities/filter-entities.model.internal.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.model.js +0 -2
- package/esm2015/filter-entities/filter-entities.model.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.actions.js +0 -16
- package/esm2015/filter-entities/filter-entities.trait.actions.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.effect.js +0 -56
- package/esm2015/filter-entities/filter-entities.trait.effect.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.js +0 -73
- package/esm2015/filter-entities/filter-entities.trait.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.mutators.js +0 -7
- package/esm2015/filter-entities/filter-entities.trait.mutators.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.reducer.js +0 -9
- package/esm2015/filter-entities/filter-entities.trait.reducer.js.map +0 -1
- package/esm2015/filter-entities/filter-entities.trait.selectors.js +0 -9
- package/esm2015/filter-entities/filter-entities.trait.selectors.js.map +0 -1
- package/esm2015/filter-entities/index.js +0 -3
- package/esm2015/filter-entities/index.js.map +0 -1
- package/esm2015/index.js +0 -12
- package/esm2015/index.js.map +0 -1
- package/esm2015/load-entities/index.js +0 -3
- package/esm2015/load-entities/index.js.map +0 -1
- package/esm2015/load-entities/load-entities.model.js +0 -2
- package/esm2015/load-entities/load-entities.model.js.map +0 -1
- package/esm2015/load-entities/load-entities.mutators.js +0 -8
- package/esm2015/load-entities/load-entities.mutators.js.map +0 -1
- package/esm2015/load-entities/load-entities.trait.actions.js +0 -10
- package/esm2015/load-entities/load-entities.trait.actions.js.map +0 -1
- package/esm2015/load-entities/load-entities.trait.js +0 -62
- package/esm2015/load-entities/load-entities.trait.js.map +0 -1
- package/esm2015/load-entities/load-entities.trait.reducer.js +0 -12
- package/esm2015/load-entities/load-entities.trait.reducer.js.map +0 -1
- package/esm2015/load-entities/load-entities.trait.selectors.js +0 -33
- package/esm2015/load-entities/load-entities.trait.selectors.js.map +0 -1
- package/esm2015/load-entities/load-entities.utils.js +0 -10
- package/esm2015/load-entities/load-entities.utils.js.map +0 -1
- package/esm2015/load-entity/index.js +0 -3
- package/esm2015/load-entity/index.js.map +0 -1
- package/esm2015/load-entity/load-entity.model.js +0 -2
- package/esm2015/load-entity/load-entity.model.js.map +0 -1
- package/esm2015/load-entity/load-entity.traits.js +0 -71
- package/esm2015/load-entity/load-entity.traits.js.map +0 -1
- package/esm2015/ngrx-traits-common.js +0 -5
- package/esm2015/ngrx-traits-common.js.map +0 -1
- package/esm2015/public_api.js +0 -2
- package/esm2015/public_api.js.map +0 -1
- package/esm2015/reset/index.js +0 -2
- package/esm2015/reset/index.js.map +0 -1
- package/esm2015/reset/reset.trait.js +0 -69
- package/esm2015/reset/reset.trait.js.map +0 -1
- package/esm2015/select-entities/index.js +0 -4
- package/esm2015/select-entities/index.js.map +0 -1
- package/esm2015/select-entities/select-entities.model.js +0 -2
- package/esm2015/select-entities/select-entities.model.js.map +0 -1
- package/esm2015/select-entities/select-entities.trait.actions.js +0 -11
- package/esm2015/select-entities/select-entities.trait.actions.js.map +0 -1
- package/esm2015/select-entities/select-entities.trait.js +0 -54
- package/esm2015/select-entities/select-entities.trait.js.map +0 -1
- package/esm2015/select-entities/select-entities.trait.mutators.js +0 -21
- package/esm2015/select-entities/select-entities.trait.mutators.js.map +0 -1
- package/esm2015/select-entities/select-entities.trait.reducer.js +0 -40
- package/esm2015/select-entities/select-entities.trait.reducer.js.map +0 -1
- package/esm2015/select-entities/select-entities.trait.selectors.js +0 -28
- package/esm2015/select-entities/select-entities.trait.selectors.js.map +0 -1
- package/esm2015/select-entities/select-entities.utils.js +0 -25
- package/esm2015/select-entities/select-entities.utils.js.map +0 -1
- package/esm2015/select-entity/index.js +0 -3
- package/esm2015/select-entity/index.js.map +0 -1
- package/esm2015/select-entity/select-entity.model.js +0 -2
- package/esm2015/select-entity/select-entity.model.js.map +0 -1
- package/esm2015/select-entity/select-entity.trait.actions.js +0 -9
- package/esm2015/select-entity/select-entity.trait.actions.js.map +0 -1
- package/esm2015/select-entity/select-entity.trait.js +0 -51
- package/esm2015/select-entity/select-entity.trait.js.map +0 -1
- package/esm2015/select-entity/select-entity.trait.mutators.js +0 -17
- package/esm2015/select-entity/select-entity.trait.mutators.js.map +0 -1
- package/esm2015/select-entity/select-entity.trait.reducer.js +0 -26
- package/esm2015/select-entity/select-entity.trait.reducer.js.map +0 -1
- package/esm2015/select-entity/select-entity.trait.selectors.js +0 -13
- package/esm2015/select-entity/select-entity.trait.selectors.js.map +0 -1
- package/esm2015/set-entity/index.js +0 -3
- package/esm2015/set-entity/index.js.map +0 -1
- package/esm2015/set-entity/set-entity.model.js +0 -2
- package/esm2015/set-entity/set-entity.model.js.map +0 -1
- package/esm2015/set-entity/set-entity.trait.js +0 -55
- package/esm2015/set-entity/set-entity.trait.js.map +0 -1
- package/esm2015/sort-entities/index.js +0 -4
- package/esm2015/sort-entities/index.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.model.js +0 -2
- package/esm2015/sort-entities/sort-entities.model.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.actions.js +0 -8
- package/esm2015/sort-entities/sort-entities.trait.actions.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.effect.js +0 -28
- package/esm2015/sort-entities/sort-entities.trait.effect.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.js +0 -59
- package/esm2015/sort-entities/sort-entities.trait.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.mutators.js +0 -13
- package/esm2015/sort-entities/sort-entities.trait.mutators.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.reducer.js +0 -22
- package/esm2015/sort-entities/sort-entities.trait.reducer.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.trait.selectors.js +0 -10
- package/esm2015/sort-entities/sort-entities.trait.selectors.js.map +0 -1
- package/esm2015/sort-entities/sort-entities.utils.js +0 -63
- package/esm2015/sort-entities/sort-entities.utils.js.map +0 -1
- package/fesm2015/ngrx-traits-common.js.map +0 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { createTraitFactory, insertIf } from '@ngrx-traits/core';
|
|
2
|
+
import { createAction, createReducer, on } from '@ngrx/store';
|
|
3
|
+
/**
|
|
4
|
+
* Generates the ngrx code needed to reset the current state to the initial state.
|
|
5
|
+
* @param traitConfig - Config object fot the trait factory
|
|
6
|
+
* @param traitConfig.resetOn - set an extra action which will also trigger a reset state,
|
|
7
|
+
* useful if you want to create an action that reset several features states
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* // The following trait config
|
|
11
|
+
*
|
|
12
|
+
* export interface TestState
|
|
13
|
+
* extends EntityAndStatusState<Todo>,FilterState<TodoFilter>{}
|
|
14
|
+
*
|
|
15
|
+
* const traits = createEntityFeatureFactory(
|
|
16
|
+
* addLoadEntitiesTrait<Todo>(),
|
|
17
|
+
* addResetEntitiesStateTrait()
|
|
18
|
+
* )({
|
|
19
|
+
* actionsGroupKey: '[Todos]',
|
|
20
|
+
* featureSelector: createFeatureSelector<TestState>>(
|
|
21
|
+
* 'todos',
|
|
22
|
+
* ),
|
|
23
|
+
* });
|
|
24
|
+
* // generated actions
|
|
25
|
+
* traits.actions.resetTodosState()
|
|
26
|
+
*/
|
|
27
|
+
export function addResetEntitiesStateTrait(traitConfig = {}) {
|
|
28
|
+
return createTraitFactory({
|
|
29
|
+
key: 'reset',
|
|
30
|
+
config: traitConfig,
|
|
31
|
+
actions: ({ actionsGroupKey, entitiesName, }) => ({
|
|
32
|
+
resetEntitiesState: createAction(`${actionsGroupKey} Reset ${entitiesName} State`),
|
|
33
|
+
}),
|
|
34
|
+
reducer: ({ allActions, initialState }) => createReducer(initialState, on(allActions.resetEntitiesState, () => initialState), ...insertIf(traitConfig.resetOn, () =>
|
|
35
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
36
|
+
on(...traitConfig.resetOn, () => initialState))),
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQudHJhaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3Jlc2V0L3Jlc2V0LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUdqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFPckU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBdUJHO0FBQ0gsTUFBTSxVQUFVLDBCQUEwQixDQUN4QyxjQUVJLEVBQUU7SUFFTixPQUFPLGtCQUFrQixDQUFDO1FBQ3hCLEdBQUcsRUFBRSxPQUFPO1FBQ1osTUFBTSxFQUFFLFdBQVc7UUFDbkIsT0FBTyxFQUFFLENBQUMsRUFDUixlQUFlLEVBQ2YsWUFBWSxHQUNjLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDaEMsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixHQUFHLGVBQWUsVUFBVSxZQUFZLFFBQVEsQ0FDakQ7U0FDRixDQUFDO1FBQ0YsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxDQUN4QyxhQUFhLENBQ1gsWUFBWSxFQUNaLEVBQUUsQ0FBQyxVQUFVLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQ3JELEdBQUcsUUFBUSxDQUFzQixXQUFXLENBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRTtRQUN6RCxvRUFBb0U7UUFDcEUsRUFBRSxDQUFDLEdBQUcsV0FBVyxDQUFDLE9BQVEsRUFBRSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsQ0FDaEQsQ0FDRjtLQUNKLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnksIGluc2VydElmIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgR2VuZXJpY0FjdGlvbkNyZWF0b3IgfSBmcm9tICcuLi9sb2FkLWVudGl0aWVzJztcbmltcG9ydCB7IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRyYWl0RWZmZWN0IH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tICdAbmdyeC9lZmZlY3RzJztcbmltcG9ydCB7IG1hcFRvIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciwgVHlwZWRBY3Rpb24gfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgdGhlIG5ncnggY29kZSBuZWVkZWQgdG8gcmVzZXQgdGhlIGN1cnJlbnQgc3RhdGUgdG8gdGhlIGluaXRpYWwgc3RhdGUuXG4gKiBAcGFyYW0gdHJhaXRDb25maWcgLSBDb25maWcgb2JqZWN0IGZvdCB0aGUgdHJhaXQgZmFjdG9yeVxuICogQHBhcmFtIHRyYWl0Q29uZmlnLnJlc2V0T24gLSBzZXQgYW4gZXh0cmEgYWN0aW9uIHdoaWNoIHdpbGwgYWxzbyB0cmlnZ2VyIGEgcmVzZXQgc3RhdGUsXG4gKiB1c2VmdWwgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGFuIGFjdGlvbiB0aGF0IHJlc2V0IHNldmVyYWwgZmVhdHVyZXMgc3RhdGVzXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBmb2xsb3dpbmcgdHJhaXQgY29uZmlnXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgRW50aXR5QW5kU3RhdHVzU3RhdGU8VG9kbz4sRmlsdGVyU3RhdGU8VG9kb0ZpbHRlcj57fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICBhZGRMb2FkRW50aXRpZXNUcmFpdDxUb2RvPigpLFxuICogICAgICBhZGRSZXNldEVudGl0aWVzU3RhdGVUcmFpdCgpXG4gKiAgICApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnW1RvZG9zXScsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFRlc3RTdGF0ZT4+KFxuICogICAgICAgICd0b2RvcycsXG4gKiAgICAgICksXG4gKiAgICB9KTtcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5yZXNldFRvZG9zU3RhdGUoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkUmVzZXRFbnRpdGllc1N0YXRlVHJhaXQoXG4gIHRyYWl0Q29uZmlnOiB7XG4gICAgcmVzZXRPbj86IHJlYWRvbmx5IEFjdGlvbkNyZWF0b3JbXTtcbiAgfSA9IHt9XG4pIHtcbiAgcmV0dXJuIGNyZWF0ZVRyYWl0RmFjdG9yeSh7XG4gICAga2V5OiAncmVzZXQnLFxuICAgIGNvbmZpZzogdHJhaXRDb25maWcsXG4gICAgYWN0aW9uczogKHtcbiAgICAgIGFjdGlvbnNHcm91cEtleSxcbiAgICAgIGVudGl0aWVzTmFtZSxcbiAgICB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PiAoe1xuICAgICAgcmVzZXRFbnRpdGllc1N0YXRlOiBjcmVhdGVBY3Rpb24oXG4gICAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gUmVzZXQgJHtlbnRpdGllc05hbWV9IFN0YXRlYFxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZWR1Y2VyOiAoeyBhbGxBY3Rpb25zLCBpbml0aWFsU3RhdGUgfSkgPT5cbiAgICAgIGNyZWF0ZVJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgb24oYWxsQWN0aW9ucy5yZXNldEVudGl0aWVzU3RhdGUsICgpID0+IGluaXRpYWxTdGF0ZSksXG4gICAgICAgIC4uLmluc2VydElmPHR5cGVvZiBpbml0aWFsU3RhdGU+KHRyYWl0Q29uZmlnLnJlc2V0T24sICgpID0+XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICBvbiguLi50cmFpdENvbmZpZy5yZXNldE9uISwgKCkgPT4gaW5pdGlhbFN0YXRlKVxuICAgICAgICApXG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './select-entities.model';
|
|
2
|
+
export * from './select-entities.trait';
|
|
3
|
+
export * from './select-entities.utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIFR5cGVkQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RW50aXRpZXNTdGF0ZSB7XG4gIHNlbGVjdGVkSWRzOiBEaWN0aW9uYXJ5PGJvb2xlYW4+O1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdGllc0FjdGlvbnMgPSB7XG4gIHNlbGVjdEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHtcbiAgICAgIGlkOiBudW1iZXIgfCBzdHJpbmc7XG4gICAgfSkgPT4geyBpZDogbnVtYmVyIHwgc3RyaW5nIH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIGRlc2VsZWN0RW50aXRpZXM6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczoge1xuICAgICAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgICB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cbiAgPjtcbiAgdG9nZ2xlU2VsZWN0RW50aXRpZXM6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczoge1xuICAgICAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgICB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cbiAgPjtcbiAgdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXM6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PiA9IHtcbiAgaXNBbGxFbnRpdGllc1NlbGVjdGVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4gICkgPT4gU2VsZWN0ZWQ7XG4gIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRNYXA6IChcbiAgICBzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgKSA9PiBEaWN0aW9uYXJ5PGJvb2xlYW4+O1xuICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTGlzdDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICApID0+IG51bWJlcltdIHwgc3RyaW5nW107XG4gIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRNYXA6IChcbiAgICBzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgKSA9PiBEaWN0aW9uYXJ5PEVudGl0eT47XG4gIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRMaXN0OiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4gICkgPT4gRW50aXR5W107XG4gIHNlbGVjdFRvdGFsU2VsZWN0ZWRFbnRpdGllczogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICApID0+IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PiA9IHtcbiAgc2VsZWN0RW50aXRpZXM6IDxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgc3RhdGU6IFNcbiAgKSA9PiBTO1xuXG4gIGRlc2VsZWN0RW50aXRpZXM8UyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nLFxuICAgIHN0YXRlOiBTXG4gICk6IFM7XG5cbiAgdG9nZ2xlU2VsZWN0RW50aXRpZXM8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4gID4oXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICBzdGF0ZTogU1xuICApOiBTO1xuXG4gIHRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICA+KFxuICAgIHN0YXRlOiBTXG4gICk6IFM7XG5cbiAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgPihcbiAgICBzdGF0ZTogU1xuICApOiBTO1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0ZWQgPSAnYWxsJyB8ICdzb21lJyB8ICdub25lJztcbiJdfQ==
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { createAction, props } from '@ngrx/store';
|
|
2
|
+
export function createSelectEntitiesTraitActions(actionsGroupKey, entitiesName) {
|
|
3
|
+
return {
|
|
4
|
+
selectEntities: createAction(`${actionsGroupKey} Select ${entitiesName}`, props()),
|
|
5
|
+
deselectEntities: createAction(`${actionsGroupKey} Deselect ${entitiesName}`, props()),
|
|
6
|
+
toggleSelectEntities: createAction(`${actionsGroupKey} Toggle Select ${entitiesName}`, props()),
|
|
7
|
+
toggleSelectAllEntities: createAction(`${actionsGroupKey} Toggle Select All ${entitiesName}`),
|
|
8
|
+
clearEntitiesSelection: createAction(`${actionsGroupKey} Clear ${entitiesName} Selection`),
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LmFjdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9zZWxlY3QtZW50aXRpZXMudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLGVBQXVCLEVBQ3ZCLFlBQW9CO0lBRXBCLE9BQU87UUFDTCxjQUFjLEVBQUUsWUFBWSxDQUMxQixHQUFHLGVBQWUsV0FBVyxZQUFZLEVBQUUsRUFDM0MsS0FBSyxFQUEyQixDQUNqQztRQUNELGdCQUFnQixFQUFFLFlBQVksQ0FDNUIsR0FBRyxlQUFlLGFBQWEsWUFBWSxFQUFFLEVBQzdDLEtBQUssRUFBMkIsQ0FDakM7UUFDRCxvQkFBb0IsRUFBRSxZQUFZLENBQ2hDLEdBQUcsZUFBZSxrQkFBa0IsWUFBWSxFQUFFLEVBQ2xELEtBQUssRUFBMkIsQ0FDakM7UUFDRCx1QkFBdUIsRUFBRSxZQUFZLENBQ25DLEdBQUcsZUFBZSxzQkFBc0IsWUFBWSxFQUFFLENBQ3ZEO1FBQ0Qsc0JBQXNCLEVBQUUsWUFBWSxDQUNsQyxHQUFHLGVBQWUsVUFBVSxZQUFZLFlBQVksQ0FDckQ7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZUFjdGlvbiwgcHJvcHMgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBTZWxlY3RFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0QWN0aW9ucyhcbiAgYWN0aW9uc0dyb3VwS2V5OiBzdHJpbmcsXG4gIGVudGl0aWVzTmFtZTogc3RyaW5nXG4pOiBTZWxlY3RFbnRpdGllc0FjdGlvbnMge1xuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0aWVzOiBjcmVhdGVBY3Rpb24oXG4gICAgICBgJHthY3Rpb25zR3JvdXBLZXl9IFNlbGVjdCAke2VudGl0aWVzTmFtZX1gLFxuICAgICAgcHJvcHM8eyBpZDogbnVtYmVyIHwgc3RyaW5nIH0+KClcbiAgICApLFxuICAgIGRlc2VsZWN0RW50aXRpZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gRGVzZWxlY3QgJHtlbnRpdGllc05hbWV9YCxcbiAgICAgIHByb3BzPHsgaWQ6IG51bWJlciB8IHN0cmluZyB9PigpXG4gICAgKSxcbiAgICB0b2dnbGVTZWxlY3RFbnRpdGllczogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBUb2dnbGUgU2VsZWN0ICR7ZW50aXRpZXNOYW1lfWAsXG4gICAgICBwcm9wczx7IGlkOiBudW1iZXIgfCBzdHJpbmcgfT4oKVxuICAgICksXG4gICAgdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXM6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gVG9nZ2xlIFNlbGVjdCBBbGwgJHtlbnRpdGllc05hbWV9YFxuICAgICksXG4gICAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBDbGVhciAke2VudGl0aWVzTmFtZX0gU2VsZWN0aW9uYFxuICAgICksXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { createSelectEntitiesTraitActions } from './select-entities.trait.actions';
|
|
2
|
+
import { createSelectEntitiesTraitSelectors } from './select-entities.trait.selectors';
|
|
3
|
+
import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
|
|
4
|
+
import { createTraitFactory } from '@ngrx-traits/core';
|
|
5
|
+
import { createSelectEntitiesInitialState, createSelectEntitiesTraitReducer, } from './select-entities.trait.reducer';
|
|
6
|
+
import { createSelectEntitiesTraitMutators } from './select-entities.trait.mutators';
|
|
7
|
+
/**
|
|
8
|
+
* Generates ngrx code to add multi selection to a list
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* // The following trait config
|
|
12
|
+
*
|
|
13
|
+
* export interface TestState
|
|
14
|
+
* extends EntityAndStatusState<Todo>,MultipleSelectionState{}
|
|
15
|
+
*
|
|
16
|
+
* const traits = createEntityFeatureFactory(
|
|
17
|
+
* addLoadEntitiesTrait<Todo>(),
|
|
18
|
+
* addSelectEntitiesTrait<Todo>()
|
|
19
|
+
* )({
|
|
20
|
+
* actionsGroupKey: '[Todos]',
|
|
21
|
+
* featureSelector: createFeatureSelector<TestState>>(
|
|
22
|
+
* 'todos',
|
|
23
|
+
* ),
|
|
24
|
+
* });
|
|
25
|
+
*
|
|
26
|
+
* // adds following props to the state:
|
|
27
|
+
* // selectedIds: Dictionary<boolean>;
|
|
28
|
+
*
|
|
29
|
+
* // generated actions
|
|
30
|
+
* traits.actions.selectTodos({id})
|
|
31
|
+
* traits.actions.deselectTodos({id})
|
|
32
|
+
* traits.actions.toggleSectTodos({id})
|
|
33
|
+
* traits.actions.toggleSelectAllTodos()
|
|
34
|
+
* traits.actions.clearTodosSelection()
|
|
35
|
+
* //generated selectors
|
|
36
|
+
* traits.selectors.isAllTodosSelected()
|
|
37
|
+
* traits.selectors.selectTodosIdsSelectedMap()
|
|
38
|
+
* traits.selectors.selectTodosIdsSelectedList()
|
|
39
|
+
* traits.selectors.selectTodosSelectedMap()
|
|
40
|
+
* traits.selectors.selectTodosSelectedList()
|
|
41
|
+
* traits.selectors.selectTotalSelectedTodos()
|
|
42
|
+
*/
|
|
43
|
+
export function addSelectEntitiesTrait() {
|
|
44
|
+
return createTraitFactory({
|
|
45
|
+
key: 'SelectEntities',
|
|
46
|
+
depends: [loadEntitiesTraitKey],
|
|
47
|
+
actions: ({ actionsGroupKey, entitiesName }) => createSelectEntitiesTraitActions(actionsGroupKey, entitiesName),
|
|
48
|
+
selectors: ({ previousSelectors }) => createSelectEntitiesTraitSelectors(previousSelectors),
|
|
49
|
+
initialState: ({ previousInitialState }) => createSelectEntitiesInitialState(previousInitialState),
|
|
50
|
+
mutators: ({ allSelectors }) => createSelectEntitiesTraitMutators(allSelectors),
|
|
51
|
+
reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs),
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBU3ZGLE9BQU8sRUFJTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW1DRztBQUNILE1BQU0sVUFBVSxzQkFBc0I7SUFDcEMsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsZ0JBQWdCO1FBQ3JCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQy9CLE9BQU8sRUFBRSxDQUFDLEVBQUUsZUFBZSxFQUFFLFlBQVksRUFBNkIsRUFBRSxFQUFFLENBQ3hFLGdDQUFnQyxDQUFDLGVBQWUsRUFBRSxZQUFZLENBQUM7UUFDakUsU0FBUyxFQUFFLENBQUMsRUFBRSxpQkFBaUIsRUFBK0IsRUFBRSxFQUFFLENBQ2hFLGtDQUFrQyxDQUNoQyxpQkFBa0QsQ0FDbkQ7UUFDSCxZQUFZLEVBQUUsQ0FBQyxFQUFFLG9CQUFvQixFQUFrQyxFQUFFLEVBQUUsQ0FDekUsZ0NBQWdDLENBQVMsb0JBQW9CLENBQUM7UUFDaEUsUUFBUSxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQW1DLEVBQUUsRUFBRSxDQUM5RCxpQ0FBaUMsQ0FDL0IsWUFBK0MsQ0FDaEQ7UUFDSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDakUsZ0NBQWdDLENBQzlCLFlBQVksRUFDWixVQUsyQixFQUMzQixXQUFXLEVBQ1gsVUFFaUMsQ0FDbEM7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdEFjdGlvbnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy50cmFpdC5hY3Rpb25zJztcbmltcG9ydCB7IFNvcnRFbnRpdGllc0FjdGlvbnMsIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnIH0gZnJvbSAnLi4vc29ydC1lbnRpdGllcyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0U2VsZWN0b3JzIH0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQuc2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzLFxuICBTZWxlY3RFbnRpdGllc0FjdGlvbnMsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnLFxufSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWcsXG4gIExvYWRFbnRpdGllc1NlbGVjdG9ycyxcbiAgbG9hZEVudGl0aWVzVHJhaXRLZXksXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBjcmVhdGVUcmFpdEZhY3RvcnkgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcy9jcnVkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlbGVjdEVudGl0aWVzSW5pdGlhbFN0YXRlLFxuICBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0UmVkdWNlcixcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQucmVkdWNlcic7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0TXV0YXRvcnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy50cmFpdC5tdXRhdG9ycyc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuaW1wb3J0IHtcbiAgVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFNlbGVjdG9yc0ZhY3RvcnlDb25maWcsXG4gIFRyYWl0U3RhdGVNdXRhdG9yc0ZhY3RvcnlDb25maWcsXG59IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcblxuLyoqXG4gKiBHZW5lcmF0ZXMgbmdyeCBjb2RlIHRvIGFkZCBtdWx0aSBzZWxlY3Rpb24gdG8gYSBsaXN0XG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBmb2xsb3dpbmcgdHJhaXQgY29uZmlnXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgRW50aXR5QW5kU3RhdHVzU3RhdGU8VG9kbz4sTXVsdGlwbGVTZWxlY3Rpb25TdGF0ZXt9XG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIGFkZExvYWRFbnRpdGllc1RyYWl0PFRvZG8+KCksXG4gKiAgICAgIGFkZFNlbGVjdEVudGl0aWVzVHJhaXQ8VG9kbz4oKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKlxuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICBzZWxlY3RlZElkczogRGljdGlvbmFyeTxib29sZWFuPjtcbiAqXG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMuc2VsZWN0VG9kb3Moe2lkfSlcbiAqIHRyYWl0cy5hY3Rpb25zLmRlc2VsZWN0VG9kb3Moe2lkfSlcbiAqIHRyYWl0cy5hY3Rpb25zLnRvZ2dsZVNlY3RUb2Rvcyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMudG9nZ2xlU2VsZWN0QWxsVG9kb3MoKVxuICogdHJhaXRzLmFjdGlvbnMuY2xlYXJUb2Rvc1NlbGVjdGlvbigpXG4gKiAvL2dlbmVyYXRlZCBzZWxlY3RvcnNcbiAqIHRyYWl0cy5zZWxlY3RvcnMuaXNBbGxUb2Rvc1NlbGVjdGVkKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NJZHNTZWxlY3RlZE1hcCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9zSWRzU2VsZWN0ZWRMaXN0KClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NTZWxlY3RlZE1hcCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9zU2VsZWN0ZWRMaXN0KClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG90YWxTZWxlY3RlZFRvZG9zKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFNlbGVjdEVudGl0aWVzVHJhaXQ8RW50aXR5PigpIHtcbiAgcmV0dXJuIGNyZWF0ZVRyYWl0RmFjdG9yeSh7XG4gICAga2V5OiAnU2VsZWN0RW50aXRpZXMnLFxuICAgIGRlcGVuZHM6IFtsb2FkRW50aXRpZXNUcmFpdEtleV0sXG4gICAgYWN0aW9uczogKHsgYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUgfTogVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRBY3Rpb25zKGFjdGlvbnNHcm91cEtleSwgZW50aXRpZXNOYW1lKSxcbiAgICBzZWxlY3RvcnM6ICh7IHByZXZpb3VzU2VsZWN0b3JzIH06IFRyYWl0U2VsZWN0b3JzRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRTZWxlY3RvcnM8RW50aXR5PihcbiAgICAgICAgcHJldmlvdXNTZWxlY3RvcnMgYXMgTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT5cbiAgICAgICksXG4gICAgaW5pdGlhbFN0YXRlOiAoeyBwcmV2aW91c0luaXRpYWxTdGF0ZSB9OiBUcmFpdEluaXRpYWxTdGF0ZUZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVTZWxlY3RFbnRpdGllc0luaXRpYWxTdGF0ZTxFbnRpdHk+KHByZXZpb3VzSW5pdGlhbFN0YXRlKSxcbiAgICBtdXRhdG9yczogKHsgYWxsU2VsZWN0b3JzIH06IFRyYWl0U3RhdGVNdXRhdG9yc0ZhY3RvcnlDb25maWcpID0+XG4gICAgICBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0TXV0YXRvcnM8RW50aXR5PihcbiAgICAgICAgYWxsU2VsZWN0b3JzIGFzIFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT5cbiAgICAgICksXG4gICAgcmVkdWNlcjogKHsgaW5pdGlhbFN0YXRlLCBhbGxBY3Rpb25zLCBhbGxNdXRhdG9ycywgYWxsQ29uZmlncyB9KSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgYWxsQWN0aW9ucyBhcyBTZWxlY3RFbnRpdGllc0FjdGlvbnMgJlxuICAgICAgICAgIENydWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBMb2FkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgICAgICAgIEZpbHRlckVudGl0aWVzQWN0aW9uczxhbnk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICAgICAgICBhbGxNdXRhdG9ycyxcbiAgICAgICAgYWxsQ29uZmlncyBhcyBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyAmXG4gICAgICAgICAgU29ydEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuICAgICAgKSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { toMap } from '@ngrx-traits/core';
|
|
2
|
+
import { clearEntitiesSelection, deselectEntities, selectEntities, toggleSelectEntities, } from './select-entities.utils';
|
|
3
|
+
export function createSelectEntitiesTraitMutators({ isAllEntitiesSelected, }) {
|
|
4
|
+
function toggleSelectAllEntities(state) {
|
|
5
|
+
const allSelected = isAllEntitiesSelected(state);
|
|
6
|
+
if (allSelected === 'all') {
|
|
7
|
+
return {
|
|
8
|
+
...state,
|
|
9
|
+
selectedIds: {},
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
return {
|
|
14
|
+
...state,
|
|
15
|
+
selectedIds: toMap(state.ids),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
return {
|
|
20
|
+
selectEntities,
|
|
21
|
+
deselectEntities,
|
|
22
|
+
toggleSelectEntities,
|
|
23
|
+
toggleSelectAllEntities,
|
|
24
|
+
clearEntitiesSelection,
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsb0JBQW9CLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsTUFBTSxVQUFVLGlDQUFpQyxDQUFTLEVBQ3hELHFCQUFxQixHQUNXO0lBQ2hDLFNBQVMsdUJBQXVCLENBRTlCLEtBQVE7UUFDUixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUU7WUFDekIsT0FBTztnQkFDTCxHQUFHLEtBQUs7Z0JBQ1IsV0FBVyxFQUFFLEVBQUU7YUFDaEIsQ0FBQztTQUNIO2FBQU07WUFDTCxPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDOUIsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxjQUFjO1FBQ2QsZ0JBQWdCO1FBQ2hCLG9CQUFvQjtRQUNwQix1QkFBdUI7UUFDdkIsc0JBQXNCO0tBQ3ZCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VsZWN0RW50aXRpZXNNdXRhdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnMsXG4gIFNlbGVjdEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IHRvTWFwIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHtcbiAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbixcbiAgZGVzZWxlY3RFbnRpdGllcyxcbiAgc2VsZWN0RW50aXRpZXMsXG4gIHRvZ2dsZVNlbGVjdEVudGl0aWVzLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy51dGlscyc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdE11dGF0b3JzPEVudGl0eT4oe1xuICBpc0FsbEVudGl0aWVzU2VsZWN0ZWQsXG59OiBTZWxlY3RFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+KTogU2VsZWN0RW50aXRpZXNNdXRhdG9yczxFbnRpdHk+IHtcbiAgZnVuY3Rpb24gdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXM8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4gID4oc3RhdGU6IFMpOiBTIHtcbiAgICBjb25zdCBhbGxTZWxlY3RlZCA9IGlzQWxsRW50aXRpZXNTZWxlY3RlZChzdGF0ZSk7XG4gICAgaWYgKGFsbFNlbGVjdGVkID09PSAnYWxsJykge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGVkSWRzOiB7fSxcbiAgICAgIH07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIC4uLnN0YXRlLFxuICAgICAgICBzZWxlY3RlZElkczogdG9NYXAoc3RhdGUuaWRzKSxcbiAgICAgIH07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdGllcyxcbiAgICBkZXNlbGVjdEVudGl0aWVzLFxuICAgIHRvZ2dsZVNlbGVjdEVudGl0aWVzLFxuICAgIHRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzLFxuICAgIGNsZWFyRW50aXRpZXNTZWxlY3Rpb24sXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { insertIf } from '@ngrx-traits/core';
|
|
2
|
+
import { createReducer, on } from '@ngrx/store';
|
|
3
|
+
export function createSelectEntitiesInitialState(previousInitialState) {
|
|
4
|
+
return {
|
|
5
|
+
...previousInitialState,
|
|
6
|
+
selectedIds: {},
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function createSelectEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs) {
|
|
10
|
+
const { adapter } = allConfigs.loadEntities;
|
|
11
|
+
const sortRemote = allConfigs.sort?.remote;
|
|
12
|
+
const paginationCacheType = allConfigs.pagination?.cacheType;
|
|
13
|
+
function updateSelectedIdsChanged(state, updates) {
|
|
14
|
+
const changedIds = updates.reduce((acc, updated) => {
|
|
15
|
+
const id = adapter.selectId(updated.changes);
|
|
16
|
+
if (id && id !== updated.id && state.selectedIds[updated.id] != null) {
|
|
17
|
+
acc.push(updated);
|
|
18
|
+
return acc;
|
|
19
|
+
}
|
|
20
|
+
return acc;
|
|
21
|
+
}, []);
|
|
22
|
+
if (changedIds.length) {
|
|
23
|
+
const selectedIds = { ...state.selectedIds };
|
|
24
|
+
changedIds.forEach((updated) => {
|
|
25
|
+
const id = adapter.selectId(updated.changes);
|
|
26
|
+
const value = selectedIds[updated.id];
|
|
27
|
+
delete selectedIds[updated.id];
|
|
28
|
+
selectedIds[id] = value;
|
|
29
|
+
});
|
|
30
|
+
return { ...state, selectedIds };
|
|
31
|
+
}
|
|
32
|
+
return state;
|
|
33
|
+
}
|
|
34
|
+
return createReducer(initialState, on(allActions.selectEntities, (state, { id }) => allMutators.selectEntities(id, state)), on(allActions.deselectEntities, (state, { id }) => allMutators.deselectEntities(id, state)), on(allActions.toggleSelectEntities, (state, { id }) => allMutators.toggleSelectEntities(id, state)), on(allActions.toggleSelectAllEntities, (state) => allMutators.toggleSelectAllEntities(state)), ...insertIf(allActions.removeEntities, () => on(allActions.removeEntities, (state, { keys }) => {
|
|
35
|
+
const selectedIds = { ...state.selectedIds };
|
|
36
|
+
keys.forEach((v) => {
|
|
37
|
+
delete selectedIds[v];
|
|
38
|
+
});
|
|
39
|
+
return { ...state, selectedIds };
|
|
40
|
+
})), ...insertIf(allActions.updateEntities, () => on(allActions.updateEntities, (state, { updates }) => updateSelectedIdsChanged(state, updates))), on(allActions.clearEntitiesSelection, (state) => allMutators.clearEntitiesSelection(state)), ...insertIf(allActions.removeAllEntities, () => on(allActions.removeAllEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(sortRemote, () => on(allActions.sortEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(allActions.filterEntities, () => on(allActions.filterEntities, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(!allActions.loadEntitiesPageSuccess, () => on(allActions.loadEntitiesSuccess, (state) => allMutators.clearEntitiesSelection(state))), ...insertIf(!!allActions.loadEntitiesPageSuccess && paginationCacheType === 'partial', () => on(allActions.loadEntitiesPageSuccess, (state) => allMutators.clearEntitiesSelection(state))));
|
|
41
|
+
}
|
|
42
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9zZWxlY3QtZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT2hELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsb0JBQXlCO0lBRXpCLE9BQU87UUFDTCxHQUFHLG9CQUFvQjtRQUN2QixXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FJOUMsWUFBZSxFQUNmLFVBSzJCLEVBQzNCLFdBQTJDLEVBQzNDLFVBRWlDO0lBRWpDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsWUFBYSxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzNDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7SUFFN0QsU0FBUyx3QkFBd0IsQ0FFL0IsS0FBUSxFQUFFLE9BQXlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJ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Q0FBQyxpQkFBaUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3pDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDRixFQUNELEdBQUcsUUFBUSxDQUFJLFVBQVUsRUFBRSxHQUFHLEVBQUUsQ0FDOUIsRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUNwQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLENBQ0YsRUFDRCxHQUFHLFFBQVEsQ0FBSSxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3RDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDRixFQUNELEdBQUcsUUFBUSxDQUFJLENBQUMsVUFBVSxDQUFDLHVCQUF1QixFQUFFLEdBQUcsRUFBRSxDQUN2RCxFQUFFLENBQUMsVUFBVSxDQUFDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDM0MsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQ1QsQ0FBQyxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsSUFBSSxtQkFBbUIsS0FBSyxTQUFTLEVBQ3pFLEdBQUcsRUFBRSxDQUNILEVBQUUsQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMvQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLENBQ0osQ0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNvcnRFbnRpdGllc0FjdGlvbnMsXG4gIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnLFxufSBmcm9tICcuLi9zb3J0LWVudGl0aWVzL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU2VsZWN0RW50aXRpZXNNdXRhdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNBY3Rpb25zLFxuICBTZWxlY3RFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcy9jcnVkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IFVwZGF0ZSB9IGZyb20gJ0BuZ3J4L2VudGl0eS9zcmMvbW9kZWxzJztcbmltcG9ydCB7IGluc2VydElmIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2ZpbHRlci1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc0luaXRpYWxTdGF0ZTxFbnRpdHk+KFxuICBwcmV2aW91c0luaXRpYWxTdGF0ZTogYW55XG4pOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZSB7XG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgc2VsZWN0ZWRJZHM6IHt9LFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFJlZHVjZXI8XG4gIEVudGl0eSxcbiAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4+KFxuICBpbml0aWFsU3RhdGU6IFMsXG4gIGFsbEFjdGlvbnM6IFNlbGVjdEVudGl0aWVzQWN0aW9ucyAmXG4gICAgQ3J1ZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBTb3J0RW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gIGFsbE11dGF0b3JzOiBTZWxlY3RFbnRpdGllc011dGF0b3JzPEVudGl0eT4sXG4gIGFsbENvbmZpZ3M6IExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnICZcbiAgICBTb3J0RW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4pIHtcbiAgY29uc3QgeyBhZGFwdGVyIH0gPSBhbGxDb25maWdzLmxvYWRFbnRpdGllcyE7XG4gIGNvbnN0IHNvcnRSZW1vdGUgPSBhbGxDb25maWdzLnNvcnQ/LnJlbW90ZTtcbiAgY29uc3QgcGFnaW5hdGlvbkNhY2hlVHlwZSA9IGFsbENvbmZpZ3MucGFnaW5hdGlvbj8uY2FjaGVUeXBlO1xuXG4gIGZ1bmN0aW9uIHVwZGF0ZVNlbGVjdGVkSWRzQ2hhbmdlZDxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgPihzdGF0ZTogUywgdXBkYXRlczogVXBkYXRlPEVudGl0eT5bXSkge1xuICAgIGNvbnN0IGNoYW5nZWRJZHMgPSB1cGRhdGVzLnJlZHVjZSgoYWNjLCB1cGRhdGVkKSA9PiB7XG4gICAgICBjb25zdCBpZCA9IGFkYXB0ZXIuc2VsZWN0SWQodXBkYXRlZC5jaGFuZ2VzIGFzIEVudGl0eSk7XG4gICAgICBpZiAoaWQgJiYgaWQgIT09IHVwZGF0ZWQuaWQgJiYgc3RhdGUuc2VsZWN0ZWRJZHNbdXBkYXRlZC5pZF0gIT0gbnVsbCkge1xuICAgICAgICBhY2MucHVzaCh1cGRhdGVkKTtcbiAgICAgICAgcmV0dXJuIGFjYztcbiAgICAgIH1cbiAgICAgIHJldHVybiBhY2M7XG4gICAgfSwgW10gYXMgVXBkYXRlPEVudGl0eT5bXSk7XG4gICAgaWYgKGNoYW5nZWRJZHMubGVuZ3RoKSB7XG4gICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHsgLi4uc3RhdGUuc2VsZWN0ZWRJZHMgfTtcbiAgICAgIGNoYW5nZWRJZHMuZm9yRWFjaCgodXBkYXRlZCkgPT4ge1xuICAgICAgICBjb25zdCBpZCA9IGFkYXB0ZXIuc2VsZWN0SWQodXBkYXRlZC5jaGFuZ2VzIGFzIEVudGl0eSk7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gc2VsZWN0ZWRJZHNbdXBkYXRlZC5pZF07XG4gICAgICAgIGRlbGV0ZSBzZWxlY3RlZElkc1t1cGRhdGVkLmlkXTtcbiAgICAgICAgc2VsZWN0ZWRJZHNbaWRdID0gdmFsdWU7XG4gICAgICB9KTtcbiAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzZWxlY3RlZElkcyB9O1xuICAgIH1cblxuICAgIHJldHVybiBzdGF0ZTtcbiAgfVxuXG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvbihhbGxBY3Rpb25zLnNlbGVjdEVudGl0aWVzLCAoc3RhdGUsIHsgaWQgfSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLnNlbGVjdEVudGl0aWVzKGlkLCBzdGF0ZSlcbiAgICApLFxuICAgIG9uKGFsbEFjdGlvbnMuZGVzZWxlY3RFbnRpdGllcywgKHN0YXRlLCB7IGlkIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0aWVzKGlkLCBzdGF0ZSlcbiAgICApLFxuICAgIG9uKGFsbEFjdGlvbnMudG9nZ2xlU2VsZWN0RW50aXRpZXMsIChzdGF0ZSwgeyBpZCB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMudG9nZ2xlU2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy50b2dnbGVTZWxlY3RBbGxFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgYWxsTXV0YXRvcnMudG9nZ2xlU2VsZWN0QWxsRW50aXRpZXMoc3RhdGUpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVFbnRpdGllcywgKHN0YXRlLCB7IGtleXMgfSkgPT4ge1xuICAgICAgICBjb25zdCBzZWxlY3RlZElkcyA9IHsgLi4uc3RhdGUuc2VsZWN0ZWRJZHMgfTtcbiAgICAgICAga2V5cy5mb3JFYWNoKCh2OiBzdHJpbmcgfCBudW1iZXIpID0+IHtcbiAgICAgICAgICBkZWxldGUgc2VsZWN0ZWRJZHNbdl07XG4gICAgICAgIH0pO1xuICAgICAgICByZXR1cm4geyAuLi5zdGF0ZSwgc2VsZWN0ZWRJZHMgfTtcbiAgICAgIH0pXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnVwZGF0ZUVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy51cGRhdGVFbnRpdGllcywgKHN0YXRlLCB7IHVwZGF0ZXMgfSkgPT5cbiAgICAgICAgdXBkYXRlU2VsZWN0ZWRJZHNDaGFuZ2VkKHN0YXRlLCB1cGRhdGVzKVxuICAgICAgKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy5jbGVhckVudGl0aWVzU2VsZWN0aW9uLCAoc3RhdGUpID0+XG4gICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMucmVtb3ZlQWxsRW50aXRpZXMsIChzdGF0ZSkgPT5cbiAgICAgICAgYWxsTXV0YXRvcnMuY2xlYXJFbnRpdGllc1NlbGVjdGlvbihzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KHNvcnRSZW1vdGUsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnNvcnRFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcywgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMuZmlsdGVyRW50aXRpZXMsIChzdGF0ZSkgPT5cbiAgICAgICAgYWxsTXV0YXRvcnMuY2xlYXJFbnRpdGllc1NlbGVjdGlvbihzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KCFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNTdWNjZXNzLCAoc3RhdGUpID0+XG4gICAgICAgIGFsbE11dGF0b3JzLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24oc3RhdGUpXG4gICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihcbiAgICAgICEhYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQYWdlU3VjY2VzcyAmJiBwYWdpbmF0aW9uQ2FjaGVUeXBlID09PSAncGFydGlhbCcsXG4gICAgICAoKSA9PlxuICAgICAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzLCAoc3RhdGUpID0+XG4gICAgICAgICAgYWxsTXV0YXRvcnMuY2xlYXJFbnRpdGllc1NlbGVjdGlvbihzdGF0ZSlcbiAgICAgICAgKVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createSelector } from '@ngrx/store';
|
|
2
|
+
import { selectTotalSelectedEntities } from './select-entities.utils';
|
|
3
|
+
export function createSelectEntitiesTraitSelectors(previousSelectors) {
|
|
4
|
+
const { selectEntitiesMap, selectEntitiesTotal } = previousSelectors;
|
|
5
|
+
function selectEntitiesIdsSelectedMap(state) {
|
|
6
|
+
return state.selectedIds;
|
|
7
|
+
}
|
|
8
|
+
const selectEntitiesIdsSelectedList = createSelector(selectEntitiesIdsSelectedMap, (ids) => Object.keys(ids));
|
|
9
|
+
const selectEntitiesSelectedMap = createSelector(selectEntitiesIdsSelectedList, selectEntitiesMap, (selectedIds, entities) => selectedIds.reduce((acum, id) => {
|
|
10
|
+
acum[id] = entities[id];
|
|
11
|
+
return acum;
|
|
12
|
+
}, {}));
|
|
13
|
+
const selectEntitiesSelectedList = createSelector(selectEntitiesIdsSelectedList, selectEntitiesMap, (selectedIds, entities) => selectedIds.map((id) => entities[id]));
|
|
14
|
+
const isAllEntitiesSelected = createSelector((state) => selectEntitiesTotal(state), selectTotalSelectedEntities, (total, totalSelected) => totalSelected > 0 && totalSelected === total
|
|
15
|
+
? 'all'
|
|
16
|
+
: totalSelected === 0
|
|
17
|
+
? 'none'
|
|
18
|
+
: 'some');
|
|
19
|
+
return {
|
|
20
|
+
selectEntitiesIdsSelectedMap,
|
|
21
|
+
selectEntitiesIdsSelectedList,
|
|
22
|
+
selectEntitiesSelectedMap,
|
|
23
|
+
selectEntitiesSelectedList,
|
|
24
|
+
selectTotalSelectedEntities,
|
|
25
|
+
isAllEntitiesSelected,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0aWVzL3NlbGVjdC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQVF0RSxNQUFNLFVBQVUsa0NBQWtDLENBQ2hELGlCQUFnRDtJQUVoRCxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQztJQUVyRSxTQUFTLDRCQUE0QixDQUNuQyxLQUFzRDtRQUV0RCxPQUFPLEtBQUssQ0FBQyxXQUFXLENBQUM7SUFDM0IsQ0FBQztJQUNELE1BQU0sNkJBQTZCLEdBQUcsY0FBYyxDQUNsRCw0QkFBNEIsRUFDNUIsQ0FBQyxHQUF3QixFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUMvQyxDQUFDO0lBQ0YsTUFBTSx5QkFBeUIsR0FBRyxjQUFjLENBQzlDLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FDeEIsV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQTBDLEVBQUUsRUFBRSxFQUFFLEVBQUU7UUFDcEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxHQUFHLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN4QixPQUFPLElBQUksQ0FBQztJQUNkLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FDVCxDQUFDO0lBQ0YsTUFBTSwwQkFBMEIsR0FBRyxjQUFjLENBQy9DLDZCQUE2QixFQUM3QixpQkFBaUIsRUFDakIsQ0FBQyxXQUFXLEVBQUUsUUFBUSxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFFLENBQUMsQ0FDbEUsQ0FBQztJQUVGLE1BQU0scUJBQXFCLEdBQUcsY0FBYyxDQUMxQyxDQUFDLEtBQXNELEVBQUUsRUFBRSxDQUN6RCxtQkFBbUIsQ0FBQyxLQUFLLENBQUMsRUFDNUIsMkJBQTJCLEVBQzNCLENBQUMsS0FBSyxFQUFFLGFBQWEsRUFBRSxFQUFFLENBQ3ZCLGFBQWEsR0FBRyxDQUFDLElBQUksYUFBYSxLQUFLLEtBQUs7UUFDMUMsQ0FBQyxDQUFDLEtBQUs7UUFDUCxDQUFDLENBQUMsYUFBYSxLQUFLLENBQUM7WUFDckIsQ0FBQyxDQUFDLE1BQU07WUFDUixDQUFDLENBQUMsTUFBTSxDQUNiLENBQUM7SUFFRixPQUFPO1FBQ0wsNEJBQTRCO1FBQzVCLDZCQUE2QjtRQUM3Qix5QkFBeUI7UUFDekIsMEJBQTBCO1FBQzFCLDJCQUEyQjtRQUMzQixxQkFBcUI7S0FDdEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVTZWxlY3RvciB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IHNlbGVjdFRvdGFsU2VsZWN0ZWRFbnRpdGllcyB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbmltcG9ydCB7XG4gIFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzLFxuICBTZWxlY3RFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTZWxlY3RvcnMsIExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5pbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5L3NyYy9tb2RlbHMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9yczxFbnRpdHk+KFxuICBwcmV2aW91c1NlbGVjdG9yczogTG9hZEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT5cbik6IFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4ge1xuICBjb25zdCB7IHNlbGVjdEVudGl0aWVzTWFwLCBzZWxlY3RFbnRpdGllc1RvdGFsIH0gPSBwcmV2aW91c1NlbGVjdG9ycztcblxuICBmdW5jdGlvbiBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICApIHtcbiAgICByZXR1cm4gc3RhdGUuc2VsZWN0ZWRJZHM7XG4gIH1cbiAgY29uc3Qgc2VsZWN0RW50aXRpZXNJZHNTZWxlY3RlZExpc3QgPSBjcmVhdGVTZWxlY3RvcihcbiAgICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwLFxuICAgIChpZHM6IERpY3Rpb25hcnk8Ym9vbGVhbj4pID0+IE9iamVjdC5rZXlzKGlkcylcbiAgKTtcbiAgY29uc3Qgc2VsZWN0RW50aXRpZXNTZWxlY3RlZE1hcCA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0LFxuICAgIHNlbGVjdEVudGl0aWVzTWFwLFxuICAgIChzZWxlY3RlZElkcywgZW50aXRpZXMpID0+XG4gICAgICBzZWxlY3RlZElkcy5yZWR1Y2UoKGFjdW06IHsgW2lkOiBzdHJpbmddOiBFbnRpdHkgfCB1bmRlZmluZWQgfSwgaWQpID0+IHtcbiAgICAgICAgYWN1bVtpZF0gPSBlbnRpdGllc1tpZF07XG4gICAgICAgIHJldHVybiBhY3VtO1xuICAgICAgfSwge30pXG4gICk7XG4gIGNvbnN0IHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRMaXN0ID0gY3JlYXRlU2VsZWN0b3IoXG4gICAgc2VsZWN0RW50aXRpZXNJZHNTZWxlY3RlZExpc3QsXG4gICAgc2VsZWN0RW50aXRpZXNNYXAsXG4gICAgKHNlbGVjdGVkSWRzLCBlbnRpdGllcykgPT4gc2VsZWN0ZWRJZHMubWFwKChpZCkgPT4gZW50aXRpZXNbaWRdISlcbiAgKTtcblxuICBjb25zdCBpc0FsbEVudGl0aWVzU2VsZWN0ZWQgPSBjcmVhdGVTZWxlY3RvcihcbiAgICAoc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlKSA9PlxuICAgICAgc2VsZWN0RW50aXRpZXNUb3RhbChzdGF0ZSksXG4gICAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzLFxuICAgICh0b3RhbCwgdG90YWxTZWxlY3RlZCkgPT5cbiAgICAgIHRvdGFsU2VsZWN0ZWQgPiAwICYmIHRvdGFsU2VsZWN0ZWQgPT09IHRvdGFsXG4gICAgICAgID8gJ2FsbCdcbiAgICAgICAgOiB0b3RhbFNlbGVjdGVkID09PSAwXG4gICAgICAgID8gJ25vbmUnXG4gICAgICAgIDogJ3NvbWUnXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwLFxuICAgIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0LFxuICAgIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRNYXAsXG4gICAgc2VsZWN0RW50aXRpZXNTZWxlY3RlZExpc3QsXG4gICAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzLFxuICAgIGlzQWxsRW50aXRpZXNTZWxlY3RlZCxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export function deselectEntities(id, state) {
|
|
2
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
3
|
+
const { [id]: _value, ...selectedIds } = state.selectedIds;
|
|
4
|
+
return {
|
|
5
|
+
...state,
|
|
6
|
+
selectedIds: selectedIds,
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
export function selectEntities(id, state) {
|
|
10
|
+
return {
|
|
11
|
+
...state,
|
|
12
|
+
selectedIds: { ...state.selectedIds, [id]: true },
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
export function toggleSelectEntities(id, state) {
|
|
16
|
+
const selected = state.selectedIds[id];
|
|
17
|
+
if (selected) {
|
|
18
|
+
return deselectEntities(id, state);
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
return selectEntities(id, state);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
export function clearEntitiesSelection(state) {
|
|
25
|
+
return { ...state, selectedIds: {} };
|
|
26
|
+
}
|
|
27
|
+
export function selectTotalSelectedEntities(state) {
|
|
28
|
+
return Object.keys(state.selectedIds).length;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsRUFBbUIsRUFDbkIsS0FBUTtJQUVSLDZEQUE2RDtJQUM3RCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzNELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixXQUFXLEVBQUUsV0FBVztLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEVBQW1CLEVBQ25CLEtBQVE7SUFFUixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxFQUFtQixFQUNuQixLQUFRO0lBRVIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxJQUFJLFFBQVEsRUFBRTtRQUNaLE9BQU8sZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDO0tBQ3BDO1NBQU07UUFDTCxPQUFPLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDbEM7QUFDSCxDQUFDO0FBQ0QsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxLQUFRO0lBRVIsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxFQUFFLEVBQUUsQ0FBQztBQUN2QyxDQUFDO0FBRUQsTUFBTSxVQUFVLDJCQUEyQixDQUd6QyxLQUFRO0lBQ1IsT0FBTyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxXQUFXLENBQUMsQ0FBQyxNQUFNLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdEVudGl0aWVzU3RhdGUgfSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZGVzZWxlY3RFbnRpdGllczxTIGV4dGVuZHMgU2VsZWN0RW50aXRpZXNTdGF0ZT4oXG4gIGlkOiBudW1iZXIgfCBzdHJpbmcsXG4gIHN0YXRlOiBTXG4pOiBTIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICBjb25zdCB7IFtpZF06IF92YWx1ZSwgLi4uc2VsZWN0ZWRJZHMgfSA9IHN0YXRlLnNlbGVjdGVkSWRzO1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHNlbGVjdGVkSWRzOiBzZWxlY3RlZElkcyxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgc3RhdGU6IFNcbik6IFMge1xuICByZXR1cm4ge1xuICAgIC4uLnN0YXRlLFxuICAgIHNlbGVjdGVkSWRzOiB7IC4uLnN0YXRlLnNlbGVjdGVkSWRzLCBbaWRdOiB0cnVlIH0sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVTZWxlY3RFbnRpdGllczxTIGV4dGVuZHMgU2VsZWN0RW50aXRpZXNTdGF0ZT4oXG4gIGlkOiBudW1iZXIgfCBzdHJpbmcsXG4gIHN0YXRlOiBTXG4pOiBTIHtcbiAgY29uc3Qgc2VsZWN0ZWQgPSBzdGF0ZS5zZWxlY3RlZElkc1tpZF07XG4gIGlmIChzZWxlY3RlZCkge1xuICAgIHJldHVybiBkZXNlbGVjdEVudGl0aWVzKGlkLCBzdGF0ZSk7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHNlbGVjdEVudGl0aWVzKGlkLCBzdGF0ZSk7XG4gIH1cbn1cbmV4cG9ydCBmdW5jdGlvbiBjbGVhckVudGl0aWVzU2VsZWN0aW9uPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgc3RhdGU6IFNcbik6IFMge1xuICByZXR1cm4geyAuLi5zdGF0ZSwgc2VsZWN0ZWRJZHM6IHt9IH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RUb3RhbFNlbGVjdGVkRW50aXRpZXM8XG4gIEVudGl0eSxcbiAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlXG4+KHN0YXRlOiBTKTogbnVtYmVyIHtcbiAgcmV0dXJuIE9iamVjdC5rZXlzKHN0YXRlLnNlbGVjdGVkSWRzKS5sZW5ndGg7XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './select-entity.trait';
|
|
2
|
+
export * from './select-entity.model';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const selectEntityTraitKey = 'singleSelection';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW1EQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIFR5cGVkQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5pbXBvcnQgeyBLZXllZENvbmZpZyB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RFbnRpdHlTdGF0ZSB7XG4gIHNlbGVjdGVkSWQ/OiBudW1iZXIgfCBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0eUFjdGlvbnMgPSB7XG4gIHNlbGVjdEVudGl0eTogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7XG4gICAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xuICAgIH0pID0+IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPlxuICA+O1xuICBkZXNlbGVjdEVudGl0eTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICB0b2dnbGVTZWxlY3RFbnRpdHk6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczoge1xuICAgICAgaWQ6IG51bWJlciB8IHN0cmluZztcbiAgICB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz5cbiAgPjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0eVNlbGVjdG9yczxUPiA9IHtcbiAgc2VsZWN0RW50aXR5SWRTZWxlY3RlZDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlXG4gICkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RFbnRpdHlTZWxlY3RlZDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlXG4gICkgPT4gVCB8IHVuZGVmaW5lZDtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0eU11dGF0b3JzPFQ+ID0ge1xuICBzZWxlY3RFbnRpdHk8UyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgU2VsZWN0RW50aXR5U3RhdGU+KFxuICAgIGlkOiBzdHJpbmcgfCBudW1iZXIsXG4gICAgc3RhdGU6IFNcbiAgKTogUztcbiAgZGVzZWxlY3RFbnRpdHk8UyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgU2VsZWN0RW50aXR5U3RhdGU+KFxuICAgIHN0YXRlOiBTXG4gICk6IFM7XG4gIHRvZ2dsZVNlbGVjdEVudGl0eTxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTZWxlY3RFbnRpdHlTdGF0ZT4oXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBzdGF0ZTogU1xuICApOiBTO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RFbnRpdHlDb25maWcge1xuICBzZWxlY3RlZElkPzogc3RyaW5nIHwgbnVtYmVyO1xufVxuXG5leHBvcnQgY29uc3Qgc2VsZWN0RW50aXR5VHJhaXRLZXkgPSAnc2luZ2xlU2VsZWN0aW9uJztcbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnID0gS2V5ZWRDb25maWc8XG4gIHR5cGVvZiBzZWxlY3RFbnRpdHlUcmFpdEtleSxcbiAgU2VsZWN0RW50aXR5Q29uZmlnXG4+O1xuIl19
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { createAction, props } from '@ngrx/store';
|
|
2
|
+
export function createSelectEntityTraitActions(actionsGroupKey, entityName) {
|
|
3
|
+
return {
|
|
4
|
+
selectEntity: createAction(`${actionsGroupKey} Select ${entityName}`, props()),
|
|
5
|
+
deselectEntity: createAction(`${actionsGroupKey} Deselect ${entityName}`),
|
|
6
|
+
toggleSelectEntity: createAction(`${actionsGroupKey} Toggle Select ${entityName}`, props()),
|
|
7
|
+
};
|
|
8
|
+
}
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXR5L3NlbGVjdC1lbnRpdHkudHJhaXQuYWN0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdsRCxNQUFNLFVBQVUsOEJBQThCLENBQzVDLGVBQXVCLEVBQ3ZCLFVBQWtCO0lBRWxCLE9BQU87UUFDTCxZQUFZLEVBQUUsWUFBWSxDQUN4QixHQUFHLGVBQWUsV0FBVyxVQUFVLEVBQUUsRUFDekMsS0FBSyxFQUEyQixDQUNqQztRQUNELGNBQWMsRUFBRSxZQUFZLENBQUMsR0FBRyxlQUFlLGFBQWEsVUFBVSxFQUFFLENBQUM7UUFDekUsa0JBQWtCLEVBQUUsWUFBWSxDQUM5QixHQUFHLGVBQWUsa0JBQWtCLFVBQVUsRUFBRSxFQUNoRCxLQUFLLEVBQTJCLENBQ2pDO0tBQ0YsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVBY3Rpb24sIHByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgU2VsZWN0RW50aXR5QWN0aW9ucyB9IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdEFjdGlvbnMoXG4gIGFjdGlvbnNHcm91cEtleTogc3RyaW5nLFxuICBlbnRpdHlOYW1lOiBzdHJpbmdcbik6IFNlbGVjdEVudGl0eUFjdGlvbnMge1xuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0eTogY3JlYXRlQWN0aW9uKFxuICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBTZWxlY3QgJHtlbnRpdHlOYW1lfWAsXG4gICAgICBwcm9wczx7IGlkOiBzdHJpbmcgfCBudW1iZXIgfT4oKVxuICAgICksXG4gICAgZGVzZWxlY3RFbnRpdHk6IGNyZWF0ZUFjdGlvbihgJHthY3Rpb25zR3JvdXBLZXl9IERlc2VsZWN0ICR7ZW50aXR5TmFtZX1gKSxcbiAgICB0b2dnbGVTZWxlY3RFbnRpdHk6IGNyZWF0ZUFjdGlvbihcbiAgICAgIGAke2FjdGlvbnNHcm91cEtleX0gVG9nZ2xlIFNlbGVjdCAke2VudGl0eU5hbWV9YCxcbiAgICAgIHByb3BzPHsgaWQ6IHN0cmluZyB8IG51bWJlciB9PigpXG4gICAgKSxcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { createTraitFactory, } from '@ngrx-traits/core';
|
|
2
|
+
import { createSelectEntityTraitActions } from './select-entity.trait.actions';
|
|
3
|
+
import { createSelectEntityTraitSelectors } from './select-entity.trait.selectors';
|
|
4
|
+
import { createSelectEntityInitialState, createSelectEntityTraitReducer, } from './select-entity.trait.reducer';
|
|
5
|
+
import { createSelectEntityTraitMutators } from './select-entity.trait.mutators';
|
|
6
|
+
import { loadEntitiesTraitKey, } from '../load-entities/load-entities.model';
|
|
7
|
+
/**
|
|
8
|
+
* Generates ngrx code to add single selection to a list
|
|
9
|
+
* @param config
|
|
10
|
+
* @param config.selectedId - Default selected id
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* // The following trait config
|
|
14
|
+
*
|
|
15
|
+
* export interface TestState
|
|
16
|
+
* extends EntityAndStatusState<Todo>,SelectEntityState{}
|
|
17
|
+
*
|
|
18
|
+
* const traits = createEntityFeatureFactory(
|
|
19
|
+
* addLoadEntitiesTrait<Todo>(),
|
|
20
|
+
* addSelectEntityTrait<Todo>()
|
|
21
|
+
* )({
|
|
22
|
+
* actionsGroupKey: '[Todos]',
|
|
23
|
+
* featureSelector: createFeatureSelector<TestState>>(
|
|
24
|
+
* 'todos',
|
|
25
|
+
* ),
|
|
26
|
+
* });
|
|
27
|
+
*
|
|
28
|
+
* // adds following props to the state:
|
|
29
|
+
* // selectedId?: number | string;
|
|
30
|
+
*
|
|
31
|
+
* // generated actions
|
|
32
|
+
* traits.actions.selectTodo({id})
|
|
33
|
+
* traits.actions.deselectTodo()
|
|
34
|
+
* traits.actions.toggleSelectTodo({id})
|
|
35
|
+
* //generated selectors
|
|
36
|
+
* traits.selectors.selectTodoIdSelected()
|
|
37
|
+
* traits.selectors.selectTodoSelected()
|
|
38
|
+
*/
|
|
39
|
+
export function addSelectEntityTrait(config) {
|
|
40
|
+
return createTraitFactory({
|
|
41
|
+
key: 'singleSelection',
|
|
42
|
+
depends: [loadEntitiesTraitKey],
|
|
43
|
+
config,
|
|
44
|
+
actions: ({ actionsGroupKey, entityName }) => createSelectEntityTraitActions(actionsGroupKey, entityName),
|
|
45
|
+
selectors: () => createSelectEntityTraitSelectors(),
|
|
46
|
+
mutators: () => createSelectEntityTraitMutators(),
|
|
47
|
+
initialState: ({ previousInitialState, allConfigs, }) => createSelectEntityInitialState(previousInitialState, allConfigs),
|
|
48
|
+
reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntityTraitReducer(initialState, allActions, allMutators, allConfigs),
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxrQkFBa0IsR0FHbkIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDhCQUE4QixHQUMvQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pGLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQWlCOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0ErQkc7QUFDSCxNQUFNLFVBQVUsb0JBQW9CLENBQVMsTUFBMkI7SUFDdEUsT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsaUJBQWlCO1FBQ3RCLE9BQU8sRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQy9CLE1BQU07UUFDTixPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxVQUFVLEVBQTZCLEVBQUUsRUFBRSxDQUN0RSw4QkFBOEIsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO1FBQzdELFNBQVMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxnQ0FBZ0MsRUFBVTtRQUMzRCxRQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsK0JBQStCLEVBQUU7UUFDakQsWUFBWSxFQUFFLENBQUMsRUFDYixvQkFBb0IsRUFDcEIsVUFBVSxHQUNxQixFQUFFLEVBQUUsQ0FDbkMsOEJBQThCLENBQzVCLG9CQUFvQixFQUNwQixVQUFxQyxDQUN0QztRQUNILE9BQU8sRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUNqRSw4QkFBOEIsQ0FDNUIsWUFBWSxFQUNaLFVBSzZCLEVBQzdCLFdBQVcsRUFDWCxVQUdpQyxDQUNsQztLQUNKLENBQUMsQ0FBQztBQUNMLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBjcmVhdGVUcmFpdEZhY3RvcnksXG4gIFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcsXG4gIFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZyxcbn0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuXG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdEFjdGlvbnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFNlbGVjdG9ycyB9IGZyb20gJy4vc2VsZWN0LWVudGl0eS50cmFpdC5zZWxlY3RvcnMnO1xuaW1wb3J0IHtcbiAgY3JlYXRlU2VsZWN0RW50aXR5SW5pdGlhbFN0YXRlLFxuICBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0eS50cmFpdC5yZWR1Y2VyJztcbmltcG9ydCB7IGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0TXV0YXRvcnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQubXV0YXRvcnMnO1xuaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWcsXG4gIGxvYWRFbnRpdGllc1RyYWl0S2V5LFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU29ydEVudGl0aWVzQWN0aW9ucyxcbiAgU29ydEVudGl0aWVzS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL3NvcnQtZW50aXRpZXMvc29ydC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTZWxlY3RFbnRpdHlBY3Rpb25zLFxuICBTZWxlY3RFbnRpdHlDb25maWcsXG4gIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgQ3J1ZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2NydWQtZW50aXRpZXMvY3J1ZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7IEZpbHRlckVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2ZpbHRlci1lbnRpdGllcyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSB0byBhZGQgc2luZ2xlIHNlbGVjdGlvbiB0byBhIGxpc3RcbiAqIEBwYXJhbSBjb25maWdcbiAqIEBwYXJhbSBjb25maWcuc2VsZWN0ZWRJZCAtIERlZmF1bHQgc2VsZWN0ZWQgaWRcbiAqXG4gKiBAZXhhbXBsZVxuICogLy8gVGhlIGZvbGxvd2luZyB0cmFpdCBjb25maWdcbiAqXG4gKiBleHBvcnQgaW50ZXJmYWNlIFRlc3RTdGF0ZVxuICogZXh0ZW5kcyBFbnRpdHlBbmRTdGF0dXNTdGF0ZTxUb2RvPixTZWxlY3RFbnRpdHlTdGF0ZXt9XG4gKlxuICogICAgY29uc3QgdHJhaXRzID0gY3JlYXRlRW50aXR5RmVhdHVyZUZhY3RvcnkoXG4gKiAgICAgIGFkZExvYWRFbnRpdGllc1RyYWl0PFRvZG8+KCksXG4gKiAgICAgIGFkZFNlbGVjdEVudGl0eVRyYWl0PFRvZG8+KClcbiAqICAgICkoe1xuICogICAgICBhY3Rpb25zR3JvdXBLZXk6ICdbVG9kb3NdJyxcbiAqICAgICAgZmVhdHVyZVNlbGVjdG9yOiBjcmVhdGVGZWF0dXJlU2VsZWN0b3I8VGVzdFN0YXRlPj4oXG4gKiAgICAgICAgJ3RvZG9zJyxcbiAqICAgICAgKSxcbiAqICAgIH0pO1xuICpcbiAqIC8vICAgYWRkcyBmb2xsb3dpbmcgcHJvcHMgdG8gdGhlIHN0YXRlOlxuICogLy8gICAgIHNlbGVjdGVkSWQ/OiBudW1iZXIgfCBzdHJpbmc7XG4gKlxuICogLy8gZ2VuZXJhdGVkIGFjdGlvbnNcbiAqIHRyYWl0cy5hY3Rpb25zLnNlbGVjdFRvZG8oe2lkfSlcbiAqIHRyYWl0cy5hY3Rpb25zLmRlc2VsZWN0VG9kbygpXG4gKiB0cmFpdHMuYWN0aW9ucy50b2dnbGVTZWxlY3RUb2RvKHtpZH0pXG4gKiAvL2dlbmVyYXRlZCBzZWxlY3RvcnNcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb0lkU2VsZWN0ZWQoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2RvU2VsZWN0ZWQoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VsZWN0RW50aXR5VHJhaXQ8RW50aXR5Pihjb25maWc/OiBTZWxlY3RFbnRpdHlDb25maWcpIHtcbiAgcmV0dXJuIGNyZWF0ZVRyYWl0RmFjdG9yeSh7XG4gICAga2V5OiAnc2luZ2xlU2VsZWN0aW9uJyxcbiAgICBkZXBlbmRzOiBbbG9hZEVudGl0aWVzVHJhaXRLZXldLFxuICAgIGNvbmZpZyxcbiAgICBhY3Rpb25zOiAoeyBhY3Rpb25zR3JvdXBLZXksIGVudGl0eU5hbWUgfTogVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0QWN0aW9ucyhhY3Rpb25zR3JvdXBLZXksIGVudGl0eU5hbWUpLFxuICAgIHNlbGVjdG9yczogKCkgPT4gY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRTZWxlY3RvcnM8RW50aXR5PigpLFxuICAgIG11dGF0b3JzOiAoKSA9PiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdE11dGF0b3JzKCksXG4gICAgaW5pdGlhbFN0YXRlOiAoe1xuICAgICAgcHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgICBhbGxDb25maWdzLFxuICAgIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0eUluaXRpYWxTdGF0ZTxFbnRpdHk+KFxuICAgICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgICAgYWxsQ29uZmlncyBhcyBTZWxlY3RFbnRpdHlLZXllZENvbmZpZ1xuICAgICAgKSxcbiAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMsIGFsbE11dGF0b3JzLCBhbGxDb25maWdzIH0pID0+XG4gICAgICBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgYWxsQWN0aW9ucyBhcyBTZWxlY3RFbnRpdHlBY3Rpb25zICZcbiAgICAgICAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgICAgICAgIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyAmXG4gICAgICAgICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgICAgICAgYWxsTXV0YXRvcnMsXG4gICAgICAgIGFsbENvbmZpZ3MgYXMgU2VsZWN0RW50aXR5S2V5ZWRDb25maWcgJlxuICAgICAgICAgIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnICZcbiAgICAgICAgICBTb3J0RW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export function createSelectEntityTraitMutators() {
|
|
2
|
+
function selectEntity(id, state) {
|
|
3
|
+
return {
|
|
4
|
+
...state,
|
|
5
|
+
selectedId: id,
|
|
6
|
+
};
|
|
7
|
+
}
|
|
8
|
+
function deselectEntity(state) {
|
|
9
|
+
return {
|
|
10
|
+
...state,
|
|
11
|
+
selectedId: undefined,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
function toggleSelectEntity(id, state) {
|
|
15
|
+
return {
|
|
16
|
+
...state,
|
|
17
|
+
selectedId: state.selectedId === id ? undefined : id,
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
return {
|
|
21
|
+
selectEntity,
|
|
22
|
+
deselectEntity,
|
|
23
|
+
toggleSelectEntity,
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5tdXRhdG9ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5LnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSwrQkFBK0I7SUFHN0MsU0FBUyxZQUFZLENBRW5CLEVBQW1CLEVBQUUsS0FBUTtRQUM3QixPQUFPO1lBQ0wsR0FBRyxLQUFLO1lBQ1IsVUFBVSxFQUFFLEVBQUU7U0FDZixDQUFDO0lBQ0osQ0FBQztJQUNELFNBQVMsY0FBYyxDQUVyQixLQUFRO1FBQ1IsT0FBTztZQUNMLEdBQUcsS0FBSztZQUNSLFVBQVUsRUFBRSxTQUFTO1NBQ3RCLENBQUM7SUFDSixDQUFDO0lBQ0QsU0FBUyxrQkFBa0IsQ0FFekIsRUFBbUIsRUFBRSxLQUFRO1FBQzdCLE9BQU87WUFDTCxHQUFHLEtBQUs7WUFDUixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVUsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRTtTQUNyRCxDQUFDO0lBQ0osQ0FBQztJQUVELE9BQU87UUFDTCxZQUFZO1FBQ1osY0FBYztRQUNkLGtCQUFrQjtLQUNuQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNlbGVjdEVudGl0eU11dGF0b3JzLCBTZWxlY3RFbnRpdHlTdGF0ZSB9IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRNdXRhdG9yczxcbiAgRW50aXR5XG4+KCk6IFNlbGVjdEVudGl0eU11dGF0b3JzPEVudGl0eT4ge1xuICBmdW5jdGlvbiBzZWxlY3RFbnRpdHk8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuICA+KGlkOiBzdHJpbmcgfCBudW1iZXIsIHN0YXRlOiBTKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRJZDogaWQsXG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiBkZXNlbGVjdEVudGl0eTxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0eVN0YXRlXG4gID4oc3RhdGU6IFMpIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4uc3RhdGUsXG4gICAgICBzZWxlY3RlZElkOiB1bmRlZmluZWQsXG4gICAgfTtcbiAgfVxuICBmdW5jdGlvbiB0b2dnbGVTZWxlY3RFbnRpdHk8XG4gICAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuICA+KGlkOiBzdHJpbmcgfCBudW1iZXIsIHN0YXRlOiBTKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIC4uLnN0YXRlLFxuICAgICAgc2VsZWN0ZWRJZDogc3RhdGUuc2VsZWN0ZWRJZCA9PT0gaWQgPyB1bmRlZmluZWQgOiBpZCxcbiAgICB9O1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBzZWxlY3RFbnRpdHksXG4gICAgZGVzZWxlY3RFbnRpdHksXG4gICAgdG9nZ2xlU2VsZWN0RW50aXR5LFxuICB9O1xufVxuIl19
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import { createReducer, on } from '@ngrx/store';
|
|
2
|
+
import { insertIf } from '@ngrx-traits/core';
|
|
3
|
+
export function createSelectEntityInitialState(previousInitialState, allConfigs) {
|
|
4
|
+
const selectedId = allConfigs.singleSelection?.selectedId;
|
|
5
|
+
return {
|
|
6
|
+
...previousInitialState,
|
|
7
|
+
selectedId,
|
|
8
|
+
};
|
|
9
|
+
}
|
|
10
|
+
export function createSelectEntityTraitReducer(initialState, allActions, allMutators, allConfigs) {
|
|
11
|
+
const { adapter } = allConfigs.loadEntities;
|
|
12
|
+
const sortRemote = allConfigs.sort?.remote;
|
|
13
|
+
const paginationCacheType = allConfigs.pagination?.cacheType;
|
|
14
|
+
return createReducer(initialState, on(allActions.selectEntity, (state, { id }) => allMutators.selectEntity(id, state)), on(allActions.deselectEntity, (state) => allMutators.deselectEntity(state)), on(allActions.toggleSelectEntity, (state, { id }) => allMutators.toggleSelectEntity(id, state)), ...insertIf(allActions.removeAllEntities, () => on(allActions.removeAllEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(sortRemote, () => on(allActions.sortEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(allActions.filterEntities, () => on(allActions.filterEntities, (state) => allMutators.deselectEntity(state))), ...insertIf(!allActions.loadEntitiesPageSuccess, () => on(allActions.loadEntitiesSuccess, (state) => allMutators.deselectEntity(state))), ...insertIf(!!allActions.loadEntitiesPageSuccess && paginationCacheType === 'partial', () => on(allActions.loadEntitiesPageSuccess, (state) => allMutators.deselectEntity(state))), ...insertIf(allActions.removeEntities, () => on(allActions.removeEntities, (state, { keys }) => {
|
|
15
|
+
const shouldDeselect = keys.some((v) => v === state.selectedId);
|
|
16
|
+
return shouldDeselect
|
|
17
|
+
? {
|
|
18
|
+
...state,
|
|
19
|
+
selectedId: undefined,
|
|
20
|
+
}
|
|
21
|
+
: state;
|
|
22
|
+
})), ...insertIf(allActions.updateEntities, () => on(allActions.updateEntities, (state, { updates }) => {
|
|
23
|
+
const change = updates.find((updated) => {
|
|
24
|
+
const id = adapter.selectId(updated.changes);
|
|
25
|
+
return id && id !== updated.id && state.selectedId === updated.id;
|
|
26
|
+
});
|
|
27
|
+
return change
|
|
28
|
+
? {
|
|
29
|
+
...state,
|
|
30
|
+
selectedId: adapter.selectId(change.changes),
|
|
31
|
+
}
|
|
32
|
+
: state;
|
|
33
|
+
})));
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5yZWR1Y2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXR5L3NlbGVjdC1lbnRpdHkudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsYUFBYSxFQUFFLEVBQUUsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQWlCaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBUTdDLE1BQU0sVUFBVSw4QkFBOEIsQ0FDNUMsb0JBQXlCLEVBQ3pCLFVBQW1DO0lBRW5DLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxlQUFlLEVBQUUsVUFBVSxDQUFDO0lBQzFELE9BQU87UUFDTCxHQUFHLG9CQUFvQjtRQUN2QixVQUFVO0tBQ1gsQ0FBQztBQUNKLENBQUM7QUFDRCxNQUFNLFVBQVUsOEJBQThCLENBSTVDLFlBQWUsRUFDZixVQUs2QixFQUM3QixXQUF5QyxFQUN6QyxVQUdpQztJQUVqQyxNQUFNLEVBQUUsT0FBTyxFQUFFLEdBQUcsVUFBVSxDQUFDLFlBQWEsQ0FBQztJQUU3QyxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQztJQUMzQyxNQUFNLG1CQUFtQixHQUFHLFVBQVUsQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO0lBRTdELE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQzVDLFdBQVcsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUNwQyxFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxXQUFXLENBQUMs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QUFLLENBQUM7SUFDWixDQUFDLENBQUMsQ0FDSCxDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQge1xuICBMb2FkRW50aXRpZXNBY3Rpb25zLFxuICBMb2FkRW50aXRpZXNLZXllZENvbmZpZyxcbiAgTG9hZEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTb3J0RW50aXRpZXNBY3Rpb25zLFxuICBTb3J0RW50aXRpZXNLZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNlbGVjdEVudGl0eUFjdGlvbnMsXG4gIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnLFxuICBTZWxlY3RFbnRpdHlNdXRhdG9ycyxcbiAgU2VsZWN0RW50aXR5U3RhdGUsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG5pbXBvcnQgeyBDcnVkRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vY3J1ZC1lbnRpdGllcy9jcnVkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IGluc2VydElmIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHtcbiAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0LmFjdGlvbnMnO1xuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlU2VsZWN0RW50aXR5SW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gIHByZXZpb3VzSW5pdGlhbFN0YXRlOiBhbnksXG4gIGFsbENvbmZpZ3M6IFNlbGVjdEVudGl0eUtleWVkQ29uZmlnXG4pOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXR5U3RhdGUge1xuICBjb25zdCBzZWxlY3RlZElkID0gYWxsQ29uZmlncy5zaW5nbGVTZWxlY3Rpb24/LnNlbGVjdGVkSWQ7XG4gIHJldHVybiB7XG4gICAgLi4ucHJldmlvdXNJbml0aWFsU3RhdGUsXG4gICAgc2VsZWN0ZWRJZCxcbiAgfTtcbn1cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFJlZHVjZXI8XG4gIEVudGl0eSxcbiAgUyBleHRlbmRzIExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdHlTdGF0ZVxuPihcbiAgaW5pdGlhbFN0YXRlOiBTLFxuICBhbGxBY3Rpb25zOiBTZWxlY3RFbnRpdHlBY3Rpb25zICZcbiAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyAmXG4gICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PixcbiAgYWxsTXV0YXRvcnM6IFNlbGVjdEVudGl0eU11dGF0b3JzPEVudGl0eT4sXG4gIGFsbENvbmZpZ3M6IFNlbGVjdEVudGl0eUtleWVkQ29uZmlnICZcbiAgICBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyAmXG4gICAgU29ydEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PlxuKSB7XG4gIGNvbnN0IHsgYWRhcHRlciB9ID0gYWxsQ29uZmlncy5sb2FkRW50aXRpZXMhO1xuXG4gIGNvbnN0IHNvcnRSZW1vdGUgPSBhbGxDb25maWdzLnNvcnQ/LnJlbW90ZTtcbiAgY29uc3QgcGFnaW5hdGlvbkNhY2hlVHlwZSA9IGFsbENvbmZpZ3MucGFnaW5hdGlvbj8uY2FjaGVUeXBlO1xuXG4gIHJldHVybiBjcmVhdGVSZWR1Y2VyKFxuICAgIGluaXRpYWxTdGF0ZSxcbiAgICBvbihhbGxBY3Rpb25zLnNlbGVjdEVudGl0eSwgKHN0YXRlLCB7IGlkIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy5zZWxlY3RFbnRpdHkoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy5kZXNlbGVjdEVudGl0eSwgKHN0YXRlKSA9PiBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSkpLFxuICAgIG9uKGFsbEFjdGlvbnMudG9nZ2xlU2VsZWN0RW50aXR5LCAoc3RhdGUsIHsgaWQgfSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLnRvZ2dsZVNlbGVjdEVudGl0eShpZCwgc3RhdGUpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUFsbEVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KHNvcnRSZW1vdGUsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnNvcnRFbnRpdGllcywgKHN0YXRlKSA9PiBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSkpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLmZpbHRlckVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5kZXNlbGVjdEVudGl0eShzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KCFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNTdWNjZXNzLCAoc3RhdGUpID0+XG4gICAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXR5KHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oXG4gICAgICAhIWFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MgJiYgcGFnaW5hdGlvbkNhY2hlVHlwZSA9PT0gJ3BhcnRpYWwnLFxuICAgICAgKCkgPT5cbiAgICAgICAgb24oYWxsQWN0aW9ucy5sb2FkRW50aXRpZXNQYWdlU3VjY2VzcywgKHN0YXRlKSA9PlxuICAgICAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXR5KHN0YXRlKVxuICAgICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVFbnRpdGllcywgKHN0YXRlLCB7IGtleXMgfSkgPT4ge1xuICAgICAgICBjb25zdCBzaG91bGREZXNlbGVjdCA9IGtleXMuc29tZShcbiAgICAgICAgICAodjogc3RyaW5nIHwgbnVtYmVyKSA9PiB2ID09PSBzdGF0ZS5zZWxlY3RlZElkXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBzaG91bGREZXNlbGVjdFxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZDogdW5kZWZpbmVkLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogc3RhdGU7XG4gICAgICB9KVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oYWxsQWN0aW9ucy51cGRhdGVFbnRpdGllcywgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMudXBkYXRlRW50aXRpZXMsIChzdGF0ZSwgeyB1cGRhdGVzIH0pID0+IHtcbiAgICAgICAgY29uc3QgY2hhbmdlID0gdXBkYXRlcy5maW5kKCh1cGRhdGVkKSA9PiB7XG4gICAgICAgICAgY29uc3QgaWQgPSBhZGFwdGVyLnNlbGVjdElkKHVwZGF0ZWQuY2hhbmdlcyBhcyBFbnRpdHkpO1xuICAgICAgICAgIHJldHVybiBpZCAmJiBpZCAhPT0gdXBkYXRlZC5pZCAmJiBzdGF0ZS5zZWxlY3RlZElkID09PSB1cGRhdGVkLmlkO1xuICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGNoYW5nZVxuICAgICAgICAgID8ge1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgc2VsZWN0ZWRJZDogYWRhcHRlci5zZWxlY3RJZChjaGFuZ2UuY2hhbmdlcyBhcyBFbnRpdHkpLFxuICAgICAgICAgICAgfVxuICAgICAgICAgIDogc3RhdGU7XG4gICAgICB9KVxuICAgIClcbiAgKTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export function createSelectEntityTraitSelectors() {
|
|
2
|
+
function selectEntityIdSelected(state) {
|
|
3
|
+
return state.selectedId;
|
|
4
|
+
}
|
|
5
|
+
function selectEntitySelected(state) {
|
|
6
|
+
return (state.selectedId && state.entities[state.selectedId]) || undefined;
|
|
7
|
+
}
|
|
8
|
+
return {
|
|
9
|
+
selectEntityIdSelected,
|
|
10
|
+
selectEntitySelected,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdHkvc2VsZWN0LWVudGl0eS50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxVQUFVLGdDQUFnQztJQUc5QyxTQUFTLHNCQUFzQixDQUFDLEtBQXdCO1FBQ3RELE9BQU8sS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUMxQixDQUFDO0lBQ0QsU0FBUyxvQkFBb0IsQ0FDM0IsS0FBb0Q7UUFFcEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxTQUFTLENBQUM7SUFDN0UsQ0FBQztJQUVELE9BQU87UUFDTCxzQkFBc0I7UUFDdEIsb0JBQW9CO0tBQ3JCLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgU2VsZWN0RW50aXR5U2VsZWN0b3JzLFxuICBTZWxlY3RFbnRpdHlTdGF0ZSxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFNlbGVjdG9yczxcbiAgRW50aXR5XG4+KCk6IFNlbGVjdEVudGl0eVNlbGVjdG9yczxFbnRpdHk+IHtcbiAgZnVuY3Rpb24gc2VsZWN0RW50aXR5SWRTZWxlY3RlZChzdGF0ZTogU2VsZWN0RW50aXR5U3RhdGUpIHtcbiAgICByZXR1cm4gc3RhdGUuc2VsZWN0ZWRJZDtcbiAgfVxuICBmdW5jdGlvbiBzZWxlY3RFbnRpdHlTZWxlY3RlZDxFbnRpdHk+KFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXR5U3RhdGVcbiAgKSB7XG4gICAgcmV0dXJuIChzdGF0ZS5zZWxlY3RlZElkICYmIHN0YXRlLmVudGl0aWVzW3N0YXRlLnNlbGVjdGVkSWRdKSB8fCB1bmRlZmluZWQ7XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0eUlkU2VsZWN0ZWQsXG4gICAgc2VsZWN0RW50aXR5U2VsZWN0ZWQsXG4gIH07XG59XG4iXX0=
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export * from './set-entity.model';
|
|
2
|
+
export * from './set-entity.trait';
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NldC1lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZXQtZW50aXR5Lm1vZGVsJztcbmV4cG9ydCAqIGZyb20gJy4vc2V0LWVudGl0eS50cmFpdCc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0eS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2V0LWVudGl0eS9zZXQtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Zml4UHJvcHMsIFByZWZpeFByb3BzLCBUcmFpdEFjdGlvbnMgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IsIFR5cGVkQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbnR5cGUgU2V0QWN0aW9uczxUPiA9IHtcbiAgLyoqXG4gICAqIHNldCBlbnRpdHkgaW4gdGhlIHN0b3JlXG4gICAqL1xuICBzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IFQpID0+IFR5cGVkQWN0aW9uPHN0cmluZz4+O1xufTtcbmV4cG9ydCB0eXBlIFNldEVudGl0eUFjdGlvbnM8RW50aXR5LCBKIGV4dGVuZHMgc3RyaW5nPiA9IFBvc3RmaXhQcm9wczxcbiAgU2V0QWN0aW9uczxFbnRpdHk+LFxuICBKXG4+O1xuXG5leHBvcnQgdHlwZSBTZXRFbnRpdHlTdGF0ZTxFbnRpdHksIEogZXh0ZW5kcyBzdHJpbmc+ID0ge1xuICBba2V5IGluIGAke0p9YF0/OiBFbnRpdHk7XG59O1xuXG5leHBvcnQgdHlwZSBTZXRFbnRpdHlTZWxlY3RvcnM8RW50aXR5LCBKIGV4dGVuZHMgc3RyaW5nPiA9IFBvc3RmaXhQcm9wczxcbiAge1xuICAgIHNlbGVjdDogKHN0YXRlOiBTZXRFbnRpdHlTdGF0ZTxFbnRpdHksIEo+KSA9PiBFbnRpdHk7XG4gIH0sXG4gIEpcbj47XG4iXX0=
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { capitalize, createTraitFactory, } from '@ngrx-traits/core';
|
|
2
|
+
import { createAction, createReducer, on } from '@ngrx/store';
|
|
3
|
+
/**
|
|
4
|
+
* Generates ngrx code needed to set and entity in the store state
|
|
5
|
+
* @param entityName - Entity name, should be in camel case
|
|
6
|
+
* @param options.actionProps - param for the main request action,
|
|
7
|
+
* use the props() function for its value
|
|
8
|
+
* @returns the trait factory
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* const traits = createEntityFeatureFactory(
|
|
12
|
+
* addSetEntityTraits({
|
|
13
|
+
* entityName: 'client',
|
|
14
|
+
* actionProps: props<{ client: Client }
|
|
15
|
+
* }),
|
|
16
|
+
* )({
|
|
17
|
+
* actionsGroupKey: 'Client',
|
|
18
|
+
* featureSelector: createFeatureSelector<
|
|
19
|
+
* SetEntityState<Client, 'client'>
|
|
20
|
+
* >('client'),
|
|
21
|
+
* });
|
|
22
|
+
* // adds following props to the state:
|
|
23
|
+
* // client?: Client;
|
|
24
|
+
*
|
|
25
|
+
* // generated actions
|
|
26
|
+
* traits.actions.setClient({client: {id:123, name: 'gabs'}});
|
|
27
|
+
* //generated selectors
|
|
28
|
+
* traits.selectors.selectClient()
|
|
29
|
+
*/
|
|
30
|
+
export function addSetEntityTrait({ entityName, actionProps, }) {
|
|
31
|
+
const capitalizedName = capitalize(entityName);
|
|
32
|
+
return createTraitFactory({
|
|
33
|
+
key: `load${capitalizedName}`,
|
|
34
|
+
config: { entityName, actionProps },
|
|
35
|
+
actions: ({ actionsGroupKey }) => {
|
|
36
|
+
const setEntity = createAction(`${actionsGroupKey} Set ${capitalizedName}`, actionProps);
|
|
37
|
+
return {
|
|
38
|
+
[`set${capitalizedName}`]: setEntity,
|
|
39
|
+
};
|
|
40
|
+
},
|
|
41
|
+
selectors: () => {
|
|
42
|
+
function selectEntity(state) {
|
|
43
|
+
return state[`${entityName}`];
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
[`select${capitalizedName}`]: selectEntity,
|
|
47
|
+
};
|
|
48
|
+
},
|
|
49
|
+
initialState: ({ previousInitialState }) => previousInitialState,
|
|
50
|
+
reducer: ({ initialState, allActions }) => {
|
|
51
|
+
return createReducer(initialState, on(allActions[`set${capitalizedName}`], (state, action) => ({
|
|
52
|
+
...state,
|
|
53
|
+
[entityName]: action[entityName],
|
|
54
|
+
})));
|
|
55
|
+
},
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2V0LWVudGl0eS50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2V0LWVudGl0eS9zZXQtZW50aXR5LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxVQUFVLEVBQ1Ysa0JBQWtCLEdBRW5CLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBWTlEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTBCRztBQUNILE1BQU0sVUFBVSxpQkFBaUIsQ0FLL0IsRUFDQSxVQUFVLEVBQ1YsV0FBVyxHQUlaO0lBQ0MsTUFBTSxlQUFlLEdBQUcsVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRS9DLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLE9BQU8sZUFBZSxFQUFFO1FBQzdCLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUU7UUFDbkMsT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQTZCLEVBQUUsRUFBRTtZQUMxRCxNQUFNLFNBQVMsR0FBRyxZQUFZLENBQzVCLEdBQUcsZUFBZSxRQUFRLGVBQWUsRUFBRSxFQUMzQyxXQUFrQixDQUNuQixDQUFDO1lBRUYsT0FBTztnQkFDTCxDQUFDLE1BQU0sZUFBZSxFQUFFLENBQUMsRUFBRSxTQUFTO2FBQ0wsQ0FBQztRQUNwQyxDQUFDO1FBQ0QsU0FBUyxFQUFFLEdBQUcsRUFBRTtZQUNkLFNBQVMsWUFBWSxDQUFDLEtBQVk7Z0JBQ2hDLE9BQVEsS0FBYSxDQUFDLEdBQUcsVUFBVSxFQUFFLENBQVcsQ0FBQztZQUNuRCxDQUFDO1lBRUQsT0FBTztnQkFDTCxDQUFDLFNBQVMsZUFBZSxFQUFFLENBQUMsRUFBRSxZQUFZO2FBQ1YsQ0FBQztRQUNyQyxDQUFDO1FBQ0QsWUFBWSxFQUFFLENBQUMsRUFBRSxvQkFBb0IsRUFBa0MsRUFBRSxFQUFFLENBQ3pFLG9CQUE2QjtRQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO1lBQ3hDLE9BQU8sYUFBYSxDQUNsQixZQUFZLEVBQ1osRUFBRSxDQUNDLFVBQWtCLENBQUMsTUFBTSxlQUFlLEVBQUUsQ0FBQyxFQUM1QyxDQUFDLEtBQVUsRUFBRSxNQUFXLEVBQUUsRUFBRSxDQUFDLENBQUM7Z0JBQzVCLEdBQUcsS0FBSztnQkFDUixDQUFDLFVBQVUsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxVQUFVLENBQUM7YUFDakMsQ0FBQyxDQUNILENBQ0YsQ0FBQztRQUNKLENBQUM7S0FDRixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY2FwaXRhbGl6ZSxcbiAgY3JlYXRlVHJhaXRGYWN0b3J5LFxuICBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG5pbXBvcnQge1xuICBTZXRFbnRpdHlBY3Rpb25zLFxuICBTZXRFbnRpdHlTZWxlY3RvcnMsXG4gIFNldEVudGl0eVN0YXRlLFxufSBmcm9tICcuL3NldC1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvclByb3BzIH0gZnJvbSAnQG5ncngvc3RvcmUvc3JjL21vZGVscyc7XG5cbnR5cGUgUmVjb3JkRW50aXR5PFQ+ID0gVCBleHRlbmRzIFJlY29yZDxzdHJpbmcsIGluZmVyIEo+ID8gSiA6IG5ldmVyO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBuZ3J4IGNvZGUgbmVlZGVkIHRvIHNldCBhbmQgZW50aXR5IGluIHRoZSBzdG9yZSBzdGF0ZVxuICogQHBhcmFtIGVudGl0eU5hbWUgLSBFbnRpdHkgbmFtZSwgc2hvdWxkIGJlIGluIGNhbWVsIGNhc2VcbiAqIEBwYXJhbSBvcHRpb25zLmFjdGlvblByb3BzIC0gcGFyYW0gZm9yIHRoZSBtYWluIHJlcXVlc3QgYWN0aW9uLFxuICogdXNlIHRoZSBwcm9wcygpIGZ1bmN0aW9uIGZvciBpdHMgdmFsdWVcbiAqIEByZXR1cm5zIHRoZSB0cmFpdCBmYWN0b3J5XG4gKlxuICogQGV4YW1wbGVcbiAqIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogYWRkU2V0RW50aXR5VHJhaXRzKHtcbiAqICAgICAgICBlbnRpdHlOYW1lOiAnY2xpZW50JyxcbiAqICAgICAgICBhY3Rpb25Qcm9wczogcHJvcHM8eyBjbGllbnQ6IENsaWVudCB9XG4gKiAgICAgIH0pLFxuICogKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ0NsaWVudCcsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFxuICogICAgICAgIFNldEVudGl0eVN0YXRlPENsaWVudCwgJ2NsaWVudCc+XG4gKiAgICAgICAgPignY2xpZW50JyksXG4gKiAgICB9KTtcbiAqIC8vICAgYWRkcyBmb2xsb3dpbmcgcHJvcHMgdG8gdGhlIHN0YXRlOlxuICogLy8gICAgY2xpZW50PzogQ2xpZW50O1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5zZXRDbGllbnQoe2NsaWVudDoge2lkOjEyMywgbmFtZTogJ2dhYnMnfX0pO1xuICogLy9nZW5lcmF0ZWQgc2VsZWN0b3JzXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdENsaWVudCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZXRFbnRpdHlUcmFpdDxcbiAgSiBleHRlbmRzIHN0cmluZyxcbiAgUGF5bG9hZCBleHRlbmRzIFJlY29yZDxKLCBhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBFbnRpdHkgPSBSZWNvcmRFbnRpdHk8UGF5bG9hZD4sXG4gIFN0YXRlID0gU2V0RW50aXR5U3RhdGU8RW50aXR5LCBKPlxuPih7XG4gIGVudGl0eU5hbWUsXG4gIGFjdGlvblByb3BzLFxufToge1xuICBlbnRpdHlOYW1lOiBKO1xuICBhY3Rpb25Qcm9wcz86IEFjdGlvbkNyZWF0b3JQcm9wczxQYXlsb2FkPjtcbn0pIHtcbiAgY29uc3QgY2FwaXRhbGl6ZWROYW1lID0gY2FwaXRhbGl6ZShlbnRpdHlOYW1lKTtcblxuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6IGBsb2FkJHtjYXBpdGFsaXplZE5hbWV9YCxcbiAgICBjb25maWc6IHsgZW50aXR5TmFtZSwgYWN0aW9uUHJvcHMgfSxcbiAgICBhY3Rpb25zOiAoeyBhY3Rpb25zR3JvdXBLZXkgfTogVHJhaXRBY3Rpb25zRmFjdG9yeUNvbmZpZykgPT4ge1xuICAgICAgY29uc3Qgc2V0RW50aXR5ID0gY3JlYXRlQWN0aW9uKFxuICAgICAgICBgJHthY3Rpb25zR3JvdXBLZXl9IFNldCAke2NhcGl0YWxpemVkTmFtZX1gLFxuICAgICAgICBhY3Rpb25Qcm9wcyBhcyBhbnlcbiAgICAgICk7XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtgc2V0JHtjYXBpdGFsaXplZE5hbWV9YF06IHNldEVudGl0eSxcbiAgICAgIH0gYXMgU2V0RW50aXR5QWN0aW9uczxQYXlsb2FkLCBKPjtcbiAgICB9LFxuICAgIHNlbGVjdG9yczogKCkgPT4ge1xuICAgICAgZnVuY3Rpb24gc2VsZWN0RW50aXR5KHN0YXRlOiBTdGF0ZSkge1xuICAgICAgICByZXR1cm4gKHN0YXRlIGFzIGFueSlbYCR7ZW50aXR5TmFtZX1gXSBhcyBFbnRpdHk7XG4gICAgICB9XG5cbiAgICAgIHJldHVybiB7XG4gICAgICAgIFtgc2VsZWN0JHtjYXBpdGFsaXplZE5hbWV9YF06IHNlbGVjdEVudGl0eSxcbiAgICAgIH0gYXMgU2V0RW50aXR5U2VsZWN0b3JzPEVudGl0eSwgSj47XG4gICAgfSxcbiAgICBpbml0aWFsU3RhdGU6ICh7IHByZXZpb3VzSW5pdGlhbFN0YXRlIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlIGFzIFN0YXRlLFxuICAgIHJlZHVjZXI6ICh7IGluaXRpYWxTdGF0ZSwgYWxsQWN0aW9ucyB9KSA9PiB7XG4gICAgICByZXR1cm4gY3JlYXRlUmVkdWNlcihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBvbihcbiAgICAgICAgICAoYWxsQWN0aW9ucyBhcyBhbnkpW2BzZXQke2NhcGl0YWxpemVkTmFtZX1gXSxcbiAgICAgICAgICAoc3RhdGU6IGFueSwgYWN0aW9uOiBhbnkpID0+ICh7XG4gICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgIFtlbnRpdHlOYW1lXTogYWN0aW9uW2VudGl0eU5hbWVdLFxuICAgICAgICAgIH0pXG4gICAgICAgIClcbiAgICAgICk7XG4gICAgfSxcbiAgfSk7XG59XG4iXX0=
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export * from './sort-entities.model';
|
|
2
|
+
export * from './sort-entities.trait';
|
|
3
|
+
export * from './sort-entities.utils';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NvcnQtZW50aXRpZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsdUJBQXVCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgKiBmcm9tICcuL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuZXhwb3J0ICogZnJvbSAnLi9zb3J0LWVudGl0aWVzLnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc29ydC1lbnRpdGllcy51dGlscyc7XG4iXX0=
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export const sortTraitKey = 'sort';
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29ydC1lbnRpdGllcy5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc29ydC1lbnRpdGllcy9zb3J0LWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQTZDQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsTUFBTSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZEVudGl0aWVzU3RhdGUgfSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuXG5pbXBvcnQgeyBBY3Rpb25DcmVhdG9yLCBUeXBlZEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgS2V5ZWRDb25maWcgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbmV4cG9ydCBkZWNsYXJlIHR5cGUgU29ydERpcmVjdGlvbiA9ICdhc2MnIHwgJ2Rlc2MnIHwgJyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29ydDxUPiB7XG4gIC8qKiBUaGUgaWQgb2YgdGhlIGNvbHVtbiBiZWluZyBzb3J0ZWQuICovXG4gIGFjdGl2ZToga2V5b2YgVDtcbiAgLyoqIFRoZSBzb3J0IGRpcmVjdGlvbi4gKi9cbiAgZGlyZWN0aW9uOiBTb3J0RGlyZWN0aW9uO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRFbnRpdGllc1N0YXRlPFQ+IHtcbiAgc29ydDoge1xuICAgIGN1cnJlbnQ6IFNvcnQ8VD47XG4gICAgZGVmYXVsdDogU29ydDxUPjtcbiAgfTtcbn1cblxuZXhwb3J0IHR5cGUgU29ydEVudGl0aWVzQWN0aW9uczxUPiA9IHtcbiAgc29ydEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IFNvcnQ8VD4pID0+IFNvcnQ8VD4gJiBUeXBlZEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIC8qKlxuICAgKiBTZXRzIHRoZSBkZWZhdWx0IHNvcnQgYmFja1xuICAgKi9cbiAgcmVzZXRFbnRpdGllc1NvcnQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBUeXBlZEFjdGlvbjxzdHJpbmc+Pjtcbn07XG5cbmV4cG9ydCB0eXBlIFNvcnRFbnRpdGllc1NlbGVjdG9yczxUPiA9IHtcbiAgc2VsZWN0RW50aXRpZXNTb3J0OiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgU29ydEVudGl0aWVzU3RhdGU8VD5cbiAgKSA9PiBTb3J0PFQ+O1xufTtcblxuZXhwb3J0IHR5cGUgU29ydEVudGl0aWVzTXV0YXRvcnM8VD4gPSB7XG4gIHNvcnRFbnRpdGllczxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTb3J0RW50aXRpZXNTdGF0ZTxUPj4oXG4gICAgeyBhY3RpdmUsIGRpcmVjdGlvbiB9OiBTb3J0PFQ+LFxuICAgIHN0YXRlOiBTXG4gICk6IFM7XG59O1xuXG5leHBvcnQgY29uc3Qgc29ydFRyYWl0S2V5ID0gJ3NvcnQnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNvcnRFbnRpdGllc0NvbmZpZzxUPiB7XG4gIGRlZmF1bHRTb3J0OiBTb3J0PFQ+O1xuICByZW1vdGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCB0eXBlIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPFQ+ID0gS2V5ZWRDb25maWc8XG4gIHR5cGVvZiBzb3J0VHJhaXRLZXksXG4gIFNvcnRFbnRpdGllc0NvbmZpZzxUPlxuPjtcbiJdfQ==
|