@ng-vagabond-lab/ng-dsv 0.2.60 → 0.2.62
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs +161 -156
- package/fesm2022/ng-vagabond-lab-ng-dsv-api.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs +193 -152
- package/fesm2022/ng-vagabond-lab-ng-dsv-base-service.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs +318 -200
- package/fesm2022/ng-vagabond-lab-ng-dsv-base.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-date.mjs +58 -51
- package/fesm2022/ng-vagabond-lab-ng-dsv-date.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs +116 -45
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-accordion.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs +94 -47
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-avatar.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs +310 -109
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-button.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs +209 -54
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-card.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs +104 -40
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-chip.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs +183 -62
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-color.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs +68 -29
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-container.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs +434 -147
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-file.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs +1032 -189
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-reactive.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs +1016 -261
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-form-signal.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs +120 -32
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-header.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs +138 -40
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-img.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs +158 -48
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-item.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs +90 -23
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-linear-progress.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-link-pipe.mjs +80 -50
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-link-pipe.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs +292 -161
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-list.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-markdown.mjs +104 -34
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-markdown.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs +302 -141
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-menu.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs +511 -136
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-modal.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs +101 -26
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-paginate.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs +395 -192
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-scroll.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs +39 -17
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-skeleton.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs +245 -80
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tab.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs +181 -88
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-table.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs +145 -68
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-theme.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs +162 -101
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-toast.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs +130 -76
- package/fesm2022/ng-vagabond-lab-ng-dsv-ds-tooltip.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs +56 -46
- package/fesm2022/ng-vagabond-lab-ng-dsv-environment.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-i18n.mjs +73 -69
- package/fesm2022/ng-vagabond-lab-ng-dsv-i18n.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-admin.mjs +857 -411
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-admin.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-auth.mjs +298 -233
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-auth.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-contact.mjs +109 -24
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-contact.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-DeHxNdo7.mjs +168 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-DeHxNdo7.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-C9glq9t1.mjs +137 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-C9glq9t1.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-Cej-SUMG.mjs +48 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-Cej-SUMG.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-B1UZng6_.mjs +306 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-B1UZng6_.mjs.map +1 -0
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news.mjs +141 -54
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-notification.mjs +492 -182
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-notification.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs +116 -81
- package/fesm2022/ng-vagabond-lab-ng-dsv-platform.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs +188 -117
- package/fesm2022/ng-vagabond-lab-ng-dsv-router.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs +122 -123
- package/fesm2022/ng-vagabond-lab-ng-dsv-storage.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-template.mjs +613 -127
- package/fesm2022/ng-vagabond-lab-ng-dsv-template.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-type.mjs +33 -27
- package/fesm2022/ng-vagabond-lab-ng-dsv-type.mjs.map +1 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv.mjs +33 -27
- package/fesm2022/ng-vagabond-lab-ng-dsv.mjs.map +1 -1
- package/package.json +1 -1
- package/types/ng-vagabond-lab-ng-dsv-api.d.ts +94 -101
- package/types/ng-vagabond-lab-ng-dsv-base-service.d.ts +44 -51
- package/types/ng-vagabond-lab-ng-dsv-base.d.ts +90 -105
- package/types/ng-vagabond-lab-ng-dsv-date.d.ts +9 -13
- package/types/ng-vagabond-lab-ng-dsv-ds-accordion.d.ts +29 -16
- package/types/ng-vagabond-lab-ng-dsv-ds-avatar.d.ts +22 -17
- package/types/ng-vagabond-lab-ng-dsv-ds-button.d.ts +60 -20
- package/types/ng-vagabond-lab-ng-dsv-ds-card.d.ts +34 -23
- package/types/ng-vagabond-lab-ng-dsv-ds-chip.d.ts +19 -14
- package/types/ng-vagabond-lab-ng-dsv-ds-color.d.ts +55 -27
- package/types/ng-vagabond-lab-ng-dsv-ds-container.d.ts +13 -10
- package/types/ng-vagabond-lab-ng-dsv-ds-file.d.ts +102 -48
- package/types/ng-vagabond-lab-ng-dsv-ds-form-reactive.d.ts +170 -67
- package/types/ng-vagabond-lab-ng-dsv-ds-form-signal.d.ts +219 -100
- package/types/ng-vagabond-lab-ng-dsv-ds-header.d.ts +28 -15
- package/types/ng-vagabond-lab-ng-dsv-ds-img.d.ts +41 -18
- package/types/ng-vagabond-lab-ng-dsv-ds-item.d.ts +44 -19
- package/types/ng-vagabond-lab-ng-dsv-ds-linear-progress.d.ts +24 -11
- package/types/ng-vagabond-lab-ng-dsv-ds-link-pipe.d.ts +14 -18
- package/types/ng-vagabond-lab-ng-dsv-ds-list.d.ts +52 -46
- package/types/ng-vagabond-lab-ng-dsv-ds-markdown.d.ts +15 -12
- package/types/ng-vagabond-lab-ng-dsv-ds-menu.d.ts +64 -51
- package/types/ng-vagabond-lab-ng-dsv-ds-modal.d.ts +128 -57
- package/types/ng-vagabond-lab-ng-dsv-ds-paginate.d.ts +22 -12
- package/types/ng-vagabond-lab-ng-dsv-ds-scroll.d.ts +75 -57
- package/types/ng-vagabond-lab-ng-dsv-ds-skeleton.d.ts +5 -8
- package/types/ng-vagabond-lab-ng-dsv-ds-tab.d.ts +53 -33
- package/types/ng-vagabond-lab-ng-dsv-ds-table.d.ts +45 -30
- package/types/ng-vagabond-lab-ng-dsv-ds-theme.d.ts +25 -31
- package/types/ng-vagabond-lab-ng-dsv-ds-toast.d.ts +44 -39
- package/types/ng-vagabond-lab-ng-dsv-ds-tooltip.d.ts +37 -32
- package/types/ng-vagabond-lab-ng-dsv-environment.d.ts +22 -27
- package/types/ng-vagabond-lab-ng-dsv-i18n.d.ts +25 -28
- package/types/ng-vagabond-lab-ng-dsv-module-admin.d.ts +164 -148
- package/types/ng-vagabond-lab-ng-dsv-module-auth.d.ts +59 -66
- package/types/ng-vagabond-lab-ng-dsv-module-contact.d.ts +12 -9
- package/types/ng-vagabond-lab-ng-dsv-module-news.d.ts +25 -25
- package/types/ng-vagabond-lab-ng-dsv-module-notification.d.ts +75 -73
- package/types/ng-vagabond-lab-ng-dsv-platform.d.ts +26 -27
- package/types/ng-vagabond-lab-ng-dsv-router.d.ts +44 -39
- package/types/ng-vagabond-lab-ng-dsv-storage.d.ts +31 -37
- package/types/ng-vagabond-lab-ng-dsv-template.d.ts +91 -55
- package/types/ng-vagabond-lab-ng-dsv-type.d.ts +23 -27
- package/types/ng-vagabond-lab-ng-dsv.d.ts +23 -27
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-kXmxZfBB.mjs +0 -64
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-form.container-kXmxZfBB.mjs.map +0 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-BLxxUo6e.mjs +0 -38
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.container-BLxxUo6e.mjs.map +0 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-Bf6hMWCh.mjs +0 -38
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news-list.service-Bf6hMWCh.mjs.map +0 -1
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-B24oxywT.mjs +0 -114
- package/fesm2022/ng-vagabond-lab-ng-dsv-module-news-news.container-B24oxywT.mjs.map +0 -1
|
@@ -1,157 +1,162 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import * as i0 from
|
|
3
|
-
import {
|
|
4
|
-
import { ToastService } from
|
|
5
|
-
import { EnvironmentService } from
|
|
6
|
-
import { PlatformService } from
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
1
|
+
import { HttpClient, httpResource } from "@angular/common/http";
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import { Injectable, inject, signal } from "@angular/core";
|
|
4
|
+
import { ToastService } from "@ng-vagabond-lab/ng-dsv/ds/toast";
|
|
5
|
+
import { EnvironmentService } from "@ng-vagabond-lab/ng-dsv/environment";
|
|
6
|
+
import { PlatformService } from "@ng-vagabond-lab/ng-dsv/platform";
|
|
7
|
+
var ApiResourceService = class ApiResourceService {
|
|
8
|
+
url = signal(void 0, ...ngDevMode ? [{ debugName: "url" }] : /* istanbul ignore next */ []);
|
|
9
|
+
resource = httpResource(() => ({
|
|
10
|
+
url: `${this.url()}`,
|
|
11
|
+
method: "GET",
|
|
12
|
+
headers: { "Content-Type": "application/json" },
|
|
13
|
+
params: {},
|
|
14
|
+
reportProgress: true,
|
|
15
|
+
transferCache: true,
|
|
16
|
+
keepalive: true,
|
|
17
|
+
mode: "same-origin",
|
|
18
|
+
redirect: "error",
|
|
19
|
+
priority: "high",
|
|
20
|
+
cache: "force-cache",
|
|
21
|
+
credentials: "include",
|
|
22
|
+
referrer: "no-referrer",
|
|
23
|
+
integrity: "sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY="
|
|
24
|
+
}), ...ngDevMode ? [{ debugName: "resource" }] : /* istanbul ignore next */ []);
|
|
25
|
+
constructor() {}
|
|
26
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
27
|
+
minVersion: "12.0.0",
|
|
28
|
+
version: "22.2.0",
|
|
29
|
+
ngImport: i0,
|
|
30
|
+
type: ApiResourceService,
|
|
31
|
+
deps: [],
|
|
32
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
33
|
+
});
|
|
34
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
35
|
+
minVersion: "12.0.0",
|
|
36
|
+
version: "22.2.0",
|
|
37
|
+
ngImport: i0,
|
|
38
|
+
type: ApiResourceService,
|
|
39
|
+
providedIn: "root"
|
|
40
|
+
});
|
|
41
|
+
};
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
43
|
+
minVersion: "12.0.0",
|
|
44
|
+
version: "22.2.0",
|
|
45
|
+
ngImport: i0,
|
|
46
|
+
type: ApiResourceService,
|
|
47
|
+
decorators: [{
|
|
48
|
+
type: Injectable,
|
|
49
|
+
args: [{ providedIn: "root" }]
|
|
50
|
+
}],
|
|
51
|
+
ctorParameters: () => []
|
|
52
|
+
});
|
|
53
|
+
var ApiService = class ApiService {
|
|
54
|
+
httpClient = inject(HttpClient);
|
|
55
|
+
toastService = inject(ToastService);
|
|
56
|
+
platformService = inject(PlatformService);
|
|
57
|
+
environmentService = inject(EnvironmentService);
|
|
58
|
+
baseUrl = signal("/api", ...ngDevMode ? [{ debugName: "baseUrl" }] : /* istanbul ignore next */ []);
|
|
59
|
+
nbLoaded = signal(0, ...ngDevMode ? [{ debugName: "nbLoaded" }] : /* istanbul ignore next */ []);
|
|
60
|
+
blocked = signal(false, ...ngDevMode ? [{ debugName: "blocked" }] : /* istanbul ignore next */ []);
|
|
61
|
+
get(url, callback, callbackError = () => {}) {
|
|
62
|
+
this.doSubscribe(url, "", this.httpClient.get(this.baseUrl() + url), callback, callbackError);
|
|
63
|
+
}
|
|
64
|
+
post(url, data, callback = () => {}, withCredentials = false, callbackError = () => {}) {
|
|
65
|
+
this.doSubscribe(url, data, this.httpClient.post(this.baseUrl() + url, data, { withCredentials }), callback, callbackError);
|
|
66
|
+
}
|
|
67
|
+
put(url, data, callback = () => {}, callbackError = () => {}) {
|
|
68
|
+
this.doSubscribe(url, data, this.httpClient.put(this.baseUrl() + url, data), callback, callbackError);
|
|
69
|
+
}
|
|
70
|
+
delete(url, callback, callbackError = () => {}) {
|
|
71
|
+
this.doSubscribe(url, "", this.httpClient.delete(this.baseUrl() + url), callback, callbackError);
|
|
72
|
+
}
|
|
73
|
+
findById(endPoint, id, callback) {
|
|
74
|
+
this.get(endPoint + "/" + id, callback);
|
|
75
|
+
}
|
|
76
|
+
findBy(endPoint, fields, values, first, max, order, callback) {
|
|
77
|
+
const orderType = order.orderAsc ? "" : "Desc";
|
|
78
|
+
const fieldsComplete = fields + (order.order ? ">>" + order.order + orderType : "");
|
|
79
|
+
this.get(endPoint + "?fields=" + encodeURI(fieldsComplete) + "&values=" + encodeURI(values) + "&first=" + first + "&max=" + max, (data) => {
|
|
80
|
+
callback(data);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
countBy(endPoint, fields, values, callback) {
|
|
84
|
+
return this.get(endPoint + "?fields=" + encodeURI(fields) + "&values=" + values, (data) => {
|
|
85
|
+
callback(data);
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
createOrUpdate(endPoint, data, callback, toast) {
|
|
89
|
+
if (this.blocked()) return;
|
|
90
|
+
this.blocked.set(true);
|
|
91
|
+
if (data.id !== null && data.id !== void 0 && data.id !== "" && Number(data.id) > 0) this.put("/" + endPoint + "/", data, (dateReturn) => {
|
|
92
|
+
toast && this.toastService.showToast({
|
|
93
|
+
text: toast ?? "UPDATE_OK",
|
|
94
|
+
type: "success",
|
|
95
|
+
closeAll: true
|
|
96
|
+
});
|
|
97
|
+
callback(dateReturn);
|
|
98
|
+
this.blocked.set(false);
|
|
99
|
+
}, () => {
|
|
100
|
+
this.blocked.set(false);
|
|
101
|
+
});
|
|
102
|
+
else this.post("/" + endPoint + "/", data, (dateReturn) => {
|
|
103
|
+
toast && this.toastService.showToast({
|
|
104
|
+
text: toast ?? "CREATION_OK",
|
|
105
|
+
type: "success"
|
|
106
|
+
});
|
|
107
|
+
callback(dateReturn);
|
|
108
|
+
this.blocked.set(false);
|
|
109
|
+
}, false, () => {
|
|
110
|
+
this.blocked.set(false);
|
|
111
|
+
});
|
|
112
|
+
}
|
|
113
|
+
doSubscribe(url, data, observable, callback, callbackError = () => {}) {
|
|
114
|
+
this.nbLoaded.update((loaded) => loaded + 1);
|
|
115
|
+
observable.subscribe({
|
|
116
|
+
next: (res) => {
|
|
117
|
+
this.nbLoaded.update((loaded) => loaded - 1);
|
|
118
|
+
this.info(url, data, res);
|
|
119
|
+
callback(res);
|
|
120
|
+
},
|
|
121
|
+
error: (error) => {
|
|
122
|
+
this.nbLoaded.update((loaded) => loaded - 1);
|
|
123
|
+
this.error(url, data, error);
|
|
124
|
+
callbackError();
|
|
125
|
+
}
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
info(url, body, data = null) {
|
|
129
|
+
if (this.platformService.isPlatformBrowser()) console.log(url, body, data);
|
|
130
|
+
}
|
|
131
|
+
error(url, body, error) {
|
|
132
|
+
if (this.platformService.isPlatformBrowser()) console.error(url, body, error);
|
|
133
|
+
}
|
|
134
|
+
static ɵfac = i0.ɵɵngDeclareFactory({
|
|
135
|
+
minVersion: "12.0.0",
|
|
136
|
+
version: "22.2.0",
|
|
137
|
+
ngImport: i0,
|
|
138
|
+
type: ApiService,
|
|
139
|
+
deps: [],
|
|
140
|
+
target: i0.ɵɵFactoryTarget.Injectable
|
|
141
|
+
});
|
|
142
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({
|
|
143
|
+
minVersion: "12.0.0",
|
|
144
|
+
version: "22.2.0",
|
|
145
|
+
ngImport: i0,
|
|
146
|
+
type: ApiService,
|
|
147
|
+
providedIn: "root"
|
|
148
|
+
});
|
|
149
|
+
};
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({
|
|
151
|
+
minVersion: "12.0.0",
|
|
152
|
+
version: "22.2.0",
|
|
153
|
+
ngImport: i0,
|
|
154
|
+
type: ApiService,
|
|
155
|
+
decorators: [{
|
|
156
|
+
type: Injectable,
|
|
157
|
+
args: [{ providedIn: "root" }]
|
|
158
|
+
}]
|
|
159
|
+
});
|
|
156
160
|
export { ApiResourceService, ApiService };
|
|
157
|
-
|
|
161
|
+
|
|
162
|
+
//# sourceMappingURL=ng-vagabond-lab-ng-dsv-api.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","sources":["../../../projects/ng-dsv/api/service/api-resource.service.ts","../../../projects/ng-dsv/api/service/api.service.ts","../../../projects/ng-dsv/api/ng-vagabond-lab-ng-dsv-api.ts"],"sourcesContent":["import { httpResource } from '@angular/common/http';\nimport { Injectable, ResourceRef, signal } from '@angular/core';\nimport { OrderState } from '../public-api';\n\nexport interface ApiFindBy {\n endPoint?: string;\n fields?: string;\n values?: string;\n first?: number;\n max?: number;\n order?: OrderState;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiResourceService<T> {\n readonly url = signal<string | undefined>(undefined);\n\n readonly resource: ResourceRef<T | undefined> = httpResource(() => ({\n url: `${this.url()}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n params: {},\n reportProgress: true,\n transferCache: true,\n keepalive: true,\n mode: 'same-origin',\n redirect: 'error',\n priority: 'high',\n cache: 'force-cache',\n credentials: 'include',\n referrer: 'no-referrer',\n integrity: 'sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY=',\n }));\n\n constructor() {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { Observable } from 'rxjs';\nimport { ApiDto, ID, JSONObject, OrderState } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n readonly httpClient = inject(HttpClient);\n readonly toastService = inject(ToastService);\n readonly platformService = inject(PlatformService);\n readonly environmentService = inject(EnvironmentService);\n\n readonly baseUrl = signal<string>('/api');\n readonly nbLoaded = signal<number>(0);\n readonly blocked = signal<boolean>(false);\n\n get<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, '', this.httpClient.get<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n post<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n withCredentials: boolean = false,\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n data as JSONObject,\n this.httpClient.post<TResponse>(this.baseUrl() + url, data, { withCredentials }),\n callback,\n callbackError,\n );\n }\n\n put<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n data as JSONObject,\n this.httpClient.put<TResponse>(this.baseUrl() + url, data),\n callback,\n callbackError,\n );\n }\n\n delete<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, '', this.httpClient.delete<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n findById<T>(endPoint: string, id: ID, callback: (data: T) => void) {\n this.get<T>(endPoint + '/' + id, callback);\n }\n\n findBy<T>(\n endPoint: string,\n fields: string,\n values: string,\n first: number,\n max: number,\n order: OrderState,\n callback: (data: T) => void,\n ) {\n const orderType: string = order.orderAsc ? '' : 'Desc';\n const orderConst: string = order.order ? '>>' + order.order + orderType : '';\n const fieldsComplete = fields + orderConst;\n this.get<T>(\n endPoint +\n '?fields=' +\n encodeURI(fieldsComplete) +\n '&values=' +\n encodeURI(values) +\n '&first=' +\n first +\n '&max=' +\n max,\n (data: T) => {\n callback(data);\n },\n );\n }\n\n countBy(endPoint: string, fields: string, values: string, callback: (data: { count: number }) => void) {\n return this.get<{ count: number }>(\n endPoint + '?fields=' + encodeURI(fields) + '&values=' + values,\n (data: { count: number }) => {\n callback(data);\n },\n );\n }\n\n createOrUpdate<T extends ApiDto>(endPoint: string, data: T, callback: (data: T) => void, toast?: string) {\n if (this.blocked()) {\n return;\n }\n this.blocked.set(true);\n if (data.id !== null && data.id !== undefined && data.id !== '' && Number(data.id) > 0) {\n this.put<T>(\n '/' + endPoint + '/',\n data,\n (dateReturn: T) => {\n toast &&\n this.toastService.showToast({\n text: toast ?? 'UPDATE_OK',\n type: 'success',\n closeAll: true,\n });\n callback(dateReturn);\n this.blocked.set(false);\n },\n () => {\n this.blocked.set(false);\n },\n );\n } else {\n this.post<T>(\n '/' + endPoint + '/',\n data,\n (dateReturn: T) => {\n toast && this.toastService.showToast({ text: toast ?? 'CREATION_OK', type: 'success' });\n callback(dateReturn);\n this.blocked.set(false);\n },\n false,\n () => {\n this.blocked.set(false);\n },\n );\n }\n }\n\n doSubscribe<T>(\n url: string,\n data: JSONObject | '',\n observable: Observable<T>,\n callback: (data: T) => void,\n callbackError: () => void = () => {},\n ) {\n this.nbLoaded.update((loaded) => loaded + 1);\n observable.subscribe({\n next: (res) => {\n this.nbLoaded.update((loaded) => loaded - 1);\n this.info(url, data, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.nbLoaded.update((loaded) => loaded - 1);\n this.error(url, data, error);\n callbackError();\n },\n });\n }\n\n info(url: string, body: JSONObject | '', data: JSONObject | null = null) {\n if (this.platformService.isPlatformBrowser()) {\n console.log(url, body, data);\n }\n }\n\n error(url: string, body: JSONObject | '', error: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.error(url, body, error);\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ng-vagabond-lab-ng-dsv-api.mjs","names":[],"sources":["../../../projects/ng-dsv/api/service/api-resource.service.ts","../../../projects/ng-dsv/api/service/api.service.ts"],"sourcesContent":["import { httpResource } from '@angular/common/http';\nimport { Injectable, ResourceRef, signal } from '@angular/core';\nimport { OrderState } from '../public-api';\n\nexport interface ApiFindBy {\n endPoint?: string;\n fields?: string;\n values?: string;\n first?: number;\n max?: number;\n order?: OrderState;\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiResourceService<T> {\n readonly url = signal<string | undefined>(undefined);\n\n readonly resource: ResourceRef<T | undefined> = httpResource(() => ({\n url: `${this.url()}`,\n method: 'GET',\n headers: {\n 'Content-Type': 'application/json',\n },\n params: {},\n reportProgress: true,\n transferCache: true,\n keepalive: true,\n mode: 'same-origin',\n redirect: 'error',\n priority: 'high',\n cache: 'force-cache',\n credentials: 'include',\n referrer: 'no-referrer',\n integrity: 'sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GhEXAMPLEKEY=',\n }));\n\n constructor() {}\n}\n","import { HttpClient } from '@angular/common/http';\nimport { inject, Injectable, signal } from '@angular/core';\nimport { ToastService } from '@ng-vagabond-lab/ng-dsv/ds/toast';\nimport { EnvironmentService } from '@ng-vagabond-lab/ng-dsv/environment';\nimport { PlatformService } from '@ng-vagabond-lab/ng-dsv/platform';\nimport { Observable } from 'rxjs';\nimport { ApiDto, ID, JSONObject, OrderState } from '../dto/api.dto';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class ApiService {\n readonly httpClient = inject(HttpClient);\n readonly toastService = inject(ToastService);\n readonly platformService = inject(PlatformService);\n readonly environmentService = inject(EnvironmentService);\n\n readonly baseUrl = signal<string>('/api');\n readonly nbLoaded = signal<number>(0);\n readonly blocked = signal<boolean>(false);\n\n get<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, '', this.httpClient.get<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n post<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n withCredentials: boolean = false,\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n data as JSONObject,\n this.httpClient.post<TResponse>(this.baseUrl() + url, data, { withCredentials }),\n callback,\n callbackError,\n );\n }\n\n put<TBody, TResponse = TBody>(\n url: string,\n data: TBody,\n callback: (data: TResponse) => void = () => {},\n callbackError: () => void = () => {},\n ) {\n this.doSubscribe(\n url,\n data as JSONObject,\n this.httpClient.put<TResponse>(this.baseUrl() + url, data),\n callback,\n callbackError,\n );\n }\n\n delete<T>(url: string, callback: (data: T) => void, callbackError: () => void = () => {}) {\n this.doSubscribe(url, '', this.httpClient.delete<T>(this.baseUrl() + url), callback, callbackError);\n }\n\n findById<T>(endPoint: string, id: ID, callback: (data: T) => void) {\n this.get<T>(endPoint + '/' + id, callback);\n }\n\n findBy<T>(\n endPoint: string,\n fields: string,\n values: string,\n first: number,\n max: number,\n order: OrderState,\n callback: (data: T) => void,\n ) {\n const orderType: string = order.orderAsc ? '' : 'Desc';\n const orderConst: string = order.order ? '>>' + order.order + orderType : '';\n const fieldsComplete = fields + orderConst;\n this.get<T>(\n endPoint +\n '?fields=' +\n encodeURI(fieldsComplete) +\n '&values=' +\n encodeURI(values) +\n '&first=' +\n first +\n '&max=' +\n max,\n (data: T) => {\n callback(data);\n },\n );\n }\n\n countBy(endPoint: string, fields: string, values: string, callback: (data: { count: number }) => void) {\n return this.get<{ count: number }>(\n endPoint + '?fields=' + encodeURI(fields) + '&values=' + values,\n (data: { count: number }) => {\n callback(data);\n },\n );\n }\n\n createOrUpdate<T extends ApiDto>(endPoint: string, data: T, callback: (data: T) => void, toast?: string) {\n if (this.blocked()) {\n return;\n }\n this.blocked.set(true);\n if (data.id !== null && data.id !== undefined && data.id !== '' && Number(data.id) > 0) {\n this.put<T>(\n '/' + endPoint + '/',\n data,\n (dateReturn: T) => {\n toast &&\n this.toastService.showToast({\n text: toast ?? 'UPDATE_OK',\n type: 'success',\n closeAll: true,\n });\n callback(dateReturn);\n this.blocked.set(false);\n },\n () => {\n this.blocked.set(false);\n },\n );\n } else {\n this.post<T>(\n '/' + endPoint + '/',\n data,\n (dateReturn: T) => {\n toast && this.toastService.showToast({ text: toast ?? 'CREATION_OK', type: 'success' });\n callback(dateReturn);\n this.blocked.set(false);\n },\n false,\n () => {\n this.blocked.set(false);\n },\n );\n }\n }\n\n doSubscribe<T>(\n url: string,\n data: JSONObject | '',\n observable: Observable<T>,\n callback: (data: T) => void,\n callbackError: () => void = () => {},\n ) {\n this.nbLoaded.update((loaded) => loaded + 1);\n observable.subscribe({\n next: (res) => {\n this.nbLoaded.update((loaded) => loaded - 1);\n this.info(url, data, res as JSONObject);\n callback(res);\n },\n error: (error: JSONObject) => {\n this.nbLoaded.update((loaded) => loaded - 1);\n this.error(url, data, error);\n callbackError();\n },\n });\n }\n\n info(url: string, body: JSONObject | '', data: JSONObject | null = null) {\n if (this.platformService.isPlatformBrowser()) {\n console.log(url, body, data);\n }\n }\n\n error(url: string, body: JSONObject | '', error: JSONObject) {\n if (this.platformService.isPlatformBrowser()) {\n console.error(url, body, error);\n }\n }\n}\n"],"mappings":"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"}
|