@ngrx-traits/common 18.4.0 → 19.0.0-beta.1
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/fesm2022/ngrx-traits-common.mjs +12 -12
- package/fesm2022/ngrx-traits-common.mjs.map +1 -1
- package/package.json +7 -9
- package/reset/reset.trait.d.ts +1 -1
- package/esm2022/async-action/async-action.model.mjs +0 -2
- package/esm2022/async-action/async-action.trait.mjs +0 -116
- package/esm2022/async-action/index.mjs +0 -3
- package/esm2022/crud-entities/crud-entities.model.mjs +0 -8
- package/esm2022/crud-entities/crud-entities.trait.actions.mjs +0 -20
- package/esm2022/crud-entities/crud-entities.trait.mjs +0 -58
- package/esm2022/crud-entities/crud-entities.trait.mutators.mjs +0 -121
- package/esm2022/crud-entities/crud-entities.trait.reducer.mjs +0 -17
- package/esm2022/crud-entities/crud-entities.trait.selectors.mjs +0 -54
- package/esm2022/crud-entities/index.mjs +0 -3
- package/esm2022/entities-pagination/entities-pagination.model.internal.mjs +0 -2
- package/esm2022/entities-pagination/entities-pagination.model.mjs +0 -2
- package/esm2022/entities-pagination/entities-pagination.trait.actions.mjs +0 -20
- package/esm2022/entities-pagination/entities-pagination.trait.effects.mjs +0 -63
- package/esm2022/entities-pagination/entities-pagination.trait.mjs +0 -94
- package/esm2022/entities-pagination/entities-pagination.trait.mutators.mjs +0 -66
- package/esm2022/entities-pagination/entities-pagination.trait.reducer.mjs +0 -79
- package/esm2022/entities-pagination/entities-pagination.trait.selectors.mjs +0 -84
- package/esm2022/entities-pagination/index.mjs +0 -3
- package/esm2022/entities-sync-to-route-query-params/entities-sync-to-route-query-params.mjs +0 -127
- package/esm2022/entities-sync-to-route-query-params/index.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.model.internal.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.model.mjs +0 -2
- package/esm2022/filter-entities/filter-entities.trait.actions.mjs +0 -16
- package/esm2022/filter-entities/filter-entities.trait.effect.mjs +0 -59
- package/esm2022/filter-entities/filter-entities.trait.mjs +0 -74
- package/esm2022/filter-entities/filter-entities.trait.mutators.mjs +0 -10
- package/esm2022/filter-entities/filter-entities.trait.reducer.mjs +0 -11
- package/esm2022/filter-entities/filter-entities.trait.selectors.mjs +0 -9
- package/esm2022/filter-entities/index.mjs +0 -3
- package/esm2022/index.mjs +0 -13
- package/esm2022/load-entities/index.mjs +0 -3
- package/esm2022/load-entities/load-entities.model.mjs +0 -2
- package/esm2022/load-entities/load-entities.mutators.mjs +0 -7
- package/esm2022/load-entities/load-entities.trait.actions.mjs +0 -10
- package/esm2022/load-entities/load-entities.trait.mjs +0 -62
- package/esm2022/load-entities/load-entities.trait.reducer.mjs +0 -27
- package/esm2022/load-entities/load-entities.trait.selectors.mjs +0 -38
- package/esm2022/load-entities/load-entities.utils.mjs +0 -10
- package/esm2022/load-entity/index.mjs +0 -3
- package/esm2022/load-entity/load-entity.model.mjs +0 -2
- package/esm2022/load-entity/load-entity.traits.mjs +0 -78
- package/esm2022/ngrx-traits-common.mjs +0 -5
- package/esm2022/reset/index.mjs +0 -2
- package/esm2022/reset/reset.trait.mjs +0 -37
- package/esm2022/select-entities/index.mjs +0 -4
- package/esm2022/select-entities/select-entities.model.mjs +0 -2
- package/esm2022/select-entities/select-entities.trait.actions.mjs +0 -11
- package/esm2022/select-entities/select-entities.trait.mjs +0 -55
- package/esm2022/select-entities/select-entities.trait.mutators.mjs +0 -27
- package/esm2022/select-entities/select-entities.trait.reducer.mjs +0 -42
- package/esm2022/select-entities/select-entities.trait.selectors.mjs +0 -28
- package/esm2022/select-entities/select-entities.utils.mjs +0 -30
- package/esm2022/select-entity/index.mjs +0 -3
- package/esm2022/select-entity/select-entity.model.mjs +0 -2
- package/esm2022/select-entity/select-entity.trait.actions.mjs +0 -9
- package/esm2022/select-entity/select-entity.trait.mjs +0 -52
- package/esm2022/select-entity/select-entity.trait.mutators.mjs +0 -26
- package/esm2022/select-entity/select-entity.trait.reducer.mjs +0 -35
- package/esm2022/select-entity/select-entity.trait.selectors.mjs +0 -13
- package/esm2022/set-entity/index.mjs +0 -3
- package/esm2022/set-entity/set-entity.model.mjs +0 -2
- package/esm2022/set-entity/set-entity.trait.mjs +0 -62
- package/esm2022/sort-entities/index.mjs +0 -4
- package/esm2022/sort-entities/sort-entities.model.mjs +0 -2
- package/esm2022/sort-entities/sort-entities.trait.actions.mjs +0 -8
- package/esm2022/sort-entities/sort-entities.trait.effect.mjs +0 -28
- package/esm2022/sort-entities/sort-entities.trait.mjs +0 -61
- package/esm2022/sort-entities/sort-entities.trait.mutators.mjs +0 -24
- package/esm2022/sort-entities/sort-entities.trait.reducer.mjs +0 -15
- package/esm2022/sort-entities/sort-entities.trait.selectors.mjs +0 -9
- package/esm2022/sort-entities/sort-entities.utils.mjs +0 -63
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { isFail, isLoading, isSuccess } from './load-entities.utils';
|
|
2
|
-
import { createSelector } from '@ngrx/store';
|
|
3
|
-
import { selectEntitiesFilter } from '../filter-entities/filter-entities.trait.selectors';
|
|
4
|
-
export function createLoadEntitiesTraitSelectors(allConfigs) {
|
|
5
|
-
const adapter = allConfigs?.loadEntities?.adapter;
|
|
6
|
-
const entitySelectors = adapter.getSelectors();
|
|
7
|
-
const filterFunction = allConfigs?.filter?.filterFn;
|
|
8
|
-
let selectors = {
|
|
9
|
-
selectEntitiesList: entitySelectors.selectAll,
|
|
10
|
-
selectEntitiesMap: entitySelectors.selectEntities,
|
|
11
|
-
selectEntitiesIdsList: entitySelectors.selectIds,
|
|
12
|
-
selectEntitiesTotal: entitySelectors.selectTotal,
|
|
13
|
-
isEntitiesLoadingFail: isFail,
|
|
14
|
-
isEntitiesLoading: isLoading,
|
|
15
|
-
isEntitiesLoadingSuccess: isSuccess,
|
|
16
|
-
};
|
|
17
|
-
if (filterFunction && entitySelectors) {
|
|
18
|
-
const selectEntitiesList = createSelector(entitySelectors.selectAll, selectEntitiesFilter, (entities, filters) => filters ? entities.filter((e) => filterFunction(filters, e)) : entities);
|
|
19
|
-
selectors = {
|
|
20
|
-
...selectors,
|
|
21
|
-
selectEntitiesList,
|
|
22
|
-
selectEntitiesMap: createSelector(selectors.selectEntitiesMap, selectEntitiesFilter, (entities, filters) => {
|
|
23
|
-
const result = {};
|
|
24
|
-
for (const id in entities) {
|
|
25
|
-
const e = entities[id];
|
|
26
|
-
if (filterFunction(filters, e)) {
|
|
27
|
-
result[id] = e;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
return result;
|
|
31
|
-
}),
|
|
32
|
-
selectEntitiesTotal: createSelector(selectEntitiesList, (entities) => entities.length),
|
|
33
|
-
selectEntitiesIdsList: createSelector(selectEntitiesList, (entities) => entities.map((e) => adapter?.selectId(e))),
|
|
34
|
-
};
|
|
35
|
-
}
|
|
36
|
-
return selectors;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy50cmFpdC5zZWxlY3RvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDckUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM3QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxvREFBb0QsQ0FBQztBQUUxRixNQUFNLFVBQVUsZ0NBQWdDLENBQzlDLFVBQzRDO0lBRTVDLE1BQU0sT0FBTyxHQUFHLFVBQVUsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO0lBQ2xELE1BQU0sZUFBZSxHQUFHLE9BQVEsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUVoRCxNQUFNLGNBQWMsR0FBRyxVQUFVLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQztJQUNwRCxJQUFJLFNBQVMsR0FBa0M7UUFDN0Msa0JBQWtCLEVBQUUsZUFBZSxDQUFDLFNBQVM7UUFDN0MsaUJBQWlCLEVBQUUsZUFBZSxDQUFDLGNBQWM7UUFDakQscUJBQXFCLEVBQUUsZUFBZSxDQUFDLFNBQVM7UUFDaEQsbUJBQW1CLEVBQUUsZUFBZSxDQUFDLFdBQVc7UUFDaEQscUJBQXFCLEVBQUUsTUFBTTtRQUM3QixpQkFBaUIsRUFBRSxTQUFTO1FBQzVCLHdCQUF3QixFQUFFLFNBQVM7S0FDcEMsQ0FBQztJQUNGLElBQUksY0FBYyxJQUFJLGVBQWUsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sa0JBQWtCLEdBQUcsY0FBYyxDQUN2QyxlQUFlLENBQUMsU0FBUyxFQUN6QixvQkFBb0IsRUFDcEIsQ0FBQyxRQUFRLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDcEIsT0FBTyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FDMUUsQ0FBQztRQUVGLFNBQVMsR0FBRztZQUNWLEdBQUcsU0FBUztZQUNaLGtCQUFrQjtZQUNsQixpQkFBaUIsRUFBRSxjQUFjLENBQy9CLFNBQVMsQ0FBQyxpQkFBaUIsRUFDM0Isb0JBQW9CLEVBQ3BCLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFO2dCQUNwQixNQUFNLE1BQU0sR0FBdUIsRUFBRSxDQUFDO2dCQUN0QyxLQUFLLE1BQU0sRUFBRSxJQUFJLFFBQVEsRUFBRSxDQUFDO29CQUMxQixNQUFNLENBQUMsR0FBRyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUM7b0JBQ3ZCLElBQUksY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFFLENBQUMsRUFBRSxDQUFDO3dCQUNoQyxNQUFNLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUNqQixDQUFDO2dCQUNILENBQUM7Z0JBQ0QsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQyxDQUNGO1lBQ0QsbUJBQW1CLEVBQUUsY0FBYyxDQUNqQyxrQkFBa0IsRUFDbEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQzlCO1lBQ0QscUJBQXFCLEVBQUUsY0FBYyxDQUNuQyxrQkFBa0IsRUFDbEIsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUNYLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQXdCLENBQ25FO1NBQzBDLENBQUM7SUFDaEQsQ0FBQztJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTZWxlY3RvcnMsXG59IGZyb20gJy4vbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcbmltcG9ydCB7IGlzRmFpbCwgaXNMb2FkaW5nLCBpc1N1Y2Nlc3MgfSBmcm9tICcuL2xvYWQtZW50aXRpZXMudXRpbHMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0b3IgfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5pbXBvcnQgeyBzZWxlY3RFbnRpdGllc0ZpbHRlciB9IGZyb20gJy4uL2ZpbHRlci1lbnRpdGllcy9maWx0ZXItZW50aXRpZXMudHJhaXQuc2VsZWN0b3JzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZUxvYWRFbnRpdGllc1RyYWl0U2VsZWN0b3JzPEVudGl0eT4oXG4gIGFsbENvbmZpZ3M/OiBMb2FkRW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+ICZcbiAgICBGaWx0ZXJFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eSwgdW5rbm93bj5cbikge1xuICBjb25zdCBhZGFwdGVyID0gYWxsQ29uZmlncz8ubG9hZEVudGl0aWVzPy5hZGFwdGVyO1xuICBjb25zdCBlbnRpdHlTZWxlY3RvcnMgPSBhZGFwdGVyIS5nZXRTZWxlY3RvcnMoKTtcblxuICBjb25zdCBmaWx0ZXJGdW5jdGlvbiA9IGFsbENvbmZpZ3M/LmZpbHRlcj8uZmlsdGVyRm47XG4gIGxldCBzZWxlY3RvcnM6IExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+ID0ge1xuICAgIHNlbGVjdEVudGl0aWVzTGlzdDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdEFsbCxcbiAgICBzZWxlY3RFbnRpdGllc01hcDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdEVudGl0aWVzLFxuICAgIHNlbGVjdEVudGl0aWVzSWRzTGlzdDogZW50aXR5U2VsZWN0b3JzLnNlbGVjdElkcyxcbiAgICBzZWxlY3RFbnRpdGllc1RvdGFsOiBlbnRpdHlTZWxlY3RvcnMuc2VsZWN0VG90YWwsXG4gICAgaXNFbnRpdGllc0xvYWRpbmdGYWlsOiBpc0ZhaWwsXG4gICAgaXNFbnRpdGllc0xvYWRpbmc6IGlzTG9hZGluZyxcbiAgICBpc0VudGl0aWVzTG9hZGluZ1N1Y2Nlc3M6IGlzU3VjY2VzcyxcbiAgfTtcbiAgaWYgKGZpbHRlckZ1bmN0aW9uICYmIGVudGl0eVNlbGVjdG9ycykge1xuICAgIGNvbnN0IHNlbGVjdEVudGl0aWVzTGlzdCA9IGNyZWF0ZVNlbGVjdG9yKFxuICAgICAgZW50aXR5U2VsZWN0b3JzLnNlbGVjdEFsbCxcbiAgICAgIHNlbGVjdEVudGl0aWVzRmlsdGVyLFxuICAgICAgKGVudGl0aWVzLCBmaWx0ZXJzKSA9PlxuICAgICAgICBmaWx0ZXJzID8gZW50aXRpZXMuZmlsdGVyKChlKSA9PiBmaWx0ZXJGdW5jdGlvbihmaWx0ZXJzLCBlKSkgOiBlbnRpdGllc1xuICAgICk7XG5cbiAgICBzZWxlY3RvcnMgPSB7XG4gICAgICAuLi5zZWxlY3RvcnMsXG4gICAgICBzZWxlY3RFbnRpdGllc0xpc3QsXG4gICAgICBzZWxlY3RFbnRpdGllc01hcDogY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgIHNlbGVjdG9ycy5zZWxlY3RFbnRpdGllc01hcCxcbiAgICAgICAgc2VsZWN0RW50aXRpZXNGaWx0ZXIsXG4gICAgICAgIChlbnRpdGllcywgZmlsdGVycykgPT4ge1xuICAgICAgICAgIGNvbnN0IHJlc3VsdDogRGljdGlvbmFyeTxFbnRpdHk+ID0ge307XG4gICAgICAgICAgZm9yIChjb25zdCBpZCBpbiBlbnRpdGllcykge1xuICAgICAgICAgICAgY29uc3QgZSA9IGVudGl0aWVzW2lkXTtcbiAgICAgICAgICAgIGlmIChmaWx0ZXJGdW5jdGlvbihmaWx0ZXJzLCBlISkpIHtcbiAgICAgICAgICAgICAgcmVzdWx0W2lkXSA9IGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICAgIH1cbiAgICAgICksXG4gICAgICBzZWxlY3RFbnRpdGllc1RvdGFsOiBjcmVhdGVTZWxlY3RvcihcbiAgICAgICAgc2VsZWN0RW50aXRpZXNMaXN0LFxuICAgICAgICAoZW50aXRpZXMpID0+IGVudGl0aWVzLmxlbmd0aFxuICAgICAgKSxcbiAgICAgIHNlbGVjdEVudGl0aWVzSWRzTGlzdDogY3JlYXRlU2VsZWN0b3IoXG4gICAgICAgIHNlbGVjdEVudGl0aWVzTGlzdCxcbiAgICAgICAgKGVudGl0aWVzKSA9PlxuICAgICAgICAgIGVudGl0aWVzLm1hcCgoZSkgPT4gYWRhcHRlcj8uc2VsZWN0SWQoZSkpIGFzIHN0cmluZ1tdIHwgbnVtYmVyW11cbiAgICAgICksXG4gICAgfSBhcyB1bmtub3duIGFzIExvYWRFbnRpdGllc1NlbGVjdG9yczxFbnRpdHk+O1xuICB9XG4gIHJldHVybiBzZWxlY3RvcnM7XG59XG4iXX0=
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export function isLoading(state) {
|
|
2
|
-
return state.status === 'loading';
|
|
3
|
-
}
|
|
4
|
-
export function isSuccess(state) {
|
|
5
|
-
return state.status === 'success';
|
|
6
|
-
}
|
|
7
|
-
export function isFail(state) {
|
|
8
|
-
return state.status === 'fail';
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdGllcy51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE1BQU0sVUFBVSxTQUFTLENBQXdCLEtBQVE7SUFDdkQsT0FBTyxLQUFLLENBQUMsTUFBTSxLQUFLLFNBQVMsQ0FBQztBQUNwQyxDQUFDO0FBQ0QsTUFBTSxVQUFVLFNBQVMsQ0FBd0IsS0FBUTtJQUN2RCxPQUFPLEtBQUssQ0FBQyxNQUFNLEtBQUssU0FBUyxDQUFDO0FBQ3BDLENBQUM7QUFDRCxNQUFNLFVBQVUsTUFBTSxDQUF3QixLQUFRO0lBQ3BELE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxNQUFNLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0YXR1c1N0YXRlIH0gZnJvbSAnLi9sb2FkLWVudGl0aWVzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzTG9hZGluZzxTIGV4dGVuZHMgU3RhdHVzU3RhdGU+KHN0YXRlOiBTKSB7XG4gIHJldHVybiBzdGF0ZS5zdGF0dXMgPT09ICdsb2FkaW5nJztcbn1cbmV4cG9ydCBmdW5jdGlvbiBpc1N1Y2Nlc3M8UyBleHRlbmRzIFN0YXR1c1N0YXRlPihzdGF0ZTogUykge1xuICByZXR1cm4gc3RhdGUuc3RhdHVzID09PSAnc3VjY2Vzcyc7XG59XG5leHBvcnQgZnVuY3Rpb24gaXNGYWlsPFMgZXh0ZW5kcyBTdGF0dXNTdGF0ZT4oc3RhdGU6IFMpIHtcbiAgcmV0dXJuIHN0YXRlLnN0YXR1cyA9PT0gJ2ZhaWwnO1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './load-entity.traits';
|
|
2
|
-
export * from './load-entity.model';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXR5L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdHkudHJhaXRzJztcbmV4cG9ydCAqIGZyb20gJy4vbG9hZC1lbnRpdHkubW9kZWwnO1xuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdHkubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL2xvYWQtZW50aXR5L2xvYWQtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQb3N0Zml4UHJvcHMsIFByZWZpeFByb3BzLCBUcmFpdEFjdGlvbnMgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQge1xuICBBc3luY0FjdGlvbkFjdGlvbnMsXG4gIEFzeW5jQWN0aW9uU3RhdGUsXG59IGZyb20gJy4uL2FzeW5jLWFjdGlvbi9hc3luYy1hY3Rpb24ubW9kZWwnO1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXR5QWN0aW9uczxcbiAgSiBleHRlbmRzIHN0cmluZyxcbiAgUmVxdWVzdCBleHRlbmRzIG9iamVjdCxcbiAgUmVzcG9uc2UgZXh0ZW5kcyBvYmplY3QsXG4gIEZhaWx1cmUgZXh0ZW5kcyBvYmplY3Rcbj4gPSBQcmVmaXhQcm9wczxBc3luY0FjdGlvbkFjdGlvbnM8UmVxdWVzdCwgUmVzcG9uc2UsIEZhaWx1cmUsIEo+LCAnbG9hZCc+ICZcbiAgVHJhaXRBY3Rpb25zO1xuXG5leHBvcnQgdHlwZSBMb2FkRW50aXR5U3RhdGU8XG4gIFQsXG4gIEogZXh0ZW5kcyBzdHJpbmdcbj4gPSBBc3luY0FjdGlvblN0YXRlPGBsb2FkJHtDYXBpdGFsaXplPEogJiBzdHJpbmc+fWA+ICZcbiAgUHJlZml4UHJvcHM8eyAnJz86IFQgfSwgSj47XG5cbmV4cG9ydCB0eXBlIExvYWRFbnRpdHlTZWxlY3RvcnM8VCwgSiBleHRlbmRzIHN0cmluZz4gPSBQb3N0Zml4UHJvcHM8XG4gIHtcbiAgICBzZWxlY3Q6IChzdGF0ZTogTG9hZEVudGl0eVN0YXRlPFQsIEo+KSA9PiBUO1xuICB9LFxuICBKXG4+O1xuIl19
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { capitalize, createTraitFactory } from '@ngrx-traits/core';
|
|
2
|
-
import { createReducer, on } from '@ngrx/store';
|
|
3
|
-
import { addAsyncActionTrait } from '../async-action/async-action.trait';
|
|
4
|
-
/**
|
|
5
|
-
* Generates ngrx code needed to load and entity and store it in a state. This action can be added
|
|
6
|
-
* more than once as long as the entityName para is different
|
|
7
|
-
* @param entityName - Entity name, should be in camel case
|
|
8
|
-
* @param options.actionProps - Optional param for the main request action,
|
|
9
|
-
* use the props() function for its value, if not present action will have no params,
|
|
10
|
-
* @param options.actionSuccessProps - Optional param for the request success
|
|
11
|
-
* action, use the props() function for its value, if not present action success will have no params
|
|
12
|
-
* @param options.actionFailProps - Optional param for the request fail action,
|
|
13
|
-
* use the props() function for its value, if not present action fail will have no params
|
|
14
|
-
* @returns the trait factory
|
|
15
|
-
*
|
|
16
|
-
* @example
|
|
17
|
-
*
|
|
18
|
-
* export interface TestState
|
|
19
|
-
* extends LoadEntityState<Client,'client'>{}
|
|
20
|
-
*
|
|
21
|
-
* const traits = createEntityFeatureFactory(
|
|
22
|
-
* ...addLoadEntityTraits({
|
|
23
|
-
* entityName: 'client',
|
|
24
|
-
* requestProps: props<{ id: string }>(),
|
|
25
|
-
* responseProps: props<{ client: Client }>(),
|
|
26
|
-
* }),
|
|
27
|
-
* )({
|
|
28
|
-
* actionsGroupKey: 'Client',
|
|
29
|
-
* featureSelector: createFeatureSelector<
|
|
30
|
-
* LoadEntityState<Client, 'client'>
|
|
31
|
-
* >('client'),
|
|
32
|
-
* });
|
|
33
|
-
*
|
|
34
|
-
* // adds following props to the state:
|
|
35
|
-
* // loadClientStatus?: 'loading' | 'success' | 'fail';
|
|
36
|
-
* // client?: Client;
|
|
37
|
-
*
|
|
38
|
-
* // generated actions
|
|
39
|
-
* traits.actions.loadClient({id:123});
|
|
40
|
-
* traits.actions.loadClientSuccess({client: {id: '123', name: 'gabs'}});
|
|
41
|
-
* traits.actions.loadClientFail();
|
|
42
|
-
* // generated selectors
|
|
43
|
-
* traits.selectors.selectClient()
|
|
44
|
-
* traits.selectors.isLoadingLoadClient()
|
|
45
|
-
* traits.selectors.isSuccessLoadClient()
|
|
46
|
-
* traits.selectors.isFailLoadClient()
|
|
47
|
-
*/
|
|
48
|
-
export function addLoadEntityTraits({ entityName, actionProps, actionSuccessProps, actionFailProps, }) {
|
|
49
|
-
const capitalizedName = capitalize(entityName);
|
|
50
|
-
return [
|
|
51
|
-
addAsyncActionTrait({
|
|
52
|
-
name: ('load' + capitalizedName),
|
|
53
|
-
actionProps,
|
|
54
|
-
actionSuccessProps,
|
|
55
|
-
actionFailProps,
|
|
56
|
-
}),
|
|
57
|
-
createTraitFactory({
|
|
58
|
-
key: `load${capitalizedName}`,
|
|
59
|
-
config: { entityName, actionProps, actionSuccessProps, actionFailProps },
|
|
60
|
-
selectors: () => {
|
|
61
|
-
function selectEntity(state) {
|
|
62
|
-
return state[`${entityName}`];
|
|
63
|
-
}
|
|
64
|
-
return {
|
|
65
|
-
[`select${capitalizedName}`]: selectEntity,
|
|
66
|
-
};
|
|
67
|
-
},
|
|
68
|
-
initialState: ({ previousInitialState, }) => previousInitialState,
|
|
69
|
-
reducer: ({ initialState, allActions }) => {
|
|
70
|
-
return createReducer(initialState, on(allActions[`load${capitalizedName}Success`], (state, action) => ({
|
|
71
|
-
...state,
|
|
72
|
-
[entityName]: action[entityName],
|
|
73
|
-
})));
|
|
74
|
-
},
|
|
75
|
-
}),
|
|
76
|
-
];
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1lbnRpdHkudHJhaXRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9sb2FkLWVudGl0eS9sb2FkLWVudGl0eS50cmFpdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQ25FLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWhELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBTXpFOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkNHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQU9qQyxFQUNBLFVBQVUsRUFDVixXQUFXLEVBQ1gsa0JBQWtCLEVBQ2xCLGVBQWUsR0FNaEI7SUFDQyxNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsVUFBVSxDQUFDLENBQUM7SUFJL0MsT0FBTztRQUNMLG1CQUFtQixDQUFnQztZQUNqRCxJQUFJLEVBQUUsQ0FBQyxNQUFNLEdBQUcsZUFBZSxDQUFNO1lBQ3JDLFdBQVc7WUFDWCxrQkFBa0I7WUFDbEIsZUFBZTtTQUNoQixDQUFDO1FBQ0Ysa0JBQWtCLENBQUM7WUFDakIsR0FBRyxFQUFFLE9BQU8sZUFBZSxFQUFFO1lBQzdCLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxXQUFXLEVBQUUsa0JBQWtCLEVBQUUsZUFBZSxFQUFFO1lBQ3hFLFNBQVMsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsU0FBUyxZQUFZLENBQUMsS0FBWTtvQkFDaEMsT0FBUSxLQUFhLENBQUMsR0FBRyxVQUFVLEVBQUUsQ0FBVyxDQUFDO2dCQUNuRCxDQUFDO2dCQUVELE9BQU87b0JBQ0wsQ0FBQyxTQUFTLGVBQWUsRUFBRSxDQUFDLEVBQUUsWUFBWTtpQkFDVCxDQUFDO1lBQ3RDLENBQUM7WUFDRCxZQUFZLEVBQUUsQ0FBQyxFQUNiLG9CQUFvQixHQUNXLEVBQUUsRUFBRSxDQUFDLG9CQUE2QjtZQUNuRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFO2dCQUN4QyxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEVBQUUsQ0FDQyxVQUFrQixDQUFDLE9BQU8sZUFBZSxTQUFTLENBQUMsRUFDcEQsQ0FBQyxLQUFVLEVBQUUsTUFBVyxFQUFFLEVBQUUsQ0FBQyxDQUFDO29CQUM1QixHQUFHLEtBQUs7b0JBQ1IsQ0FBQyxVQUFVLENBQUMsRUFBRSxNQUFNLENBQUMsVUFBVSxDQUFDO2lCQUNqQyxDQUFDLENBQ0gsQ0FDRixDQUFDO1lBQ0osQ0FBQztTQUNGLENBQUM7S0FDTSxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGlvbkNyZWF0b3JQcm9wcyB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgY2FwaXRhbGl6ZSwgY3JlYXRlVHJhaXRGYWN0b3J5IH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlUmVkdWNlciwgb24gfSBmcm9tICdAbmdyeC9zdG9yZSc7XG5cbmltcG9ydCB7IGFkZEFzeW5jQWN0aW9uVHJhaXQgfSBmcm9tICcuLi9hc3luYy1hY3Rpb24vYXN5bmMtYWN0aW9uLnRyYWl0JztcbmltcG9ydCB7IExvYWRFbnRpdHlTZWxlY3RvcnMsIExvYWRFbnRpdHlTdGF0ZSB9IGZyb20gJy4vbG9hZC1lbnRpdHkubW9kZWwnO1xuaW1wb3J0IHsgVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuXG50eXBlIFJlY29yZEVudGl0eTxUPiA9IFQgZXh0ZW5kcyBSZWNvcmQ8c3RyaW5nLCBpbmZlciBKPiA/IEogOiBuZXZlcjtcblxuLyoqXG4gKiBHZW5lcmF0ZXMgbmdyeCBjb2RlIG5lZWRlZCB0byBsb2FkIGFuZCBlbnRpdHkgYW5kIHN0b3JlIGl0IGluIGEgc3RhdGUuIFRoaXMgYWN0aW9uIGNhbiBiZSBhZGRlZFxuICogbW9yZSB0aGFuIG9uY2UgYXMgbG9uZyBhcyB0aGUgZW50aXR5TmFtZSBwYXJhIGlzIGRpZmZlcmVudFxuICogQHBhcmFtIGVudGl0eU5hbWUgLSBFbnRpdHkgbmFtZSwgc2hvdWxkIGJlIGluIGNhbWVsIGNhc2VcbiAqIEBwYXJhbSBvcHRpb25zLmFjdGlvblByb3BzIC0gT3B0aW9uYWwgcGFyYW0gZm9yIHRoZSBtYWluIHJlcXVlc3QgYWN0aW9uLFxuICogdXNlIHRoZSBwcm9wcygpIGZ1bmN0aW9uIGZvciBpdHMgdmFsdWUsIGlmIG5vdCBwcmVzZW50IGFjdGlvbiB3aWxsIGhhdmUgbm8gcGFyYW1zLFxuICogQHBhcmFtIG9wdGlvbnMuYWN0aW9uU3VjY2Vzc1Byb3BzIC0gT3B0aW9uYWwgcGFyYW0gZm9yIHRoZSByZXF1ZXN0IHN1Y2Nlc3NcbiAqIGFjdGlvbiwgdXNlIHRoZSBwcm9wcygpIGZ1bmN0aW9uIGZvciBpdHMgdmFsdWUsIGlmIG5vdCBwcmVzZW50IGFjdGlvbiBzdWNjZXNzIHdpbGwgaGF2ZSBubyBwYXJhbXNcbiAqIEBwYXJhbSBvcHRpb25zLmFjdGlvbkZhaWxQcm9wcyAtIE9wdGlvbmFsIHBhcmFtIGZvciB0aGUgcmVxdWVzdCBmYWlsIGFjdGlvbixcbiAqIHVzZSB0aGUgcHJvcHMoKSBmdW5jdGlvbiBmb3IgaXRzIHZhbHVlLCBpZiBub3QgcHJlc2VudCBhY3Rpb24gZmFpbCB3aWxsIGhhdmUgbm8gcGFyYW1zXG4gKiBAcmV0dXJucyB0aGUgdHJhaXQgZmFjdG9yeVxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgTG9hZEVudGl0eVN0YXRlPENsaWVudCwnY2xpZW50Jz57fVxuICpcbiAqIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogLi4uYWRkTG9hZEVudGl0eVRyYWl0cyh7XG4gKiAgICAgICAgZW50aXR5TmFtZTogJ2NsaWVudCcsXG4gKiAgICAgICAgcmVxdWVzdFByb3BzOiBwcm9wczx7IGlkOiBzdHJpbmcgfT4oKSxcbiAqICAgICAgICByZXNwb25zZVByb3BzOiBwcm9wczx7IGNsaWVudDogQ2xpZW50IH0+KCksXG4gKiAgICAgIH0pLFxuICogKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ0NsaWVudCcsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFxuICogICAgICAgIExvYWRFbnRpdHlTdGF0ZTxDbGllbnQsICdjbGllbnQnPlxuICogICAgICAgID4oJ2NsaWVudCcpLFxuICogICAgfSk7XG4gKlxuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICBsb2FkQ2xpZW50U3RhdHVzPzogJ2xvYWRpbmcnIHwgJ3N1Y2Nlc3MnIHwgJ2ZhaWwnO1xuICogLy8gICAgY2xpZW50PzogQ2xpZW50O1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5sb2FkQ2xpZW50KHtpZDoxMjN9KTtcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRDbGllbnRTdWNjZXNzKHtjbGllbnQ6IHtpZDogJzEyMycsIG5hbWU6ICdnYWJzJ319KTtcbiAqIHRyYWl0cy5hY3Rpb25zLmxvYWRDbGllbnRGYWlsKCk7XG4gKiAvLyBnZW5lcmF0ZWQgc2VsZWN0b3JzXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdENsaWVudCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLmlzTG9hZGluZ0xvYWRDbGllbnQoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5pc1N1Y2Nlc3NMb2FkQ2xpZW50KClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuaXNGYWlsTG9hZENsaWVudCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRMb2FkRW50aXR5VHJhaXRzPFxuICBKIGV4dGVuZHMgc3RyaW5nLFxuICBSZXF1ZXN0IGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBSZXNwb25zZSBleHRlbmRzIFJlY29yZDxKLCBhbnk+IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBGYWlsdXJlIGV4dGVuZHMgb2JqZWN0IHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkLFxuICBFbnRpdHkgPSBSZWNvcmRFbnRpdHk8UmVzcG9uc2U+LFxuICBTdGF0ZSBleHRlbmRzIExvYWRFbnRpdHlTdGF0ZTxhbnksc3RyaW5nPiA9IExvYWRFbnRpdHlTdGF0ZTxFbnRpdHksIEo+XG4+KHtcbiAgZW50aXR5TmFtZSxcbiAgYWN0aW9uUHJvcHMsXG4gIGFjdGlvblN1Y2Nlc3NQcm9wcyxcbiAgYWN0aW9uRmFpbFByb3BzLFxufToge1xuICBlbnRpdHlOYW1lOiBKO1xuICBhY3Rpb25Qcm9wcz86IEFjdGlvbkNyZWF0b3JQcm9wczxSZXF1ZXN0PjtcbiAgYWN0aW9uU3VjY2Vzc1Byb3BzPzogQWN0aW9uQ3JlYXRvclByb3BzPFJlc3BvbnNlPjtcbiAgYWN0aW9uRmFpbFByb3BzPzogQWN0aW9uQ3JlYXRvclByb3BzPEZhaWx1cmU+O1xufSkge1xuICBjb25zdCBjYXBpdGFsaXplZE5hbWUgPSBjYXBpdGFsaXplKGVudGl0eU5hbWUpO1xuXG4gIHR5cGUgSyA9IGBsb2FkJHtDYXBpdGFsaXplPEogJiBzdHJpbmc+fWA7XG5cbiAgcmV0dXJuIFtcbiAgICBhZGRBc3luY0FjdGlvblRyYWl0PEssIFJlcXVlc3QsIFJlc3BvbnNlLCBGYWlsdXJlPih7XG4gICAgICBuYW1lOiAoJ2xvYWQnICsgY2FwaXRhbGl6ZWROYW1lKSBhcyBLLFxuICAgICAgYWN0aW9uUHJvcHMsXG4gICAgICBhY3Rpb25TdWNjZXNzUHJvcHMsXG4gICAgICBhY3Rpb25GYWlsUHJvcHMsXG4gICAgfSksXG4gICAgY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICAgIGtleTogYGxvYWQke2NhcGl0YWxpemVkTmFtZX1gLFxuICAgICAgY29uZmlnOiB7IGVudGl0eU5hbWUsIGFjdGlvblByb3BzLCBhY3Rpb25TdWNjZXNzUHJvcHMsIGFjdGlvbkZhaWxQcm9wcyB9LFxuICAgICAgc2VsZWN0b3JzOiAoKSA9PiB7XG4gICAgICAgIGZ1bmN0aW9uIHNlbGVjdEVudGl0eShzdGF0ZTogU3RhdGUpIHtcbiAgICAgICAgICByZXR1cm4gKHN0YXRlIGFzIGFueSlbYCR7ZW50aXR5TmFtZX1gXSBhcyBFbnRpdHk7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIFtgc2VsZWN0JHtjYXBpdGFsaXplZE5hbWV9YF06IHNlbGVjdEVudGl0eSxcbiAgICAgICAgfSBhcyBMb2FkRW50aXR5U2VsZWN0b3JzPEVudGl0eSwgSj47XG4gICAgICB9LFxuICAgICAgaW5pdGlhbFN0YXRlOiAoe1xuICAgICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT4gcHJldmlvdXNJbml0aWFsU3RhdGUgYXMgU3RhdGUsXG4gICAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMgfSkgPT4ge1xuICAgICAgICByZXR1cm4gY3JlYXRlUmVkdWNlcihcbiAgICAgICAgICBpbml0aWFsU3RhdGUsXG4gICAgICAgICAgb24oXG4gICAgICAgICAgICAoYWxsQWN0aW9ucyBhcyBhbnkpW2Bsb2FkJHtjYXBpdGFsaXplZE5hbWV9U3VjY2Vzc2BdLFxuICAgICAgICAgICAgKHN0YXRlOiBhbnksIGFjdGlvbjogYW55KSA9PiAoe1xuICAgICAgICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgICAgICAgW2VudGl0eU5hbWVdOiBhY3Rpb25bZW50aXR5TmFtZV0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgIClcbiAgICAgICAgKTtcbiAgICAgIH0sXG4gICAgfSksXG4gIF0gYXMgY29uc3Q7XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './index';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmdyeC10cmFpdHMtY29tbW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9uZ3J4LXRyYWl0cy1jb21tb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0=
|
package/esm2022/reset/index.mjs
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './reset.trait';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3Jlc2V0L2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsZUFBZSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9yZXNldC50cmFpdCc7XG4iXX0=
|
|
@@ -1,37 +0,0 @@
|
|
|
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
|
-
* const traits = createEntityFeatureFactory(
|
|
13
|
-
* {entityName: 'Todo'},
|
|
14
|
-
* addLoadEntitiesTrait<Todo>(),
|
|
15
|
-
* addResetEntitiesStateTrait()
|
|
16
|
-
* )({
|
|
17
|
-
* actionsGroupKey: '[Todos]',
|
|
18
|
-
* featureSelector: createFeatureSelector<TestState>>(
|
|
19
|
-
* 'todos',
|
|
20
|
-
* ),
|
|
21
|
-
* });
|
|
22
|
-
* // generated actions
|
|
23
|
-
* traits.actions.resetTodosState()
|
|
24
|
-
*/
|
|
25
|
-
export function addResetEntitiesStateTrait(traitConfig = {}) {
|
|
26
|
-
return createTraitFactory({
|
|
27
|
-
key: 'reset',
|
|
28
|
-
config: traitConfig,
|
|
29
|
-
actions: ({ actionsGroupKey, entitiesName, }) => ({
|
|
30
|
-
resetEntitiesState: createAction(`${actionsGroupKey} Reset ${entitiesName} State`),
|
|
31
|
-
}),
|
|
32
|
-
reducer: ({ allActions, initialState }) => createReducer(initialState, on(allActions.resetEntitiesState, () => initialState), ...insertIf(traitConfig.resetOn, () =>
|
|
33
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
34
|
-
on(...traitConfig.resetOn, () => initialState))),
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzZXQudHJhaXQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3Jlc2V0L3Jlc2V0LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxRQUFRLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUlqRSxPQUFPLEVBQUUsWUFBWSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQVMsTUFBTSxhQUFhLENBQUM7QUFNckU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXFCRztBQUNILE1BQU0sVUFBVSwwQkFBMEIsQ0FDeEMsY0FFSSxFQUFFO0lBRU4sT0FBTyxrQkFBa0IsQ0FBQztRQUN4QixHQUFHLEVBQUUsT0FBTztRQUNaLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxDQUFDLEVBQ1IsZUFBZSxFQUNmLFlBQVksR0FDYyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQ2hDLGtCQUFrQixFQUFFLFlBQVksQ0FDOUIsR0FBRyxlQUFlLFVBQVUsWUFBWSxRQUFRLENBQ2pEO1NBQ0YsQ0FBQztRQUNGLE9BQU8sRUFBRSxDQUFDLEVBQUUsVUFBVSxFQUFFLFlBQVksRUFBRSxFQUFFLEVBQUUsQ0FDeEMsYUFBYSxDQUNYLFlBQVksRUFDWixFQUFFLENBQUMsVUFBVSxDQUFDLGtCQUFrQixFQUFFLEdBQUcsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUNyRCxHQUFHLFFBQVEsQ0FBc0IsV0FBVyxDQUFDLE9BQU8sRUFBRSxHQUFHLEVBQUU7UUFDekQsb0VBQW9FO1FBQ3BFLEVBQUUsQ0FBQyxHQUFHLFdBQVcsQ0FBQyxPQUFRLEVBQUUsR0FBRyxFQUFFLENBQUMsWUFBWSxDQUFDLENBQ2hELENBQ0Y7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY3JlYXRlVHJhaXRGYWN0b3J5LCBpbnNlcnRJZiB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBUcmFpdEVmZmVjdCB9IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcbmltcG9ydCB7IEFjdGlvbnMsIGNyZWF0ZUVmZmVjdCwgb2ZUeXBlIH0gZnJvbSAnQG5ncngvZWZmZWN0cyc7XG5pbXBvcnQgeyBjcmVhdGVBY3Rpb24sIGNyZWF0ZVJlZHVjZXIsIG9uLCBTdG9yZSB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbiwgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgbWFwVG8gfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmltcG9ydCB7IEdlbmVyaWNBY3Rpb25DcmVhdG9yIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbi8qKlxuICogR2VuZXJhdGVzIHRoZSBuZ3J4IGNvZGUgbmVlZGVkIHRvIHJlc2V0IHRoZSBjdXJyZW50IHN0YXRlIHRvIHRoZSBpbml0aWFsIHN0YXRlLlxuICogQHBhcmFtIHRyYWl0Q29uZmlnIC0gQ29uZmlnIG9iamVjdCBmb3QgdGhlIHRyYWl0IGZhY3RvcnlcbiAqIEBwYXJhbSB0cmFpdENvbmZpZy5yZXNldE9uIC0gc2V0IGFuIGV4dHJhIGFjdGlvbiB3aGljaCB3aWxsIGFsc28gdHJpZ2dlciBhIHJlc2V0IHN0YXRlLFxuICogdXNlZnVsIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhbiBhY3Rpb24gdGhhdCByZXNldCBzZXZlcmFsIGZlYXR1cmVzIHN0YXRlc1xuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZm9sbG93aW5nIHRyYWl0IGNvbmZpZ1xuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkUmVzZXRFbnRpdGllc1N0YXRlVHJhaXQoKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMucmVzZXRUb2Rvc1N0YXRlKClcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFkZFJlc2V0RW50aXRpZXNTdGF0ZVRyYWl0KFxuICB0cmFpdENvbmZpZzoge1xuICAgIHJlc2V0T24/OiByZWFkb25seSBBY3Rpb25DcmVhdG9yW107XG4gIH0gPSB7fSxcbikge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdyZXNldCcsXG4gICAgY29uZmlnOiB0cmFpdENvbmZpZyxcbiAgICBhY3Rpb25zOiAoe1xuICAgICAgYWN0aW9uc0dyb3VwS2V5LFxuICAgICAgZW50aXRpZXNOYW1lLFxuICAgIH06IFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcpID0+ICh7XG4gICAgICByZXNldEVudGl0aWVzU3RhdGU6IGNyZWF0ZUFjdGlvbihcbiAgICAgICAgYCR7YWN0aW9uc0dyb3VwS2V5fSBSZXNldCAke2VudGl0aWVzTmFtZX0gU3RhdGVgLFxuICAgICAgKSxcbiAgICB9KSxcbiAgICByZWR1Y2VyOiAoeyBhbGxBY3Rpb25zLCBpbml0aWFsU3RhdGUgfSkgPT5cbiAgICAgIGNyZWF0ZVJlZHVjZXIoXG4gICAgICAgIGluaXRpYWxTdGF0ZSxcbiAgICAgICAgb24oYWxsQWN0aW9ucy5yZXNldEVudGl0aWVzU3RhdGUsICgpID0+IGluaXRpYWxTdGF0ZSksXG4gICAgICAgIC4uLmluc2VydElmPHR5cGVvZiBpbml0aWFsU3RhdGU+KHRyYWl0Q29uZmlnLnJlc2V0T24sICgpID0+XG4gICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1ub24tbnVsbC1hc3NlcnRpb25cbiAgICAgICAgICBvbiguLi50cmFpdENvbmZpZy5yZXNldE9uISwgKCkgPT4gaW5pdGlhbFN0YXRlKSxcbiAgICAgICAgKSxcbiAgICAgICksXG4gIH0pO1xufVxuIl19
|
|
@@ -1,4 +0,0 @@
|
|
|
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==
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaWN0aW9uYXJ5IH0gZnJvbSAnQG5ncngvZW50aXR5JztcbmltcG9ydCB7IEFjdGlvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7IEFjdGlvbkNyZWF0b3IgfSBmcm9tICdAbmdyeC9zdG9yZS9zcmMvbW9kZWxzJztcblxuaW1wb3J0IHsgTG9hZEVudGl0aWVzU3RhdGUgfSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNlbGVjdEVudGl0aWVzU3RhdGUge1xuICBzZWxlY3RlZElkczogRGljdGlvbmFyeTxib29sZWFuPjtcbn1cblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXRpZXNBY3Rpb25zID0ge1xuICBzZWxlY3RFbnRpdGllczogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4geyBpZDogbnVtYmVyIHwgc3RyaW5nIH0gJiBBY3Rpb248c3RyaW5nPlxuICA+O1xuICBkZXNlbGVjdEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIHRvZ2dsZVNlbGVjdEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPFxuICAgIHN0cmluZyxcbiAgICAocHJvcHM6IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9KSA9PiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSAmIEFjdGlvbjxzdHJpbmc+XG4gID47XG4gIHRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gQWN0aW9uPHN0cmluZz4+O1xuICBjbGVhckVudGl0aWVzU2VsZWN0aW9uOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4gQWN0aW9uPHN0cmluZz4+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PiA9IHtcbiAgaXNBbGxFbnRpdGllc1NlbGVjdGVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IFNlbGVjdGVkO1xuICBzZWxlY3RFbnRpdGllc0lkc1NlbGVjdGVkTWFwOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IERpY3Rpb25hcnk8Ym9vbGVhbj47XG4gIHNlbGVjdEVudGl0aWVzSWRzU2VsZWN0ZWRMaXN0OiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IG51bWJlcltdIHwgc3RyaW5nW107XG4gIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWRNYXA6IChcbiAgICBzdGF0ZTogTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gICkgPT4gRGljdGlvbmFyeTxFbnRpdHk+O1xuICBzZWxlY3RFbnRpdGllc1NlbGVjdGVkTGlzdDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZSxcbiAgKSA9PiBFbnRpdHlbXTtcbiAgc2VsZWN0VG90YWxTZWxlY3RlZEVudGl0aWVzOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlLFxuICApID0+IG51bWJlcjtcbn07XG5cbmV4cG9ydCB0eXBlIFNlbGVjdEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PiA9IHtcbiAgc2VsZWN0RW50aXRpZXM6IDxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICAgIGlkOiBudW1iZXIgfCBzdHJpbmcsXG4gICAgc3RhdGU6IFMsXG4gICkgPT4gUztcblxuICBkZXNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZT4oXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcblxuICB0b2dnbGVTZWxlY3RFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcblxuICB0b2dnbGVTZWxlY3RBbGxFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG5cbiAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbjxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGUsXG4gID4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RlZCA9ICdhbGwnIHwgJ3NvbWUnIHwgJ25vbmUnO1xuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
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=
|
|
@@ -1,55 +0,0 @@
|
|
|
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
|
-
* {entityName: 'Todo'},
|
|
18
|
-
* addLoadEntitiesTrait<Todo>(),
|
|
19
|
-
* addSelectEntitiesTrait<Todo>()
|
|
20
|
-
* )({
|
|
21
|
-
* actionsGroupKey: '[Todos]',
|
|
22
|
-
* featureSelector: createFeatureSelector<TestState>>(
|
|
23
|
-
* 'todos',
|
|
24
|
-
* ),
|
|
25
|
-
* });
|
|
26
|
-
*
|
|
27
|
-
* // adds following props to the state:
|
|
28
|
-
* // selectedIds: Dictionary<boolean>;
|
|
29
|
-
*
|
|
30
|
-
* // generated actions
|
|
31
|
-
* traits.actions.selectTodos({id})
|
|
32
|
-
* traits.actions.deselectTodos({id})
|
|
33
|
-
* traits.actions.toggleSectTodos({id})
|
|
34
|
-
* traits.actions.toggleSelectAllTodos()
|
|
35
|
-
* traits.actions.clearTodosSelection()
|
|
36
|
-
* //generated selectors
|
|
37
|
-
* traits.selectors.isAllTodosSelected()
|
|
38
|
-
* traits.selectors.selectTodosIdsSelectedMap()
|
|
39
|
-
* traits.selectors.selectTodosIdsSelectedList()
|
|
40
|
-
* traits.selectors.selectTodosSelectedMap()
|
|
41
|
-
* traits.selectors.selectTodosSelectedList()
|
|
42
|
-
* traits.selectors.selectTotalSelectedTodos()
|
|
43
|
-
*/
|
|
44
|
-
export function addSelectEntitiesTrait() {
|
|
45
|
-
return createTraitFactory({
|
|
46
|
-
key: 'SelectEntities',
|
|
47
|
-
depends: [loadEntitiesTraitKey],
|
|
48
|
-
actions: ({ actionsGroupKey, entitiesName }) => createSelectEntitiesTraitActions(actionsGroupKey, entitiesName),
|
|
49
|
-
selectors: ({ previousSelectors }) => createSelectEntitiesTraitSelectors(previousSelectors),
|
|
50
|
-
initialState: ({ previousInitialState }) => createSelectEntitiesInitialState(previousInitialState),
|
|
51
|
-
mutators: ({ allSelectors }) => createSelectEntitiesTraitMutators(allSelectors),
|
|
52
|
-
reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntitiesTraitReducer(initialState, allActions, allMutators, allConfigs),
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxnQ0FBZ0MsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRW5GLE9BQU8sRUFBRSxrQ0FBa0MsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBU3ZGLE9BQU8sRUFJTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQUM5QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUV2RCxPQUFPLEVBQ0wsZ0NBQWdDLEVBQ2hDLGdDQUFnQyxHQUNqQyxNQUFNLGlDQUFpQyxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxpQ0FBaUMsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBU3JGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FvQ0c7QUFDSCxNQUFNLFVBQVUsc0JBQXNCO0lBQ3BDLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGdCQUFnQjtRQUNyQixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvQixPQUFPLEVBQUUsQ0FBQyxFQUFFLGVBQWUsRUFBRSxZQUFZLEVBQTZCLEVBQUUsRUFBRSxDQUN4RSxnQ0FBZ0MsQ0FBQyxlQUFlLEVBQUUsWUFBWSxDQUFDO1FBQ2pFLFNBQVMsRUFBRSxDQUFDLEVBQUUsaUJBQWlCLEVBQStCLEVBQUUsRUFBRSxDQUNoRSxrQ0FBa0MsQ0FDaEMsaUJBQWtELENBQ25EO1FBQ0gsWUFBWSxFQUFFLENBQUMsRUFBRSxvQkFBb0IsRUFBa0MsRUFBRSxFQUFFLENBQ3pFLGdDQUFnQyxDQUFTLG9CQUFvQixDQUFDO1FBQ2hFLFFBQVEsRUFBRSxDQUFDLEVBQUUsWUFBWSxFQUFtQyxFQUFFLEVBQUUsQ0FDOUQsaUNBQWlDLENBQy9CLFlBQStDLENBQ2hEO1FBQ0gsT0FBTyxFQUFFLENBQUMsRUFBRSxZQUFZLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQ2pFLGdDQUFnQyxDQUM5QixZQUFZLEVBQ1osVUFLMkIsRUFDM0IsV0FBVyxFQUNYLFVBRWlDLENBQ2xDO0tBQ0osQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQuYWN0aW9ucyc7XG5pbXBvcnQgeyBTb3J0RW50aXRpZXNBY3Rpb25zLCBTb3J0RW50aXRpZXNLZXllZENvbmZpZyB9IGZyb20gJy4uL3NvcnQtZW50aXRpZXMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9ycyB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0LnNlbGVjdG9ycyc7XG5pbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc1NlbGVjdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNBY3Rpb25zLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zLFxuICBFbnRpdGllc1BhZ2luYXRpb25LZXllZENvbmZpZyxcbn0gZnJvbSAnLi4vZW50aXRpZXMtcGFnaW5hdGlvbi9lbnRpdGllcy1wYWdpbmF0aW9uLm1vZGVsJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBMb2FkRW50aXRpZXNTZWxlY3RvcnMsXG4gIGxvYWRFbnRpdGllc1RyYWl0S2V5LFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgY3JlYXRlVHJhaXRGYWN0b3J5IH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQ3J1ZEVudGl0aWVzQWN0aW9ucyB9IGZyb20gJy4uL2NydWQtZW50aXRpZXMvY3J1ZC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBjcmVhdGVTZWxlY3RFbnRpdGllc0luaXRpYWxTdGF0ZSxcbiAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFJlZHVjZXIsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnRyYWl0LnJlZHVjZXInO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMudHJhaXQubXV0YXRvcnMnO1xuaW1wb3J0IHsgRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcbmltcG9ydCB7XG4gIFRyYWl0QWN0aW9uc0ZhY3RvcnlDb25maWcsXG4gIFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZyxcbiAgVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnLFxuICBUcmFpdFN0YXRlTXV0YXRvcnNGYWN0b3J5Q29uZmlnLFxufSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5cbi8qKlxuICogR2VuZXJhdGVzIG5ncnggY29kZSB0byBhZGQgbXVsdGkgc2VsZWN0aW9uIHRvIGEgbGlzdFxuICpcbiAqIEBleGFtcGxlXG4gKiAvLyBUaGUgZm9sbG93aW5nIHRyYWl0IGNvbmZpZ1xuICpcbiAqIGV4cG9ydCBpbnRlcmZhY2UgVGVzdFN0YXRlXG4gKiBleHRlbmRzIEVudGl0eUFuZFN0YXR1c1N0YXRlPFRvZG8+LE11bHRpcGxlU2VsZWN0aW9uU3RhdGV7fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkU2VsZWN0RW50aXRpZXNUcmFpdDxUb2RvPigpXG4gKiAgICApKHtcbiAqICAgICAgYWN0aW9uc0dyb3VwS2V5OiAnW1RvZG9zXScsXG4gKiAgICAgIGZlYXR1cmVTZWxlY3RvcjogY3JlYXRlRmVhdHVyZVNlbGVjdG9yPFRlc3RTdGF0ZT4+KFxuICogICAgICAgICd0b2RvcycsXG4gKiAgICAgICksXG4gKiAgICB9KTtcbiAqXG4gKiAvLyAgIGFkZHMgZm9sbG93aW5nIHByb3BzIHRvIHRoZSBzdGF0ZTpcbiAqIC8vICAgIHNlbGVjdGVkSWRzOiBEaWN0aW9uYXJ5PGJvb2xlYW4+O1xuICpcbiAqIC8vIGdlbmVyYXRlZCBhY3Rpb25zXG4gKiB0cmFpdHMuYWN0aW9ucy5zZWxlY3RUb2Rvcyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMuZGVzZWxlY3RUb2Rvcyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMudG9nZ2xlU2VjdFRvZG9zKHtpZH0pXG4gKiB0cmFpdHMuYWN0aW9ucy50b2dnbGVTZWxlY3RBbGxUb2RvcygpXG4gKiB0cmFpdHMuYWN0aW9ucy5jbGVhclRvZG9zU2VsZWN0aW9uKClcbiAqIC8vZ2VuZXJhdGVkIHNlbGVjdG9yc1xuICogdHJhaXRzLnNlbGVjdG9ycy5pc0FsbFRvZG9zU2VsZWN0ZWQoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc0lkc1NlbGVjdGVkTWFwKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NJZHNTZWxlY3RlZExpc3QoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2Rvc1NlbGVjdGVkTWFwKClcbiAqIHRyYWl0cy5zZWxlY3RvcnMuc2VsZWN0VG9kb3NTZWxlY3RlZExpc3QoKVxuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb3RhbFNlbGVjdGVkVG9kb3MoKVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWRkU2VsZWN0RW50aXRpZXNUcmFpdDxFbnRpdHk+KCkge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdTZWxlY3RFbnRpdGllcycsXG4gICAgZGVwZW5kczogW2xvYWRFbnRpdGllc1RyYWl0S2V5XSxcbiAgICBhY3Rpb25zOiAoeyBhY3Rpb25zR3JvdXBLZXksIGVudGl0aWVzTmFtZSB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdEFjdGlvbnMoYWN0aW9uc0dyb3VwS2V5LCBlbnRpdGllc05hbWUpLFxuICAgIHNlbGVjdG9yczogKHsgcHJldmlvdXNTZWxlY3RvcnMgfTogVHJhaXRTZWxlY3RvcnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXRpZXNUcmFpdFNlbGVjdG9yczxFbnRpdHk+KFxuICAgICAgICBwcmV2aW91c1NlbGVjdG9ycyBhcyBMb2FkRW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PlxuICAgICAgKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7IHByZXZpb3VzSW5pdGlhbFN0YXRlIH06IFRyYWl0SW5pdGlhbFN0YXRlRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzSW5pdGlhbFN0YXRlPEVudGl0eT4ocHJldmlvdXNJbml0aWFsU3RhdGUpLFxuICAgIG11dGF0b3JzOiAoeyBhbGxTZWxlY3RvcnMgfTogVHJhaXRTdGF0ZU11dGF0b3JzRmFjdG9yeUNvbmZpZykgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0aWVzVHJhaXRNdXRhdG9yczxFbnRpdHk+KFxuICAgICAgICBhbGxTZWxlY3RvcnMgYXMgU2VsZWN0RW50aXRpZXNTZWxlY3RvcnM8RW50aXR5PlxuICAgICAgKSxcbiAgICByZWR1Y2VyOiAoeyBpbml0aWFsU3RhdGUsIGFsbEFjdGlvbnMsIGFsbE11dGF0b3JzLCBhbGxDb25maWdzIH0pID0+XG4gICAgICBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0UmVkdWNlcihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxBY3Rpb25zIGFzIFNlbGVjdEVudGl0aWVzQWN0aW9ucyAmXG4gICAgICAgICAgQ3J1ZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBTb3J0RW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgICAgICAgIExvYWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgRmlsdGVyRW50aXRpZXNBY3Rpb25zPGFueT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gICAgICAgIGFsbE11dGF0b3JzLFxuICAgICAgICBhbGxDb25maWdzIGFzIExvYWRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT4gJlxuICAgICAgICAgIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnICZcbiAgICAgICAgICBTb3J0RW50aXRpZXNLZXllZENvbmZpZzxFbnRpdHk+XG4gICAgICApLFxuICB9KTtcbn1cbiJdfQ==
|
|
@@ -1,27 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnRyYWl0Lm11dGF0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUtBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMxQyxPQUFPLEVBQ0wsc0JBQXNCLEVBQ3RCLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsb0JBQW9CLEdBQ3JCLE1BQU0seUJBQXlCLENBQUM7QUFHakMsTUFBTSxVQUFVLGlDQUFpQyxDQUFTLEVBQ3hELHFCQUFxQixHQUNXO0lBQ2hDLFNBQVMsdUJBQXVCLENBRTlCLEtBQVE7UUFDUixNQUFNLFdBQVcsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqRCxJQUFJLFdBQVcsS0FBSyxLQUFLLEVBQUUsQ0FBQztZQUMxQixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsRUFBRTthQUNoQixDQUFDO1FBQ0osQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPO2dCQUNMLEdBQUcsS0FBSztnQkFDUixXQUFXLEVBQUUsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUM7YUFDOUIsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsT0FBTztRQUNMLGNBQWM7UUFDZCxnQkFBZ0I7UUFDaEIsb0JBQW9CO1FBQ3BCLHVCQUF1QjtRQUN2QixzQkFBc0I7S0FDdkIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc011dGF0b3JzLFxuICBTZWxlY3RFbnRpdGllc1NlbGVjdG9ycyxcbiAgU2VsZWN0RW50aXRpZXNTdGF0ZSxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgdG9NYXAgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQge1xuICBjbGVhckVudGl0aWVzU2VsZWN0aW9uLFxuICBkZXNlbGVjdEVudGl0aWVzLFxuICBzZWxlY3RFbnRpdGllcyxcbiAgdG9nZ2xlU2VsZWN0RW50aXRpZXMsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLnV0aWxzJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0TXV0YXRvcnM8RW50aXR5Pih7XG4gIGlzQWxsRW50aXRpZXNTZWxlY3RlZCxcbn06IFNlbGVjdEVudGl0aWVzU2VsZWN0b3JzPEVudGl0eT4pOiBTZWxlY3RFbnRpdGllc011dGF0b3JzPEVudGl0eT4ge1xuICBmdW5jdGlvbiB0b2dnbGVTZWxlY3RBbGxFbnRpdGllczxcbiAgICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbiAgPihzdGF0ZTogUyk6IFMge1xuICAgIGNvbnN0IGFsbFNlbGVjdGVkID0gaXNBbGxFbnRpdGllc1NlbGVjdGVkKHN0YXRlKTtcbiAgICBpZiAoYWxsU2VsZWN0ZWQgPT09ICdhbGwnKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5zdGF0ZSxcbiAgICAgICAgc2VsZWN0ZWRJZHM6IHt9LFxuICAgICAgfTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4uc3RhdGUsXG4gICAgICAgIHNlbGVjdGVkSWRzOiB0b01hcChzdGF0ZS5pZHMpLFxuICAgICAgfTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ge1xuICAgIHNlbGVjdEVudGl0aWVzLFxuICAgIGRlc2VsZWN0RW50aXRpZXMsXG4gICAgdG9nZ2xlU2VsZWN0RW50aXRpZXMsXG4gICAgdG9nZ2xlU2VsZWN0QWxsRW50aXRpZXMsXG4gICAgY2xlYXJFbnRpdGllc1NlbGVjdGlvbixcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -1,42 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnRyYWl0LnJlZHVjZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdGllcy9zZWxlY3QtZW50aXRpZXMudHJhaXQucmVkdWNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFnQkEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxhQUFhLEVBQUUsRUFBRSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBT2hELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FDOUMsb0JBQXlCO0lBRXpCLE9BQU87UUFDTCxHQUFHLG9CQUFvQjtRQUN2QixXQUFXLEVBQUUsRUFBRTtLQUNoQixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxnQ0FBZ0MsQ0FJOUMsWUFBZSxFQUNmLFVBSzJCLEVBQzNCLFdBQTJDLEVBQzNDLFVBRWlDO0lBRWpDLE1BQU0sRUFBRSxPQUFPLEVBQUUsR0FBRyxVQUFVLENBQUMsWUFBYSxDQUFDO0lBQzdDLE1BQU0sVUFBVSxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDO0lBQzNDLE1BQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7SUFFN0QsU0FBUyx3QkFBd0IsQ0FFL0IsS0FBUSxFQUFFLE9BQXlCO1FBQ25DLE1BQU0sVUFBVSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFHLEVBQUUsT0FBTyxFQUFFLEVBQUU7WUFDakQsTUFBTSxFQUFFLEdBQUcsT0FBTyxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsT0FBaUIsQ0FBQyxDQUFDO1lBQ3ZELElBQUksRUFBRSxJQUFJLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxJQUFJLElBQUksRUFBRSxDQUFDO2dCQUNyRSxHQUFHLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUNsQixPQUFPLEdBQUcsQ0FBQztZQUNiLENBQUM7WUFDRCxPQUFPLEdBQUcsQ0FBQztRQUNiLENBQUMsRUFBRSxFQUFzQixDQUFDLENBQUM7UUFDM0IsSUFBSSxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDdEIsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztZQUM3QyxVQUFVLENBQUMsT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7Z0JBQzdCLE1BQU0sRUFBRSxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUMsT0FBTyxDQUFDLE9BQWlCLENBQUMsQ0FBQztnQkFDdkQsTUFBTSxLQUFLLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUMsQ0FBQztnQkFDdEMsT0FBTyxXQUFXLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2dCQUMvQixXQUFXLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDO1lBQzFCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRCxPQUFPLGFBQWEsQ0FDbEIsWUFBWSxFQUNaLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUM5QyxXQUFXLENBQUMsY0FBYyxDQUFDLEVBQUUsRUFBRSxLQUFLLENBQUMsQ0FDdEMsRUFDRCxFQUFFLENBQUMsVUFBVSxDQUFDLGdCQUFnQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUNoRCxXQUFXLENBQUMsZ0JBQWdCLENBQUMsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUN4QyxFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsb0JBQW9CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxFQUFFLENBQ3BELFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQzVDLEVBQ0QsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLENBQUMsQ0FDM0MsRUFDRCxHQUFHLFFBQVEsQ0FBSSxVQUFVLENBQUMsY0FBYyxFQUFFLEdBQUcsRUFBRSxDQUM3QyxFQUFFLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUU7UUFDaEQsTUFBTSxXQUFXLEdBQUcsRUFBRSxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUM3QyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBa0IsRUFBRSxFQUFFO1lBQ2xDLE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hCLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxFQUFFLEdBQUcsS0FBSyxFQUFFLFdBQVcsRUFBRSxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUNILEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGNBQWMsRUFBRSxHQUFHLEVBQUUsQ0FDN0MsRUFBRSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxPQUFPLEVBQUUsRUFBRSxFQUFFLENBQ25ELHdCQUF3QixDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsQ0FDekMsQ0FDRixFQUNELEVBQUUsQ0FBQyxVQUFVLENBQUMsc0JBQXNCLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUM5QyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxDQUFDLGlCQUFpQixFQUFFLEdBQUcsRUFBRSxDQUNoRCxFQUFFLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDekMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQUksVUFBVSxFQUFFLEdBQUcsRUFBRSxDQUM5QixFQUFFLENBQUMsVUFBVSxDQUFDLFlBQVksRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQ3BDLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDRixFQUNELEdBQUcsUUFBUSxDQUFJLFVBQVUsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFLENBQzdDLEVBQUUsQ0FBQyxVQUFVLENBQUMsY0FBYyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FDdEMsV0FBVyxDQUFDLHNCQUFzQixDQUFDLEtBQUssQ0FBQyxDQUMxQyxDQUNGLEVBQ0QsR0FBRyxRQUFRLENBQUksQ0FBQyxVQUFVLENBQUMsdUJBQXVCLEVBQUUsR0FBRyxFQUFFLENBQ3ZELEVBQUUsQ0FBQyxVQUFVLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUMzQyxXQUFXLENBQUMsc0JBQXNCLENBQUMsS0FBSyxDQUFDLENBQzFDLENBQ0YsRUFDRCxHQUFHLFFBQVEsQ0FDVCxDQUFDLENBQUMsVUFBVSxDQUFDLHVCQUF1QixJQUFJLG1CQUFtQixLQUFLLFNBQVMsRUFDekUsR0FBRyxFQUFFLENBQ0gsRUFBRSxDQUFDLFVBQVUsQ0FBQyx1QkFBdUIsRUFBRSxDQUFDLEtBQUssRUFBRSxFQUFFLENBQy9DLFdBQVcsQ0FBQyxzQkFBc0IsQ0FBQyxLQUFLLENBQUMsQ0FDMUMsQ0FDSixDQUNGLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgTG9hZEVudGl0aWVzQWN0aW9ucyxcbiAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWcsXG4gIExvYWRFbnRpdGllc1N0YXRlLFxufSBmcm9tICcuLi9sb2FkLWVudGl0aWVzL2xvYWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU29ydEVudGl0aWVzQWN0aW9ucyxcbiAgU29ydEVudGl0aWVzS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL3NvcnQtZW50aXRpZXMvc29ydC1lbnRpdGllcy5tb2RlbCc7XG5pbXBvcnQge1xuICBTZWxlY3RFbnRpdGllc011dGF0b3JzLFxuICBTZWxlY3RFbnRpdGllc0FjdGlvbnMsXG4gIFNlbGVjdEVudGl0aWVzU3RhdGUsXG59IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IENydWRFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9jcnVkLWVudGl0aWVzL2NydWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHsgVXBkYXRlIH0gZnJvbSAnQG5ncngvZW50aXR5L3NyYy9tb2RlbHMnO1xuaW1wb3J0IHsgaW5zZXJ0SWYgfSBmcm9tICdAbmdyeC10cmFpdHMvY29yZSc7XG5pbXBvcnQgeyBjcmVhdGVSZWR1Y2VyLCBvbiB9IGZyb20gJ0BuZ3J4L3N0b3JlJztcbmltcG9ydCB7XG4gIEVudGl0aWVzUGFnaW5hdGlvbkFjdGlvbnMsXG4gIEVudGl0aWVzUGFnaW5hdGlvbktleWVkQ29uZmlnLFxufSBmcm9tICcuLi9lbnRpdGllcy1wYWdpbmF0aW9uL2VudGl0aWVzLXBhZ2luYXRpb24ubW9kZWwnO1xuaW1wb3J0IHsgRmlsdGVyRW50aXRpZXNBY3Rpb25zIH0gZnJvbSAnLi4vZmlsdGVyLWVudGl0aWVzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNlbGVjdEVudGl0aWVzSW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gIHByZXZpb3VzSW5pdGlhbFN0YXRlOiBhbnlcbik6IExvYWRFbnRpdGllc1N0YXRlPEVudGl0eT4gJiBTZWxlY3RFbnRpdGllc1N0YXRlIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5wcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICBzZWxlY3RlZElkczoge30sXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVTZWxlY3RFbnRpdGllc1RyYWl0UmVkdWNlcjxcbiAgRW50aXR5LFxuICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbj4oXG4gIGluaXRpYWxTdGF0ZTogUyxcbiAgYWxsQWN0aW9uczogU2VsZWN0RW50aXRpZXNBY3Rpb25zICZcbiAgICBDcnVkRW50aXRpZXNBY3Rpb25zPEVudGl0eT4gJlxuICAgIFNvcnRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8YW55PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgYWxsTXV0YXRvcnM6IFNlbGVjdEVudGl0aWVzTXV0YXRvcnM8RW50aXR5PixcbiAgYWxsQ29uZmlnczogTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbikge1xuICBjb25zdCB7IGFkYXB0ZXIgfSA9IGFsbENvbmZpZ3MubG9hZEVudGl0aWVzITtcbiAgY29uc3Qgc29ydFJlbW90ZSA9IGFsbENvbmZpZ3Muc29ydD8ucmVtb3RlO1xuICBjb25zdCBwYWdpbmF0aW9uQ2FjaGVUeXBlID0gYWxsQ29uZmlncy5wYWdpbmF0aW9uPy5jYWNoZVR5cGU7XG5cbiAgZnVuY3Rpb24gdXBkYXRlU2VsZWN0ZWRJZHNDaGFuZ2VkPFxuICAgIFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxFbnRpdHk+ICYgU2VsZWN0RW50aXRpZXNTdGF0ZVxuICA+KHN0YXRlOiBTLCB1cGRhdGVzOiBVcGRhdGU8RW50aXR5PltdKSB7XG4gICAgY29uc3QgY2hhbmdlZElkcyA9IHVwZGF0ZXMucmVkdWNlKChhY2MsIHVwZGF0ZWQpID0+IHtcbiAgICAgIGNvbnN0IGlkID0gYWRhcHRlci5zZWxlY3RJZCh1cGRhdGVkLmNoYW5nZXMgYXMgRW50aXR5KTtcbiAgICAgIGlmIChpZCAmJiBpZCAhPT0gdXBkYXRlZC5pZCAmJiBzdGF0ZS5zZWxlY3RlZElkc1t1cGRhdGVkLmlkXSAhPSBudWxsKSB7XG4gICAgICAgIGFjYy5wdXNoKHVwZGF0ZWQpO1xuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFjYztcbiAgICB9LCBbXSBhcyBVcGRhdGU8RW50aXR5PltdKTtcbiAgICBpZiAoY2hhbmdlZElkcy5sZW5ndGgpIHtcbiAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0geyAuLi5zdGF0ZS5zZWxlY3RlZElkcyB9O1xuICAgICAgY2hhbmdlZElkcy5mb3JFYWNoKCh1cGRhdGVkKSA9PiB7XG4gICAgICAgIGNvbnN0IGlkID0gYWRhcHRlci5zZWxlY3RJZCh1cGRhdGVkLmNoYW5nZXMgYXMgRW50aXR5KTtcbiAgICAgICAgY29uc3QgdmFsdWUgPSBzZWxlY3RlZElkc1t1cGRhdGVkLmlkXTtcbiAgICAgICAgZGVsZXRlIHNlbGVjdGVkSWRzW3VwZGF0ZWQuaWRdO1xuICAgICAgICBzZWxlY3RlZElkc1tpZF0gPSB2YWx1ZTtcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHsgLi4uc3RhdGUsIHNlbGVjdGVkSWRzIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIHN0YXRlO1xuICB9XG5cbiAgcmV0dXJuIGNyZWF0ZVJlZHVjZXIoXG4gICAgaW5pdGlhbFN0YXRlLFxuICAgIG9uKGFsbEFjdGlvbnMuc2VsZWN0RW50aXRpZXMsIChzdGF0ZSwgeyBpZCB9KSA9PlxuICAgICAgYWxsTXV0YXRvcnMuc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy5kZXNlbGVjdEVudGl0aWVzLCAoc3RhdGUsIHsgaWQgfSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLmRlc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKVxuICAgICksXG4gICAgb24oYWxsQWN0aW9ucy50b2dnbGVTZWxlY3RFbnRpdGllcywgKHN0YXRlLCB7IGlkIH0pID0+XG4gICAgICBhbGxNdXRhdG9ycy50b2dnbGVTZWxlY3RFbnRpdGllcyhpZCwgc3RhdGUpXG4gICAgKSxcbiAgICBvbihhbGxBY3Rpb25zLnRvZ2dsZVNlbGVjdEFsbEVudGl0aWVzLCAoc3RhdGUpID0+XG4gICAgICBhbGxNdXRhdG9ycy50b2dnbGVTZWxlY3RBbGxFbnRpdGllcyhzdGF0ZSlcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KGFsbEFjdGlvbnMucmVtb3ZlRW50aXRpZXMsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnJlbW92ZUVudGl0aWVzLCAoc3RhdGUsIHsga2V5cyB9KSA9PiB7XG4gICAgICAgIGNvbnN0IHNlbGVjdGVkSWRzID0geyAuLi5zdGF0ZS5zZWxlY3RlZElkcyB9O1xuICAgICAgICBrZXlzLmZvckVhY2goKHY6IHN0cmluZyB8IG51bWJlcikgPT4ge1xuICAgICAgICAgIGRlbGV0ZSBzZWxlY3RlZElkc1t2XTtcbiAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiB7IC4uLnN0YXRlLCBzZWxlY3RlZElkcyB9O1xuICAgICAgfSlcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KGFsbEFjdGlvbnMudXBkYXRlRW50aXRpZXMsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLnVwZGF0ZUVudGl0aWVzLCAoc3RhdGUsIHsgdXBkYXRlcyB9KSA9PlxuICAgICAgICB1cGRhdGVTZWxlY3RlZElkc0NoYW5nZWQoc3RhdGUsIHVwZGF0ZXMpXG4gICAgICApXG4gICAgKSxcbiAgICBvbihhbGxBY3Rpb25zLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24sIChzdGF0ZSkgPT5cbiAgICAgIGFsbE11dGF0b3JzLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24oc3RhdGUpXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLnJlbW92ZUFsbEVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5yZW1vdmVBbGxFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oc29ydFJlbW90ZSwgKCkgPT5cbiAgICAgIG9uKGFsbEFjdGlvbnMuc29ydEVudGl0aWVzLCAoc3RhdGUpID0+XG4gICAgICAgIGFsbE11dGF0b3JzLmNsZWFyRW50aXRpZXNTZWxlY3Rpb24oc3RhdGUpXG4gICAgICApXG4gICAgKSxcbiAgICAuLi5pbnNlcnRJZjxTPihhbGxBY3Rpb25zLmZpbHRlckVudGl0aWVzLCAoKSA9PlxuICAgICAgb24oYWxsQWN0aW9ucy5maWx0ZXJFbnRpdGllcywgKHN0YXRlKSA9PlxuICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgKVxuICAgICksXG4gICAgLi4uaW5zZXJ0SWY8Uz4oIWFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MsICgpID0+XG4gICAgICBvbihhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1N1Y2Nlc3MsIChzdGF0ZSkgPT5cbiAgICAgICAgYWxsTXV0YXRvcnMuY2xlYXJFbnRpdGllc1NlbGVjdGlvbihzdGF0ZSlcbiAgICAgIClcbiAgICApLFxuICAgIC4uLmluc2VydElmPFM+KFxuICAgICAgISFhbGxBY3Rpb25zLmxvYWRFbnRpdGllc1BhZ2VTdWNjZXNzICYmIHBhZ2luYXRpb25DYWNoZVR5cGUgPT09ICdwYXJ0aWFsJyxcbiAgICAgICgpID0+XG4gICAgICAgIG9uKGFsbEFjdGlvbnMubG9hZEVudGl0aWVzUGFnZVN1Y2Nlc3MsIChzdGF0ZSkgPT5cbiAgICAgICAgICBhbGxNdXRhdG9ycy5jbGVhckVudGl0aWVzU2VsZWN0aW9uKHN0YXRlKVxuICAgICAgICApXG4gICAgKVxuICApO1xufVxuIl19
|
|
@@ -1,28 +0,0 @@
|
|
|
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==
|
|
@@ -1,30 +0,0 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0aWVzLnV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9uZ3J4LXRyYWl0cy9jb21tb24vc3JjL2xpYi9zZWxlY3QtZW50aXRpZXMvc2VsZWN0LWVudGl0aWVzLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FDOUIsRUFBbUIsRUFDbkIsS0FBUTtJQUVSLDZEQUE2RDtJQUM3RCxNQUFNLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxXQUFXLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxDQUFDO0lBQzNELE9BQU87UUFDTCxHQUFHLEtBQUs7UUFDUixXQUFXLEVBQUUsV0FBVztLQUN6QixDQUFDO0FBQ0osQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQzVCLEVBQW1CLEVBQ25CLEtBQVE7SUFFUixPQUFPO1FBQ0wsR0FBRyxLQUFLO1FBQ1IsV0FBVyxFQUFFLEVBQUUsR0FBRyxLQUFLLENBQUMsV0FBVyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFO0tBQ2xELENBQUM7QUFDSixDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxFQUFtQixFQUNuQixLQUFRO0lBRVIsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN2QyxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsT0FBTyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDckMsQ0FBQztTQUFNLENBQUM7UUFDTixPQUFPLGNBQWMsQ0FBQyxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUM7SUFDbkMsQ0FBQztBQUNILENBQUM7QUFDRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQVE7SUFFUixPQUFPLEVBQUUsR0FBRyxLQUFLLEVBQUUsV0FBVyxFQUFFLEVBQUUsRUFBRSxDQUFDO0FBQ3ZDLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCLENBR3pDLEtBQVE7SUFDUixPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztBQUMvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2VsZWN0RW50aXRpZXNTdGF0ZSB9IGZyb20gJy4vc2VsZWN0LWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7IExvYWRFbnRpdGllc1N0YXRlIH0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBkZXNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgc3RhdGU6IFNcbik6IFMge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzXG4gIGNvbnN0IHsgW2lkXTogX3ZhbHVlLCAuLi5zZWxlY3RlZElkcyB9ID0gc3RhdGUuc2VsZWN0ZWRJZHM7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VsZWN0ZWRJZHM6IHNlbGVjdGVkSWRzLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0RW50aXRpZXM8UyBleHRlbmRzIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICBpZDogbnVtYmVyIHwgc3RyaW5nLFxuICBzdGF0ZTogU1xuKTogUyB7XG4gIHJldHVybiB7XG4gICAgLi4uc3RhdGUsXG4gICAgc2VsZWN0ZWRJZHM6IHsgLi4uc3RhdGUuc2VsZWN0ZWRJZHMsIFtpZF06IHRydWUgfSxcbiAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHRvZ2dsZVNlbGVjdEVudGl0aWVzPFMgZXh0ZW5kcyBTZWxlY3RFbnRpdGllc1N0YXRlPihcbiAgaWQ6IG51bWJlciB8IHN0cmluZyxcbiAgc3RhdGU6IFNcbik6IFMge1xuICBjb25zdCBzZWxlY3RlZCA9IHN0YXRlLnNlbGVjdGVkSWRzW2lkXTtcbiAgaWYgKHNlbGVjdGVkKSB7XG4gICAgcmV0dXJuIGRlc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKTtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gc2VsZWN0RW50aXRpZXMoaWQsIHN0YXRlKTtcbiAgfVxufVxuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyRW50aXRpZXNTZWxlY3Rpb248UyBleHRlbmRzIFNlbGVjdEVudGl0aWVzU3RhdGU+KFxuICBzdGF0ZTogU1xuKTogUyB7XG4gIHJldHVybiB7IC4uLnN0YXRlLCBzZWxlY3RlZElkczoge30gfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHNlbGVjdFRvdGFsU2VsZWN0ZWRFbnRpdGllczxcbiAgRW50aXR5LFxuICBTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8RW50aXR5PiAmIFNlbGVjdEVudGl0aWVzU3RhdGVcbj4oc3RhdGU6IFMpOiBudW1iZXIge1xuICByZXR1cm4gT2JqZWN0LmtleXMoc3RhdGUuc2VsZWN0ZWRJZHMpLmxlbmd0aDtcbn1cbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from './select-entity.trait';
|
|
2
|
-
export * from './select-entity.model';
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL25ncngtdHJhaXRzL2NvbW1vbi9zcmMvbGliL3NlbGVjdC1lbnRpdHkvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHVCQUF1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0JztcbmV4cG9ydCAqIGZyb20gJy4vc2VsZWN0LWVudGl0eS5tb2RlbCc7XG4iXX0=
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export const selectEntityTraitKey = 'singleSelection';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlEQSxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEtleWVkQ29uZmlnIH0gZnJvbSAnQG5ncngtdHJhaXRzL2NvcmUnO1xuaW1wb3J0IHsgQWN0aW9uIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHsgQWN0aW9uQ3JlYXRvciB9IGZyb20gJ0BuZ3J4L3N0b3JlL3NyYy9tb2RlbHMnO1xuXG5pbXBvcnQgeyBMb2FkRW50aXRpZXNTdGF0ZSB9IGZyb20gJy4uL2xvYWQtZW50aXRpZXMvbG9hZC1lbnRpdGllcy5tb2RlbCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RW50aXR5U3RhdGUge1xuICBzZWxlY3RlZElkPzogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlBY3Rpb25zID0ge1xuICBzZWxlY3RFbnRpdHk6IEFjdGlvbkNyZWF0b3I8XG4gICAgc3RyaW5nLFxuICAgIChwcm9wczogeyBpZDogbnVtYmVyIHwgc3RyaW5nIH0pID0+IHsgaWQ6IG51bWJlciB8IHN0cmluZyB9ICYgQWN0aW9uPHN0cmluZz5cbiAgPjtcbiAgZGVzZWxlY3RFbnRpdHk6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiBBY3Rpb248c3RyaW5nPj47XG4gIHRvZ2dsZVNlbGVjdEVudGl0eTogQWN0aW9uQ3JlYXRvcjxcbiAgICBzdHJpbmcsXG4gICAgKHByb3BzOiB7IGlkOiBudW1iZXIgfCBzdHJpbmcgfSkgPT4geyBpZDogbnVtYmVyIHwgc3RyaW5nIH0gJiBBY3Rpb248c3RyaW5nPlxuICA+O1xufTtcblxuZXhwb3J0IHR5cGUgU2VsZWN0RW50aXR5U2VsZWN0b3JzPFQ+ID0ge1xuICBzZWxlY3RFbnRpdHlJZFNlbGVjdGVkOiAoXG4gICAgc3RhdGU6IExvYWRFbnRpdGllc1N0YXRlPFQ+ICYgU2VsZWN0RW50aXR5U3RhdGUsXG4gICkgPT4gc3RyaW5nIHwgbnVtYmVyIHwgdW5kZWZpbmVkO1xuICBzZWxlY3RFbnRpdHlTZWxlY3RlZDogKFxuICAgIHN0YXRlOiBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlLFxuICApID0+IFQgfCB1bmRlZmluZWQ7XG59O1xuXG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlNdXRhdG9yczxUPiA9IHtcbiAgc2VsZWN0RW50aXR5PFMgZXh0ZW5kcyBMb2FkRW50aXRpZXNTdGF0ZTxUPiAmIFNlbGVjdEVudGl0eVN0YXRlPihcbiAgICBpZDogc3RyaW5nIHwgbnVtYmVyLFxuICAgIHN0YXRlOiBTLFxuICApOiBTO1xuICBkZXNlbGVjdEVudGl0eTxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTZWxlY3RFbnRpdHlTdGF0ZT4oXG4gICAgc3RhdGU6IFMsXG4gICk6IFM7XG4gIHRvZ2dsZVNlbGVjdEVudGl0eTxTIGV4dGVuZHMgTG9hZEVudGl0aWVzU3RhdGU8VD4gJiBTZWxlY3RFbnRpdHlTdGF0ZT4oXG4gICAgaWQ6IHN0cmluZyB8IG51bWJlcixcbiAgICBzdGF0ZTogUyxcbiAgKTogUztcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2VsZWN0RW50aXR5Q29uZmlnIHtcbiAgc2VsZWN0ZWRJZD86IHN0cmluZyB8IG51bWJlcjtcbn1cblxuZXhwb3J0IGNvbnN0IHNlbGVjdEVudGl0eVRyYWl0S2V5ID0gJ3NpbmdsZVNlbGVjdGlvbic7XG5leHBvcnQgdHlwZSBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyA9IEtleWVkQ29uZmlnPFxuICB0eXBlb2Ygc2VsZWN0RW50aXR5VHJhaXRLZXksXG4gIFNlbGVjdEVudGl0eUNvbmZpZ1xuPjtcbiJdfQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
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==
|
|
@@ -1,52 +0,0 @@
|
|
|
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
|
-
* {entityName: 'Todo'},
|
|
20
|
-
* addLoadEntitiesTrait<Todo>(),
|
|
21
|
-
* addSelectEntityTrait<Todo>()
|
|
22
|
-
* )({
|
|
23
|
-
* actionsGroupKey: '[Todos]',
|
|
24
|
-
* featureSelector: createFeatureSelector<TestState>>(
|
|
25
|
-
* 'todos',
|
|
26
|
-
* ),
|
|
27
|
-
* });
|
|
28
|
-
*
|
|
29
|
-
* // adds following props to the state:
|
|
30
|
-
* // selectedId?: number | string;
|
|
31
|
-
*
|
|
32
|
-
* // generated actions
|
|
33
|
-
* traits.actions.selectTodo({id})
|
|
34
|
-
* traits.actions.deselectTodo()
|
|
35
|
-
* traits.actions.toggleSelectTodo({id})
|
|
36
|
-
* //generated selectors
|
|
37
|
-
* traits.selectors.selectTodoIdSelected()
|
|
38
|
-
* traits.selectors.selectTodoSelected()
|
|
39
|
-
*/
|
|
40
|
-
export function addSelectEntityTrait(config) {
|
|
41
|
-
return createTraitFactory({
|
|
42
|
-
key: 'singleSelection',
|
|
43
|
-
depends: [loadEntitiesTraitKey],
|
|
44
|
-
config,
|
|
45
|
-
actions: ({ actionsGroupKey, entityName }) => createSelectEntityTraitActions(actionsGroupKey, entityName),
|
|
46
|
-
selectors: () => createSelectEntityTraitSelectors(),
|
|
47
|
-
mutators: () => createSelectEntityTraitMutators(),
|
|
48
|
-
initialState: ({ previousInitialState, allConfigs, }) => createSelectEntityInitialState(previousInitialState, allConfigs),
|
|
49
|
-
reducer: ({ initialState, allActions, allMutators, allConfigs }) => createSelectEntityTraitReducer(initialState, allActions, allMutators, allConfigs),
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0LWVudGl0eS50cmFpdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvbmdyeC10cmFpdHMvY29tbW9uL3NyYy9saWIvc2VsZWN0LWVudGl0eS9zZWxlY3QtZW50aXR5LnRyYWl0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxrQkFBa0IsR0FHbkIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMvRSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxpQ0FBaUMsQ0FBQztBQUNuRixPQUFPLEVBQ0wsOEJBQThCLEVBQzlCLDhCQUE4QixHQUMvQixNQUFNLCtCQUErQixDQUFDO0FBQ3ZDLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ2pGLE9BQU8sRUFHTCxvQkFBb0IsR0FDckIsTUFBTSxzQ0FBc0MsQ0FBQztBQWlCOUM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUFTLE1BQTJCO0lBQ3RFLE9BQU8sa0JBQWtCLENBQUM7UUFDeEIsR0FBRyxFQUFFLGlCQUFpQjtRQUN0QixPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztRQUMvQixNQUFNO1FBQ04sT0FBTyxFQUFFLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUE2QixFQUFFLEVBQUUsQ0FDdEUsOEJBQThCLENBQUMsZUFBZSxFQUFFLFVBQVUsQ0FBQztRQUM3RCxTQUFTLEVBQUUsR0FBRyxFQUFFLENBQUMsZ0NBQWdDLEVBQVU7UUFDM0QsUUFBUSxFQUFFLEdBQUcsRUFBRSxDQUFDLCtCQUErQixFQUFFO1FBQ2pELFlBQVksRUFBRSxDQUFDLEVBQ2Isb0JBQW9CLEVBQ3BCLFVBQVUsR0FDcUIsRUFBRSxFQUFFLENBQ25DLDhCQUE4QixDQUM1QixvQkFBb0IsRUFDcEIsVUFBcUMsQ0FDdEM7UUFDSCxPQUFPLEVBQUUsQ0FBQyxFQUFFLFlBQVksRUFBRSxVQUFVLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxFQUFFLEVBQUUsQ0FDakUsOEJBQThCLENBQzVCLFlBQVksRUFDWixVQUs2QixFQUM3QixXQUFXLEVBQ1gsVUFHaUMsQ0FDbEM7S0FDSixDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgY3JlYXRlVHJhaXRGYWN0b3J5LFxuICBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnLFxuICBUcmFpdEluaXRpYWxTdGF0ZUZhY3RvcnlDb25maWcsXG59IGZyb20gJ0BuZ3J4LXRyYWl0cy9jb3JlJztcblxuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0LmFjdGlvbnMnO1xuaW1wb3J0IHsgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRTZWxlY3RvcnMgfSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQuc2VsZWN0b3JzJztcbmltcG9ydCB7XG4gIGNyZWF0ZVNlbGVjdEVudGl0eUluaXRpYWxTdGF0ZSxcbiAgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRSZWR1Y2VyLFxufSBmcm9tICcuL3NlbGVjdC1lbnRpdHkudHJhaXQucmVkdWNlcic7XG5pbXBvcnQgeyBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdE11dGF0b3JzIH0gZnJvbSAnLi9zZWxlY3QtZW50aXR5LnRyYWl0Lm11dGF0b3JzJztcbmltcG9ydCB7XG4gIExvYWRFbnRpdGllc0FjdGlvbnMsXG4gIExvYWRFbnRpdGllc0tleWVkQ29uZmlnLFxuICBsb2FkRW50aXRpZXNUcmFpdEtleSxcbn0gZnJvbSAnLi4vbG9hZC1lbnRpdGllcy9sb2FkLWVudGl0aWVzLm1vZGVsJztcbmltcG9ydCB7XG4gIFNvcnRFbnRpdGllc0FjdGlvbnMsXG4gIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnLFxufSBmcm9tICcuLi9zb3J0LWVudGl0aWVzL3NvcnQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgU2VsZWN0RW50aXR5QWN0aW9ucyxcbiAgU2VsZWN0RW50aXR5Q29uZmlnLFxuICBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyxcbn0gZnJvbSAnLi9zZWxlY3QtZW50aXR5Lm1vZGVsJztcbmltcG9ydCB7IENydWRFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9jcnVkLWVudGl0aWVzL2NydWQtZW50aXRpZXMubW9kZWwnO1xuaW1wb3J0IHtcbiAgRW50aXRpZXNQYWdpbmF0aW9uQWN0aW9ucyxcbiAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcsXG59IGZyb20gJy4uL2VudGl0aWVzLXBhZ2luYXRpb24vZW50aXRpZXMtcGFnaW5hdGlvbi5tb2RlbCc7XG5pbXBvcnQgeyBGaWx0ZXJFbnRpdGllc0FjdGlvbnMgfSBmcm9tICcuLi9maWx0ZXItZW50aXRpZXMnO1xuXG4vKipcbiAqIEdlbmVyYXRlcyBuZ3J4IGNvZGUgdG8gYWRkIHNpbmdsZSBzZWxlY3Rpb24gdG8gYSBsaXN0XG4gKiBAcGFyYW0gY29uZmlnXG4gKiBAcGFyYW0gY29uZmlnLnNlbGVjdGVkSWQgLSBEZWZhdWx0IHNlbGVjdGVkIGlkXG4gKlxuICogQGV4YW1wbGVcbiAqIC8vIFRoZSBmb2xsb3dpbmcgdHJhaXQgY29uZmlnXG4gKlxuICogZXhwb3J0IGludGVyZmFjZSBUZXN0U3RhdGVcbiAqIGV4dGVuZHMgRW50aXR5QW5kU3RhdHVzU3RhdGU8VG9kbz4sU2VsZWN0RW50aXR5U3RhdGV7fVxuICpcbiAqICAgIGNvbnN0IHRyYWl0cyA9IGNyZWF0ZUVudGl0eUZlYXR1cmVGYWN0b3J5KFxuICogICAgICB7ZW50aXR5TmFtZTogJ1RvZG8nfSxcbiAqICAgICAgYWRkTG9hZEVudGl0aWVzVHJhaXQ8VG9kbz4oKSxcbiAqICAgICAgYWRkU2VsZWN0RW50aXR5VHJhaXQ8VG9kbz4oKVxuICogICAgKSh7XG4gKiAgICAgIGFjdGlvbnNHcm91cEtleTogJ1tUb2Rvc10nLFxuICogICAgICBmZWF0dXJlU2VsZWN0b3I6IGNyZWF0ZUZlYXR1cmVTZWxlY3RvcjxUZXN0U3RhdGU+PihcbiAqICAgICAgICAndG9kb3MnLFxuICogICAgICApLFxuICogICAgfSk7XG4gKlxuICogLy8gICBhZGRzIGZvbGxvd2luZyBwcm9wcyB0byB0aGUgc3RhdGU6XG4gKiAvLyAgICAgc2VsZWN0ZWRJZD86IG51bWJlciB8IHN0cmluZztcbiAqXG4gKiAvLyBnZW5lcmF0ZWQgYWN0aW9uc1xuICogdHJhaXRzLmFjdGlvbnMuc2VsZWN0VG9kbyh7aWR9KVxuICogdHJhaXRzLmFjdGlvbnMuZGVzZWxlY3RUb2RvKClcbiAqIHRyYWl0cy5hY3Rpb25zLnRvZ2dsZVNlbGVjdFRvZG8oe2lkfSlcbiAqIC8vZ2VuZXJhdGVkIHNlbGVjdG9yc1xuICogdHJhaXRzLnNlbGVjdG9ycy5zZWxlY3RUb2RvSWRTZWxlY3RlZCgpXG4gKiB0cmFpdHMuc2VsZWN0b3JzLnNlbGVjdFRvZG9TZWxlY3RlZCgpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRTZWxlY3RFbnRpdHlUcmFpdDxFbnRpdHk+KGNvbmZpZz86IFNlbGVjdEVudGl0eUNvbmZpZykge1xuICByZXR1cm4gY3JlYXRlVHJhaXRGYWN0b3J5KHtcbiAgICBrZXk6ICdzaW5nbGVTZWxlY3Rpb24nLFxuICAgIGRlcGVuZHM6IFtsb2FkRW50aXRpZXNUcmFpdEtleV0sXG4gICAgY29uZmlnLFxuICAgIGFjdGlvbnM6ICh7IGFjdGlvbnNHcm91cEtleSwgZW50aXR5TmFtZSB9OiBUcmFpdEFjdGlvbnNGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXR5VHJhaXRBY3Rpb25zKGFjdGlvbnNHcm91cEtleSwgZW50aXR5TmFtZSksXG4gICAgc2VsZWN0b3JzOiAoKSA9PiBjcmVhdGVTZWxlY3RFbnRpdHlUcmFpdFNlbGVjdG9yczxFbnRpdHk+KCksXG4gICAgbXV0YXRvcnM6ICgpID0+IGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0TXV0YXRvcnMoKSxcbiAgICBpbml0aWFsU3RhdGU6ICh7XG4gICAgICBwcmV2aW91c0luaXRpYWxTdGF0ZSxcbiAgICAgIGFsbENvbmZpZ3MsXG4gICAgfTogVHJhaXRJbml0aWFsU3RhdGVGYWN0b3J5Q29uZmlnKSA9PlxuICAgICAgY3JlYXRlU2VsZWN0RW50aXR5SW5pdGlhbFN0YXRlPEVudGl0eT4oXG4gICAgICAgIHByZXZpb3VzSW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxDb25maWdzIGFzIFNlbGVjdEVudGl0eUtleWVkQ29uZmlnXG4gICAgICApLFxuICAgIHJlZHVjZXI6ICh7IGluaXRpYWxTdGF0ZSwgYWxsQWN0aW9ucywgYWxsTXV0YXRvcnMsIGFsbENvbmZpZ3MgfSkgPT5cbiAgICAgIGNyZWF0ZVNlbGVjdEVudGl0eVRyYWl0UmVkdWNlcihcbiAgICAgICAgaW5pdGlhbFN0YXRlLFxuICAgICAgICBhbGxBY3Rpb25zIGFzIFNlbGVjdEVudGl0eUFjdGlvbnMgJlxuICAgICAgICAgIENydWRFbnRpdGllc0FjdGlvbnM8RW50aXR5PiAmXG4gICAgICAgICAgU29ydEVudGl0aWVzQWN0aW9uczxFbnRpdHk+ICZcbiAgICAgICAgICBFbnRpdGllc1BhZ2luYXRpb25BY3Rpb25zICZcbiAgICAgICAgICBGaWx0ZXJFbnRpdGllc0FjdGlvbnM8YW55PiAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzQWN0aW9uczxFbnRpdHk+LFxuICAgICAgICBhbGxNdXRhdG9ycyxcbiAgICAgICAgYWxsQ29uZmlncyBhcyBTZWxlY3RFbnRpdHlLZXllZENvbmZpZyAmXG4gICAgICAgICAgTG9hZEVudGl0aWVzS2V5ZWRDb25maWc8RW50aXR5PiAmXG4gICAgICAgICAgRW50aXRpZXNQYWdpbmF0aW9uS2V5ZWRDb25maWcgJlxuICAgICAgICAgIFNvcnRFbnRpdGllc0tleWVkQ29uZmlnPEVudGl0eT5cbiAgICAgICksXG4gIH0pO1xufVxuIl19
|