@geosdi/ngx-store 1.0.7 → 1.0.8

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.
@@ -0,0 +1,43 @@
1
+ import { Actions, createEffect, ofType } from "@ngrx/effects";
2
+ import { delay, map, tap } from "rxjs/operators";
3
+ import { Injectable } from "@angular/core";
4
+ import { Store } from "@ngrx/store";
5
+ import { NgxPrimeNgTableEventService } from "@geosdi/ngx-primeng-table";
6
+ import { resetBean } from "@geosdi/ngx-select-bean";
7
+ import { NgxUtilityServiceService } from "@geosdi/ngx-utility-service";
8
+ import { NgxPrimeNgModalService } from "@geosdi/ngx-primeng-modal-service";
9
+ import { afterDeleting, reloadTable, serviceSuccess } from "./ngx-actions";
10
+ import * as i0 from "@angular/core";
11
+ import * as i1 from "@ngrx/effects";
12
+ import * as i2 from "@geosdi/ngx-utility-service";
13
+ import * as i3 from "@geosdi/ngx-primeng-table";
14
+ import * as i4 from "@geosdi/ngx-primeng-modal-service";
15
+ import * as i5 from "@ngrx/store";
16
+ /**
17
+ * @author Vito Salvia - CNR IMAA geoSDI Group
18
+ * @email vito.salvia@gmail.com
19
+ */
20
+ export class NgxEffects {
21
+ constructor(actions$, utilityService, tableEventService, modalService, appStore) {
22
+ this.actions$ = actions$;
23
+ this.utilityService = utilityService;
24
+ this.tableEventService = tableEventService;
25
+ this.modalService = modalService;
26
+ this.appStore = appStore;
27
+ this.onSuccess$ = createEffect(() => this.actions$.pipe(ofType(serviceSuccess), tap((res) => {
28
+ this.utilityService.printTranslateMessage("Service", "message.action_successful", "success");
29
+ })), { dispatch: false });
30
+ this.onAfterDeleting$ = createEffect(() => this.actions$.pipe(ofType(afterDeleting), tap((res) => {
31
+ this.appStore.dispatch(resetBean());
32
+ })), { dispatch: false });
33
+ this.reload$ = createEffect(() => this.actions$.pipe(ofType(reloadTable), delay(1000), map((action) => {
34
+ this.tableEventService.subjectReloadView$.next(action.TABLE);
35
+ })), { dispatch: false });
36
+ }
37
+ }
38
+ /** @nocollapse */ NgxEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, deps: [{ token: i1.Actions }, { token: i2.NgxUtilityServiceService }, { token: i3.NgxPrimeNgTableEventService }, { token: i4.NgxPrimeNgModalService }, { token: i5.Store }], target: i0.ɵɵFactoryTarget.Injectable });
39
+ /** @nocollapse */ NgxEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects });
40
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, decorators: [{
41
+ type: Injectable
42
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.NgxUtilityServiceService }, { type: i3.NgxPrimeNgTableEventService }, { type: i4.NgxPrimeNgModalService }, { type: i5.Store }]; } });
43
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LWVmZmVjdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9nZW9zZGkvbmd4LXN0b3JlL3NyYy9saWIvbmd4LWVmZmVjdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzlELE9BQU8sRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUNwQyxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN4RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDM0UsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7Ozs7O0FBRTNFOzs7R0FHRztBQUVILE1BQU0sT0FBTyxVQUFVO0lBeUNuQixZQUNZLFFBQWlCLEVBQ2pCLGNBQXdDLEVBQ3hDLGlCQUE4QyxFQUM5QyxZQUFvQyxFQUNwQyxRQUFlO1FBSmYsYUFBUSxHQUFSLFFBQVEsQ0FBUztRQUNqQixtQkFBYyxHQUFkLGNBQWMsQ0FBMEI7UUFDeEMsc0JBQWlCLEdBQWpCLGlCQUFpQixDQUE2QjtRQUM5QyxpQkFBWSxHQUFaLFlBQVksQ0FBd0I7UUFDcEMsYUFBUSxHQUFSLFFBQVEsQ0FBTztRQTdDM0IsZUFBVSxHQUFHLFlBQVksQ0FDckIsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLGNBQWMsQ0FBQyxFQUN0QixHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUNSLElBQUksQ0FBQyxjQUFjLENBQUMscUJBQXFCLENBQ3JDLFNBQVMsRUFDVCwyQkFBMkIsRUFDM0IsU0FBUyxDQUNaLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxFQUNMLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUN0QixDQUFDO1FBRUYscUJBQWdCLEdBQUcsWUFBWSxDQUMzQixHQUFHLEVBQUUsQ0FDRCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FDZCxNQUFNLENBQUMsYUFBYSxDQUFDLEVBQ3JCLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ1IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLENBQUMsU0FBUyxFQUFFLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDTCxFQUNMLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUN0QixDQUFDO1FBRUYsWUFBTyxHQUFHLFlBQVksQ0FDbEIsR0FBRyxFQUFFLENBQ0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2QsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUNuQixLQUFLLENBQUMsSUFBSSxDQUFDLEVBQ1gsR0FBRyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDWCxJQUFJLENBQUMsaUJBQWlCLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUMxQyxNQUFNLENBQUMsS0FBSyxDQUNmLENBQUM7UUFDTixDQUFDLENBQUMsQ0FDTCxFQUNMLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxDQUN0QixDQUFDO0lBUUMsQ0FBQzs7MEhBL0NLLFVBQVU7OEhBQVYsVUFBVTsyRkFBVixVQUFVO2tCQUR0QixVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aW9ucywgY3JlYXRlRWZmZWN0LCBvZlR5cGUgfSBmcm9tIFwiQG5ncngvZWZmZWN0c1wiO1xuaW1wb3J0IHsgZGVsYXksIG1hcCwgdGFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSBcIkBuZ3J4L3N0b3JlXCI7XG5pbXBvcnQgeyBOZ3hQcmltZU5nVGFibGVFdmVudFNlcnZpY2UgfSBmcm9tIFwiQGdlb3NkaS9uZ3gtcHJpbWVuZy10YWJsZVwiO1xuaW1wb3J0IHsgcmVzZXRCZWFuIH0gZnJvbSBcIkBnZW9zZGkvbmd4LXNlbGVjdC1iZWFuXCI7XG5pbXBvcnQgeyBOZ3hVdGlsaXR5U2VydmljZVNlcnZpY2UgfSBmcm9tIFwiQGdlb3NkaS9uZ3gtdXRpbGl0eS1zZXJ2aWNlXCI7XG5pbXBvcnQgeyBOZ3hQcmltZU5nTW9kYWxTZXJ2aWNlIH0gZnJvbSBcIkBnZW9zZGkvbmd4LXByaW1lbmctbW9kYWwtc2VydmljZVwiO1xuaW1wb3J0IHsgYWZ0ZXJEZWxldGluZywgcmVsb2FkVGFibGUsIHNlcnZpY2VTdWNjZXNzIH0gZnJvbSBcIi4vbmd4LWFjdGlvbnNcIjtcblxuLyoqXG4gKiBAYXV0aG9yIFZpdG8gU2FsdmlhIC0gQ05SIElNQUEgZ2VvU0RJIEdyb3VwXG4gKiBAZW1haWwgdml0by5zYWx2aWFAZ21haWwuY29tXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOZ3hFZmZlY3RzIHtcbiAgICBvblN1Y2Nlc3MkID0gY3JlYXRlRWZmZWN0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICAgICAgICAgIG9mVHlwZShzZXJ2aWNlU3VjY2VzcyksXG4gICAgICAgICAgICAgICAgdGFwKChyZXMpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgdGhpcy51dGlsaXR5U2VydmljZS5wcmludFRyYW5zbGF0ZU1lc3NhZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBcIlNlcnZpY2VcIixcbiAgICAgICAgICAgICAgICAgICAgICAgIFwibWVzc2FnZS5hY3Rpb25fc3VjY2Vzc2Z1bFwiLFxuICAgICAgICAgICAgICAgICAgICAgICAgXCJzdWNjZXNzXCIsXG4gICAgICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICAgICAgfSksXG4gICAgICAgICAgICApLFxuICAgICAgICB7IGRpc3BhdGNoOiBmYWxzZSB9LFxuICAgICk7XG5cbiAgICBvbkFmdGVyRGVsZXRpbmckID0gY3JlYXRlRWZmZWN0KFxuICAgICAgICAoKSA9PlxuICAgICAgICAgICAgdGhpcy5hY3Rpb25zJC5waXBlKFxuICAgICAgICAgICAgICAgIG9mVHlwZShhZnRlckRlbGV0aW5nKSxcbiAgICAgICAgICAgICAgICB0YXAoKHJlcykgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmFwcFN0b3JlLmRpc3BhdGNoKHJlc2V0QmVhbigpKTtcbiAgICAgICAgICAgICAgICB9KSxcbiAgICAgICAgICAgICksXG4gICAgICAgIHsgZGlzcGF0Y2g6IGZhbHNlIH0sXG4gICAgKTtcblxuICAgIHJlbG9hZCQgPSBjcmVhdGVFZmZlY3QoXG4gICAgICAgICgpID0+XG4gICAgICAgICAgICB0aGlzLmFjdGlvbnMkLnBpcGUoXG4gICAgICAgICAgICAgICAgb2ZUeXBlKHJlbG9hZFRhYmxlKSxcbiAgICAgICAgICAgICAgICBkZWxheSgxMDAwKSxcbiAgICAgICAgICAgICAgICBtYXAoKGFjdGlvbikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnRhYmxlRXZlbnRTZXJ2aWNlLnN1YmplY3RSZWxvYWRWaWV3JC5uZXh0KFxuICAgICAgICAgICAgICAgICAgICAgICAgYWN0aW9uLlRBQkxFLFxuICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgeyBkaXNwYXRjaDogZmFsc2UgfSxcbiAgICApO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgYWN0aW9ucyQ6IEFjdGlvbnMsXG4gICAgICAgIHByaXZhdGUgdXRpbGl0eVNlcnZpY2U6IE5neFV0aWxpdHlTZXJ2aWNlU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSB0YWJsZUV2ZW50U2VydmljZTogTmd4UHJpbWVOZ1RhYmxlRXZlbnRTZXJ2aWNlLFxuICAgICAgICBwcml2YXRlIG1vZGFsU2VydmljZTogTmd4UHJpbWVOZ01vZGFsU2VydmljZSxcbiAgICAgICAgcHJpdmF0ZSBhcHBTdG9yZTogU3RvcmUsXG4gICAgKSB7fVxufVxuIl19
@@ -5,4 +5,5 @@ export * from "./lib/ngx-store.facade";
5
5
  export * from "./lib/ngx-abstract-store.facade";
