@ngrx-traits/common 0.0.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.
Files changed (219) hide show
  1. package/README.md +7 -0
  2. package/async-action/async-action.model.d.ts +19 -0
  3. package/async-action/async-action.trait.d.ts +59 -0
  4. package/async-action/index.d.ts +2 -0
  5. package/bundles/ngrx-traits-common.umd.js +2126 -0
  6. package/bundles/ngrx-traits-common.umd.js.map +1 -0
  7. package/crud-entities/crud-entities.model.d.ts +76 -0
  8. package/crud-entities/crud-entities.trait.actions.d.ts +2 -0
  9. package/crud-entities/crud-entities.trait.d.ts +35 -0
  10. package/crud-entities/crud-entities.trait.mutators.d.ts +3 -0
  11. package/crud-entities/crud-entities.trait.reducer.d.ts +7 -0
  12. package/crud-entities/crud-entities.trait.selectors.d.ts +3 -0
  13. package/crud-entities/index.d.ts +2 -0
  14. package/entities-pagination/entities-pagination.model.d.ts +82 -0
  15. package/entities-pagination/entities-pagination.model.internal.d.ts +12 -0
  16. package/entities-pagination/entities-pagination.trait.actions.d.ts +2 -0
  17. package/entities-pagination/entities-pagination.trait.d.ts +55 -0
  18. package/entities-pagination/entities-pagination.trait.effects.d.ts +8 -0
  19. package/entities-pagination/entities-pagination.trait.mutators.d.ts +3 -0
  20. package/entities-pagination/entities-pagination.trait.reducer.d.ts +7 -0
  21. package/entities-pagination/entities-pagination.trait.selectors.d.ts +4 -0
  22. package/entities-pagination/index.d.ts +2 -0
  23. package/esm2015/async-action/async-action.model.js +2 -0
  24. package/esm2015/async-action/async-action.model.js.map +1 -0
  25. package/esm2015/async-action/async-action.trait.js +96 -0
  26. package/esm2015/async-action/async-action.trait.js.map +1 -0
  27. package/esm2015/async-action/index.js +3 -0
  28. package/esm2015/async-action/index.js.map +1 -0
  29. package/esm2015/crud-entities/crud-entities.model.js +8 -0
  30. package/esm2015/crud-entities/crud-entities.model.js.map +1 -0
  31. package/esm2015/crud-entities/crud-entities.trait.actions.js +20 -0
  32. package/esm2015/crud-entities/crud-entities.trait.actions.js.map +1 -0
  33. package/esm2015/crud-entities/crud-entities.trait.js +53 -0
  34. package/esm2015/crud-entities/crud-entities.trait.js.map +1 -0
  35. package/esm2015/crud-entities/crud-entities.trait.mutators.js +101 -0
  36. package/esm2015/crud-entities/crud-entities.trait.mutators.js.map +1 -0
  37. package/esm2015/crud-entities/crud-entities.trait.reducer.js +15 -0
  38. package/esm2015/crud-entities/crud-entities.trait.reducer.js.map +1 -0
  39. package/esm2015/crud-entities/crud-entities.trait.selectors.js +70 -0
  40. package/esm2015/crud-entities/crud-entities.trait.selectors.js.map +1 -0
  41. package/esm2015/crud-entities/index.js +3 -0
  42. package/esm2015/crud-entities/index.js.map +1 -0
  43. package/esm2015/entities-pagination/entities-pagination.model.internal.js +2 -0
  44. package/esm2015/entities-pagination/entities-pagination.model.internal.js.map +1 -0
  45. package/esm2015/entities-pagination/entities-pagination.model.js +2 -0
  46. package/esm2015/entities-pagination/entities-pagination.model.js.map +1 -0
  47. package/esm2015/entities-pagination/entities-pagination.trait.actions.js +20 -0
  48. package/esm2015/entities-pagination/entities-pagination.trait.actions.js.map +1 -0
  49. package/esm2015/entities-pagination/entities-pagination.trait.effects.js +54 -0
  50. package/esm2015/entities-pagination/entities-pagination.trait.effects.js.map +1 -0
  51. package/esm2015/entities-pagination/entities-pagination.trait.js +80 -0
  52. package/esm2015/entities-pagination/entities-pagination.trait.js.map +1 -0
  53. package/esm2015/entities-pagination/entities-pagination.trait.mutators.js +23 -0
  54. package/esm2015/entities-pagination/entities-pagination.trait.mutators.js.map +1 -0
  55. package/esm2015/entities-pagination/entities-pagination.trait.reducer.js +33 -0
  56. package/esm2015/entities-pagination/entities-pagination.trait.reducer.js.map +1 -0
  57. package/esm2015/entities-pagination/entities-pagination.trait.selectors.js +65 -0
  58. package/esm2015/entities-pagination/entities-pagination.trait.selectors.js.map +1 -0
  59. package/esm2015/entities-pagination/index.js +3 -0
  60. package/esm2015/entities-pagination/index.js.map +1 -0
  61. package/esm2015/filter-entities/filter-entities.model.internal.js +2 -0
  62. package/esm2015/filter-entities/filter-entities.model.internal.js.map +1 -0
  63. package/esm2015/filter-entities/filter-entities.model.js +2 -0
  64. package/esm2015/filter-entities/filter-entities.model.js.map +1 -0
  65. package/esm2015/filter-entities/filter-entities.trait.actions.js +16 -0
  66. package/esm2015/filter-entities/filter-entities.trait.actions.js.map +1 -0
  67. package/esm2015/filter-entities/filter-entities.trait.effect.js +56 -0
  68. package/esm2015/filter-entities/filter-entities.trait.effect.js.map +1 -0
  69. package/esm2015/filter-entities/filter-entities.trait.js +68 -0
  70. package/esm2015/filter-entities/filter-entities.trait.js.map +1 -0
  71. package/esm2015/filter-entities/filter-entities.trait.mutators.js +7 -0
  72. package/esm2015/filter-entities/filter-entities.trait.mutators.js.map +1 -0
  73. package/esm2015/filter-entities/filter-entities.trait.reducer.js +9 -0
  74. package/esm2015/filter-entities/filter-entities.trait.reducer.js.map +1 -0
  75. package/esm2015/filter-entities/filter-entities.trait.selectors.js +9 -0
  76. package/esm2015/filter-entities/filter-entities.trait.selectors.js.map +1 -0
  77. package/esm2015/filter-entities/index.js +3 -0
  78. package/esm2015/filter-entities/index.js.map +1 -0
  79. package/esm2015/index.js +12 -0
  80. package/esm2015/index.js.map +1 -0
  81. package/esm2015/load-entities/index.js +3 -0
  82. package/esm2015/load-entities/index.js.map +1 -0
  83. package/esm2015/load-entities/load-entities.model.js +2 -0
  84. package/esm2015/load-entities/load-entities.model.js.map +1 -0
  85. package/esm2015/load-entities/load-entities.mutators.js +8 -0
  86. package/esm2015/load-entities/load-entities.mutators.js.map +1 -0
  87. package/esm2015/load-entities/load-entities.trait.actions.js +10 -0
  88. package/esm2015/load-entities/load-entities.trait.actions.js.map +1 -0
  89. package/esm2015/load-entities/load-entities.trait.js +57 -0
  90. package/esm2015/load-entities/load-entities.trait.js.map +1 -0
  91. package/esm2015/load-entities/load-entities.trait.reducer.js +12 -0
  92. package/esm2015/load-entities/load-entities.trait.reducer.js.map +1 -0
  93. package/esm2015/load-entities/load-entities.trait.selectors.js +33 -0
  94. package/esm2015/load-entities/load-entities.trait.selectors.js.map +1 -0
  95. package/esm2015/load-entities/load-entities.utils.js +10 -0
  96. package/esm2015/load-entities/load-entities.utils.js.map +1 -0
  97. package/esm2015/load-entity/index.js +3 -0
  98. package/esm2015/load-entity/index.js.map +1 -0
  99. package/esm2015/load-entity/load-entity.model.js +2 -0
  100. package/esm2015/load-entity/load-entity.model.js.map +1 -0
  101. package/esm2015/load-entity/load-entity.traits.js +65 -0
  102. package/esm2015/load-entity/load-entity.traits.js.map +1 -0
  103. package/esm2015/ngrx-traits-common.js +5 -0
  104. package/esm2015/ngrx-traits-common.js.map +1 -0
  105. package/esm2015/public_api.js +2 -0
  106. package/esm2015/public_api.js.map +1 -0
  107. package/esm2015/reset/index.js +2 -0
  108. package/esm2015/reset/index.js.map +1 -0
  109. package/esm2015/reset/reset.trait.js +66 -0
  110. package/esm2015/reset/reset.trait.js.map +1 -0
  111. package/esm2015/select-entities/index.js +4 -0
  112. package/esm2015/select-entities/index.js.map +1 -0
  113. package/esm2015/select-entities/select-entities.model.js +2 -0
  114. package/esm2015/select-entities/select-entities.model.js.map +1 -0
  115. package/esm2015/select-entities/select-entities.trait.actions.js +11 -0
  116. package/esm2015/select-entities/select-entities.trait.actions.js.map +1 -0
  117. package/esm2015/select-entities/select-entities.trait.js +50 -0
  118. package/esm2015/select-entities/select-entities.trait.js.map +1 -0
  119. package/esm2015/select-entities/select-entities.trait.mutators.js +21 -0
  120. package/esm2015/select-entities/select-entities.trait.mutators.js.map +1 -0
  121. package/esm2015/select-entities/select-entities.trait.reducer.js +40 -0
  122. package/esm2015/select-entities/select-entities.trait.reducer.js.map +1 -0
  123. package/esm2015/select-entities/select-entities.trait.selectors.js +28 -0
  124. package/esm2015/select-entities/select-entities.trait.selectors.js.map +1 -0
  125. package/esm2015/select-entities/select-entities.utils.js +25 -0
  126. package/esm2015/select-entities/select-entities.utils.js.map +1 -0
  127. package/esm2015/select-entity/index.js +3 -0
  128. package/esm2015/select-entity/index.js.map +1 -0
  129. package/esm2015/select-entity/select-entity.model.js +2 -0
  130. package/esm2015/select-entity/select-entity.model.js.map +1 -0
  131. package/esm2015/select-entity/select-entity.trait.actions.js +9 -0
  132. package/esm2015/select-entity/select-entity.trait.actions.js.map +1 -0
  133. package/esm2015/select-entity/select-entity.trait.js +47 -0
  134. package/esm2015/select-entity/select-entity.trait.js.map +1 -0
  135. package/esm2015/select-entity/select-entity.trait.mutators.js +17 -0
  136. package/esm2015/select-entity/select-entity.trait.mutators.js.map +1 -0
  137. package/esm2015/select-entity/select-entity.trait.reducer.js +26 -0
  138. package/esm2015/select-entity/select-entity.trait.reducer.js.map +1 -0
  139. package/esm2015/select-entity/select-entity.trait.selectors.js +13 -0
  140. package/esm2015/select-entity/select-entity.trait.selectors.js.map +1 -0
  141. package/esm2015/set-entity/index.js +3 -0
  142. package/esm2015/set-entity/index.js.map +1 -0
  143. package/esm2015/set-entity/set-entity.model.js +2 -0
  144. package/esm2015/set-entity/set-entity.model.js.map +1 -0
  145. package/esm2015/set-entity/set-entity.trait.js +52 -0
  146. package/esm2015/set-entity/set-entity.trait.js.map +1 -0
  147. package/esm2015/sort-entities/index.js +4 -0
  148. package/esm2015/sort-entities/index.js.map +1 -0
  149. package/esm2015/sort-entities/sort-entities.model.js +2 -0
  150. package/esm2015/sort-entities/sort-entities.model.js.map +1 -0
  151. package/esm2015/sort-entities/sort-entities.trait.actions.js +8 -0
  152. package/esm2015/sort-entities/sort-entities.trait.actions.js.map +1 -0
  153. package/esm2015/sort-entities/sort-entities.trait.effect.js +28 -0
  154. package/esm2015/sort-entities/sort-entities.trait.effect.js.map +1 -0
  155. package/esm2015/sort-entities/sort-entities.trait.js +53 -0
  156. package/esm2015/sort-entities/sort-entities.trait.js.map +1 -0
  157. package/esm2015/sort-entities/sort-entities.trait.mutators.js +13 -0
  158. package/esm2015/sort-entities/sort-entities.trait.mutators.js.map +1 -0
  159. package/esm2015/sort-entities/sort-entities.trait.reducer.js +22 -0
  160. package/esm2015/sort-entities/sort-entities.trait.reducer.js.map +1 -0
  161. package/esm2015/sort-entities/sort-entities.trait.selectors.js +10 -0
  162. package/esm2015/sort-entities/sort-entities.trait.selectors.js.map +1 -0
  163. package/esm2015/sort-entities/sort-entities.utils.js +61 -0
  164. package/esm2015/sort-entities/sort-entities.utils.js.map +1 -0
  165. package/fesm2015/ngrx-traits-common.js +1511 -0
  166. package/fesm2015/ngrx-traits-common.js.map +1 -0
  167. package/filter-entities/filter-entities.model.d.ts +57 -0
  168. package/filter-entities/filter-entities.model.internal.d.ts +14 -0
  169. package/filter-entities/filter-entities.trait.actions.d.ts +2 -0
  170. package/filter-entities/filter-entities.trait.d.ts +42 -0
  171. package/filter-entities/filter-entities.trait.effect.d.ts +6 -0
  172. package/filter-entities/filter-entities.trait.mutators.d.ts +2 -0
  173. package/filter-entities/filter-entities.trait.reducer.d.ts +5 -0
  174. package/filter-entities/filter-entities.trait.selectors.d.ts +4 -0
  175. package/filter-entities/index.d.ts +2 -0
  176. package/index.d.ts +11 -0
  177. package/load-entities/index.d.ts +2 -0
  178. package/load-entities/load-entities.model.d.ts +97 -0
  179. package/load-entities/load-entities.mutators.d.ts +3 -0
  180. package/load-entities/load-entities.trait.actions.d.ts +2 -0
  181. package/load-entities/load-entities.trait.d.ts +39 -0
  182. package/load-entities/load-entities.trait.reducer.d.ts +4 -0
  183. package/load-entities/load-entities.trait.selectors.d.ts +3 -0
  184. package/load-entities/load-entities.utils.d.ts +4 -0
  185. package/load-entity/index.d.ts +2 -0
  186. package/load-entity/load-entity.model.d.ts +9 -0
  187. package/load-entity/load-entity.traits.d.ts +64 -0
  188. package/ngrx-traits-common.d.ts +5 -0
  189. package/package.json +28 -0
  190. package/public_api.d.ts +1 -0
  191. package/reset/index.d.ts +1 -0
  192. package/reset/reset.trait.d.ts +32 -0
  193. package/select-entities/index.d.ts +3 -0
  194. package/select-entities/select-entities.model.d.ts +41 -0
  195. package/select-entities/select-entities.trait.actions.d.ts +2 -0
  196. package/select-entities/select-entities.trait.d.ts +34 -0
  197. package/select-entities/select-entities.trait.mutators.d.ts +2 -0
  198. package/select-entities/select-entities.trait.reducer.d.ts +8 -0
  199. package/select-entities/select-entities.trait.selectors.d.ts +3 -0
  200. package/select-entities/select-entities.utils.d.ts +7 -0
  201. package/select-entity/index.d.ts +2 -0
  202. package/select-entity/select-entity.model.d.ts +33 -0
  203. package/select-entity/select-entity.trait.actions.d.ts +2 -0
  204. package/select-entity/select-entity.trait.d.ts +30 -0
  205. package/select-entity/select-entity.trait.mutators.d.ts +2 -0
  206. package/select-entity/select-entity.trait.reducer.d.ts +8 -0
  207. package/select-entity/select-entity.trait.selectors.d.ts +2 -0
  208. package/set-entity/index.d.ts +2 -0
  209. package/set-entity/set-entity.model.d.ts +16 -0
  210. package/set-entity/set-entity.trait.d.ts +39 -0
  211. package/sort-entities/index.d.ts +3 -0
  212. package/sort-entities/sort-entities.model.d.ts +35 -0
  213. package/sort-entities/sort-entities.trait.actions.d.ts +2 -0
  214. package/sort-entities/sort-entities.trait.d.ts +33 -0
  215. package/sort-entities/sort-entities.trait.effect.d.ts +6 -0
  216. package/sort-entities/sort-entities.trait.mutators.d.ts +3 -0
  217. package/sort-entities/sort-entities.trait.reducer.d.ts +4 -0
  218. package/sort-entities/sort-entities.trait.selectors.d.ts +2 -0
  219. package/sort-entities/sort-entities.utils.d.ts +8 -0
