@lenne.tech/ng-base 15.0.0-beta-3 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/base-components/base-components.module.d.ts +1 -2
- package/base-components/components/checkbox/checkbox.component.d.ts +1 -1
- package/base-components/components/delete-account/delete-account.component.d.ts +1 -1
- package/base-components/components/fab-button/fab-button.component.d.ts +1 -1
- package/base-components/components/input/input.component.d.ts +1 -1
- package/base-components/components/loading-bar/loading-bar.component.d.ts +1 -1
- package/base-components/components/model-form/model-form-base.component.d.ts +1 -1
- package/base-components/components/model-form/model-form.component.d.ts +1 -1
- package/base-components/components/model-form-sub/model-form-sub.component.d.ts +1 -1
- package/base-components/components/model-table/model-table.component.d.ts +1 -1
- package/base-components/components/refence-input/refence-input.component.d.ts +1 -1
- package/base-components/components/select/select.component.d.ts +1 -1
- package/base-components/components/skeleton-loader/skeleton-loader.component.d.ts +1 -1
- package/base-components/components/tags/tags.component.d.ts +1 -1
- package/base-components/components/textarea/textarea.component.d.ts +1 -1
- package/base-components/components/toast/toast.component.d.ts +1 -1
- package/base-components/components/upload-image/upload-image.component.d.ts +1 -1
- package/base-components/directives/context-menu.directive.d.ts +1 -1
- package/base-components/directives/sort.directive.d.ts +1 -1
- package/base-prototype/pages/login/login.component.d.ts +1 -1
- package/base-prototype/pages/profile/profile.component.d.ts +1 -1
- package/base-prototype/pages/set-password/set-password.component.d.ts +1 -1
- package/esm2022/base-cms/base-cms-routing.module.mjs +33 -0
- package/esm2022/base-cms/base-cms.module.mjs +61 -0
- package/esm2022/base-cms/pages/base-cms/base-cms.component.mjs +233 -0
- package/esm2022/base-components/base-components.module.mjs +123 -0
- package/esm2022/base-components/components/breadcrumb/breadcrumb.component.mjs +21 -0
- package/esm2022/base-components/components/change-password/change-password.component.mjs +96 -0
- package/esm2022/base-components/components/checkbox/checkbox.component.mjs +35 -0
- package/esm2022/base-components/components/delete-account/delete-account.component.mjs +61 -0
- package/esm2022/base-components/components/fab-button/fab-button.component.mjs +21 -0
- package/esm2022/base-components/components/input/input.component.mjs +72 -0
- package/esm2022/base-components/components/loading-bar/loading-bar.component.mjs +39 -0
- package/esm2022/base-components/components/model-form/model-form-base.component.mjs +145 -0
- package/esm2022/base-components/components/model-form/model-form.component.mjs +585 -0
- package/esm2022/base-components/components/model-form-sub/model-form-sub.component.mjs +111 -0
- package/esm2022/base-components/components/model-table/model-table.component.mjs +470 -0
- package/esm2022/base-components/components/refence-input/refence-input.component.mjs +273 -0
- package/esm2022/base-components/components/select/select.component.mjs +59 -0
- package/esm2022/base-components/components/skeleton-loader/skeleton-loader.component.mjs +32 -0
- package/esm2022/base-components/components/tags/tags.component.mjs +224 -0
- package/esm2022/base-components/components/textarea/textarea.component.mjs +76 -0
- package/esm2022/base-components/components/toast/toast.component.mjs +70 -0
- package/esm2022/base-components/components/upload-image/upload-image.component.mjs +343 -0
- package/esm2022/base-components/directives/back-button.directive.mjs +25 -0
- package/esm2022/base-components/directives/context-menu.directive.mjs +112 -0
- package/esm2022/base-components/directives/sort.directive.mjs +61 -0
- package/esm2022/base-components/directives/stop-propagation.directive.mjs +24 -0
- package/esm2022/base-components/pipes/ellipses.pipe.mjs +23 -0
- package/esm2022/base-prototype/base-prototype.module.mjs +54 -0
- package/esm2022/base-prototype/pages/email-verification/email-verification.component.mjs +62 -0
- package/esm2022/base-prototype/pages/forgot-password/forgot-password.component.mjs +75 -0
- package/esm2022/base-prototype/pages/login/login.component.mjs +111 -0
- package/esm2022/base-prototype/pages/profile/profile.component.mjs +86 -0
- package/esm2022/base-prototype/pages/register/register.component.mjs +94 -0
- package/esm2022/base-prototype/pages/set-password/set-password.component.mjs +90 -0
- package/esm2022/shared/classes/auth.class.mjs +14 -0
- package/esm2022/shared/classes/basic-user.class.mjs +49 -0
- package/esm2022/shared/classes/graphql-enum.class.mjs +10 -0
- package/esm2022/shared/classes/graphql-meta.class.mjs +345 -0
- package/esm2022/shared/classes/graphql-type.class.mjs +14 -0
- package/esm2022/shared/classes/sort.class.mjs +38 -0
- package/esm2022/shared/services/auth.service.mjs +153 -0
- package/esm2022/shared/services/breadcrumb.service.mjs +70 -0
- package/{esm2020 → esm2022}/shared/services/cms.service.mjs +7 -5
- package/esm2022/shared/services/file.service.mjs +87 -0
- package/esm2022/shared/services/forms.service.mjs +62 -0
- package/esm2022/shared/services/graphql-meta.service.mjs +133 -0
- package/esm2022/shared/services/graphql-plus.service.mjs +94 -0
- package/esm2022/shared/services/graphql.service.mjs +511 -0
- package/esm2022/shared/services/image.service.mjs +103 -0
- package/esm2022/shared/services/loader.service.mjs +79 -0
- package/esm2022/shared/services/navigation.service.mjs +39 -0
- package/esm2022/shared/services/scroll.service.mjs +208 -0
- package/esm2022/shared/services/storage.service.mjs +142 -0
- package/esm2022/shared/services/toast.service.mjs +40 -0
- package/esm2022/shared/services/user.service.mjs +161 -0
- package/esm2022/shared/services/ws.service.mjs +18 -0
- package/esm2022/src/base.module.mjs +98 -0
- package/esm2022/src/directives/lazy-load.directive.mjs +48 -0
- package/esm2022/src/directives/match-height.directive.mjs +92 -0
- package/esm2022/src/directives/resizable.directive.mjs +92 -0
- package/esm2022/src/functions/extract-files.function.mjs +87 -0
- package/esm2022/src/guards/auth.guard.mjs +84 -0
- package/esm2022/src/guards/can-deactivate.guard.mjs +17 -0
- package/esm2022/src/guards/logout.guard.mjs +35 -0
- package/esm2022/src/pipes/date-ago.pipe.mjs +64 -0
- package/esm2022/src/pipes/safe-html.pipe.mjs +23 -0
- package/esm2022/src/services/fullscreen.service.mjs +52 -0
- package/esm2022/src/services/seo.service.mjs +100 -0
- package/esm2022/src/services/theme.service.mjs +45 -0
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-cms.mjs +41 -30
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-cms.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-components.mjs +419 -298
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-components.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-base-prototype.mjs +126 -87
- package/{fesm2015 → fesm2022}/lenne.tech-ng-base-base-prototype.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-shared.mjs +164 -113
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base-shared.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/lenne.tech-ng-base.mjs +108 -88
- package/fesm2022/lenne.tech-ng-base.mjs.map +1 -0
- package/package.json +23 -38
- package/src/directives/lazy-load.directive.d.ts +1 -1
- package/src/directives/match-height.directive.d.ts +1 -1
- package/src/directives/resizable.directive.d.ts +1 -1
- package/src/guards/auth.guard.d.ts +2 -2
- package/src/guards/can-deactivate.guard.d.ts +1 -2
- package/src/guards/logout.guard.d.ts +2 -2
- package/esm2020/base-cms/base-cms-routing.module.mjs +0 -32
- package/esm2020/base-cms/base-cms.module.mjs +0 -59
- package/esm2020/base-cms/pages/base-cms/base-cms.component.mjs +0 -222
- package/esm2020/base-components/base-components.module.mjs +0 -123
- package/esm2020/base-components/components/breadcrumb/breadcrumb.component.mjs +0 -18
- package/esm2020/base-components/components/change-password/change-password.component.mjs +0 -90
- package/esm2020/base-components/components/checkbox/checkbox.component.mjs +0 -31
- package/esm2020/base-components/components/delete-account/delete-account.component.mjs +0 -56
- package/esm2020/base-components/components/fab-button/fab-button.component.mjs +0 -21
- package/esm2020/base-components/components/input/input.component.mjs +0 -67
- package/esm2020/base-components/components/loading-bar/loading-bar.component.mjs +0 -35
- package/esm2020/base-components/components/model-form/model-form-base.component.mjs +0 -136
- package/esm2020/base-components/components/model-form/model-form.component.mjs +0 -564
- package/esm2020/base-components/components/model-form-sub/model-form-sub.component.mjs +0 -102
- package/esm2020/base-components/components/model-table/model-table.component.mjs +0 -456
- package/esm2020/base-components/components/refence-input/refence-input.component.mjs +0 -261
- package/esm2020/base-components/components/select/select.component.mjs +0 -54
- package/esm2020/base-components/components/skeleton-loader/skeleton-loader.component.mjs +0 -32
- package/esm2020/base-components/components/tags/tags.component.mjs +0 -218
- package/esm2020/base-components/components/textarea/textarea.component.mjs +0 -72
- package/esm2020/base-components/components/toast/toast.component.mjs +0 -68
- package/esm2020/base-components/components/upload-image/upload-image.component.mjs +0 -324
- package/esm2020/base-components/directives/back-button.directive.mjs +0 -23
- package/esm2020/base-components/directives/context-menu.directive.mjs +0 -108
- package/esm2020/base-components/directives/sort.directive.mjs +0 -57
- package/esm2020/base-components/directives/stop-propagation.directive.mjs +0 -23
- package/esm2020/base-components/pipes/ellipses.pipe.mjs +0 -22
- package/esm2020/base-prototype/base-prototype.module.mjs +0 -53
- package/esm2020/base-prototype/pages/email-verification/email-verification.component.mjs +0 -55
- package/esm2020/base-prototype/pages/forgot-password/forgot-password.component.mjs +0 -67
- package/esm2020/base-prototype/pages/login/login.component.mjs +0 -102
- package/esm2020/base-prototype/pages/profile/profile.component.mjs +0 -81
- package/esm2020/base-prototype/pages/register/register.component.mjs +0 -86
- package/esm2020/base-prototype/pages/set-password/set-password.component.mjs +0 -82
- package/esm2020/shared/classes/auth.class.mjs +0 -17
- package/esm2020/shared/classes/basic-user.class.mjs +0 -52
- package/esm2020/shared/classes/graphql-enum.class.mjs +0 -9
- package/esm2020/shared/classes/graphql-meta.class.mjs +0 -344
- package/esm2020/shared/classes/graphql-type.class.mjs +0 -17
- package/esm2020/shared/classes/sort.class.mjs +0 -40
- package/esm2020/shared/services/auth.service.mjs +0 -148
- package/esm2020/shared/services/breadcrumb.service.mjs +0 -68
- package/esm2020/shared/services/file.service.mjs +0 -84
- package/esm2020/shared/services/forms.service.mjs +0 -59
- package/esm2020/shared/services/graphql-meta.service.mjs +0 -123
- package/esm2020/shared/services/graphql-plus.service.mjs +0 -89
- package/esm2020/shared/services/graphql.service.mjs +0 -507
- package/esm2020/shared/services/image.service.mjs +0 -102
- package/esm2020/shared/services/loader.service.mjs +0 -79
- package/esm2020/shared/services/navigation.service.mjs +0 -36
- package/esm2020/shared/services/scroll.service.mjs +0 -179
- package/esm2020/shared/services/storage.service.mjs +0 -140
- package/esm2020/shared/services/toast.service.mjs +0 -41
- package/esm2020/shared/services/user.service.mjs +0 -155
- package/esm2020/shared/services/ws.service.mjs +0 -16
- package/esm2020/src/base.module.mjs +0 -97
- package/esm2020/src/directives/lazy-load.directive.mjs +0 -45
- package/esm2020/src/directives/match-height.directive.mjs +0 -84
- package/esm2020/src/directives/resizable.directive.mjs +0 -90
- package/esm2020/src/functions/extract-files.function.mjs +0 -84
- package/esm2020/src/guards/auth.guard.mjs +0 -80
- package/esm2020/src/guards/can-deactivate.guard.mjs +0 -16
- package/esm2020/src/guards/logout.guard.mjs +0 -32
- package/esm2020/src/pipes/date-ago.pipe.mjs +0 -65
- package/esm2020/src/pipes/safe-html.pipe.mjs +0 -21
- package/esm2020/src/services/fullscreen.service.mjs +0 -51
- package/esm2020/src/services/seo.service.mjs +0 -97
- package/esm2020/src/services/theme.service.mjs +0 -43
- package/fesm2015/lenne.tech-ng-base-base-cms.mjs +0 -323
- package/fesm2015/lenne.tech-ng-base-base-cms.mjs.map +0 -1
- package/fesm2015/lenne.tech-ng-base-base-components.mjs +0 -2866
- package/fesm2015/lenne.tech-ng-base-base-components.mjs.map +0 -1
- package/fesm2015/lenne.tech-ng-base-base-prototype.mjs +0 -496
- package/fesm2015/lenne.tech-ng-base-shared.mjs +0 -2750
- package/fesm2015/lenne.tech-ng-base-shared.mjs.map +0 -1
- package/fesm2015/lenne.tech-ng-base.mjs +0 -905
- package/fesm2015/lenne.tech-ng-base.mjs.map +0 -1
- package/fesm2020/lenne.tech-ng-base-base-prototype.mjs.map +0 -1
- package/fesm2020/lenne.tech-ng-base.mjs.map +0 -1
- /package/{esm2020 → esm2022}/base-cms/interfaces/base-cms-module-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/base-cms/lenne.tech-ng-base-base-cms.mjs +0 -0
- /package/{esm2020 → esm2022}/base-cms/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/base-components/lenne.tech-ng-base-base-components.mjs +0 -0
- /package/{esm2020 → esm2022}/base-components/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/base-prototype/lenne.tech-ng-base-base-prototype.mjs +0 -0
- /package/{esm2020 → esm2022}/base-prototype/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/lenne.tech-ng-base.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/classes/helper.class.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/classes/standard.class.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/decorators/debounce.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/comparison-operator.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/graphql-request-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/logical-operator.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/skeleton-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/sort-order.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/enums/toast-type.enum.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/functions/ws-client.function.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/base-module-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/breadcrumb.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/can-component-deactivate.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/cms-enum-values.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/cms-field-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/cms-model-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/cms-table-field.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/combined-filter-input.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/compress-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/cropping-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/field-object.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/field.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/filter-input.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/find-args.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/graphql-crud-type.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/graphql-fields-object.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/graphql-options.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/graphql-plus-options.interfacen.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/graphql-type-collection.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/login-config.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/single-filter-input.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/sort-input.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/time-components.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/interfaces/toast.interface.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/lenne.tech-ng-base-shared.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/types/graphql-fields.type.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/types/storage.type.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/validators/email.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/validators/match.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/shared/validators/secure-password.validator.mjs +0 -0
- /package/{esm2020 → esm2022}/src/decorators/auto-unsubscribe.decorator.mjs +0 -0
- /package/{esm2020 → esm2022}/src/factories/apollo-options.factory.mjs +0 -0
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import { BehaviorSubject, filter } from 'rxjs';
|
|
3
|
-
import { NavigationEnd } from '@angular/router';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "@angular/router";
|
|
6
|
-
export class BreadcrumbService {
|
|
7
|
-
set breadcrumbs(value) {
|
|
8
|
-
this._breadcrumbs.next(value);
|
|
9
|
-
}
|
|
10
|
-
get breadcrumbsObservable() {
|
|
11
|
-
return this._breadcrumbs.asObservable();
|
|
12
|
-
}
|
|
13
|
-
constructor(router) {
|
|
14
|
-
this.router = router;
|
|
15
|
-
this._breadcrumbs = new BehaviorSubject([]);
|
|
16
|
-
this.subscribeToRouteChanges();
|
|
17
|
-
}
|
|
18
|
-
/**
|
|
19
|
-
* Subscribe to route changes and add element to breadcrumb
|
|
20
|
-
*/
|
|
21
|
-
subscribeToRouteChanges() {
|
|
22
|
-
this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe((event) => {
|
|
23
|
-
const root = this.router.routerState.snapshot.root;
|
|
24
|
-
const breadcrumbs = [];
|
|
25
|
-
this.addBreadcrumb(root, [], breadcrumbs);
|
|
26
|
-
this.breadcrumbs = breadcrumbs;
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Add element to breadcrumb
|
|
31
|
-
*
|
|
32
|
-
* @param route
|
|
33
|
-
* @param parentUrl
|
|
34
|
-
* @param breadcrumbs
|
|
35
|
-
* @private
|
|
36
|
-
*/
|
|
37
|
-
addBreadcrumb(route, parentUrl, breadcrumbs) {
|
|
38
|
-
if (route) {
|
|
39
|
-
const routeUrl = parentUrl.concat(route.url.map((url) => url.path));
|
|
40
|
-
if (route.data?.breadcrumb) {
|
|
41
|
-
const breadcrumb = {
|
|
42
|
-
label: this.getLabel(route.data),
|
|
43
|
-
url: '/' + routeUrl.join('/'),
|
|
44
|
-
};
|
|
45
|
-
breadcrumbs.push(breadcrumb);
|
|
46
|
-
}
|
|
47
|
-
this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Get label for breadcrumb
|
|
52
|
-
*
|
|
53
|
-
* @param data
|
|
54
|
-
* @private
|
|
55
|
-
*/
|
|
56
|
-
getLabel(data) {
|
|
57
|
-
return typeof data.breadcrumb === 'function' ? data.breadcrumb(data) : data.breadcrumb;
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
BreadcrumbService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
61
|
-
BreadcrumbService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, providedIn: 'root' });
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: BreadcrumbService, decorators: [{
|
|
63
|
-
type: Injectable,
|
|
64
|
-
args: [{
|
|
65
|
-
providedIn: 'root',
|
|
66
|
-
}]
|
|
67
|
-
}], ctorParameters: function () { return [{ type: i1.Router }]; } });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJlYWRjcnVtYi5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvYnJlYWRjcnVtYi5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0MsT0FBTyxFQUFnQyxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBTXRGLE1BQU0sT0FBTyxpQkFBaUI7SUFHNUIsSUFBSSxXQUFXLENBQUMsS0FBbUI7UUFDakMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELElBQUkscUJBQXFCO1FBQ3ZCLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQyxDQUFDO0lBRUQsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7UUFWakIsaUJBQVksR0FBRyxJQUFJLGVBQWUsQ0FBZSxFQUFFLENBQUMsQ0FBQztRQVdwRSxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQ7O09BRUc7SUFDSCx1QkFBdUI7UUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsS0FBSyxZQUFZLGFBQWEsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDN0YsTUFBTSxJQUFJLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQztZQUNuRCxNQUFNLFdBQVcsR0FBaUIsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRDs7Ozs7OztPQU9HO0lBQ0ssYUFBYSxDQUFDLEtBQTZCLEVBQUUsU0FBbUIsRUFBRSxXQUF5QjtRQUNqRyxJQUFJLEtBQUssRUFBRTtZQUNULE1BQU0sUUFBUSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBRXBFLElBQUksS0FBSyxDQUFDLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBQzFCLE1BQU0sVUFBVSxHQUFHO29CQUNqQixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO29CQUNoQyxHQUFHLEVBQUUsR0FBRyxHQUFHLFFBQVEsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDO2lCQUM5QixDQUFDO2dCQUNGLFdBQVcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7YUFDOUI7WUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxDQUFDO1NBQzdEO0lBQ0gsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ssUUFBUSxDQUFDLElBQVU7UUFDekIsT0FBTyxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO0lBQ3pGLENBQUM7OzhHQTNEVSxpQkFBaUI7a0hBQWpCLGlCQUFpQixjQUZoQixNQUFNOzJGQUVQLGlCQUFpQjtrQkFIN0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIGZpbHRlciB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgRGF0YSwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcbmltcG9ydCB7IEJyZWFkY3J1bWIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2JyZWFkY3J1bWIuaW50ZXJmYWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEJyZWFkY3J1bWJTZXJ2aWNlIHtcbiAgcHJpdmF0ZSByZWFkb25seSBfYnJlYWRjcnVtYnMgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PEJyZWFkY3J1bWJbXT4oW10pO1xuXG4gIHNldCBicmVhZGNydW1icyh2YWx1ZTogQnJlYWRjcnVtYltdKSB7XG4gICAgdGhpcy5fYnJlYWRjcnVtYnMubmV4dCh2YWx1ZSk7XG4gIH1cblxuICBnZXQgYnJlYWRjcnVtYnNPYnNlcnZhYmxlKCkge1xuICAgIHJldHVybiB0aGlzLl9icmVhZGNydW1icy5hc09ic2VydmFibGUoKTtcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIpIHtcbiAgICB0aGlzLnN1YnNjcmliZVRvUm91dGVDaGFuZ2VzKCk7XG4gIH1cblxuICAvKipcbiAgICogU3Vic2NyaWJlIHRvIHJvdXRlIGNoYW5nZXMgYW5kIGFkZCBlbGVtZW50IHRvIGJyZWFkY3J1bWJcbiAgICovXG4gIHN1YnNjcmliZVRvUm91dGVDaGFuZ2VzKCkge1xuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKGZpbHRlcigoZXZlbnQpID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkpLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgIGNvbnN0IHJvb3QgPSB0aGlzLnJvdXRlci5yb3V0ZXJTdGF0ZS5zbmFwc2hvdC5yb290O1xuICAgICAgY29uc3QgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJbXSA9IFtdO1xuICAgICAgdGhpcy5hZGRCcmVhZGNydW1iKHJvb3QsIFtdLCBicmVhZGNydW1icyk7XG4gICAgICB0aGlzLmJyZWFkY3J1bWJzID0gYnJlYWRjcnVtYnM7XG4gICAgfSk7XG4gIH1cblxuICAvKipcbiAgICogQWRkIGVsZW1lbnQgdG8gYnJlYWRjcnVtYlxuICAgKlxuICAgKiBAcGFyYW0gcm91dGVcbiAgICogQHBhcmFtIHBhcmVudFVybFxuICAgKiBAcGFyYW0gYnJlYWRjcnVtYnNcbiAgICogQHByaXZhdGVcbiAgICovXG4gIHByaXZhdGUgYWRkQnJlYWRjcnVtYihyb3V0ZTogQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgcGFyZW50VXJsOiBzdHJpbmdbXSwgYnJlYWRjcnVtYnM6IEJyZWFkY3J1bWJbXSkge1xuICAgIGlmIChyb3V0ZSkge1xuICAgICAgY29uc3Qgcm91dGVVcmwgPSBwYXJlbnRVcmwuY29uY2F0KHJvdXRlLnVybC5tYXAoKHVybCkgPT4gdXJsLnBhdGgpKTtcblxuICAgICAgaWYgKHJvdXRlLmRhdGE/LmJyZWFkY3J1bWIpIHtcbiAgICAgICAgY29uc3QgYnJlYWRjcnVtYiA9IHtcbiAgICAgICAgICBsYWJlbDogdGhpcy5nZXRMYWJlbChyb3V0ZS5kYXRhKSxcbiAgICAgICAgICB1cmw6ICcvJyArIHJvdXRlVXJsLmpvaW4oJy8nKSxcbiAgICAgICAgfTtcbiAgICAgICAgYnJlYWRjcnVtYnMucHVzaChicmVhZGNydW1iKTtcbiAgICAgIH1cblxuICAgICAgdGhpcy5hZGRCcmVhZGNydW1iKHJvdXRlLmZpcnN0Q2hpbGQsIHJvdXRlVXJsLCBicmVhZGNydW1icyk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEdldCBsYWJlbCBmb3IgYnJlYWRjcnVtYlxuICAgKlxuICAgKiBAcGFyYW0gZGF0YVxuICAgKiBAcHJpdmF0ZVxuICAgKi9cbiAgcHJpdmF0ZSBnZXRMYWJlbChkYXRhOiBEYXRhKSB7XG4gICAgcmV0dXJuIHR5cGVvZiBkYXRhLmJyZWFkY3J1bWIgPT09ICdmdW5jdGlvbicgPyBkYXRhLmJyZWFkY3J1bWIoZGF0YSkgOiBkYXRhLmJyZWFkY3J1bWI7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import Compressor from 'compressorjs';
|
|
3
|
-
import { HttpHeaders } from '@angular/common/http';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "../services/auth.service";
|
|
6
|
-
import * as i2 from "@angular/common/http";
|
|
7
|
-
export class FileService {
|
|
8
|
-
constructor(authService, httpClient) {
|
|
9
|
-
this.authService = authService;
|
|
10
|
-
this.httpClient = httpClient;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* Compress file with options and return file
|
|
14
|
-
*/
|
|
15
|
-
compress(file, options) {
|
|
16
|
-
const config = {
|
|
17
|
-
quality: 0.6,
|
|
18
|
-
checkOrientation: false,
|
|
19
|
-
...options,
|
|
20
|
-
};
|
|
21
|
-
return new Promise((resolve, reject) => {
|
|
22
|
-
new Compressor(file, {
|
|
23
|
-
success(result) {
|
|
24
|
-
// Check if result is blob for convert to file
|
|
25
|
-
if (result instanceof Blob) {
|
|
26
|
-
resolve(new File([result], result.name));
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
resolve(result);
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
error(err) {
|
|
33
|
-
reject(err.message);
|
|
34
|
-
},
|
|
35
|
-
...config,
|
|
36
|
-
});
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
/**
|
|
40
|
-
* Upload file to server
|
|
41
|
-
*/
|
|
42
|
-
async upload(url, path, file, compressOptions) {
|
|
43
|
-
return new Promise(async (resolve, reject) => {
|
|
44
|
-
if (compressOptions) {
|
|
45
|
-
file = await this.compress(file, compressOptions);
|
|
46
|
-
}
|
|
47
|
-
const data = new FormData();
|
|
48
|
-
data.append('file', file);
|
|
49
|
-
const httpOptions = {
|
|
50
|
-
headers: new HttpHeaders({
|
|
51
|
-
Authorization: 'Bearer ' + this.authService.token,
|
|
52
|
-
}),
|
|
53
|
-
};
|
|
54
|
-
this.httpClient.post(url + path, data, httpOptions).subscribe((result) => {
|
|
55
|
-
resolve(result);
|
|
56
|
-
}, (err) => {
|
|
57
|
-
reject(err);
|
|
58
|
-
});
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
delete(url, path, id) {
|
|
62
|
-
return new Promise(async (resolve, reject) => {
|
|
63
|
-
const httpOptions = {
|
|
64
|
-
headers: new HttpHeaders({
|
|
65
|
-
Authorization: 'Bearer ' + this.authService.token,
|
|
66
|
-
}),
|
|
67
|
-
};
|
|
68
|
-
this.httpClient.delete(url + path + id, httpOptions).subscribe((result) => {
|
|
69
|
-
resolve(result);
|
|
70
|
-
}, (err) => {
|
|
71
|
-
reject(err);
|
|
72
|
-
});
|
|
73
|
-
});
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
FileService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, deps: [{ token: i1.AuthService }, { token: i2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
77
|
-
FileService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, providedIn: 'root' });
|
|
78
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FileService, decorators: [{
|
|
79
|
-
type: Injectable,
|
|
80
|
-
args: [{
|
|
81
|
-
providedIn: 'root',
|
|
82
|
-
}]
|
|
83
|
-
}], ctorParameters: function () { return [{ type: i1.AuthService }, { type: i2.HttpClient }]; } });
|
|
84
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctYmFzZS9zaGFyZWQvc2VydmljZXMvZmlsZS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxVQUFVLE1BQU0sY0FBYyxDQUFDO0FBRXRDLE9BQU8sRUFBYyxXQUFXLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7OztBQU0vRCxNQUFNLE9BQU8sV0FBVztJQUN0QixZQUFvQixXQUF3QixFQUFVLFVBQXNCO1FBQXhELGdCQUFXLEdBQVgsV0FBVyxDQUFhO1FBQVUsZUFBVSxHQUFWLFVBQVUsQ0FBWTtJQUFHLENBQUM7SUFFaEY7O09BRUc7SUFDSCxRQUFRLENBQUMsSUFBVSxFQUFFLE9BQXlCO1FBQzVDLE1BQU0sTUFBTSxHQUFHO1lBQ2IsT0FBTyxFQUFFLEdBQUc7WUFDWixnQkFBZ0IsRUFBRSxLQUFLO1lBQ3ZCLEdBQUcsT0FBTztTQUNYLENBQUM7UUFFRixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksVUFBVSxDQUFDLElBQUksRUFBRTtnQkFDbkIsT0FBTyxDQUFDLE1BQW1CO29CQUN6Qiw4Q0FBOEM7b0JBQzlDLElBQUksTUFBTSxZQUFZLElBQUksRUFBRTt3QkFDMUIsT0FBTyxDQUFDLElBQUksSUFBSSxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUcsTUFBYyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7cUJBQ25EO3lCQUFNO3dCQUNMLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDakI7Z0JBQ0gsQ0FBQztnQkFDRCxLQUFLLENBQUMsR0FBRztvQkFDUCxNQUFNLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFDO2dCQUN0QixDQUFDO2dCQUNELEdBQUcsTUFBTTthQUNWLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVEOztPQUVHO0lBQ0gsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFXLEVBQUUsSUFBWSxFQUFFLElBQVUsRUFBRSxlQUFpQztRQUNuRixPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsSUFBSSxlQUFlLEVBQUU7Z0JBQ25CLElBQUksR0FBRyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDO2FBQ25EO1lBRUQsTUFBTSxJQUFJLEdBQUcsSUFBSSxRQUFRLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQztZQUUxQixNQUFNLFdBQVcsR0FBRztnQkFDbEIsT0FBTyxFQUFFLElBQUksV0FBVyxDQUFDO29CQUN2QixhQUFhLEVBQUUsU0FBUyxHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsS0FBSztpQkFDbEQsQ0FBQzthQUNILENBQUM7WUFFRixJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxHQUFHLEdBQUcsSUFBSSxFQUFFLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQyxTQUFTLENBQzNELENBQUMsTUFBVyxFQUFFLEVBQUU7Z0JBQ2QsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2xCLENBQUMsRUFDRCxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNkLENBQUMsQ0FDRixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQVcsRUFBRSxJQUFZLEVBQUUsRUFBVTtRQUMxQyxPQUFPLElBQUksT0FBTyxDQUFDLEtBQUssRUFBRSxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDM0MsTUFBTSxXQUFXLEdBQUc7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLFdBQVcsQ0FBQztvQkFDdkIsYUFBYSxFQUFFLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUs7aUJBQ2xELENBQUM7YUFDSCxDQUFDO1lBRUYsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsR0FBRyxHQUFHLElBQUksR0FBRyxFQUFFLEVBQUUsV0FBVyxDQUFDLENBQUMsU0FBUyxDQUM1RCxDQUFDLE1BQU0sRUFBRSxFQUFFO2dCQUNULE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNsQixDQUFDLEVBQ0QsQ0FBQyxHQUFHLEVBQUUsRUFBRTtnQkFDTixNQUFNLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDZCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs7d0dBN0VVLFdBQVc7NEdBQVgsV0FBVyxjQUZWLE1BQU07MkZBRVAsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgQ29tcHJlc3NvciBmcm9tICdjb21wcmVzc29yanMnO1xuaW1wb3J0IHsgQ29tcHJlc3NPcHRpb25zIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb21wcmVzcy1vcHRpb25zLmludGVyZmFjZSc7XG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IEF1dGhTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvYXV0aC5zZXJ2aWNlJztcblxuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVTZXJ2aWNlIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhdXRoU2VydmljZTogQXV0aFNlcnZpY2UsIHByaXZhdGUgaHR0cENsaWVudDogSHR0cENsaWVudCkge31cblxuICAvKipcbiAgICogQ29tcHJlc3MgZmlsZSB3aXRoIG9wdGlvbnMgYW5kIHJldHVybiBmaWxlXG4gICAqL1xuICBjb21wcmVzcyhmaWxlOiBGaWxlLCBvcHRpb25zPzogQ29tcHJlc3NPcHRpb25zKTogUHJvbWlzZTxGaWxlPiB7XG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgcXVhbGl0eTogMC42LFxuICAgICAgY2hlY2tPcmllbnRhdGlvbjogZmFsc2UsXG4gICAgICAuLi5vcHRpb25zLFxuICAgIH07XG5cbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgbmV3IENvbXByZXNzb3IoZmlsZSwge1xuICAgICAgICBzdWNjZXNzKHJlc3VsdDogQmxvYiB8IEZpbGUpIHtcbiAgICAgICAgICAvLyBDaGVjayBpZiByZXN1bHQgaXMgYmxvYiBmb3IgY29udmVydCB0byBmaWxlXG4gICAgICAgICAgaWYgKHJlc3VsdCBpbnN0YW5jZW9mIEJsb2IpIHtcbiAgICAgICAgICAgIHJlc29sdmUobmV3IEZpbGUoW3Jlc3VsdF0sIChyZXN1bHQgYXMgYW55KS5uYW1lKSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgICB9XG4gICAgICAgIH0sXG4gICAgICAgIGVycm9yKGVycikge1xuICAgICAgICAgIHJlamVjdChlcnIubWVzc2FnZSk7XG4gICAgICAgIH0sXG4gICAgICAgIC4uLmNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqXG4gICAqIFVwbG9hZCBmaWxlIHRvIHNlcnZlclxuICAgKi9cbiAgYXN5bmMgdXBsb2FkKHVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGZpbGU6IEZpbGUsIGNvbXByZXNzT3B0aW9ucz86IENvbXByZXNzT3B0aW9ucyk6IFByb21pc2U8eyBpZDogc3RyaW5nIH0+IHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKGNvbXByZXNzT3B0aW9ucykge1xuICAgICAgICBmaWxlID0gYXdhaXQgdGhpcy5jb21wcmVzcyhmaWxlLCBjb21wcmVzc09wdGlvbnMpO1xuICAgICAgfVxuXG4gICAgICBjb25zdCBkYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgICBkYXRhLmFwcGVuZCgnZmlsZScsIGZpbGUpO1xuXG4gICAgICBjb25zdCBodHRwT3B0aW9ucyA9IHtcbiAgICAgICAgaGVhZGVyczogbmV3IEh0dHBIZWFkZXJzKHtcbiAgICAgICAgICBBdXRob3JpemF0aW9uOiAnQmVhcmVyICcgKyB0aGlzLmF1dGhTZXJ2aWNlLnRva2VuLFxuICAgICAgICB9KSxcbiAgICAgIH07XG5cbiAgICAgIHRoaXMuaHR0cENsaWVudC5wb3N0KHVybCArIHBhdGgsIGRhdGEsIGh0dHBPcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgIChyZXN1bHQ6IGFueSkgPT4ge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgZGVsZXRlKHVybDogc3RyaW5nLCBwYXRoOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoYXN5bmMgKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgY29uc3QgaHR0cE9wdGlvbnMgPSB7XG4gICAgICAgIGhlYWRlcnM6IG5ldyBIdHRwSGVhZGVycyh7XG4gICAgICAgICAgQXV0aG9yaXphdGlvbjogJ0JlYXJlciAnICsgdGhpcy5hdXRoU2VydmljZS50b2tlbixcbiAgICAgICAgfSksXG4gICAgICB9O1xuXG4gICAgICB0aGlzLmh0dHBDbGllbnQuZGVsZXRlKHVybCArIHBhdGggKyBpZCwgaHR0cE9wdGlvbnMpLnN1YnNjcmliZShcbiAgICAgICAgKHJlc3VsdCkgPT4ge1xuICAgICAgICAgIHJlc29sdmUocmVzdWx0KTtcbiAgICAgICAgfSxcbiAgICAgICAgKGVycikgPT4ge1xuICAgICAgICAgIHJlamVjdChlcnIpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { UntypedFormControl, UntypedFormGroup } from '@angular/forms';
|
|
3
|
-
import { DOCUMENT } from '@angular/common';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./scroll.service";
|
|
6
|
-
export class FormsService {
|
|
7
|
-
constructor(document, scrollService) {
|
|
8
|
-
this.document = document;
|
|
9
|
-
this.scrollService = scrollService;
|
|
10
|
-
}
|
|
11
|
-
validateAllFormFields(formGroup) {
|
|
12
|
-
Object.keys(formGroup.controls).forEach((field) => {
|
|
13
|
-
const control = formGroup.get(field);
|
|
14
|
-
if (control instanceof UntypedFormControl) {
|
|
15
|
-
control.markAsTouched({ onlySelf: true });
|
|
16
|
-
}
|
|
17
|
-
else if (control instanceof UntypedFormGroup) {
|
|
18
|
-
this.validateAllFormFields(control);
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
findInvalidControls(formGroup) {
|
|
23
|
-
return this.getInvalidControl(formGroup);
|
|
24
|
-
}
|
|
25
|
-
getInvalidControl(formGroup, invalid, parents = []) {
|
|
26
|
-
let result = invalid ? [...invalid] : [];
|
|
27
|
-
let nestedParents = [...[], ...parents];
|
|
28
|
-
const controls = formGroup.controls;
|
|
29
|
-
Object.keys(formGroup.controls).forEach((name) => {
|
|
30
|
-
if (controls[name].invalid) {
|
|
31
|
-
if (controls[name]?.controls) {
|
|
32
|
-
nestedParents.push(name);
|
|
33
|
-
result = this.getInvalidControl(controls[name], result, nestedParents);
|
|
34
|
-
nestedParents = [];
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
result.push(nestedParents.length ? nestedParents.join('.') + '.' + name : name);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
return result;
|
|
42
|
-
}
|
|
43
|
-
scrollToInvalidControl(form) {
|
|
44
|
-
const invalidForm = this.findInvalidControls(form)[0];
|
|
45
|
-
this.scrollService.scrollTo(invalidForm);
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
FormsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, deps: [{ token: DOCUMENT }, { token: i1.ScrollService }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
49
|
-
FormsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, providedIn: 'root' });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: FormsService, decorators: [{
|
|
51
|
-
type: Injectable,
|
|
52
|
-
args: [{
|
|
53
|
-
providedIn: 'root',
|
|
54
|
-
}]
|
|
55
|
-
}], ctorParameters: function () { return [{ type: Document, decorators: [{
|
|
56
|
-
type: Inject,
|
|
57
|
-
args: [DOCUMENT]
|
|
58
|
-
}] }, { type: i1.ScrollService }]; } });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybXMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLWJhc2Uvc2hhcmVkL3NlcnZpY2VzL2Zvcm1zLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7QUFNM0MsTUFBTSxPQUFPLFlBQVk7SUFDdkIsWUFBc0MsUUFBa0IsRUFBVSxhQUE0QjtRQUF4RCxhQUFRLEdBQVIsUUFBUSxDQUFVO1FBQVUsa0JBQWEsR0FBYixhQUFhLENBQWU7SUFBRyxDQUFDO0lBRTNGLHFCQUFxQixDQUFDLFNBQTJCO1FBQ3RELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hELE1BQU0sT0FBTyxHQUFHLFNBQVMsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDckMsSUFBSSxPQUFPLFlBQVksa0JBQWtCLEVBQUU7Z0JBQ3pDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQzthQUMzQztpQkFBTSxJQUFJLE9BQU8sWUFBWSxnQkFBZ0IsRUFBRTtnQkFDOUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLE9BQU8sQ0FBQyxDQUFDO2FBQ3JDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRU0sbUJBQW1CLENBQUMsU0FBMkI7UUFDcEQsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVPLGlCQUFpQixDQUFDLFNBQTJCLEVBQUUsT0FBUSxFQUFFLFVBQWUsRUFBRTtRQUNoRixJQUFJLE1BQU0sR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ3pDLElBQUksYUFBYSxHQUFHLENBQUMsR0FBRyxFQUFFLEVBQUUsR0FBRyxPQUFPLENBQUMsQ0FBQztRQUV4QyxNQUFNLFFBQVEsR0FBRyxTQUFTLENBQUMsUUFBUSxDQUFDO1FBQ3BDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQy9DLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRTtnQkFDMUIsSUFBSyxRQUFRLENBQUMsSUFBSSxDQUFTLEVBQUUsUUFBUSxFQUFFO29CQUNyQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN6QixNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQVEsRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUFDLENBQUM7b0JBQzlFLGFBQWEsR0FBRyxFQUFFLENBQUM7aUJBQ3BCO3FCQUFNO29CQUNMLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxHQUFHLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQztpQkFDakY7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsT0FBTyxNQUFNLENBQUM7SUFDaEIsQ0FBQztJQUVNLHNCQUFzQixDQUFDLElBQXNCO1FBQ2xELE1BQU0sV0FBVyxHQUFXLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM5RCxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMzQyxDQUFDOzt5R0F6Q1UsWUFBWSxrQkFDSCxRQUFROzZHQURqQixZQUFZLGNBRlgsTUFBTTsyRkFFUCxZQUFZO2tCQUh4QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQjs7MEJBRWMsTUFBTTsyQkFBQyxRQUFRIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBVbnR5cGVkRm9ybUNvbnRyb2wsIFVudHlwZWRGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBET0NVTUVOVCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBTY3JvbGxTZXJ2aWNlIH0gZnJvbSAnLi9zY3JvbGwuc2VydmljZSc7XG5cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBGb3Jtc1NlcnZpY2Uge1xuICBjb25zdHJ1Y3RvcihASW5qZWN0KERPQ1VNRU5UKSBwcml2YXRlIGRvY3VtZW50OiBEb2N1bWVudCwgcHJpdmF0ZSBzY3JvbGxTZXJ2aWNlOiBTY3JvbGxTZXJ2aWNlKSB7fVxuXG4gIHB1YmxpYyB2YWxpZGF0ZUFsbEZvcm1GaWVsZHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgT2JqZWN0LmtleXMoZm9ybUdyb3VwLmNvbnRyb2xzKS5mb3JFYWNoKChmaWVsZCkgPT4ge1xuICAgICAgY29uc3QgY29udHJvbCA9IGZvcm1Hcm91cC5nZXQoZmllbGQpO1xuICAgICAgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUNvbnRyb2wpIHtcbiAgICAgICAgY29udHJvbC5tYXJrQXNUb3VjaGVkKHsgb25seVNlbGY6IHRydWUgfSk7XG4gICAgICB9IGVsc2UgaWYgKGNvbnRyb2wgaW5zdGFuY2VvZiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgICAgIHRoaXMudmFsaWRhdGVBbGxGb3JtRmllbGRzKGNvbnRyb2wpO1xuICAgICAgfVxuICAgIH0pO1xuICB9XG5cbiAgcHVibGljIGZpbmRJbnZhbGlkQ29udHJvbHMoZm9ybUdyb3VwOiBVbnR5cGVkRm9ybUdyb3VwKTogc3RyaW5nW10ge1xuICAgIHJldHVybiB0aGlzLmdldEludmFsaWRDb250cm9sKGZvcm1Hcm91cCk7XG4gIH1cblxuICBwcml2YXRlIGdldEludmFsaWRDb250cm9sKGZvcm1Hcm91cDogVW50eXBlZEZvcm1Hcm91cCwgaW52YWxpZD8sIHBhcmVudHM6IGFueSA9IFtdKSB7XG4gICAgbGV0IHJlc3VsdCA9IGludmFsaWQgPyBbLi4uaW52YWxpZF0gOiBbXTtcbiAgICBsZXQgbmVzdGVkUGFyZW50cyA9IFsuLi5bXSwgLi4ucGFyZW50c107XG5cbiAgICBjb25zdCBjb250cm9scyA9IGZvcm1Hcm91cC5jb250cm9scztcbiAgICBPYmplY3Qua2V5cyhmb3JtR3JvdXAuY29udHJvbHMpLmZvckVhY2goKG5hbWUpID0+IHtcbiAgICAgIGlmIChjb250cm9sc1tuYW1lXS5pbnZhbGlkKSB7XG4gICAgICAgIGlmICgoY29udHJvbHNbbmFtZV0gYXMgYW55KT8uY29udHJvbHMpIHtcbiAgICAgICAgICBuZXN0ZWRQYXJlbnRzLnB1c2gobmFtZSk7XG4gICAgICAgICAgcmVzdWx0ID0gdGhpcy5nZXRJbnZhbGlkQ29udHJvbChjb250cm9sc1tuYW1lXSBhcyBhbnksIHJlc3VsdCwgbmVzdGVkUGFyZW50cyk7XG4gICAgICAgICAgbmVzdGVkUGFyZW50cyA9IFtdO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJlc3VsdC5wdXNoKG5lc3RlZFBhcmVudHMubGVuZ3RoID8gbmVzdGVkUGFyZW50cy5qb2luKCcuJykgKyAnLicgKyBuYW1lIDogbmFtZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBwdWJsaWMgc2Nyb2xsVG9JbnZhbGlkQ29udHJvbChmb3JtOiBVbnR5cGVkRm9ybUdyb3VwKSB7XG4gICAgY29uc3QgaW52YWxpZEZvcm06IHN0cmluZyA9IHRoaXMuZmluZEludmFsaWRDb250cm9scyhmb3JtKVswXTtcbiAgICB0aGlzLnNjcm9sbFNlcnZpY2Uuc2Nyb2xsVG8oaW52YWxpZEZvcm0pO1xuICB9XG59XG4iXX0=
|
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import { gql } from 'apollo-angular';
|
|
2
|
-
import { Injectable } from '@angular/core';
|
|
3
|
-
import { of } from 'rxjs';
|
|
4
|
-
import { buildClientSchema, getIntrospectionQuery } from 'graphql';
|
|
5
|
-
import { map } from 'rxjs/operators';
|
|
6
|
-
import { GraphQLMeta } from '../classes/graphql-meta.class';
|
|
7
|
-
import { Helper } from '../classes/helper.class';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
import * as i1 from "apollo-angular";
|
|
10
|
-
/**
|
|
11
|
-
* GraphQL meta service
|
|
12
|
-
*
|
|
13
|
-
* For collecting meta information of the GraphQL API
|
|
14
|
-
*/
|
|
15
|
-
export class GraphQLMetaService {
|
|
16
|
-
/**
|
|
17
|
-
* Include services
|
|
18
|
-
*/
|
|
19
|
-
constructor(apollo) {
|
|
20
|
-
this.apollo = apollo;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Getter of introspectionQuery
|
|
24
|
-
*/
|
|
25
|
-
get introspectionQuery() {
|
|
26
|
-
return JSON.parse(JSON.stringify(this._introspectionQuery));
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Get schema for API
|
|
30
|
-
* See https://www.apollographql.com/blog/three-ways-to-represent-your-graphql-schema-a41f4175100d
|
|
31
|
-
*/
|
|
32
|
-
getSchema(options = {}) {
|
|
33
|
-
// Get configurations
|
|
34
|
-
const config = {
|
|
35
|
-
cache: true,
|
|
36
|
-
freeze: true,
|
|
37
|
-
...options,
|
|
38
|
-
};
|
|
39
|
-
// Use caching
|
|
40
|
-
if (config.cache) {
|
|
41
|
-
if (config.freeze && this._frozenSchema) {
|
|
42
|
-
return of(this._frozenSchema);
|
|
43
|
-
}
|
|
44
|
-
if (this._introspectionQuery) {
|
|
45
|
-
return of(buildClientSchema(this.introspectionQuery));
|
|
46
|
-
}
|
|
47
|
-
if (config.freeze && this._frozenSchemaObservable) {
|
|
48
|
-
return this._frozenSchemaObservable;
|
|
49
|
-
}
|
|
50
|
-
else if (!config.freeze && this._schemaObservable) {
|
|
51
|
-
return this._schemaObservable;
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
// Request schema from server
|
|
55
|
-
const observable = this.apollo
|
|
56
|
-
.query({
|
|
57
|
-
query: gql(getIntrospectionQuery({ descriptions: false })),
|
|
58
|
-
})
|
|
59
|
-
.pipe(map((schema) => {
|
|
60
|
-
// Cache introspectionQuery
|
|
61
|
-
this._introspectionQuery = schema.data;
|
|
62
|
-
// Convert schema to GraphQLSchema
|
|
63
|
-
this._frozenSchema = Helper.deepFreeze(buildClientSchema(this.introspectionQuery));
|
|
64
|
-
// Return GraphQLSchema
|
|
65
|
-
if (config.freeze) {
|
|
66
|
-
return this._frozenSchema;
|
|
67
|
-
}
|
|
68
|
-
return buildClientSchema(schema.data);
|
|
69
|
-
}));
|
|
70
|
-
// Set observables
|
|
71
|
-
if (config.freeze) {
|
|
72
|
-
this._frozenSchemaObservable = observable;
|
|
73
|
-
}
|
|
74
|
-
else {
|
|
75
|
-
this._schemaObservable = observable;
|
|
76
|
-
}
|
|
77
|
-
// Return result
|
|
78
|
-
return observable;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Get meta for API
|
|
82
|
-
* See https://www.apollographql.com/blog/three-ways-to-represent-your-graphql-schema-a41f4175100d
|
|
83
|
-
*/
|
|
84
|
-
getMeta(options = {}) {
|
|
85
|
-
// Get configurations
|
|
86
|
-
const config = {
|
|
87
|
-
cache: true,
|
|
88
|
-
log: false,
|
|
89
|
-
...options,
|
|
90
|
-
};
|
|
91
|
-
// Use caching
|
|
92
|
-
if (config.cache) {
|
|
93
|
-
if (this._meta) {
|
|
94
|
-
return of(this._meta);
|
|
95
|
-
}
|
|
96
|
-
else if (this._metaObservable) {
|
|
97
|
-
return this._metaObservable;
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
// Request schema from server
|
|
101
|
-
const observable = this.getSchema(options).pipe(map((schema) => {
|
|
102
|
-
// Log
|
|
103
|
-
if (config.log) {
|
|
104
|
-
console.log({ schema });
|
|
105
|
-
}
|
|
106
|
-
this._meta = new GraphQLMeta(schema);
|
|
107
|
-
return this._meta;
|
|
108
|
-
}));
|
|
109
|
-
// Set observables
|
|
110
|
-
this._metaObservable = observable;
|
|
111
|
-
// Return result
|
|
112
|
-
return observable;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
GraphQLMetaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, deps: [{ token: i1.Apollo }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
116
|
-
GraphQLMetaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, providedIn: 'root' });
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLMetaService, decorators: [{
|
|
118
|
-
type: Injectable,
|
|
119
|
-
args: [{
|
|
120
|
-
providedIn: 'root',
|
|
121
|
-
}]
|
|
122
|
-
}], ctorParameters: function () { return [{ type: i1.Apollo }]; } });
|
|
123
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1tZXRhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9zZXJ2aWNlcy9ncmFwaHFsLW1ldGEuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQVUsR0FBRyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDN0MsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQWMsRUFBRSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ3RDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBcUMsTUFBTSxTQUFTLENBQUM7QUFDdEcsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7OztBQUVqRDs7OztHQUlHO0FBSUgsTUFBTSxPQUFPLGtCQUFrQjtJQVc3Qjs7T0FFRztJQUNILFlBQXNCLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO0lBQUcsQ0FBQztJQUV4Qzs7T0FFRztJQUNILElBQUksa0JBQWtCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7SUFDOUQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFNBQVMsQ0FBQyxVQUFpRCxFQUFFO1FBQ2xFLHFCQUFxQjtRQUNyQixNQUFNLE1BQU0sR0FBRztZQUNiLEtBQUssRUFBRSxJQUFJO1lBQ1gsTUFBTSxFQUFFLElBQUk7WUFDWixHQUFHLE9BQU87U0FDWCxDQUFDO1FBRUYsY0FBYztRQUNkLElBQUksTUFBTSxDQUFDLEtBQUssRUFBRTtZQUNoQixJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtnQkFDdkMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQy9CO1lBQ0QsSUFBSSxJQUFJLENBQUMsbUJBQW1CLEVBQUU7Z0JBQzVCLE9BQU8sRUFBRSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUM7YUFDdkQ7WUFDRCxJQUFJLE1BQU0sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO2dCQUNqRCxPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQzthQUNyQztpQkFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7Z0JBQ25ELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDO2FBQy9CO1NBQ0Y7UUFFRCw2QkFBNkI7UUFDN0IsTUFBTSxVQUFVLEdBQUcsSUFBSSxDQUFDLE1BQU07YUFDM0IsS0FBSyxDQUFDO1lBQ0wsS0FBSyxFQUFFLEdBQUcsQ0FBQyxxQkFBcUIsQ0FBQyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDO1NBQzNELENBQUM7YUFDRCxJQUFJLENBQ0gsR0FBRyxDQUFDLENBQUMsTUFBVyxFQUFFLEVBQUU7WUFDbEIsMkJBQTJCO1lBQzNCLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1lBRXZDLGtDQUFrQztZQUNsQyxJQUFJLENBQUMsYUFBYSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQztZQUVuRix1QkFBdUI7WUFDdkIsSUFBSSxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUNqQixPQUFPLElBQUksQ0FBQyxhQUFhLENBQUM7YUFDM0I7WUFDRCxPQUFPLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDSCxDQUFDO1FBRUosa0JBQWtCO1FBQ2xCLElBQUksTUFBTSxDQUFDLE1BQU0sRUFBRTtZQUNqQixJQUFJLENBQUMsdUJBQXVCLEdBQUcsVUFBVSxDQUFDO1NBQzNDO2FBQU07WUFDTCxJQUFJLENBQUMsaUJBQWlCLEdBQUcsVUFBVSxDQUFDO1NBQ3JDO1FBRUQsZ0JBQWdCO1FBQ2hCLE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSSxPQUFPLENBQUMsVUFBOEMsRUFBRTtRQUM3RCxxQkFBcUI7UUFDckIsTUFBTSxNQUFNLEdBQUc7WUFDYixLQUFLLEVBQUUsSUFBSTtZQUNYLEdBQUcsRUFBRSxLQUFLO1lBQ1YsR0FBRyxPQUFPO1NBQ1gsQ0FBQztRQUVGLGNBQWM7UUFDZCxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7WUFDaEIsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO2dCQUNkLE9BQU8sRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUN2QjtpQkFBTSxJQUFJLElBQUksQ0FBQyxlQUFlLEVBQUU7Z0JBQy9CLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQzthQUM3QjtTQUNGO1FBRUQsNkJBQTZCO1FBQzdCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUM3QyxHQUFHLENBQUMsQ0FBQyxNQUFXLEVBQUUsRUFBRTtZQUNsQixNQUFNO1lBQ04sSUFBSSxNQUFNLENBQUMsR0FBRyxFQUFFO2dCQUNkLE9BQU8sQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3pCO1lBRUQsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDcEIsQ0FBQyxDQUFDLENBQ0gsQ0FBQztRQUVGLGtCQUFrQjtRQUNsQixJQUFJLENBQUMsZUFBZSxHQUFHLFVBQVUsQ0FBQztRQUVsQyxnQkFBZ0I7UUFDaEIsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7K0dBekhVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBRmpCLE1BQU07MkZBRVAsa0JBQWtCO2tCQUg5QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwb2xsbywgZ3FsIH0gZnJvbSAnYXBvbGxvLWFuZ3VsYXInO1xuaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgb2YgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IGJ1aWxkQ2xpZW50U2NoZW1hLCBnZXRJbnRyb3NwZWN0aW9uUXVlcnksIEdyYXBoUUxTY2hlbWEsIEludHJvc3BlY3Rpb25RdWVyeSB9IGZyb20gJ2dyYXBocWwnO1xuaW1wb3J0IHsgbWFwIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xuaW1wb3J0IHsgR3JhcGhRTE1ldGEgfSBmcm9tICcuLi9jbGFzc2VzL2dyYXBocWwtbWV0YS5jbGFzcyc7XG5pbXBvcnQgeyBIZWxwZXIgfSBmcm9tICcuLi9jbGFzc2VzL2hlbHBlci5jbGFzcyc7XG5cbi8qKlxuICogR3JhcGhRTCBtZXRhIHNlcnZpY2VcbiAqXG4gKiBGb3IgY29sbGVjdGluZyBtZXRhIGluZm9ybWF0aW9uIG9mIHRoZSBHcmFwaFFMIEFQSVxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR3JhcGhRTE1ldGFTZXJ2aWNlIHtcbiAgLy8gQ2FjaGVzXG4gIHByb3RlY3RlZCBfZnJvemVuU2NoZW1hOiBHcmFwaFFMU2NoZW1hO1xuICBwcm90ZWN0ZWQgX2Zyb3plblNjaGVtYU9ic2VydmFibGU6IE9ic2VydmFibGU8R3JhcGhRTFNjaGVtYT47XG4gIHByb3RlY3RlZCBfbWV0YTogR3JhcGhRTE1ldGE7XG4gIHByb3RlY3RlZCBfbWV0YU9ic2VydmFibGU6IE9ic2VydmFibGU8R3JhcGhRTE1ldGE+O1xuICBwcm90ZWN0ZWQgX3NjaGVtYU9ic2VydmFibGU6IE9ic2VydmFibGU8R3JhcGhRTFNjaGVtYT47XG5cbiAgLy8gUHJpdmF0ZSBjYWNoZXNcbiAgcHJpdmF0ZSBfaW50cm9zcGVjdGlvblF1ZXJ5OiBJbnRyb3NwZWN0aW9uUXVlcnk7XG5cbiAgLyoqXG4gICAqIEluY2x1ZGUgc2VydmljZXNcbiAgICovXG4gIGNvbnN0cnVjdG9yKHByb3RlY3RlZCBhcG9sbG86IEFwb2xsbykge31cblxuICAvKipcbiAgICogR2V0dGVyIG9mIGludHJvc3BlY3Rpb25RdWVyeVxuICAgKi9cbiAgZ2V0IGludHJvc3BlY3Rpb25RdWVyeSgpOiBJbnRyb3NwZWN0aW9uUXVlcnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHRoaXMuX2ludHJvc3BlY3Rpb25RdWVyeSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBzY2hlbWEgZm9yIEFQSVxuICAgKiBTZWUgaHR0cHM6Ly93d3cuYXBvbGxvZ3JhcGhxbC5jb20vYmxvZy90aHJlZS13YXlzLXRvLXJlcHJlc2VudC15b3VyLWdyYXBocWwtc2NoZW1hLWE0MWY0MTc1MTAwZFxuICAgKi9cbiAgcHVibGljIGdldFNjaGVtYShvcHRpb25zOiB7IGNhY2hlPzogYm9vbGVhbjsgZnJlZXplPzogYm9vbGVhbiB9ID0ge30pOiBPYnNlcnZhYmxlPEdyYXBoUUxTY2hlbWE+IHtcbiAgICAvLyBHZXQgY29uZmlndXJhdGlvbnNcbiAgICBjb25zdCBjb25maWcgPSB7XG4gICAgICBjYWNoZTogdHJ1ZSxcbiAgICAgIGZyZWV6ZTogdHJ1ZSxcbiAgICAgIC4uLm9wdGlvbnMsXG4gICAgfTtcblxuICAgIC8vIFVzZSBjYWNoaW5nXG4gICAgaWYgKGNvbmZpZy5jYWNoZSkge1xuICAgICAgaWYgKGNvbmZpZy5mcmVlemUgJiYgdGhpcy5fZnJvemVuU2NoZW1hKSB7XG4gICAgICAgIHJldHVybiBvZih0aGlzLl9mcm96ZW5TY2hlbWEpO1xuICAgICAgfVxuICAgICAgaWYgKHRoaXMuX2ludHJvc3BlY3Rpb25RdWVyeSkge1xuICAgICAgICByZXR1cm4gb2YoYnVpbGRDbGllbnRTY2hlbWEodGhpcy5pbnRyb3NwZWN0aW9uUXVlcnkpKTtcbiAgICAgIH1cbiAgICAgIGlmIChjb25maWcuZnJlZXplICYmIHRoaXMuX2Zyb3plblNjaGVtYU9ic2VydmFibGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Zyb3plblNjaGVtYU9ic2VydmFibGU7XG4gICAgICB9IGVsc2UgaWYgKCFjb25maWcuZnJlZXplICYmIHRoaXMuX3NjaGVtYU9ic2VydmFibGUpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NjaGVtYU9ic2VydmFibGU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVxdWVzdCBzY2hlbWEgZnJvbSBzZXJ2ZXJcbiAgICBjb25zdCBvYnNlcnZhYmxlID0gdGhpcy5hcG9sbG9cbiAgICAgIC5xdWVyeSh7XG4gICAgICAgIHF1ZXJ5OiBncWwoZ2V0SW50cm9zcGVjdGlvblF1ZXJ5KHsgZGVzY3JpcHRpb25zOiBmYWxzZSB9KSksXG4gICAgICB9KVxuICAgICAgLnBpcGUoXG4gICAgICAgIG1hcCgoc2NoZW1hOiBhbnkpID0+IHtcbiAgICAgICAgICAvLyBDYWNoZSBpbnRyb3NwZWN0aW9uUXVlcnlcbiAgICAgICAgICB0aGlzLl9pbnRyb3NwZWN0aW9uUXVlcnkgPSBzY2hlbWEuZGF0YTtcblxuICAgICAgICAgIC8vIENvbnZlcnQgc2NoZW1hIHRvIEdyYXBoUUxTY2hlbWFcbiAgICAgICAgICB0aGlzLl9mcm96ZW5TY2hlbWEgPSBIZWxwZXIuZGVlcEZyZWV6ZShidWlsZENsaWVudFNjaGVtYSh0aGlzLmludHJvc3BlY3Rpb25RdWVyeSkpO1xuXG4gICAgICAgICAgLy8gUmV0dXJuIEdyYXBoUUxTY2hlbWFcbiAgICAgICAgICBpZiAoY29uZmlnLmZyZWV6ZSkge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMuX2Zyb3plblNjaGVtYTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmV0dXJuIGJ1aWxkQ2xpZW50U2NoZW1hKHNjaGVtYS5kYXRhKTtcbiAgICAgICAgfSlcbiAgICAgICk7XG5cbiAgICAvLyBTZXQgb2JzZXJ2YWJsZXNcbiAgICBpZiAoY29uZmlnLmZyZWV6ZSkge1xuICAgICAgdGhpcy5fZnJvemVuU2NoZW1hT2JzZXJ2YWJsZSA9IG9ic2VydmFibGU7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuX3NjaGVtYU9ic2VydmFibGUgPSBvYnNlcnZhYmxlO1xuICAgIH1cblxuICAgIC8vIFJldHVybiByZXN1bHRcbiAgICByZXR1cm4gb2JzZXJ2YWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgbWV0YSBmb3IgQVBJXG4gICAqIFNlZSBodHRwczovL3d3dy5hcG9sbG9ncmFwaHFsLmNvbS9ibG9nL3RocmVlLXdheXMtdG8tcmVwcmVzZW50LXlvdXItZ3JhcGhxbC1zY2hlbWEtYTQxZjQxNzUxMDBkXG4gICAqL1xuICBwdWJsaWMgZ2V0TWV0YShvcHRpb25zOiB7IGNhY2hlPzogYm9vbGVhbjsgbG9nPzogYm9vbGVhbiB9ID0ge30pOiBPYnNlcnZhYmxlPEdyYXBoUUxNZXRhPiB7XG4gICAgLy8gR2V0IGNvbmZpZ3VyYXRpb25zXG4gICAgY29uc3QgY29uZmlnID0ge1xuICAgICAgY2FjaGU6IHRydWUsXG4gICAgICBsb2c6IGZhbHNlLFxuICAgICAgLi4ub3B0aW9ucyxcbiAgICB9O1xuXG4gICAgLy8gVXNlIGNhY2hpbmdcbiAgICBpZiAoY29uZmlnLmNhY2hlKSB7XG4gICAgICBpZiAodGhpcy5fbWV0YSkge1xuICAgICAgICByZXR1cm4gb2YodGhpcy5fbWV0YSk7XG4gICAgICB9IGVsc2UgaWYgKHRoaXMuX21ldGFPYnNlcnZhYmxlKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tZXRhT2JzZXJ2YWJsZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXF1ZXN0IHNjaGVtYSBmcm9tIHNlcnZlclxuICAgIGNvbnN0IG9ic2VydmFibGUgPSB0aGlzLmdldFNjaGVtYShvcHRpb25zKS5waXBlKFxuICAgICAgbWFwKChzY2hlbWE6IGFueSkgPT4ge1xuICAgICAgICAvLyBMb2dcbiAgICAgICAgaWYgKGNvbmZpZy5sb2cpIHtcbiAgICAgICAgICBjb25zb2xlLmxvZyh7IHNjaGVtYSB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX21ldGEgPSBuZXcgR3JhcGhRTE1ldGEoc2NoZW1hKTtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21ldGE7XG4gICAgICB9KVxuICAgICk7XG5cbiAgICAvLyBTZXQgb2JzZXJ2YWJsZXNcbiAgICB0aGlzLl9tZXRhT2JzZXJ2YWJsZSA9IG9ic2VydmFibGU7XG5cbiAgICAvLyBSZXR1cm4gcmVzdWx0XG4gICAgcmV0dXJuIG9ic2VydmFibGU7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable } from '@angular/core';
|
|
2
|
-
import { Observable } from 'rxjs';
|
|
3
|
-
import { GraphQLService } from './graphql.service';
|
|
4
|
-
import { GraphQLRequestType } from '../enums/graphql-request-type.enum';
|
|
5
|
-
import { BASE_MODULE_CONFIG } from '../interfaces/base-module-config.interface';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "apollo-angular";
|
|
8
|
-
import * as i2 from "./graphql-meta.service";
|
|
9
|
-
import * as i3 from "./loader.service";
|
|
10
|
-
/**
|
|
11
|
-
* GraphQL plus service, for extra error handling and loading indication
|
|
12
|
-
*/
|
|
13
|
-
export class GraphQLPlusService extends GraphQLService {
|
|
14
|
-
/**
|
|
15
|
-
* Include services
|
|
16
|
-
*/
|
|
17
|
-
constructor(apollo, graphqlMetaService, loaderService, moduleConfig) {
|
|
18
|
-
super(apollo, graphqlMetaService, moduleConfig);
|
|
19
|
-
this.apollo = apollo;
|
|
20
|
-
this.graphqlMetaService = graphqlMetaService;
|
|
21
|
-
this.loaderService = loaderService;
|
|
22
|
-
this.moduleConfig = moduleConfig;
|
|
23
|
-
}
|
|
24
|
-
graphQl(graphql, options = {}) {
|
|
25
|
-
this.handleLoader('start', options);
|
|
26
|
-
return new Observable((subscriber) => {
|
|
27
|
-
super.graphQl(graphql, options).subscribe((response) => {
|
|
28
|
-
if (response && response.errors) {
|
|
29
|
-
this.handleError(response.errors, options.excludedErrors);
|
|
30
|
-
subscriber.error(response);
|
|
31
|
-
this.handleLoader('stop', options);
|
|
32
|
-
subscriber.complete();
|
|
33
|
-
}
|
|
34
|
-
subscriber.next(response);
|
|
35
|
-
this.handleLoader('stop', options);
|
|
36
|
-
if (options.type !== GraphQLRequestType.SUBSCRIPTION) {
|
|
37
|
-
subscriber.complete();
|
|
38
|
-
}
|
|
39
|
-
}, (error) => {
|
|
40
|
-
if (!options.ignoreErrors) {
|
|
41
|
-
this.handleError(error, options.excludedErrors);
|
|
42
|
-
}
|
|
43
|
-
subscriber.error(error);
|
|
44
|
-
this.handleLoader('stop', options);
|
|
45
|
-
subscriber.complete();
|
|
46
|
-
});
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
handleLoader(state, options) {
|
|
50
|
-
if (options.loading) {
|
|
51
|
-
if (state === 'start') {
|
|
52
|
-
this.loaderService.start();
|
|
53
|
-
}
|
|
54
|
-
else if (state === 'stop') {
|
|
55
|
-
this.loaderService.stop();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
handleError(error, excludedErrors = null) {
|
|
60
|
-
if (excludedErrors) {
|
|
61
|
-
if (Array.isArray(excludedErrors)) {
|
|
62
|
-
excludedErrors.forEach((excludedError) => {
|
|
63
|
-
if (error.message.includes(excludedError.toLowerCase())) {
|
|
64
|
-
return;
|
|
65
|
-
}
|
|
66
|
-
});
|
|
67
|
-
}
|
|
68
|
-
else if (error.message.toLowerCase().includes(excludedErrors?.toLowerCase())) {
|
|
69
|
-
return;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
this.displayError(error);
|
|
73
|
-
}
|
|
74
|
-
displayError(error) {
|
|
75
|
-
console.error(error);
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
GraphQLPlusService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, deps: [{ token: i1.Apollo }, { token: i2.GraphQLMetaService }, { token: i3.LoaderService }, { token: BASE_MODULE_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
|
|
79
|
-
GraphQLPlusService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, providedIn: 'root' });
|
|
80
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.9", ngImport: i0, type: GraphQLPlusService, decorators: [{
|
|
81
|
-
type: Injectable,
|
|
82
|
-
args: [{
|
|
83
|
-
providedIn: 'root',
|
|
84
|
-
}]
|
|
85
|
-
}], ctorParameters: function () { return [{ type: i1.Apollo }, { type: i2.GraphQLMetaService }, { type: i3.LoaderService }, { type: undefined, decorators: [{
|
|
86
|
-
type: Inject,
|
|
87
|
-
args: [BASE_MODULE_CONFIG]
|
|
88
|
-
}] }]; } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JhcGhxbC1wbHVzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1iYXNlL3NoYXJlZC9zZXJ2aWNlcy9ncmFwaHFsLXBsdXMuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNuRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUluRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUN4RSxPQUFPLEVBQUUsa0JBQWtCLEVBQW9CLE1BQU0sNENBQTRDLENBQUM7Ozs7O0FBRWxHOztHQUVHO0FBSUgsTUFBTSxPQUFPLGtCQUFtQixTQUFRLGNBQWM7SUFDcEQ7O09BRUc7SUFDSCxZQUNZLE1BQWMsRUFDZCxrQkFBc0MsRUFDdEMsYUFBNEIsRUFDQSxZQUE4QjtRQUVwRSxLQUFLLENBQUMsTUFBTSxFQUFFLGtCQUFrQixFQUFFLFlBQVksQ0FBQyxDQUFDO1FBTHRDLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDZCx1QkFBa0IsR0FBbEIsa0JBQWtCLENBQW9CO1FBQ3RDLGtCQUFhLEdBQWIsYUFBYSxDQUFlO1FBQ0EsaUJBQVksR0FBWixZQUFZLENBQWtCO0lBR3RFLENBQUM7SUFFTSxPQUFPLENBQUMsT0FBZSxFQUFFLFVBQStCLEVBQUU7UUFDL0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFFcEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLFVBQVUsRUFBRSxFQUFFO1lBQ25DLEtBQUssQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FDdkMsQ0FBQyxRQUFRLEVBQUUsRUFBRTtnQkFDWCxJQUFJLFFBQVEsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFO29CQUMvQixJQUFJLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLGNBQWMsQ0FBQyxDQUFDO29CQUMxRCxVQUFVLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMzQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztvQkFDbkMsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN2QjtnQkFFRCxVQUFVLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2dCQUMxQixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sRUFBRSxPQUFPLENBQUMsQ0FBQztnQkFDbkMsSUFBSSxPQUFPLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLFlBQVksRUFBRTtvQkFDcEQsVUFBVSxDQUFDLFFBQVEsRUFBRSxDQUFDO2lCQUN2QjtZQUNILENBQUMsRUFDRCxDQUFDLEtBQUssRUFBRSxFQUFFO2dCQUNSLElBQUksQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO29CQUN6QixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUM7aUJBQ2pEO2dCQUNELFVBQVUsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUNuQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDeEIsQ0FBQyxDQUNGLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZLENBQUMsS0FBdUIsRUFBRSxPQUE0QjtRQUNoRSxJQUFJLE9BQU8sQ0FBQyxPQUFPLEVBQUU7WUFDbkIsSUFBSSxLQUFLLEtBQUssT0FBTyxFQUFFO2dCQUNyQixJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO2FBQzVCO2lCQUFNLElBQUksS0FBSyxLQUFLLE1BQU0sRUFBRTtnQkFDM0IsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQzthQUMzQjtTQUNGO0lBQ0gsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFZLEVBQUUsaUJBQXNCLElBQUk7UUFDbEQsSUFBSSxjQUFjLEVBQUU7WUFDbEIsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxFQUFFO2dCQUNqQyxjQUFjLENBQUMsT0FBTyxDQUFDLENBQUMsYUFBYSxFQUFFLEVBQUU7b0JBQ3ZDLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUU7d0JBQ3ZELE9BQU87cUJBQ1I7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtpQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsQ0FBQyxFQUFFO2dCQUM5RSxPQUFPO2FBQ1I7U0FDRjtRQUVELElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVO1FBQ3JCLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQzs7K0dBeEVVLGtCQUFrQix1R0FRbkIsa0JBQWtCO21IQVJqQixrQkFBa0IsY0FGakIsTUFBTTsyRkFFUCxrQkFBa0I7a0JBSDlCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkFTSSxNQUFNOzJCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFwb2xsbyB9IGZyb20gJ2Fwb2xsby1hbmd1bGFyJztcbmltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgR3JhcGhRTFNlcnZpY2UgfSBmcm9tICcuL2dyYXBocWwuc2VydmljZSc7XG5pbXBvcnQgeyBHcmFwaFFMTWV0YVNlcnZpY2UgfSBmcm9tICcuL2dyYXBocWwtbWV0YS5zZXJ2aWNlJztcbmltcG9ydCB7IElHcmFwaFFMUGx1c09wdGlvbnMgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2dyYXBocWwtcGx1cy1vcHRpb25zLmludGVyZmFjZW4nO1xuaW1wb3J0IHsgTG9hZGVyU2VydmljZSB9IGZyb20gJy4vbG9hZGVyLnNlcnZpY2UnO1xuaW1wb3J0IHsgR3JhcGhRTFJlcXVlc3RUeXBlIH0gZnJvbSAnLi4vZW51bXMvZ3JhcGhxbC1yZXF1ZXN0LXR5cGUuZW51bSc7XG5pbXBvcnQgeyBCQVNFX01PRFVMRV9DT05GSUcsIEJhc2VNb2R1bGVDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2Jhc2UtbW9kdWxlLWNvbmZpZy5pbnRlcmZhY2UnO1xuXG4vKipcbiAqIEdyYXBoUUwgcGx1cyBzZXJ2aWNlLCBmb3IgZXh0cmEgZXJyb3IgaGFuZGxpbmcgYW5kIGxvYWRpbmcgaW5kaWNhdGlvblxuICovXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgR3JhcGhRTFBsdXNTZXJ2aWNlIGV4dGVuZHMgR3JhcGhRTFNlcnZpY2Uge1xuICAvKipcbiAgICogSW5jbHVkZSBzZXJ2aWNlc1xuICAgKi9cbiAgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIGFwb2xsbzogQXBvbGxvLFxuICAgIHByb3RlY3RlZCBncmFwaHFsTWV0YVNlcnZpY2U6IEdyYXBoUUxNZXRhU2VydmljZSxcbiAgICBwcm90ZWN0ZWQgbG9hZGVyU2VydmljZTogTG9hZGVyU2VydmljZSxcbiAgICBASW5qZWN0KEJBU0VfTU9EVUxFX0NPTkZJRykgcHJvdGVjdGVkIG1vZHVsZUNvbmZpZzogQmFzZU1vZHVsZUNvbmZpZ1xuICApIHtcbiAgICBzdXBlcihhcG9sbG8sIGdyYXBocWxNZXRhU2VydmljZSwgbW9kdWxlQ29uZmlnKTtcbiAgfVxuXG4gIHB1YmxpYyBncmFwaFFsKGdyYXBocWw6IHN0cmluZywgb3B0aW9uczogSUdyYXBoUUxQbHVzT3B0aW9ucyA9IHt9KTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICB0aGlzLmhhbmRsZUxvYWRlcignc3RhcnQnLCBvcHRpb25zKTtcblxuICAgIHJldHVybiBuZXcgT2JzZXJ2YWJsZSgoc3Vic2NyaWJlcikgPT4ge1xuICAgICAgc3VwZXIuZ3JhcGhRbChncmFwaHFsLCBvcHRpb25zKS5zdWJzY3JpYmUoXG4gICAgICAgIChyZXNwb25zZSkgPT4ge1xuICAgICAgICAgIGlmIChyZXNwb25zZSAmJiByZXNwb25zZS5lcnJvcnMpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRXJyb3IocmVzcG9uc2UuZXJyb3JzLCBvcHRpb25zLmV4Y2x1ZGVkRXJyb3JzKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IocmVzcG9uc2UpO1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVMb2FkZXIoJ3N0b3AnLCBvcHRpb25zKTtcbiAgICAgICAgICAgIHN1YnNjcmliZXIuY29tcGxldGUoKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBzdWJzY3JpYmVyLm5leHQocmVzcG9uc2UpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlTG9hZGVyKCdzdG9wJywgb3B0aW9ucyk7XG4gICAgICAgICAgaWYgKG9wdGlvbnMudHlwZSAhPT0gR3JhcGhRTFJlcXVlc3RUeXBlLlNVQlNDUklQVElPTikge1xuICAgICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgICAgKGVycm9yKSA9PiB7XG4gICAgICAgICAgaWYgKCFvcHRpb25zLmlnbm9yZUVycm9ycykge1xuICAgICAgICAgICAgdGhpcy5oYW5kbGVFcnJvcihlcnJvciwgb3B0aW9ucy5leGNsdWRlZEVycm9ycyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHN1YnNjcmliZXIuZXJyb3IoZXJyb3IpO1xuICAgICAgICAgIHRoaXMuaGFuZGxlTG9hZGVyKCdzdG9wJywgb3B0aW9ucyk7XG4gICAgICAgICAgc3Vic2NyaWJlci5jb21wbGV0ZSgpO1xuICAgICAgICB9XG4gICAgICApO1xuICAgIH0pO1xuICB9XG5cbiAgaGFuZGxlTG9hZGVyKHN0YXRlOiAnc3RhcnQnIHwgJ3N0b3AnLCBvcHRpb25zOiBJR3JhcGhRTFBsdXNPcHRpb25zKTogdm9pZCB7XG4gICAgaWYgKG9wdGlvbnMubG9hZGluZykge1xuICAgICAgaWYgKHN0YXRlID09PSAnc3RhcnQnKSB7XG4gICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5zdGFydCgpO1xuICAgICAgfSBlbHNlIGlmIChzdGF0ZSA9PT0gJ3N0b3AnKSB7XG4gICAgICAgIHRoaXMubG9hZGVyU2VydmljZS5zdG9wKCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaGFuZGxlRXJyb3IoZXJyb3I6IEVycm9yLCBleGNsdWRlZEVycm9yczogYW55ID0gbnVsbCk6IHZvaWQge1xuICAgIGlmIChleGNsdWRlZEVycm9ycykge1xuICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhjbHVkZWRFcnJvcnMpKSB7XG4gICAgICAgIGV4Y2x1ZGVkRXJyb3JzLmZvckVhY2goKGV4Y2x1ZGVkRXJyb3IpID0+IHtcbiAgICAgICAgICBpZiAoZXJyb3IubWVzc2FnZS5pbmNsdWRlcyhleGNsdWRlZEVycm9yLnRvTG93ZXJDYXNlKCkpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIH0gZWxzZSBpZiAoZXJyb3IubWVzc2FnZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGV4Y2x1ZGVkRXJyb3JzPy50b0xvd2VyQ2FzZSgpKSkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGhpcy5kaXNwbGF5RXJyb3IoZXJyb3IpO1xuICB9XG5cbiAgZGlzcGxheUVycm9yKGVycm9yOiBhbnkpOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKGVycm9yKTtcbiAgfVxufVxuIl19
|