6
6
  export * from "./lib/ngx-state";
7
7
  export * from "./lib/ngx-actions";
8
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9uZ3gtc3RvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtc3RvcmVcbiAqL1xuXG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmd4LXN0b3JlLmZhY2FkZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25neC1hYnN0cmFjdC1zdG9yZS5mYWNhZGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtc3RhdGVcIjtcbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtYWN0aW9uc1wiO1xuIl19
8
+ export * from "./lib/ngx-effects";
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2dlb3NkaS9uZ3gtc3RvcmUvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsaUNBQWlDLENBQUM7QUFDaEQsY0FBYyxpQkFBaUIsQ0FBQztBQUNoQyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5neC1zdG9yZVxuICovXG5cbmV4cG9ydCAqIGZyb20gXCIuL2xpYi9uZ3gtc3RvcmUuZmFjYWRlXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmd4LWFic3RyYWN0LXN0b3JlLmZhY2FkZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25neC1zdGF0ZVwiO1xuZXhwb3J0ICogZnJvbSBcIi4vbGliL25neC1hY3Rpb25zXCI7XG5leHBvcnQgKiBmcm9tIFwiLi9saWIvbmd4LWVmZmVjdHNcIjtcbiJdfQ==
@@ -1,4 +1,14 @@
1
+ import * as i5 from '@ngrx/store';
1
2
  import { createAction, props } from '@ngrx/store';
