@ngdux/form 5.1.0 → 5.2.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/ngdux-form.mjs
CHANGED
|
@@ -240,7 +240,7 @@ function errorsHandlerEffect(actions$, formActions, notificationService) {
|
|
|
240
240
|
function provideFormFacade(token, formActions, formSelectors) {
|
|
241
241
|
return {
|
|
242
242
|
provide: token,
|
|
243
|
-
useFactory: () => createFormFacade(formActions, formSelectors, inject(Store))
|
|
243
|
+
useFactory: () => createFormFacade(formActions, formSelectors, inject(Store)),
|
|
244
244
|
};
|
|
245
245
|
}
|
|
246
246
|
function createFormFacade(formActions, formSelectors, store) {
|
|
@@ -249,7 +249,9 @@ function createFormFacade(formActions, formSelectors, store) {
|
|
|
249
249
|
const requestState$ = store.pipe(select(formSelectors.getRequestState));
|
|
250
250
|
const errors$ = store.pipe(select(formSelectors.getErrors));
|
|
251
251
|
const isReady$ = store.pipe(select(formSelectors.isReady));
|
|
252
|
+
const isLoading$ = loadingState$.pipe(select(state => state === RequestState.IN_PROGRESS));
|
|
252
253
|
return {
|
|
254
|
+
isLoading$,
|
|
253
255
|
resource$,
|
|
254
256
|
loadingState$,
|
|
255
257
|
requestState$,
|
|
@@ -269,7 +271,7 @@ function createFormFacade(formActions, formSelectors, store) {
|
|
|
269
271
|
},
|
|
270
272
|
reset() {
|
|
271
273
|
store.dispatch(formActions.reset());
|
|
272
|
-
}
|
|
274
|
+
},
|
|
273
275
|
};
|
|
274
276
|
}
|
|
275
277
|
|
|
@@ -281,7 +283,7 @@ function createFormState(featureName) {
|
|
|
281
283
|
return {
|
|
282
284
|
actions,
|
|
283
285
|
reducer: (state, action) => reducer(state, action),
|
|
284
|
-
selectors
|
|
286
|
+
selectors,
|
|
285
287
|
};
|
|
286
288
|
}
|
|
287
289
|
function provideFormState(featureKey, facadeToken, service, notificationService) {
|
|
@@ -290,10 +292,10 @@ function provideFormState(featureKey, facadeToken, service, notificationService)
|
|
|
290
292
|
provideState(featureKey, reducer),
|
|
291
293
|
provideFormFacade(facadeToken, actions, selectors),
|
|
292
294
|
provideEffects([
|
|
293
|
-
createFormEffects(actions, () => inject(service), () => inject(notificationService))
|
|
295
|
+
createFormEffects(actions, () => inject(service), () => inject(notificationService)),
|
|
294
296
|
]),
|
|
295
297
|
service,
|
|
296
|
-
notificationService
|
|
298
|
+
notificationService,
|
|
297
299
|
];
|
|
298
300
|
}
|
|
299
301
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/models/form.model.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-state.service.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form.facade.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-facade.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions } from '../models/form.model';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release. Please use `createFormEffects` instead.\r\n */\r\nexport abstract class AbstractFormEffects<DTO, ERROR, CREATE_DTO = DTO> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: ERROR) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action => {\r\n if (!this.service.createResource) {\r\n throw new Error('createResource not implement in the ListService');\r\n }\r\n\r\n return this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: ERROR) => of(this.formActions.createFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) => {\r\n if (!this.service.saveResource) {\r\n throw new Error('saveResource not implement in the ListService');\r\n }\r\n\r\n return this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: ERROR) => of(this.formActions.saveFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action => {\r\n if (!this.service.deleteResource) {\r\n throw new Error('deleteResource not implement in the ListService');\r\n }\r\n\r\n return this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: ERROR) => of(this.formActions.deleteFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onFormErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: FormService<DTO, CREATE_DTO>,\r\n private readonly formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n private readonly notificationService: FormNotificationService<ERROR>\r\n ) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { RequestState } from '@ngdux/data-model-common';\r\nimport { ActionPayload, ApiRequestState, LoadingState } from '@ngdux/store-common';\r\nimport { Action, ActionCreator, MemoizedSelector } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport const FORM_FEATURE_KEY = new InjectionToken<string>('FORM_FEATURE_KEY');\r\n\r\nexport interface FormState<T, E> extends ApiRequestState<E>, LoadingState {\r\n resource?: T;\r\n}\r\n\r\nexport interface FormSelectors<T, E> {\r\n getRequestState: MemoizedSelector<object, RequestState>;\r\n getLoadingState: MemoizedSelector<object, RequestState>;\r\n getErrors: MemoizedSelector<object, E | undefined>;\r\n getResource: MemoizedSelector<object, T | undefined>;\r\n isReady: MemoizedSelector<object, boolean>;\r\n}\r\n\r\nexport interface FormActions<DTO, ERROR, CREATE_DTO = DTO> {\r\n load: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n loadSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n loadFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n save: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n saveSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n saveFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n delete: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n deleteSuccess: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n deleteFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n create: ActionCreator<string, (props: { resource: CREATE_DTO }) => { resource: CREATE_DTO } & Action<string>>;\r\n createSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n createFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n reset: ActionCreator<string, () => Action<string>>;\r\n}\r\n\r\nexport interface FormFacade<DTO, ERROR, CREATE_DTO = DTO> {\r\n resource$: Observable<DTO | undefined>;\r\n loadingState$: Observable<RequestState>;\r\n requestState$: Observable<RequestState>;\r\n errors$: Observable<ERROR | undefined>;\r\n isReady$: Observable<boolean>;\r\n\r\n create(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['create']>): void;\r\n load(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['load']>): void;\r\n save(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['save']>): void;\r\n delete(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['delete']>): void;\r\n reset(): void;\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<DTO, ERROR, CREATE_DTO = DTO>(\r\n featureName: string\r\n): FormActions<DTO, ERROR, CREATE_DTO> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: DTO }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: DTO }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: DTO }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: CREATE_DTO }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: DTO }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset\r\n };\r\n}\r\n","import { RequestState } from '@ngdux/data-model-common';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\r\nimport { ActionCreator, ActionReducer, Creator, ReducerTypes, createReducer, on } from '@ngrx/store';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n actionHandlers?: ReducerTypes<FormState<DTO, ERROR>, ActionCreator[]>[],\r\n initialFormState?: Record<string, any>\r\n): ActionReducer<FormState<DTO, ERROR>> {\r\n const initialState: FormState<DTO, ERROR> = { ...createInitialFormState<DTO, ERROR>(), ...initialFormState };\r\n return createReducer<FormState<DTO, ERROR>>(\r\n initialState,\r\n ...createFormActionHandlers<DTO, ERROR, CREATE_DTO>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<DTO, ERROR>(): FormState<DTO, ERROR> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<DTO, ERROR, CREATE_DTO = DTO>(\r\n initialFormState: FormState<DTO, ERROR>,\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>\r\n): ReducerTypes<FormState<DTO, ERROR>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<DTO, ERROR> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<DTO, ERROR>, { resource }): FormState<DTO, ERROR> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<DTO, ERROR>): FormState<DTO, ERROR> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<DTO, ERROR>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { RequestState } from '@ngdux/data-model-common';\r\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { ReducerManager, createFeatureSelector } from '@ngrx/store';\r\nimport { FORM_FEATURE_KEY, FormActions, FormSelectors, FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release.\r\n */\r\n@Injectable()\r\nexport abstract class AbstractFormReducerManager<DTO, ERROR, CREATE_DTO = DTO> {\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>;\r\n selectors: FormSelectors<DTO, ERROR>;\r\n\r\n constructor(\r\n private readonly reducerManager: ReducerManager,\r\n @Inject(FORM_FEATURE_KEY) private readonly featureKey: string\r\n ) {\r\n this.actions = this.getActions();\r\n this.addReducer();\r\n this.selectors = this.getSelectors();\r\n }\r\n\r\n protected getActions() {\r\n return createFormActions<DTO, ERROR, CREATE_DTO>(this.featureKey);\r\n }\r\n\r\n protected addReducer() {\r\n if (!this.reducerManager.currentReducers[this.featureKey]) {\r\n const reducer = createFormReducer(this.actions);\r\n this.reducerManager.addReducer(this.featureKey, reducer);\r\n }\r\n }\r\n\r\n protected getSelectors() {\r\n const getState = createFeatureSelector<FormState<DTO, ERROR>>(this.featureKey);\r\n return createFormSelectors(getState);\r\n }\r\n}\r\n","import { ActionPayload } from '@ngdux/store-common';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { FormActions, FormSelectors } from '../models/form.model';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release. Please use `provideFormFacade` or `createFormFacade` instead.\r\n */\r\nexport abstract class AbstractFormFacade<DTO, E, CREATE_DTO = DTO> {\r\n readonly resource$ = this.store.pipe(select(this.formSelectors.getResource));\r\n readonly loadingState$ = this.store.pipe(select(this.formSelectors.getLoadingState));\r\n readonly requestState$ = this.store.pipe(select(this.formSelectors.getRequestState));\r\n readonly errors$ = this.store.pipe(select(this.formSelectors.getErrors));\r\n readonly isReady$ = this.store.pipe(select(this.formSelectors.isReady));\r\n\r\n constructor(\r\n protected readonly store: Store,\r\n private readonly formActions: FormActions<DTO, E, CREATE_DTO>,\r\n private readonly formSelectors: FormSelectors<DTO, E>\r\n ) {}\r\n\r\n create(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['create']>): void {\r\n this.store.dispatch(this.formActions.create(props));\r\n }\r\n\r\n load(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['load']>): void {\r\n this.store.dispatch(this.formActions.load(props));\r\n }\r\n\r\n save(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['save']>): void {\r\n this.store.dispatch(this.formActions.save(props));\r\n }\r\n\r\n delete(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['delete']>): void {\r\n this.store.dispatch(this.formActions.delete(props));\r\n }\r\n\r\n reset(): void {\r\n this.store.dispatch(this.formActions.reset());\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { catchError, exhaustMap, map, of, switchMap, tap } from 'rxjs';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormEffects<DTO, ERROR, CREATE_DTO = DTO>(\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formService: () => FormService<DTO, CREATE_DTO>,\r\n notificationService: () => FormNotificationService<ERROR>\r\n) {\r\n return {\r\n load$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => loadResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n create$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => createResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n update$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => updateResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n delete$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => deleteResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n errorsHandler$: createEffect(\r\n (actions$ = inject(Actions), service = notificationService()) =>\r\n errorsHandlerEffect(actions$, formActions, service),\r\n {\r\n functional: true,\r\n dispatch: false\r\n }\r\n )\r\n };\r\n}\r\n\r\nfunction loadResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.load),\r\n switchMap(({ id }) =>\r\n service.loadResource(id).pipe(\r\n map(resource => formActions.loadSuccess({ resource })),\r\n catchError((errors: ERROR) => of(formActions.loadFailure({ errors })))\r\n )\r\n )\r\n );\r\n}\r\n\r\nfunction createResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.create),\r\n switchMap(action => {\r\n if (!service.createResource) {\r\n throw new Error('createResource not implement in the ListService');\r\n }\r\n\r\n return service.createResource(action.resource).pipe(\r\n map(resource => formActions.createSuccess({ resource })),\r\n catchError((errors: ERROR) => of(formActions.createFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction updateResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.save),\r\n switchMap(({ resource }) => {\r\n if (!service.saveResource) {\r\n throw new Error('saveResource not implement in the ListService');\r\n }\r\n\r\n return service.saveResource(resource).pipe(\r\n map(response => formActions.saveSuccess({ resource: response })),\r\n catchError((errors: ERROR) => of(formActions.saveFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction deleteResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.delete),\r\n exhaustMap(action => {\r\n if (!service.deleteResource) {\r\n throw new Error('deleteResource not implement in the ListService');\r\n }\r\n\r\n return service.deleteResource(action.id).pipe(\r\n map(() => formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: ERROR) => of(formActions.deleteFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction errorsHandlerEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n notificationService: FormNotificationService<ERROR>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.saveFailure, formActions.loadFailure, formActions.deleteFailure, formActions.createFailure),\r\n tap(({ errors }) => {\r\n notificationService.onFormErrors(errors);\r\n })\r\n );\r\n}\r\n","import { inject, InjectionToken } from '@angular/core';\r\nimport { ActionPayload } from '@ngdux/store-common';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { FormActions, FormFacade, FormSelectors } from '../models/form.model';\r\n\r\nexport function provideFormFacade<DTO, ERROR, CREATE_DTO = DTO>(\r\n token: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formSelectors: FormSelectors<DTO, ERROR>\r\n) {\r\n return {\r\n provide: token,\r\n useFactory: () => createFormFacade(formActions, formSelectors, inject(Store))\r\n };\r\n}\r\n\r\nexport function createFormFacade<DTO, ERROR, CREATE_DTO = DTO>(\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formSelectors: FormSelectors<DTO, ERROR>,\r\n store: Store\r\n): FormFacade<DTO, ERROR, CREATE_DTO> {\r\n const resource$ = store.pipe(select(formSelectors.getResource));\r\n const loadingState$ = store.pipe(select(formSelectors.getLoadingState));\r\n const requestState$ = store.pipe(select(formSelectors.getRequestState));\r\n const errors$ = store.pipe(select(formSelectors.getErrors));\r\n const isReady$ = store.pipe(select(formSelectors.isReady));\r\n\r\n return {\r\n resource$,\r\n loadingState$,\r\n requestState$,\r\n errors$,\r\n isReady$,\r\n create(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['create']>): void {\r\n store.dispatch(formActions.create(props));\r\n },\r\n load(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['load']>): void {\r\n store.dispatch(formActions.load(props));\r\n },\r\n save(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['save']>): void {\r\n store.dispatch(formActions.save(props));\r\n },\r\n delete(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['delete']>): void {\r\n store.dispatch(formActions.delete(props));\r\n },\r\n reset(): void {\r\n store.dispatch(formActions.reset());\r\n }\r\n };\r\n}\r\n","import { InjectionToken, ProviderToken, inject } from '@angular/core';\r\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { provideEffects } from '@ngrx/effects';\r\nimport { Action, createFeatureSelector, provideState } from '@ngrx/store';\r\nimport { FormFacade, FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormEffects } from './form-effects';\r\nimport { provideFormFacade } from './form-facade';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<DTO, ERROR, CREATE_DTO = DTO>(featureName: string) {\r\n const actions = createFormActions<DTO, ERROR, CREATE_DTO>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<DTO, ERROR>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<DTO, ERROR>, action: Action): FormState<DTO, ERROR> => reducer(state, action),\r\n selectors\r\n };\r\n}\r\n\r\nexport function provideFormState<DTO, ERROR, CREATE_DTO = DTO>(\r\n featureKey: string,\r\n facadeToken: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>,\r\n service: ProviderToken<FormService<DTO, CREATE_DTO>>,\r\n notificationService: ProviderToken<FormNotificationService<ERROR>>\r\n) {\r\n const { actions, selectors, reducer } = createFormState<DTO, ERROR, CREATE_DTO>(featureKey);\r\n\r\n return [\r\n provideState(featureKey, reducer),\r\n provideFormFacade(facadeToken, actions, selectors),\r\n provideEffects([\r\n createFormEffects(\r\n actions,\r\n () => inject(service),\r\n () => inject(notificationService)\r\n )\r\n ]),\r\n service,\r\n notificationService\r\n ];\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["switchMap","map","catchError","exhaustMap","tap"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ngdux-form.mjs","sources":["../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/models/form.model.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-actions.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-reducer.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-selectors.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form-state.service.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/abstract-form.facade.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-effects.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-facade.ts","../../../../../../../libs/ngdux/util/store/form/src/lib/+state/form-state.ts","../../../../../../../libs/ngdux/util/store/form/src/ngdux-form.ts"],"sourcesContent":["import { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { Store } from '@ngrx/store';\r\nimport { of } from 'rxjs';\r\nimport { catchError, exhaustMap, map, switchMap, tap } from 'rxjs/operators';\r\nimport { FormActions } from '../models/form.model';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release. Please use `createFormEffects` instead.\r\n */\r\nexport abstract class AbstractFormEffects<DTO, ERROR, CREATE_DTO = DTO> {\r\n load$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.load),\r\n switchMap(({ id }) =>\r\n this.service.loadResource(id).pipe(\r\n map(resource => this.formActions.loadSuccess({ resource })),\r\n catchError((errors: ERROR) => of(this.formActions.loadFailure({ errors })))\r\n )\r\n )\r\n )\r\n );\r\n\r\n create$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.create),\r\n switchMap(action => {\r\n if (!this.service.createResource) {\r\n throw new Error('createResource not implement in the ListService');\r\n }\r\n\r\n return this.service.createResource(action.resource).pipe(\r\n map(resource => this.formActions.createSuccess({ resource })),\r\n catchError((errors: ERROR) => of(this.formActions.createFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n update$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.save),\r\n switchMap(({ resource }) => {\r\n if (!this.service.saveResource) {\r\n throw new Error('saveResource not implement in the ListService');\r\n }\r\n\r\n return this.service.saveResource(resource).pipe(\r\n map(response => this.formActions.saveSuccess({ resource: response })),\r\n catchError((errors: ERROR) => of(this.formActions.saveFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n delete$ = createEffect(() =>\r\n this.actions$.pipe(\r\n ofType(this.formActions.delete),\r\n exhaustMap(action => {\r\n if (!this.service.deleteResource) {\r\n throw new Error('deleteResource not implement in the ListService');\r\n }\r\n\r\n return this.service.deleteResource(action.id).pipe(\r\n map(() => this.formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: ERROR) => of(this.formActions.deleteFailure({ errors })))\r\n );\r\n })\r\n )\r\n );\r\n\r\n errorsHandler$ = createEffect(\r\n () =>\r\n this.actions$.pipe(\r\n ofType(\r\n this.formActions.saveFailure,\r\n this.formActions.loadFailure,\r\n this.formActions.deleteFailure,\r\n this.formActions.createFailure\r\n ),\r\n tap(({ errors }) => {\r\n this.notificationService.onFormErrors(errors);\r\n })\r\n ),\r\n { dispatch: false }\r\n );\r\n\r\n protected constructor(\r\n protected readonly actions$: Actions,\r\n protected readonly store: Store,\r\n private readonly service: FormService<DTO, CREATE_DTO>,\r\n private readonly formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n private readonly notificationService: FormNotificationService<ERROR>\r\n ) {}\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nimport { RequestState } from '@ngdux/data-model-common';\r\nimport { ActionPayload, ApiRequestState, LoadingState } from '@ngdux/store-common';\r\nimport { Action, ActionCreator, MemoizedSelector } from '@ngrx/store';\r\nimport { Observable } from 'rxjs';\r\n\r\nexport const FORM_FEATURE_KEY = new InjectionToken<string>('FORM_FEATURE_KEY');\r\n\r\nexport interface FormState<T, E> extends ApiRequestState<E>, LoadingState {\r\n resource?: T;\r\n}\r\n\r\nexport interface FormSelectors<T, E> {\r\n getRequestState: MemoizedSelector<object, RequestState>;\r\n getLoadingState: MemoizedSelector<object, RequestState>;\r\n getErrors: MemoizedSelector<object, E | undefined>;\r\n getResource: MemoizedSelector<object, T | undefined>;\r\n isReady: MemoizedSelector<object, boolean>;\r\n}\r\n\r\nexport interface FormActions<DTO, ERROR, CREATE_DTO = DTO> {\r\n load: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n loadSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n loadFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n save: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n saveSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n saveFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n delete: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n deleteSuccess: ActionCreator<string, (props: { id: string }) => { id: string } & Action<string>>;\r\n deleteFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n create: ActionCreator<string, (props: { resource: CREATE_DTO }) => { resource: CREATE_DTO } & Action<string>>;\r\n createSuccess: ActionCreator<string, (props: { resource: DTO }) => { resource: DTO } & Action<string>>;\r\n createFailure: ActionCreator<string, (props: { errors: ERROR }) => { errors: ERROR } & Action<string>>;\r\n\r\n reset: ActionCreator<string, () => Action<string>>;\r\n}\r\n\r\nexport interface FormFacade<DTO, ERROR, CREATE_DTO = DTO> {\r\n resource$: Observable<DTO | undefined>;\r\n loadingState$: Observable<RequestState>;\r\n requestState$: Observable<RequestState>;\r\n errors$: Observable<ERROR | undefined>;\r\n isReady$: Observable<boolean>;\r\n isLoading$: Observable<boolean>;\r\n\r\n create(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['create']>): void;\r\n load(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['load']>): void;\r\n save(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['save']>): void;\r\n delete(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['delete']>): void;\r\n reset(): void;\r\n}\r\n","import { createAction, props } from '@ngrx/store';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormActions<DTO, ERROR, CREATE_DTO = DTO>(\r\n featureName: string\r\n): FormActions<DTO, ERROR, CREATE_DTO> {\r\n const load = createAction(`[${featureName} API] Load ${featureName}`, props<{ id: string }>());\r\n const loadSuccess = createAction(`[${featureName} API] Load ${featureName} Success`, props<{ resource: DTO }>());\r\n const loadFailure = createAction(`[${featureName} API] Load ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const save = createAction(`[${featureName} API] Save ${featureName}`, props<{ resource: DTO }>());\r\n const saveSuccess = createAction(`[${featureName} API] Save ${featureName} Success`, props<{ resource: DTO }>());\r\n const saveFailure = createAction(`[${featureName} API] Save ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const deleteAction = createAction(`[${featureName} API] Delete ${featureName}`, props<{ id: string }>());\r\n const deleteSuccess = createAction(`[${featureName} API] Delete ${featureName} Success`, props<{ id: string }>());\r\n const deleteFailure = createAction(`[${featureName} API] Delete ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const create = createAction(`[${featureName} API] Create ${featureName}`, props<{ resource: CREATE_DTO }>());\r\n const createSuccess = createAction(`[${featureName} API] Create ${featureName} Success`, props<{ resource: DTO }>());\r\n const createFailure = createAction(`[${featureName} API] Create ${featureName} Failure`, props<{ errors: ERROR }>());\r\n\r\n const reset = createAction(`[${featureName} API] Reset ${featureName}`);\r\n\r\n return {\r\n load,\r\n loadSuccess,\r\n loadFailure,\r\n save,\r\n saveSuccess,\r\n saveFailure,\r\n delete: deleteAction,\r\n deleteSuccess,\r\n deleteFailure,\r\n create,\r\n createSuccess,\r\n createFailure,\r\n reset\r\n };\r\n}\r\n","import { RequestState } from '@ngdux/data-model-common';\r\nimport { createLoadingStateActionHandlers, createRequestStateActionHandlers } from '@ngdux/store-common';\r\nimport { ActionCreator, ActionReducer, Creator, ReducerTypes, createReducer, on } from '@ngrx/store';\r\nimport { FormActions, FormState } from '../models/form.model';\r\n\r\nexport function createFormReducer<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n actionHandlers?: ReducerTypes<FormState<DTO, ERROR>, ActionCreator[]>[],\r\n initialFormState?: Record<string, any>\r\n): ActionReducer<FormState<DTO, ERROR>> {\r\n const initialState: FormState<DTO, ERROR> = { ...createInitialFormState<DTO, ERROR>(), ...initialFormState };\r\n return createReducer<FormState<DTO, ERROR>>(\r\n initialState,\r\n ...createFormActionHandlers<DTO, ERROR, CREATE_DTO>(initialState, actions),\r\n ...(actionHandlers || [])\r\n );\r\n}\r\n\r\nfunction createInitialFormState<DTO, ERROR>(): FormState<DTO, ERROR> {\r\n return {\r\n resource: undefined,\r\n loadingState: RequestState.IDLE,\r\n requestState: RequestState.IDLE,\r\n errors: undefined\r\n };\r\n}\r\n\r\nfunction createFormActionHandlers<DTO, ERROR, CREATE_DTO = DTO>(\r\n initialFormState: FormState<DTO, ERROR>,\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>\r\n): ReducerTypes<FormState<DTO, ERROR>, ActionCreator<string, Creator<any[], object>>[]>[] {\r\n return [\r\n on(actions.reset, (): FormState<DTO, ERROR> => initialFormState),\r\n on(\r\n actions.loadSuccess,\r\n actions.createSuccess,\r\n actions.saveSuccess,\r\n (state: FormState<DTO, ERROR>, { resource }): FormState<DTO, ERROR> => ({ ...state, resource })\r\n ),\r\n on(\r\n actions.deleteSuccess,\r\n (state: FormState<DTO, ERROR>): FormState<DTO, ERROR> => ({\r\n ...state,\r\n resource: undefined\r\n })\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n actions.load,\r\n actions.save,\r\n actions.saveSuccess,\r\n actions.saveFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n undefined,\r\n actions.create,\r\n actions.createSuccess,\r\n actions.createFailure\r\n ),\r\n ...createRequestStateActionHandlers<FormState<DTO, ERROR>, ERROR>(\r\n undefined,\r\n actions.delete,\r\n actions.deleteSuccess,\r\n actions.deleteFailure\r\n ),\r\n ...createLoadingStateActionHandlers<FormState<DTO, ERROR>>(actions.load, actions.loadSuccess, actions.loadFailure)\r\n ];\r\n}\r\n","import { RequestState } from '@ngdux/data-model-common';\r\nimport { createSelector, DefaultProjectorFn, MemoizedSelector } from '@ngrx/store';\r\nimport { FormSelectors, FormState } from '../models/form.model';\r\n\r\nexport function createFormSelectors<T, E>(\r\n getFormState: MemoizedSelector<object, FormState<T, E>, DefaultProjectorFn<FormState<T, E>>>\r\n): FormSelectors<T, E> {\r\n const getRequestState = createSelector(getFormState, state => state.requestState);\r\n const getLoadingState = createSelector(getFormState, state => state.loadingState);\r\n const getErrors = createSelector(getFormState, state => state.errors);\r\n const getResource = createSelector(getFormState, state => state.resource);\r\n\r\n const isReady = createSelector(\r\n getResource,\r\n getLoadingState,\r\n (resource, loadingState) => !!resource && loadingState === RequestState.SUCCESS\r\n );\r\n\r\n return {\r\n getRequestState,\r\n getLoadingState,\r\n getErrors,\r\n getResource,\r\n isReady\r\n };\r\n}\r\n","import { Inject, Injectable } from '@angular/core';\r\nimport { ReducerManager, createFeatureSelector } from '@ngrx/store';\r\nimport { FORM_FEATURE_KEY, FormActions, FormSelectors, FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release.\r\n */\r\n@Injectable()\r\nexport abstract class AbstractFormReducerManager<DTO, ERROR, CREATE_DTO = DTO> {\r\n actions: FormActions<DTO, ERROR, CREATE_DTO>;\r\n selectors: FormSelectors<DTO, ERROR>;\r\n\r\n constructor(\r\n private readonly reducerManager: ReducerManager,\r\n @Inject(FORM_FEATURE_KEY) private readonly featureKey: string\r\n ) {\r\n this.actions = this.getActions();\r\n this.addReducer();\r\n this.selectors = this.getSelectors();\r\n }\r\n\r\n protected getActions() {\r\n return createFormActions<DTO, ERROR, CREATE_DTO>(this.featureKey);\r\n }\r\n\r\n protected addReducer() {\r\n if (!this.reducerManager.currentReducers[this.featureKey]) {\r\n const reducer = createFormReducer(this.actions);\r\n this.reducerManager.addReducer(this.featureKey, reducer);\r\n }\r\n }\r\n\r\n protected getSelectors() {\r\n const getState = createFeatureSelector<FormState<DTO, ERROR>>(this.featureKey);\r\n return createFormSelectors(getState);\r\n }\r\n}\r\n","import { ActionPayload } from '@ngdux/store-common';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { FormActions, FormSelectors } from '../models/form.model';\r\n\r\n/**\r\n * @deprecated This class is deprecated and will be removed in a future release. Please use `provideFormFacade` or `createFormFacade` instead.\r\n */\r\nexport abstract class AbstractFormFacade<DTO, E, CREATE_DTO = DTO> {\r\n readonly resource$ = this.store.pipe(select(this.formSelectors.getResource));\r\n readonly loadingState$ = this.store.pipe(select(this.formSelectors.getLoadingState));\r\n readonly requestState$ = this.store.pipe(select(this.formSelectors.getRequestState));\r\n readonly errors$ = this.store.pipe(select(this.formSelectors.getErrors));\r\n readonly isReady$ = this.store.pipe(select(this.formSelectors.isReady));\r\n\r\n constructor(\r\n protected readonly store: Store,\r\n private readonly formActions: FormActions<DTO, E, CREATE_DTO>,\r\n private readonly formSelectors: FormSelectors<DTO, E>\r\n ) {}\r\n\r\n create(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['create']>): void {\r\n this.store.dispatch(this.formActions.create(props));\r\n }\r\n\r\n load(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['load']>): void {\r\n this.store.dispatch(this.formActions.load(props));\r\n }\r\n\r\n save(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['save']>): void {\r\n this.store.dispatch(this.formActions.save(props));\r\n }\r\n\r\n delete(props: ActionPayload<FormActions<DTO, E, CREATE_DTO>['delete']>): void {\r\n this.store.dispatch(this.formActions.delete(props));\r\n }\r\n\r\n reset(): void {\r\n this.store.dispatch(this.formActions.reset());\r\n }\r\n}\r\n","import { inject } from '@angular/core';\r\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { Actions, createEffect, ofType } from '@ngrx/effects';\r\nimport { catchError, exhaustMap, map, of, switchMap, tap } from 'rxjs';\r\nimport { FormActions } from '../models/form.model';\r\n\r\nexport function createFormEffects<DTO, ERROR, CREATE_DTO = DTO>(\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formService: () => FormService<DTO, CREATE_DTO>,\r\n notificationService: () => FormNotificationService<ERROR>\r\n) {\r\n return {\r\n load$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => loadResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n create$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => createResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n update$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => updateResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n delete$: createEffect(\r\n (actions$ = inject(Actions), service = formService()) => deleteResourceEffect(actions$, formActions, service),\r\n {\r\n functional: true\r\n }\r\n ),\r\n errorsHandler$: createEffect(\r\n (actions$ = inject(Actions), service = notificationService()) =>\r\n errorsHandlerEffect(actions$, formActions, service),\r\n {\r\n functional: true,\r\n dispatch: false\r\n }\r\n )\r\n };\r\n}\r\n\r\nfunction loadResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.load),\r\n switchMap(({ id }) =>\r\n service.loadResource(id).pipe(\r\n map(resource => formActions.loadSuccess({ resource })),\r\n catchError((errors: ERROR) => of(formActions.loadFailure({ errors })))\r\n )\r\n )\r\n );\r\n}\r\n\r\nfunction createResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.create),\r\n switchMap(action => {\r\n if (!service.createResource) {\r\n throw new Error('createResource not implement in the ListService');\r\n }\r\n\r\n return service.createResource(action.resource).pipe(\r\n map(resource => formActions.createSuccess({ resource })),\r\n catchError((errors: ERROR) => of(formActions.createFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction updateResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.save),\r\n switchMap(({ resource }) => {\r\n if (!service.saveResource) {\r\n throw new Error('saveResource not implement in the ListService');\r\n }\r\n\r\n return service.saveResource(resource).pipe(\r\n map(response => formActions.saveSuccess({ resource: response })),\r\n catchError((errors: ERROR) => of(formActions.saveFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction deleteResourceEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n service: FormService<DTO, CREATE_DTO>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.delete),\r\n exhaustMap(action => {\r\n if (!service.deleteResource) {\r\n throw new Error('deleteResource not implement in the ListService');\r\n }\r\n\r\n return service.deleteResource(action.id).pipe(\r\n map(() => formActions.deleteSuccess({ id: action.id })),\r\n catchError((errors: ERROR) => of(formActions.deleteFailure({ errors })))\r\n );\r\n })\r\n );\r\n}\r\n\r\nfunction errorsHandlerEffect<DTO, ERROR, CREATE_DTO = DTO>(\r\n actions$: Actions,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n notificationService: FormNotificationService<ERROR>\r\n) {\r\n return actions$.pipe(\r\n ofType(formActions.saveFailure, formActions.loadFailure, formActions.deleteFailure, formActions.createFailure),\r\n tap(({ errors }) => {\r\n notificationService.onFormErrors(errors);\r\n })\r\n );\r\n}\r\n","import { inject, InjectionToken } from '@angular/core';\r\nimport { RequestState } from '@ngdux/data-model-common';\r\nimport { ActionPayload } from '@ngdux/store-common';\r\nimport { select, Store } from '@ngrx/store';\r\nimport { FormActions, FormFacade, FormSelectors } from '../models/form.model';\r\n\r\nexport function provideFormFacade<DTO, ERROR, CREATE_DTO = DTO>(\r\n token: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>,\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formSelectors: FormSelectors<DTO, ERROR>,\r\n) {\r\n return {\r\n provide: token,\r\n useFactory: () => createFormFacade(formActions, formSelectors, inject(Store)),\r\n };\r\n}\r\n\r\nexport function createFormFacade<DTO, ERROR, CREATE_DTO = DTO>(\r\n formActions: FormActions<DTO, ERROR, CREATE_DTO>,\r\n formSelectors: FormSelectors<DTO, ERROR>,\r\n store: Store,\r\n): FormFacade<DTO, ERROR, CREATE_DTO> {\r\n const resource$ = store.pipe(select(formSelectors.getResource));\r\n const loadingState$ = store.pipe(select(formSelectors.getLoadingState));\r\n const requestState$ = store.pipe(select(formSelectors.getRequestState));\r\n const errors$ = store.pipe(select(formSelectors.getErrors));\r\n const isReady$ = store.pipe(select(formSelectors.isReady));\r\n const isLoading$ = loadingState$.pipe(select(state => state === RequestState.IN_PROGRESS));\r\n\r\n return {\r\n isLoading$,\r\n resource$,\r\n loadingState$,\r\n requestState$,\r\n errors$,\r\n isReady$,\r\n create(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['create']>): void {\r\n store.dispatch(formActions.create(props));\r\n },\r\n load(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['load']>): void {\r\n store.dispatch(formActions.load(props));\r\n },\r\n save(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['save']>): void {\r\n store.dispatch(formActions.save(props));\r\n },\r\n delete(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['delete']>): void {\r\n store.dispatch(formActions.delete(props));\r\n },\r\n reset(): void {\r\n store.dispatch(formActions.reset());\r\n },\r\n };\r\n}\r\n","import { AbstractType, EnvironmentProviders, InjectionToken, Provider, inject } from '@angular/core';\r\nimport { FormNotificationService, FormService } from '@ngdux/data-model-common';\r\nimport { provideEffects } from '@ngrx/effects';\r\nimport { Action, createFeatureSelector, provideState } from '@ngrx/store';\r\nimport { FormFacade, FormState } from '../models/form.model';\r\nimport { createFormActions } from './form-actions';\r\nimport { createFormEffects } from './form-effects';\r\nimport { provideFormFacade } from './form-facade';\r\nimport { createFormReducer } from './form-reducer';\r\nimport { createFormSelectors } from './form-selectors';\r\n\r\nexport function createFormState<DTO, ERROR, CREATE_DTO = DTO>(featureName: string) {\r\n const actions = createFormActions<DTO, ERROR, CREATE_DTO>(featureName);\r\n const reducer = createFormReducer(actions);\r\n const getState = createFeatureSelector<FormState<DTO, ERROR>>(featureName);\r\n const selectors = createFormSelectors(getState);\r\n\r\n return {\r\n actions,\r\n reducer: (state: FormState<DTO, ERROR>, action: Action): FormState<DTO, ERROR> => reducer(state, action),\r\n selectors,\r\n };\r\n}\r\n\r\nexport function provideFormState<DTO, ERROR, CREATE_DTO = DTO>(\r\n featureKey: string,\r\n facadeToken: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>,\r\n service: AbstractType<FormService<DTO, CREATE_DTO>>,\r\n notificationService: AbstractType<FormNotificationService<ERROR>>,\r\n): (Provider | EnvironmentProviders)[] {\r\n const { actions, selectors, reducer } = createFormState<DTO, ERROR, CREATE_DTO>(featureKey);\r\n\r\n return [\r\n provideState(featureKey, reducer),\r\n provideFormFacade(facadeToken, actions, selectors),\r\n provideEffects([\r\n createFormEffects(\r\n actions,\r\n () => inject(service),\r\n () => inject(notificationService),\r\n ),\r\n ]),\r\n service as Provider,\r\n notificationService as Provider,\r\n ];\r\n}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["switchMap","map","catchError","exhaustMap","tap"],"mappings":";;;;;;;;;;;AAOA;;AAEG;MACmB,mBAAmB,CAAA;IA6EvC,WAAA,CACqB,QAAiB,EACjB,KAAY,EACd,OAAqC,EACrC,WAAgD,EAChD,mBAAmD,EAAA;QAJjD,IAAA,CAAA,QAAQ,GAAR,QAAQ;QACR,IAAA,CAAA,KAAK,GAAL,KAAK;QACP,IAAA,CAAA,OAAO,GAAP,OAAO;QACP,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,mBAAmB,GAAnB,mBAAmB;AAjFtC,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAAC,MACnB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KACf,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAChC,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC3D,UAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC5E,CACF,CACF,CACF;QAED,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC/B,SAAS,CAAC,MAAM,IAAG;AACjB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAChC,gBAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;YACpE;YAEA,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACtD,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EAC7D,UAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC9E;QACH,CAAC,CAAC,CACH,CACF;AAED,QAAA,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAC7B,SAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI;AACzB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AAC9B,gBAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;YAClE;YAEA,OAAO,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CAC7C,GAAG,CAAC,QAAQ,IAAI,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EACrE,UAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC5E;QACH,CAAC,CAAC,CACH,CACF;QAED,IAAA,CAAA,OAAO,GAAG,YAAY,CAAC,MACrB,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAC/B,UAAU,CAAC,MAAM,IAAG;AAClB,YAAA,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAChC,gBAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;YACpE;YAEA,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAChD,GAAG,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EAC5D,UAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,IAAI,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAC9E;QACH,CAAC,CAAC,CACH,CACF;QAED,IAAA,CAAA,cAAc,GAAG,YAAY,CAC3B,MACE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAChB,MAAM,CACJ,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,WAAW,EAC5B,IAAI,CAAC,WAAW,CAAC,aAAa,EAC9B,IAAI,CAAC,WAAW,CAAC,aAAa,CAC/B,EACD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI;AACjB,YAAA,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC;QAC/C,CAAC,CAAC,CACH,EACH,EAAE,QAAQ,EAAE,KAAK,EAAE,CACpB;IAQE;AACJ;;MCxFY,gBAAgB,GAAG,IAAI,cAAc,CAAS,kBAAkB;;ACHvE,SAAU,iBAAiB,CAC/B,WAAmB,EAAA;AAEnB,IAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,CAAE,EAAE,KAAK,EAAkB,CAAC;AAC9F,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AAChH,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AAEhH,IAAA,MAAM,IAAI,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,CAAE,EAAE,KAAK,EAAqB,CAAC;AACjG,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AAChH,IAAA,MAAM,WAAW,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,WAAA,EAAc,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AAEhH,IAAA,MAAM,YAAY,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,CAAE,EAAE,KAAK,EAAkB,CAAC;AACxG,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAkB,CAAC;AACjH,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AAEpH,IAAA,MAAM,MAAM,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,CAAE,EAAE,KAAK,EAA4B,CAAC;AAC5G,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;AACpH,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,aAAA,EAAgB,WAAW,CAAA,QAAA,CAAU,EAAE,KAAK,EAAqB,CAAC;IAEpH,MAAM,KAAK,GAAG,YAAY,CAAC,CAAA,CAAA,EAAI,WAAW,CAAA,YAAA,EAAe,WAAW,CAAA,CAAE,CAAC;IAEvE,OAAO;QACL,IAAI;QACJ,WAAW;QACX,WAAW;QACX,IAAI;QACJ,WAAW;QACX,WAAW;AACX,QAAA,MAAM,EAAE,YAAY;QACpB,aAAa;QACb,aAAa;QACb,MAAM;QACN,aAAa;QACb,aAAa;QACb;KACD;AACH;;SClCgB,iBAAiB,CAC/B,OAA4C,EAC5C,cAAuE,EACvE,gBAAsC,EAAA;IAEtC,MAAM,YAAY,GAA0B,EAAE,GAAG,sBAAsB,EAAc,EAAE,GAAG,gBAAgB,EAAE;AAC5G,IAAA,OAAO,aAAa,CAClB,YAAY,EACZ,GAAG,wBAAwB,CAAyB,YAAY,EAAE,OAAO,CAAC,EAC1E,IAAI,cAAc,IAAI,EAAE,CAAC,CAC1B;AACH;AAEA,SAAS,sBAAsB,GAAA;IAC7B,OAAO;AACL,QAAA,QAAQ,EAAE,SAAS;QACnB,YAAY,EAAE,YAAY,CAAC,IAAI;QAC/B,YAAY,EAAE,YAAY,CAAC,IAAI;AAC/B,QAAA,MAAM,EAAE;KACT;AACH;AAEA,SAAS,wBAAwB,CAC/B,gBAAuC,EACvC,OAA4C,EAAA;IAE5C,OAAO;QACL,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,MAA6B,gBAAgB,CAAC;AAChE,QAAA,EAAE,CACA,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,WAAW,EACnB,CAAC,KAA4B,EAAE,EAAE,QAAQ,EAAE,MAA6B,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,CAAC,CAChG;QACD,EAAE,CACA,OAAO,CAAC,aAAa,EACrB,CAAC,KAA4B,MAA6B;AACxD,YAAA,GAAG,KAAK;AACR,YAAA,QAAQ,EAAE;AACX,SAAA,CAAC,CACH;AACD,QAAA,GAAG,gCAAgC,CACjC,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,IAAI,EACZ,OAAO,CAAC,WAAW,EACnB,OAAO,CAAC,WAAW,CACpB;AACD,QAAA,GAAG,gCAAgC,CACjC,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,aAAa,CACtB;AACD,QAAA,GAAG,gCAAgC,CACjC,SAAS,EACT,OAAO,CAAC,MAAM,EACd,OAAO,CAAC,aAAa,EACrB,OAAO,CAAC,aAAa,CACtB;AACD,QAAA,GAAG,gCAAgC,CAAwB,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,WAAW;KAClH;AACH;;AC9DM,SAAU,mBAAmB,CACjC,YAA4F,EAAA;AAE5F,IAAA,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;AACjF,IAAA,MAAM,eAAe,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,YAAY,CAAC;AACjF,IAAA,MAAM,SAAS,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,MAAM,CAAC;AACrE,IAAA,MAAM,WAAW,GAAG,cAAc,CAAC,YAAY,EAAE,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC;IAEzE,MAAM,OAAO,GAAG,cAAc,CAC5B,WAAW,EACX,eAAe,EACf,CAAC,QAAQ,EAAE,YAAY,KAAK,CAAC,CAAC,QAAQ,IAAI,YAAY,KAAK,YAAY,CAAC,OAAO,CAChF;IAED,OAAO;QACL,eAAe;QACf,eAAe;QACf,SAAS;QACT,WAAW;QACX;KACD;AACH;;AClBA;;AAEG;MAEmB,0BAA0B,CAAA;IAI9C,WAAA,CACmB,cAA8B,EACJ,UAAkB,EAAA;QAD5C,IAAA,CAAA,cAAc,GAAd,cAAc;QACY,IAAA,CAAA,UAAU,GAAV,UAAU;AAErD,QAAA,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,UAAU,EAAE;QAChC,IAAI,CAAC,UAAU,EAAE;AACjB,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,YAAY,EAAE;IACtC;IAEU,UAAU,GAAA;AAClB,QAAA,OAAO,iBAAiB,CAAyB,IAAI,CAAC,UAAU,CAAC;IACnE;IAEU,UAAU,GAAA;AAClB,QAAA,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;YACzD,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC;YAC/C,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;QAC1D;IACF;IAEU,YAAY,GAAA;QACpB,MAAM,QAAQ,GAAG,qBAAqB,CAAwB,IAAI,CAAC,UAAU,CAAC;AAC9E,QAAA,OAAO,mBAAmB,CAAC,QAAQ,CAAC;IACtC;AA3BoB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,0BAA0B,gDAMpC,gBAAgB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;kHANN,0BAA0B,EAAA,CAAA,CAAA;;2FAA1B,0BAA0B,EAAA,UAAA,EAAA,CAAA;kBAD/C;;0BAOI,MAAM;2BAAC,gBAAgB;;;ACb5B;;AAEG;MACmB,kBAAkB,CAAA;AAOtC,IAAA,WAAA,CACqB,KAAY,EACd,WAA4C,EAC5C,aAAoC,EAAA;QAFlC,IAAA,CAAA,KAAK,GAAL,KAAK;QACP,IAAA,CAAA,WAAW,GAAX,WAAW;QACX,IAAA,CAAA,aAAa,GAAb,aAAa;AATvB,QAAA,IAAA,CAAA,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AACnE,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AAC3E,QAAA,IAAA,CAAA,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AAC3E,QAAA,IAAA,CAAA,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC/D,QAAA,IAAA,CAAA,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAMpE;AAEH,IAAA,MAAM,CAAC,KAA+D,EAAA;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD;AAEA,IAAA,IAAI,CAAC,KAA6D,EAAA;AAChE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD;AAEA,IAAA,IAAI,CAAC,KAA6D,EAAA;AAChE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD;AAEA,IAAA,MAAM,CAAC,KAA+D,EAAA;AACpE,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACrD;IAEA,KAAK,GAAA;AACH,QAAA,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;IAC/C;AACD;;SCjCe,iBAAiB,CAC/B,WAAgD,EAChD,WAA+C,EAC/C,mBAAyD,EAAA;IAEzD,OAAO;QACL,KAAK,EAAE,YAAY,CACjB,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,kBAAkB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAC3G;AACE,YAAA,UAAU,EAAE;SACb,CACF;QACD,OAAO,EAAE,YAAY,CACnB,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAC7G;AACE,YAAA,UAAU,EAAE;SACb,CACF;QACD,OAAO,EAAE,YAAY,CACnB,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAC7G;AACE,YAAA,UAAU,EAAE;SACb,CACF;QACD,OAAO,EAAE,YAAY,CACnB,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,WAAW,EAAE,KAAK,oBAAoB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EAC7G;AACE,YAAA,UAAU,EAAE;SACb,CACF;QACD,cAAc,EAAE,YAAY,CAC1B,CAAC,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,EAAE,OAAO,GAAG,mBAAmB,EAAE,KAC1D,mBAAmB,CAAC,QAAQ,EAAE,WAAW,EAAE,OAAO,CAAC,EACrD;AACE,YAAA,UAAU,EAAE,IAAI;AAChB,YAAA,QAAQ,EAAE;SACX;KAEJ;AACH;AAEA,SAAS,kBAAkB,CACzB,QAAiB,EACjB,WAAgD,EAChD,OAAqC,EAAA;AAErC,IAAA,OAAO,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxBA,WAAS,CAAC,CAAC,EAAE,EAAE,EAAE,KACf,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,IAAI,CAC3BC,KAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EACtDC,YAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACvE,CACF,CACF;AACH;AAEA,SAAS,oBAAoB,CAC3B,QAAiB,EACjB,WAAgD,EAChD,OAAqC,EAAA;AAErC,IAAA,OAAO,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAC1BF,WAAS,CAAC,MAAM,IAAG;AACjB,QAAA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;QACpE;QAEA,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,IAAI,CACjDC,KAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,EACxDC,YAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACzE;IACH,CAAC,CAAC,CACH;AACH;AAEA,SAAS,oBAAoB,CAC3B,QAAiB,EACjB,WAAgD,EAChD,OAAqC,EAAA;AAErC,IAAA,OAAO,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EACxBF,WAAS,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAI;AACzB,QAAA,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;AACzB,YAAA,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC;QAClE;QAEA,OAAO,OAAO,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,IAAI,CACxCC,KAAG,CAAC,QAAQ,IAAI,WAAW,CAAC,WAAW,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC,EAChEC,YAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACvE;IACH,CAAC,CAAC,CACH;AACH;AAEA,SAAS,oBAAoB,CAC3B,QAAiB,EACjB,WAAgD,EAChD,OAAqC,EAAA;AAErC,IAAA,OAAO,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,EAC1BC,YAAU,CAAC,MAAM,IAAG;AAClB,QAAA,IAAI,CAAC,OAAO,CAAC,cAAc,EAAE;AAC3B,YAAA,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC;QACpE;QAEA,OAAO,OAAO,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,CAC3CF,KAAG,CAAC,MAAM,WAAW,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,EACvDC,YAAU,CAAC,CAAC,MAAa,KAAK,EAAE,CAAC,WAAW,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CACzE;IACH,CAAC,CAAC,CACH;AACH;AAEA,SAAS,mBAAmB,CAC1B,QAAiB,EACjB,WAAgD,EAChD,mBAAmD,EAAA;AAEnD,IAAA,OAAO,QAAQ,CAAC,IAAI,CAClB,MAAM,CAAC,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,aAAa,CAAC,EAC9GE,KAAG,CAAC,CAAC,EAAE,MAAM,EAAE,KAAI;AACjB,QAAA,mBAAmB,CAAC,YAAY,CAAC,MAAM,CAAC;IAC1C,CAAC,CAAC,CACH;AACH;;SChIgB,iBAAiB,CAC/B,KAAyD,EACzD,WAAgD,EAChD,aAAwC,EAAA;IAExC,OAAO;AACL,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,UAAU,EAAE,MAAM,gBAAgB,CAAC,WAAW,EAAE,aAAa,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;KAC9E;AACH;SAEgB,gBAAgB,CAC9B,WAAgD,EAChD,aAAwC,EACxC,KAAY,EAAA;AAEZ,IAAA,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CAAC,CAAC;AAC/D,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AACvE,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;AACvE,IAAA,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;AAC3D,IAAA,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;AAC1D,IAAA,MAAM,UAAU,GAAG,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,KAAK,KAAK,YAAY,CAAC,WAAW,CAAC,CAAC;IAE1F,OAAO;QACL,UAAU;QACV,SAAS;QACT,aAAa;QACb,aAAa;QACb,OAAO;QACP,QAAQ;AACR,QAAA,MAAM,CAAC,KAAmE,EAAA;YACxE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;AACD,QAAA,IAAI,CAAC,KAAiE,EAAA;YACpE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;AACD,QAAA,IAAI,CAAC,KAAiE,EAAA;YACpE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzC,CAAC;AACD,QAAA,MAAM,CAAC,KAAmE,EAAA;YACxE,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAC3C,CAAC;QACD,KAAK,GAAA;YACH,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACrC,CAAC;KACF;AACH;;ACzCM,SAAU,eAAe,CAA+B,WAAmB,EAAA;AAC/E,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAyB,WAAW,CAAC;AACtE,IAAA,MAAM,OAAO,GAAG,iBAAiB,CAAC,OAAO,CAAC;AAC1C,IAAA,MAAM,QAAQ,GAAG,qBAAqB,CAAwB,WAAW,CAAC;AAC1E,IAAA,MAAM,SAAS,GAAG,mBAAmB,CAAC,QAAQ,CAAC;IAE/C,OAAO;QACL,OAAO;AACP,QAAA,OAAO,EAAE,CAAC,KAA4B,EAAE,MAAc,KAA4B,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;QACxG,SAAS;KACV;AACH;AAEM,SAAU,gBAAgB,CAC9B,UAAkB,EAClB,WAA+D,EAC/D,OAAmD,EACnD,mBAAiE,EAAA;AAEjE,IAAA,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,eAAe,CAAyB,UAAU,CAAC;IAE3F,OAAO;AACL,QAAA,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC;AACjC,QAAA,iBAAiB,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,CAAC;AAClD,QAAA,cAAc,CAAC;AACb,YAAA,iBAAiB,CACf,OAAO,EACP,MAAM,MAAM,CAAC,OAAO,CAAC,EACrB,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAClC;SACF,CAAC;QACF,OAAmB;QACnB,mBAA+B;KAChC;AACH;;AC7CA;;AAEG;;;;"}
|
package/package.json
CHANGED
package/types/ngdux-form.d.ts
CHANGED
|
@@ -6,8 +6,8 @@ import * as rxjs from 'rxjs';
|
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
7
7
|
import * as _ngrx_store from '@ngrx/store';
|
|
8
8
|
import { ActionCreator, Action, MemoizedSelector, Store, ReducerManager, ReducerTypes, ActionReducer, DefaultProjectorFn } from '@ngrx/store';
|
|
9
|
-
import * as
|
|
10
|
-
import { InjectionToken,
|
|
9
|
+
import * as i0 from '@angular/core';
|
|
10
|
+
import { InjectionToken, AbstractType, Provider, EnvironmentProviders } from '@angular/core';
|
|
11
11
|
import { ActionPayload, ApiRequestState, LoadingState } from '@ngdux/store-common';
|
|
12
12
|
import * as _ngdux_form from '@ngdux/form';
|
|
13
13
|
|
|
@@ -91,6 +91,7 @@ interface FormFacade<DTO, ERROR, CREATE_DTO = DTO> {
|
|
|
91
91
|
requestState$: Observable<RequestState>;
|
|
92
92
|
errors$: Observable<ERROR | undefined>;
|
|
93
93
|
isReady$: Observable<boolean>;
|
|
94
|
+
isLoading$: Observable<boolean>;
|
|
94
95
|
create(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['create']>): void;
|
|
95
96
|
load(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['load']>): void;
|
|
96
97
|
save(props: ActionPayload<FormActions<DTO, ERROR, CREATE_DTO>['save']>): void;
|
|
@@ -151,8 +152,8 @@ declare abstract class AbstractFormReducerManager<DTO, ERROR, CREATE_DTO = DTO>
|
|
|
151
152
|
protected getActions(): FormActions<DTO, ERROR, CREATE_DTO>;
|
|
152
153
|
protected addReducer(): void;
|
|
153
154
|
protected getSelectors(): FormSelectors<DTO, ERROR>;
|
|
154
|
-
static ɵfac:
|
|
155
|
-
static ɵprov:
|
|
155
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AbstractFormReducerManager<any, any, any>, never>;
|
|
156
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AbstractFormReducerManager<any, any, any>>;
|
|
156
157
|
}
|
|
157
158
|
|
|
158
159
|
/**
|
|
@@ -186,10 +187,7 @@ declare function createFormState<DTO, ERROR, CREATE_DTO = DTO>(featureName: stri
|
|
|
186
187
|
reducer: (state: FormState<DTO, ERROR>, action: Action) => FormState<DTO, ERROR>;
|
|
187
188
|
selectors: _ngdux_form.FormSelectors<DTO, ERROR>;
|
|
188
189
|
};
|
|
189
|
-
declare function provideFormState<DTO, ERROR, CREATE_DTO = DTO>(featureKey: string, facadeToken: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>, service:
|
|
190
|
-
provide: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>;
|
|
191
|
-
useFactory: () => FormFacade<DTO, ERROR, CREATE_DTO>;
|
|
192
|
-
})[];
|
|
190
|
+
declare function provideFormState<DTO, ERROR, CREATE_DTO = DTO>(featureKey: string, facadeToken: InjectionToken<FormFacade<DTO, ERROR, CREATE_DTO>>, service: AbstractType<FormService<DTO, CREATE_DTO>>, notificationService: AbstractType<FormNotificationService<ERROR>>): (Provider | EnvironmentProviders)[];
|
|
193
191
|
|
|
194
192
|
export { AbstractFormEffects, AbstractFormFacade, AbstractFormReducerManager, FORM_FEATURE_KEY, createFormActions, createFormReducer, createFormSelectors, createFormState, provideFormState };
|
|
195
193
|
export type { FormActions, FormFacade, FormSelectors, FormState };
|