@@ -0,0 +1,35 @@
1
+ import { LoadEntitiesState } from '../load-entities/load-entities.model';
2
+ import { ActionCreator, TypedAction } from '@ngrx/store/src/models';
3
+ import { KeyedConfig } from '@ngrx-traits/core';
4
+ export declare type SortDirection = 'asc' | 'desc' | '';
5
+ export interface Sort<T> {
6
+ /** The id of the column being sorted. */
7
+ active: keyof T;
8
+ /** The sort direction. */
9
+ direction: SortDirection;
10
+ }
11
+ export interface SortEntitiesState<T> {
12
+ sort: {
13
+ current: Sort<T>;
14
+ default: Sort<T>;
15
+ };
16
+ }
17
+ export declare type SortEntitiesActions<T> = {
18
+ sortEntities: ActionCreator<string, (props: Sort<T>) => Sort<T> & TypedAction<string>>;
19
+ /**
20
+ * Sets the default sort back
21
+ */
22
+ resetEntitiesSort: ActionCreator<string, () => TypedAction<string>>;
23
+ };
24
+ export declare type SortEntitiesSelectors<T> = {
25
+ selectEntitiesSort: (state: LoadEntitiesState<T> & SortEntitiesState<T>) => Sort<T>;
26
+ };
27
+ export declare type SortEntitiesMutators<T> = {
28
+ sortEntities<S extends LoadEntitiesState<T> & SortEntitiesState<T>>({ active, direction }: Sort<T>, state: S): S;
29
+ };
30
+ export declare const sortTraitKey = "sort";
31
+ export interface SortEntitiesConfig<T> {
32
+ defaultSort: Sort<T>;
33
+ remote?: boolean;
34
+ }
35
+ export declare type SortEntitiesKeyedConfig<T> = KeyedConfig<typeof sortTraitKey, SortEntitiesConfig<T>>;
@@ -0,0 +1,2 @@
1
+ import { SortEntitiesActions } from './sort-entities.model';
2
+ export declare function createSortTraitActions<Entity>(actionsGroupKey: string, entitiesName: string): SortEntitiesActions<Entity>;
@@ -0,0 +1,33 @@
1
+ import { SortEntitiesActions, SortEntitiesConfig, SortEntitiesSelectors } from './sort-entities.model';
2
+ /**
3
+ * Generates ngrx code to sort locally or remotely a list of entities
4
+ * @param config
5
+ * @param config.defaultSort - Required, Default entity prop for the sort
6
+ * @param config.remote - Optional field, default to false, when true disables local
7
+ * sorting and every sort action call will now trigger a loadEntities action and the backend
8
+ * should sort the data, use selectSort in the effect that call backend to get the requested sort,
9
+ * when false all sorting is done in memory when the sort action is fired
10
+ *
11
+ * @example
12
+ * // The following trait config
13
+ * export interface TestState
14
+ * extends EntityAndStatusState<Todo>, SortState<Todo>{}
15
+ *
16
+ * const traits = createEntityFeatureFactory(
17
+ * addLoadEntitiesTrait<Todo>(),
18
+ * addSortEntitiesTrait<Todo>({
19
+ * defaultSort: {active:'id', direction:'asc'}
20
+ * })
21
+ * )({
22
+ * actionsGroupKey: '[Todos]',
23
+ * featureSelector: createFeatureSelector<TestState>>(
24
+ * 'todos',
25
+ * ),
26
+ * });
27
+ * // will generate the following actions and selectors, plus the ones generated by other traits
28
+ * traits.actions.sortTodos({active:'id', direction:'desc'})
29
+ * traits.actions.resetTodosSort()
30
+ *
31
+ * traits.selectors.selectTodosSort()
32
+ */
33
+ export declare function addSortEntitiesTrait<Entity>({ remote, defaultSort, }: SortEntitiesConfig<Entity>): import("@ngrx-traits/core").TraitFactory<import("../load-entities/load-entities.model").LoadEntitiesState<Entity> & import("./sort-entities.model").SortEntitiesState<Entity>, SortEntitiesActions<Entity>, SortEntitiesSelectors<Entity>, import("./sort-entities.model").SortEntitiesMutators<Entity>, "sort", SortEntitiesConfig<Entity>, import("@ngrx-traits/core").AllTraitConfigs>;
@@ -0,0 +1,6 @@
1
+ import { TraitEffect } from '@ngrx-traits/core';
2
+ import { Type } from '@ngrx-traits/core';
3
+ import { LoadEntitiesActions, LoadEntitiesKeyedConfig } from '../load-entities/load-entities.model';
4
+ import { SortEntitiesActions, SortEntitiesKeyedConfig } from './sort-entities.model';
5
+ import { EntitiesPaginationActions } from '../entities-pagination/entities-pagination.model';
6
+ export declare function createSortTraitEffect<Entity>(allActions: LoadEntitiesActions<Entity> & SortEntitiesActions<Entity> & EntitiesPaginationActions, allConfigs: LoadEntitiesKeyedConfig<Entity> & SortEntitiesKeyedConfig<Entity>): Type<TraitEffect>[];
@@ -0,0 +1,3 @@
1
+ import { LoadEntitiesKeyedConfig, LoadEntitiesSelectors } from '../load-entities/load-entities.model';
2
+ import { SortEntitiesMutators } from './sort-entities.model';
3
+ export declare function createSortTraitMutators<Entity>({ selectEntitiesList }: LoadEntitiesSelectors<Entity>, allConfigs: LoadEntitiesKeyedConfig<Entity>): SortEntitiesMutators<Entity>;
@@ -0,0 +1,4 @@
1
+ import { LoadEntitiesActions, LoadEntitiesKeyedConfig, LoadEntitiesState } from '../load-entities';
2
+ import { SortEntitiesActions, SortEntitiesKeyedConfig, SortEntitiesMutators, SortEntitiesState } from './sort-entities.model';
3
+ export declare function createSortInitialState<Entity>(previousInitialState: any, allConfigs: SortEntitiesKeyedConfig<Entity>): LoadEntitiesState<Entity> & SortEntitiesState<Entity>;
4
+ export declare function createSortTraitReducer<Entity, S extends LoadEntitiesState<Entity> & SortEntitiesState<Entity> = LoadEntitiesState<Entity> & SortEntitiesState<Entity>>(initialState: S, allActions: SortEntitiesActions<Entity> & LoadEntitiesActions<Entity>, allMutators: SortEntitiesMutators<Entity>, allConfigs: LoadEntitiesKeyedConfig<Entity> & SortEntitiesKeyedConfig<Entity>): import("@ngrx/store").ActionReducer<S, import("@ngrx/store").Action>;
@@ -0,0 +1,2 @@
1
+ import { SortEntitiesSelectors } from './sort-entities.model';
2
+ export declare function createSortTraitSelectors<Entity>(): SortEntitiesSelectors<Entity>;
@@ -0,0 +1,8 @@
1
+ import { Sort } from './sort-entities.model';
2
+ export declare function _isNumberValue(value: any): boolean;
3
+ /**
4
+ * Gets a sorted copy of the data array based on the state of the Sort.
5
+ * @param data The array of data that should be sorted.
6
+ * @param sort The connected MatSort that holds the current sort state.
7
+ */
8
+ export declare function sortData<T>(data: T[], sort: Sort<T>): T[];