3
+ import * as i1 from '@ngrx/effects';
4
+ import { createEffect, ofType } from '@ngrx/effects';
5
+ import { tap, delay, map } from 'rxjs/operators';
6
+ import * as i0 from '@angular/core';
7
+ import { Injectable } from '@angular/core';
8
+ import { resetBean } from '@geosdi/ngx-select-bean';
9
+ import * as i2 from '@geosdi/ngx-utility-service';
10
+ import * as i3 from '@geosdi/ngx-primeng-table';
11
+ import * as i4 from '@geosdi/ngx-primeng-modal-service';
2
12
 
3
13
  /**
4
14
  * @author Vito Salvia - CNR IMAA geoSDI Group
@@ -27,6 +37,34 @@ const afterDeleting = createAction("[Service] Service After Deleting");
27
37
  const reloadTable = createAction("[Service] Reload View", props());
28
38
  const clearState = createAction(CLEAR_STATE);
29
39
 
40
+ /**
41
+ * @author Vito Salvia - CNR IMAA geoSDI Group
42
+ * @email vito.salvia@gmail.com
43
+ */
44
+ class NgxEffects {
45
+ constructor(actions$, utilityService, tableEventService, modalService, appStore) {
46
+ this.actions$ = actions$;
47
+ this.utilityService = utilityService;
48
+ this.tableEventService = tableEventService;
49
+ this.modalService = modalService;
50
+ this.appStore = appStore;
51
+ this.onSuccess$ = createEffect(() => this.actions$.pipe(ofType(serviceSuccess), tap((res) => {
52
+ this.utilityService.printTranslateMessage("Service", "message.action_successful", "success");
53
+ })), { dispatch: false });
54
+ this.onAfterDeleting$ = createEffect(() => this.actions$.pipe(ofType(afterDeleting), tap((res) => {
55
+ this.appStore.dispatch(resetBean());
56
+ })), { dispatch: false });
57
+ this.reload$ = createEffect(() => this.actions$.pipe(ofType(reloadTable), delay(1000), map((action) => {
58
+ this.tableEventService.subjectReloadView$.next(action.TABLE);
59
+ })), { dispatch: false });
60
+ }
61
+ }
62
+ /** @nocollapse */ NgxEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, deps: [{ token: i1.Actions }, { token: i2.NgxUtilityServiceService }, { token: i3.NgxPrimeNgTableEventService }, { token: i4.NgxPrimeNgModalService }, { token: i5.Store }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ /** @nocollapse */ NgxEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.NgxUtilityServiceService }, { type: i3.NgxPrimeNgTableEventService }, { type: i4.NgxPrimeNgModalService }, { type: i5.Store }]; } });
67
+
30
68
  /*
31
69
  * Public API Surface of ngx-store
32
70
  */
@@ -35,5 +73,5 @@ const clearState = createAction(CLEAR_STATE);
35
73
  * Generated bundle index. Do not edit.
36
74
  */
37
75
 
38
- export { CLEAR_STATE, NgxAbstractStoreFacade, afterDeleting, clearState, getAdapterIntialState, reloadTable, selectModelId, serviceSuccess };
76
+ export { CLEAR_STATE, NgxAbstractStoreFacade, NgxEffects, afterDeleting, clearState, getAdapterIntialState, reloadTable, selectModelId, serviceSuccess };
39
77
  //# sourceMappingURL=geosdi-ngx-store.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"geosdi-ngx-store.mjs","sources":["../../../../projects/geosdi/ngx-store/src/lib/ngx-abstract-store.facade.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-state.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-actions.ts","../../../../projects/geosdi/ngx-store/src/public-api.ts","../../../../projects/geosdi/ngx-store/src/geosdi-ngx-store.ts"],"sourcesContent":["import { Model } from \"@geosdi/ngx-model\";\nimport { Observable } from \"rxjs\";\nimport { INgxStoreFacade } from \"./ngx-store.facade\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport abstract class NgxAbstractStoreFacade<B extends Model>\n implements INgxStoreFacade<B>\n{\n /**\n *\n * @param bean\n */\n abstract addBean(bean: B);\n\n /**\n *\n */\n abstract clearStore();\n\n /**\n *\n * @param id\n */\n abstract deleteBean(id: string | number);\n\n /**\n *\n * @param from\n * @param size\n * @param params\n */\n abstract searchByValue(from: number, size: number, params: any);\n\n /**\n *\n */\n abstract getTotal(): Observable<number>;\n\n /**\n *\n */\n abstract loadStore();\n\n /**\n *\n * @param from\n * @param size\n * @param param\n */\n abstract selectPaginatedBeans(from: number, size: number, param?: string);\n\n /**\n *\n * @param id\n */\n abstract selectorBeanById(id: string | number);\n\n /**\n *\n * @param bean\n */\n abstract updateBean(bean: B);\n}\n","import { Model } from \"@geosdi/ngx-model\";\nimport { EntityAdapter, EntityState } from \"@ngrx/entity\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n\nexport interface NgxAppState {}\n\nexport interface NgxState<B extends Model> extends EntityState<B> {\n paginatedBeanLoaded: boolean;\n total: number;\n}\n\nexport function selectModelId(model: Model): any {\n return model.id;\n}\n\nexport function getAdapterIntialState<B extends Model>(\n adapter: EntityAdapter<B>,\n) {\n return adapter.getInitialState({\n paginatedBeanLoaded: false,\n total: 0,\n });\n}\n","import { createAction, props } from \"@ngrx/store\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport const CLEAR_STATE = \"[Service] Clear State\";\n\nexport const serviceSuccess = createAction(\"[Service] Service Success\");\nexport const afterDeleting = createAction(\"[Service] Service After Deleting\");\nexport const reloadTable = createAction(\n \"[Service] Reload View\",\n props<{ TABLE: any }>(),\n);\n\nexport const clearState = createAction(CLEAR_STATE);\n","/*\n * Public API Surface of ngx-store\n */\n\nexport * from \"./lib/ngx-store.facade\";\nexport * from \"./lib/ngx-abstract-store.facade\";\nexport * from \"./lib/ngx-state\";\nexport * from \"./lib/ngx-actions\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAIA;;;AAGG;MACmB,sBAAsB,CAAA;AAyD3C;;AClDK,SAAU,aAAa,CAAC,KAAY,EAAA;IACtC,OAAO,KAAK,CAAC,EAAE,CAAC;AACpB,CAAC;AAEK,SAAU,qBAAqB,CACjC,OAAyB,EAAA;IAEzB,OAAO,OAAO,CAAC,eAAe,CAAC;AAC3B,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,KAAK,EAAE,CAAC;AACX,KAAA,CAAC,CAAC;AACP;;ACxBA;;;AAGG;AACI,MAAM,WAAW,GAAG,wBAAwB;MAEtC,cAAc,GAAG,YAAY,CAAC,4BAA4B,EAAE;MAC5D,aAAa,GAAG,YAAY,CAAC,mCAAmC,EAAE;AAClE,MAAA,WAAW,GAAG,YAAY,CACnC,uBAAuB,EACvB,KAAK,EAAkB,EACzB;MAEW,UAAU,GAAG,YAAY,CAAC,WAAW;;ACflD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"geosdi-ngx-store.mjs","sources":["../../../../projects/geosdi/ngx-store/src/lib/ngx-abstract-store.facade.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-state.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-actions.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-effects.ts","../../../../projects/geosdi/ngx-store/src/public-api.ts","../../../../projects/geosdi/ngx-store/src/geosdi-ngx-store.ts"],"sourcesContent":["import { Model } from \"@geosdi/ngx-model\";\nimport { Observable } from \"rxjs\";\nimport { INgxStoreFacade } from \"./ngx-store.facade\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport abstract class NgxAbstractStoreFacade<B extends Model>\n implements INgxStoreFacade<B>\n{\n /**\n *\n * @param bean\n */\n abstract addBean(bean: B);\n\n /**\n *\n */\n abstract clearStore();\n\n /**\n *\n * @param id\n */\n abstract deleteBean(id: string | number);\n\n /**\n *\n * @param from\n * @param size\n * @param params\n */\n abstract searchByValue(from: number, size: number, params: any);\n\n /**\n *\n */\n abstract getTotal(): Observable<number>;\n\n /**\n *\n */\n abstract loadStore();\n\n /**\n *\n * @param from\n * @param size\n * @param param\n */\n abstract selectPaginatedBeans(from: number, size: number, param?: string);\n\n /**\n *\n * @param id\n */\n abstract selectorBeanById(id: string | number);\n\n /**\n *\n * @param bean\n */\n abstract updateBean(bean: B);\n}\n","import { Model } from \"@geosdi/ngx-model\";\nimport { EntityAdapter, EntityState } from \"@ngrx/entity\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n\nexport interface NgxAppState {}\n\nexport interface NgxState<B extends Model> extends EntityState<B> {\n paginatedBeanLoaded: boolean;\n total: number;\n}\n\nexport function selectModelId(model: Model): any {\n return model.id;\n}\n\nexport function getAdapterIntialState<B extends Model>(\n adapter: EntityAdapter<B>,\n) {\n return adapter.getInitialState({\n paginatedBeanLoaded: false,\n total: 0,\n });\n}\n","import { createAction, props } from \"@ngrx/store\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport const CLEAR_STATE = \"[Service] Clear State\";\n\nexport const serviceSuccess = createAction(\"[Service] Service Success\");\nexport const afterDeleting = createAction(\"[Service] Service After Deleting\");\nexport const reloadTable = createAction(\n \"[Service] Reload View\",\n props<{ TABLE: any }>(),\n);\n\nexport const clearState = createAction(CLEAR_STATE);\n","import { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { delay, map, tap } from \"rxjs/operators\";\nimport { Injectable } from \"@angular/core\";\nimport { Store } from \"@ngrx/store\";\nimport { NgxPrimeNgTableEventService } from \"@geosdi/ngx-primeng-table\";\nimport { resetBean } from \"@geosdi/ngx-select-bean\";\nimport { NgxUtilityServiceService } from \"@geosdi/ngx-utility-service\";\nimport { NgxPrimeNgModalService } from \"@geosdi/ngx-primeng-modal-service\";\nimport { afterDeleting, reloadTable, serviceSuccess } from \"./ngx-actions\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n@Injectable()\nexport class NgxEffects {\n onSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(serviceSuccess),\n tap((res) => {\n this.utilityService.printTranslateMessage(\n \"Service\",\n \"message.action_successful\",\n \"success\",\n );\n }),\n ),\n { dispatch: false },\n );\n\n onAfterDeleting$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(afterDeleting),\n tap((res) => {\n this.appStore.dispatch(resetBean());\n }),\n ),\n { dispatch: false },\n );\n\n reload$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(reloadTable),\n delay(1000),\n map((action) => {\n this.tableEventService.subjectReloadView$.next(\n action.TABLE,\n );\n }),\n ),\n { dispatch: false },\n );\n\n constructor(\n private actions$: Actions,\n private utilityService: NgxUtilityServiceService,\n private tableEventService: NgxPrimeNgTableEventService,\n private modalService: NgxPrimeNgModalService,\n private appStore: Store,\n ) {}\n}\n","/*\n * Public API Surface of ngx-store\n */\n\nexport * from \"./lib/ngx-store.facade\";\nexport * from \"./lib/ngx-abstract-store.facade\";\nexport * from \"./lib/ngx-state\";\nexport * from \"./lib/ngx-actions\";\nexport * from \"./lib/ngx-effects\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA;;;AAGG;MACmB,sBAAsB,CAAA;AAyD3C;;AClDK,SAAU,aAAa,CAAC,KAAY,EAAA;IACtC,OAAO,KAAK,CAAC,EAAE,CAAC;AACpB,CAAC;AAEK,SAAU,qBAAqB,CACjC,OAAyB,EAAA;IAEzB,OAAO,OAAO,CAAC,eAAe,CAAC;AAC3B,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,KAAK,EAAE,CAAC;AACX,KAAA,CAAC,CAAC;AACP;;ACxBA;;;AAGG;AACI,MAAM,WAAW,GAAG,wBAAwB;MAEtC,cAAc,GAAG,YAAY,CAAC,4BAA4B,EAAE;MAC5D,aAAa,GAAG,YAAY,CAAC,mCAAmC,EAAE;AAClE,MAAA,WAAW,GAAG,YAAY,CACnC,uBAAuB,EACvB,KAAK,EAAkB,EACzB;MAEW,UAAU,GAAG,YAAY,CAAC,WAAW;;ACLlD;;;AAGG;MAEU,UAAU,CAAA;IAyCnB,WACY,CAAA,QAAiB,EACjB,cAAwC,EACxC,iBAA8C,EAC9C,YAAoC,EACpC,QAAe,EAAA;AAJf,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;AACjB,QAAA,IAAc,CAAA,cAAA,GAAd,cAAc,CAA0B;AACxC,QAAA,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA6B;AAC9C,QAAA,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAwB;AACpC,QAAA,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAO;QA7C3B,IAAU,CAAA,UAAA,GAAG,YAAY,CACrB,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,cAAc,CAAC,EACtB,GAAG,CAAC,CAAC,GAAG,KAAI;YACR,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,SAAS,EACT,2BAA2B,EAC3B,SAAS,CACZ,CAAC;SACL,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAAY,CAC3B,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,aAAa,CAAC,EACrB,GAAG,CAAC,CAAC,GAAG,KAAI;YACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;SACvC,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;AAEF,QAAA,IAAO,CAAA,OAAA,GAAG,YAAY,CAClB,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,WAAW,CAAC,EACnB,KAAK,CAAC,IAAI,CAAC,EACX,GAAG,CAAC,CAAC,MAAM,KAAI;YACX,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAC1C,MAAM,CAAC,KAAK,CACf,CAAC;SACL,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;KAQE;;0HA/CK,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8HAAV,UAAU,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;;;ACdX;;AAEG;;ACFH;;AAEG;;;;"}
@@ -1,4 +1,14 @@
1
+ import * as i5 from '@ngrx/store';
1
2
  import { createAction, props } from '@ngrx/store';
3
+ import * as i1 from '@ngrx/effects';
4
+ import { createEffect, ofType } from '@ngrx/effects';
5
+ import { tap, delay, map } from 'rxjs/operators';
6
+ import * as i0 from '@angular/core';
7
+ import { Injectable } from '@angular/core';
8
+ import * as i3 from '@geosdi/ngx-primeng-table';
9
+ import { resetBean } from '@geosdi/ngx-select-bean';
10
+ import * as i2 from '@geosdi/ngx-utility-service';
11
+ import * as i4 from '@geosdi/ngx-primeng-modal-service';
2
12
 
3
13
  /**
4
14
  * @author Vito Salvia - CNR IMAA geoSDI Group
@@ -27,6 +37,34 @@ const afterDeleting = createAction("[Service] Service After Deleting");
27
37
  const reloadTable = createAction("[Service] Reload View", props());
28
38
  const clearState = createAction(CLEAR_STATE);
29
39
 
40
+ /**
41
+ * @author Vito Salvia - CNR IMAA geoSDI Group
42
+ * @email vito.salvia@gmail.com
43
+ */
44
+ class NgxEffects {
45
+ constructor(actions$, utilityService, tableEventService, modalService, appStore) {
46
+ this.actions$ = actions$;
47
+ this.utilityService = utilityService;
48
+ this.tableEventService = tableEventService;
49
+ this.modalService = modalService;
50
+ this.appStore = appStore;
51
+ this.onSuccess$ = createEffect(() => this.actions$.pipe(ofType(serviceSuccess), tap((res) => {
52
+ this.utilityService.printTranslateMessage("Service", "message.action_successful", "success");
53
+ })), { dispatch: false });
54
+ this.onAfterDeleting$ = createEffect(() => this.actions$.pipe(ofType(afterDeleting), tap((res) => {
55
+ this.appStore.dispatch(resetBean());
56
+ })), { dispatch: false });
57
+ this.reload$ = createEffect(() => this.actions$.pipe(ofType(reloadTable), delay(1000), map((action) => {
58
+ this.tableEventService.subjectReloadView$.next(action.TABLE);
59
+ })), { dispatch: false });
60
+ }
61
+ }
62
+ /** @nocollapse */ NgxEffects.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, deps: [{ token: i1.Actions }, { token: i2.NgxUtilityServiceService }, { token: i3.NgxPrimeNgTableEventService }, { token: i4.NgxPrimeNgModalService }, { token: i5.Store }], target: i0.ɵɵFactoryTarget.Injectable });
63
+ /** @nocollapse */ NgxEffects.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects });
64
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.7", ngImport: i0, type: NgxEffects, decorators: [{
65
+ type: Injectable
66
+ }], ctorParameters: function () { return [{ type: i1.Actions }, { type: i2.NgxUtilityServiceService }, { type: i3.NgxPrimeNgTableEventService }, { type: i4.NgxPrimeNgModalService }, { type: i5.Store }]; } });
67
+
30
68
  /*
31
69
  * Public API Surface of ngx-store
32
70
  */
@@ -35,5 +73,5 @@ const clearState = createAction(CLEAR_STATE);
35
73
  * Generated bundle index. Do not edit.
36
74
  */
37
75
 
38
- export { CLEAR_STATE, NgxAbstractStoreFacade, afterDeleting, clearState, getAdapterIntialState, reloadTable, selectModelId, serviceSuccess };
76
+ export { CLEAR_STATE, NgxAbstractStoreFacade, NgxEffects, afterDeleting, clearState, getAdapterIntialState, reloadTable, selectModelId, serviceSuccess };
39
77
  //# sourceMappingURL=geosdi-ngx-store.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"geosdi-ngx-store.mjs","sources":["../../../../projects/geosdi/ngx-store/src/lib/ngx-abstract-store.facade.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-state.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-actions.ts","../../../../projects/geosdi/ngx-store/src/public-api.ts","../../../../projects/geosdi/ngx-store/src/geosdi-ngx-store.ts"],"sourcesContent":["import { Model } from \"@geosdi/ngx-model\";\nimport { Observable } from \"rxjs\";\nimport { INgxStoreFacade } from \"./ngx-store.facade\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport abstract class NgxAbstractStoreFacade<B extends Model>\n implements INgxStoreFacade<B>\n{\n /**\n *\n * @param bean\n */\n abstract addBean(bean: B);\n\n /**\n *\n */\n abstract clearStore();\n\n /**\n *\n * @param id\n */\n abstract deleteBean(id: string | number);\n\n /**\n *\n * @param from\n * @param size\n * @param params\n */\n abstract searchByValue(from: number, size: number, params: any);\n\n /**\n *\n */\n abstract getTotal(): Observable<number>;\n\n /**\n *\n */\n abstract loadStore();\n\n /**\n *\n * @param from\n * @param size\n * @param param\n */\n abstract selectPaginatedBeans(from: number, size: number, param?: string);\n\n /**\n *\n * @param id\n */\n abstract selectorBeanById(id: string | number);\n\n /**\n *\n * @param bean\n */\n abstract updateBean(bean: B);\n}\n","import { Model } from \"@geosdi/ngx-model\";\nimport { EntityAdapter, EntityState } from \"@ngrx/entity\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n\nexport interface NgxAppState {}\n\nexport interface NgxState<B extends Model> extends EntityState<B> {\n paginatedBeanLoaded: boolean;\n total: number;\n}\n\nexport function selectModelId(model: Model): any {\n return model.id;\n}\n\nexport function getAdapterIntialState<B extends Model>(\n adapter: EntityAdapter<B>,\n) {\n return adapter.getInitialState({\n paginatedBeanLoaded: false,\n total: 0,\n });\n}\n","import { createAction, props } from \"@ngrx/store\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport const CLEAR_STATE = \"[Service] Clear State\";\n\nexport const serviceSuccess = createAction(\"[Service] Service Success\");\nexport const afterDeleting = createAction(\"[Service] Service After Deleting\");\nexport const reloadTable = createAction(\n \"[Service] Reload View\",\n props<{ TABLE: any }>(),\n);\n\nexport const clearState = createAction(CLEAR_STATE);\n","/*\n * Public API Surface of ngx-store\n */\n\nexport * from \"./lib/ngx-store.facade\";\nexport * from \"./lib/ngx-abstract-store.facade\";\nexport * from \"./lib/ngx-state\";\nexport * from \"./lib/ngx-actions\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;AAIA;;;AAGG;MACmB,sBAAsB,CAAA;AAyD3C;;AClDK,SAAU,aAAa,CAAC,KAAY,EAAA;IACtC,OAAO,KAAK,CAAC,EAAE,CAAC;AACpB,CAAC;AAEK,SAAU,qBAAqB,CACjC,OAAyB,EAAA;IAEzB,OAAO,OAAO,CAAC,eAAe,CAAC;AAC3B,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,KAAK,EAAE,CAAC;AACX,KAAA,CAAC,CAAC;AACP;;ACxBA;;;AAGG;AACI,MAAM,WAAW,GAAG,wBAAwB;MAEtC,cAAc,GAAG,YAAY,CAAC,4BAA4B,EAAE;MAC5D,aAAa,GAAG,YAAY,CAAC,mCAAmC,EAAE;AAClE,MAAA,WAAW,GAAG,YAAY,CACnC,uBAAuB,EACvB,KAAK,EAAkB,EACzB;MAEW,UAAU,GAAG,YAAY,CAAC,WAAW;;ACflD;;AAEG;;ACFH;;AAEG;;;;"}
1
+ {"version":3,"file":"geosdi-ngx-store.mjs","sources":["../../../../projects/geosdi/ngx-store/src/lib/ngx-abstract-store.facade.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-state.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-actions.ts","../../../../projects/geosdi/ngx-store/src/lib/ngx-effects.ts","../../../../projects/geosdi/ngx-store/src/public-api.ts","../../../../projects/geosdi/ngx-store/src/geosdi-ngx-store.ts"],"sourcesContent":["import { Model } from \"@geosdi/ngx-model\";\nimport { Observable } from \"rxjs\";\nimport { INgxStoreFacade } from \"./ngx-store.facade\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport abstract class NgxAbstractStoreFacade<B extends Model>\n implements INgxStoreFacade<B>\n{\n /**\n *\n * @param bean\n */\n abstract addBean(bean: B);\n\n /**\n *\n */\n abstract clearStore();\n\n /**\n *\n * @param id\n */\n abstract deleteBean(id: string | number);\n\n /**\n *\n * @param from\n * @param size\n * @param params\n */\n abstract searchByValue(from: number, size: number, params: any);\n\n /**\n *\n */\n abstract getTotal(): Observable<number>;\n\n /**\n *\n */\n abstract loadStore();\n\n /**\n *\n * @param from\n * @param size\n * @param param\n */\n abstract selectPaginatedBeans(from: number, size: number, param?: string);\n\n /**\n *\n * @param id\n */\n abstract selectorBeanById(id: string | number);\n\n /**\n *\n * @param bean\n */\n abstract updateBean(bean: B);\n}\n","import { Model } from \"@geosdi/ngx-model\";\nimport { EntityAdapter, EntityState } from \"@ngrx/entity\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n\nexport interface NgxAppState {}\n\nexport interface NgxState<B extends Model> extends EntityState<B> {\n paginatedBeanLoaded: boolean;\n total: number;\n}\n\nexport function selectModelId(model: Model): any {\n return model.id;\n}\n\nexport function getAdapterIntialState<B extends Model>(\n adapter: EntityAdapter<B>,\n) {\n return adapter.getInitialState({\n paginatedBeanLoaded: false,\n total: 0,\n });\n}\n","import { createAction, props } from \"@ngrx/store\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\nexport const CLEAR_STATE = \"[Service] Clear State\";\n\nexport const serviceSuccess = createAction(\"[Service] Service Success\");\nexport const afterDeleting = createAction(\"[Service] Service After Deleting\");\nexport const reloadTable = createAction(\n \"[Service] Reload View\",\n props<{ TABLE: any }>(),\n);\n\nexport const clearState = createAction(CLEAR_STATE);\n","import { Actions, createEffect, ofType } from \"@ngrx/effects\";\nimport { delay, map, tap } from \"rxjs/operators\";\nimport { Injectable } from \"@angular/core\";\nimport { Store } from \"@ngrx/store\";\nimport { NgxPrimeNgTableEventService } from \"@geosdi/ngx-primeng-table\";\nimport { resetBean } from \"@geosdi/ngx-select-bean\";\nimport { NgxUtilityServiceService } from \"@geosdi/ngx-utility-service\";\nimport { NgxPrimeNgModalService } from \"@geosdi/ngx-primeng-modal-service\";\nimport { afterDeleting, reloadTable, serviceSuccess } from \"./ngx-actions\";\n\n/**\n * @author Vito Salvia - CNR IMAA geoSDI Group\n * @email vito.salvia@gmail.com\n */\n@Injectable()\nexport class NgxEffects {\n onSuccess$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(serviceSuccess),\n tap((res) => {\n this.utilityService.printTranslateMessage(\n \"Service\",\n \"message.action_successful\",\n \"success\",\n );\n }),\n ),\n { dispatch: false },\n );\n\n onAfterDeleting$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(afterDeleting),\n tap((res) => {\n this.appStore.dispatch(resetBean());\n }),\n ),\n { dispatch: false },\n );\n\n reload$ = createEffect(\n () =>\n this.actions$.pipe(\n ofType(reloadTable),\n delay(1000),\n map((action) => {\n this.tableEventService.subjectReloadView$.next(\n action.TABLE,\n );\n }),\n ),\n { dispatch: false },\n );\n\n constructor(\n private actions$: Actions,\n private utilityService: NgxUtilityServiceService,\n private tableEventService: NgxPrimeNgTableEventService,\n private modalService: NgxPrimeNgModalService,\n private appStore: Store,\n ) {}\n}\n","/*\n * Public API Surface of ngx-store\n */\n\nexport * from \"./lib/ngx-store.facade\";\nexport * from \"./lib/ngx-abstract-store.facade\";\nexport * from \"./lib/ngx-state\";\nexport * from \"./lib/ngx-actions\";\nexport * from \"./lib/ngx-effects\";\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;;AAIA;;;AAGG;MACmB,sBAAsB,CAAA;AAyD3C;;AClDK,SAAU,aAAa,CAAC,KAAY,EAAA;IACtC,OAAO,KAAK,CAAC,EAAE,CAAC;AACpB,CAAC;AAEK,SAAU,qBAAqB,CACjC,OAAyB,EAAA;IAEzB,OAAO,OAAO,CAAC,eAAe,CAAC;AAC3B,QAAA,mBAAmB,EAAE,KAAK;AAC1B,QAAA,KAAK,EAAE,CAAC;AACX,KAAA,CAAC,CAAC;AACP;;ACxBA;;;AAGG;AACI,MAAM,WAAW,GAAG,wBAAwB;MAEtC,cAAc,GAAG,YAAY,CAAC,4BAA4B,EAAE;MAC5D,aAAa,GAAG,YAAY,CAAC,mCAAmC,EAAE;AAClE,MAAA,WAAW,GAAG,YAAY,CACnC,uBAAuB,EACvB,KAAK,EAAkB,EACzB;MAEW,UAAU,GAAG,YAAY,CAAC,WAAW;;ACLlD;;;AAGG;MAEU,UAAU,CAAA;IAyCnB,WACY,CAAA,QAAiB,EACjB,cAAwC,EACxC,iBAA8C,EAC9C,YAAoC,EACpC,QAAe,EAAA;QAJf,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAS;QACjB,IAAc,CAAA,cAAA,GAAd,cAAc,CAA0B;QACxC,IAAiB,CAAA,iBAAA,GAAjB,iBAAiB,CAA6B;QAC9C,IAAY,CAAA,YAAA,GAAZ,YAAY,CAAwB;QACpC,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAO;QA7C3B,IAAU,CAAA,UAAA,GAAG,YAAY,CACrB,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,cAAc,CAAC,EACtB,GAAG,CAAC,CAAC,GAAG,KAAI;YACR,IAAI,CAAC,cAAc,CAAC,qBAAqB,CACrC,SAAS,EACT,2BAA2B,EAC3B,SAAS,CACZ,CAAC;SACL,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;QAEF,IAAgB,CAAA,gBAAA,GAAG,YAAY,CAC3B,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,aAAa,CAAC,EACrB,GAAG,CAAC,CAAC,GAAG,KAAI;YACR,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC;SACvC,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;QAEF,IAAO,CAAA,OAAA,GAAG,YAAY,CAClB,MACI,IAAI,CAAC,QAAQ,CAAC,IAAI,CACd,MAAM,CAAC,WAAW,CAAC,EACnB,KAAK,CAAC,IAAI,CAAC,EACX,GAAG,CAAC,CAAC,MAAM,KAAI;YACX,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,IAAI,CAC1C,MAAM,CAAC,KAAK,CACf,CAAC;SACL,CAAC,CACL,EACL,EAAE,QAAQ,EAAE,KAAK,EAAE,CACtB,CAAC;KAQE;;0HA/CK,UAAU,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,OAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,wBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,2BAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,sBAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,KAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;8HAAV,UAAU,EAAA,CAAA,CAAA;2FAAV,UAAU,EAAA,UAAA,EAAA,CAAA;kBADtB,UAAU;;;ACdX;;AAEG;;ACFH;;AAEG;;;;"}
@@ -0,0 +1,23 @@
1
+ import { Actions } from "@ngrx/effects";
2
+ import { Store } from "@ngrx/store";
3
+ import { NgxPrimeNgTableEventService } from "@geosdi/ngx-primeng-table";
4
+ import { NgxUtilityServiceService } from "@geosdi/ngx-utility-service";
5
+ import { NgxPrimeNgModalService } from "@geosdi/ngx-primeng-modal-service";
6
+ import * as i0 from "@angular/core";
7
+ /**
8
+ * @author Vito Salvia - CNR IMAA geoSDI Group
9
+ * @email vito.salvia@gmail.com
10
+ */
11
+ export declare class NgxEffects {
12
+ private actions$;
13
+ private utilityService;
14
+ private tableEventService;
15
+ private modalService;
16
+ private appStore;
17
+ onSuccess$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Service] Service Success">> & import("@ngrx/effects").CreateEffectMetadata;
18
+ onAfterDeleting$: import("rxjs").Observable<import("@ngrx/store/src/models").TypedAction<"[Service] Service After Deleting">> & import("@ngrx/effects").CreateEffectMetadata;
19
+ reload$: import("rxjs").Observable<void> & import("@ngrx/effects").CreateEffectMetadata;
20
+ constructor(actions$: Actions, utilityService: NgxUtilityServiceService, tableEventService: NgxPrimeNgTableEventService, modalService: NgxPrimeNgModalService, appStore: Store);
21
+ static ɵfac: i0.ɵɵFactoryDeclaration<NgxEffects, never>;
22
+ static ɵprov: i0.ɵɵInjectableDeclaration<NgxEffects>;
23
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@geosdi/ngx-store",
3
- "version": "1.0.7",
3
+ "version": "1.0.8",
4
4
  "description": "Ngrx store facade",
5
5
  "author": "Salvia Vito (vito.salvia@gmail.com)",
6
6
  "keywords": [
@@ -21,7 +21,8 @@
21
21
  "@geosdi/ngx-primeng-modal-service": ">=1.0.0",
22
22
  "@geosdi/ngx-utility-service": ">=1.0.0",
23
23
  "@geosdi/ngx-select-bean": ">=1.0.0",
24
- "@geosdi/ngx-primeng-table": ">=1.0.1"
24
+ "@geosdi/ngx-primeng-table": ">=1.0.1",
25
+ "@geosdi/ngx-loading": ">=1.0.0"
25
26
  },
26
27
  "sideEffects": false,
27
28
  "module": "fesm2015/geosdi-ngx-store.mjs",
package/public-api.d.ts CHANGED
@@ -2,3 +2,4 @@ export * from "./lib/ngx-store.facade";
2
2
  export * from "./lib/ngx-abstract-store.facade";
3
3
  export * from "./lib/ngx-state";
4
4
  export * from "./lib/ngx-actions";
5
+ export * from "./lib/ngx-effects";