@rolatech/angular-services 0.0.25 → 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.
Files changed (42) hide show
  1. package/esm2022/index.mjs +5 -0
  2. package/esm2022/lib/angular-services.module.mjs +23 -0
  3. package/esm2022/lib/components/dialog/dialog.component.mjs +75 -0
  4. package/esm2022/lib/directive/back-button.directive.mjs +24 -0
  5. package/esm2022/lib/directive/index.mjs +4 -0
  6. package/esm2022/lib/interceptor/index.mjs +2 -0
  7. package/esm2022/lib/interceptor/loading.interceptor.mjs +34 -0
  8. package/esm2022/lib/services/base.service.mjs +68 -0
  9. package/esm2022/lib/services/dialog.service.mjs +29 -0
  10. package/esm2022/lib/services/index.mjs +18 -0
  11. package/esm2022/lib/services/layout.service.mjs +22 -0
  12. package/esm2022/lib/services/loading.service.mjs +31 -0
  13. package/esm2022/lib/services/media.service.mjs +69 -0
  14. package/esm2022/lib/services/navigation.service.mjs +53 -0
  15. package/esm2022/lib/services/snack-bar.service.mjs +19 -0
  16. package/fesm2022/rolatech-angular-services.mjs +419 -0
  17. package/fesm2022/rolatech-angular-services.mjs.map +1 -0
  18. package/index.d.ts +2 -0
  19. package/lib/angular-services.module.d.ts +4 -2
  20. package/lib/components/dialog/dialog.component.d.ts +35 -0
  21. package/lib/directive/back-button.directive.d.ts +9 -0
  22. package/lib/directive/index.d.ts +3 -0
  23. package/lib/interceptor/index.d.ts +1 -0
  24. package/lib/interceptor/loading.interceptor.d.ts +12 -0
  25. package/lib/services/base.service.d.ts +2 -2
  26. package/lib/services/dialog.service.d.ts +13 -0
  27. package/lib/services/index.d.ts +4 -1
  28. package/lib/services/navigation.service.d.ts +15 -0
  29. package/lib/services/snack-bar.service.d.ts +9 -0
  30. package/package.json +11 -16
  31. package/esm2020/index.mjs +0 -3
  32. package/esm2020/lib/angular-services.module.mjs +0 -17
  33. package/esm2020/lib/services/base.service.mjs +0 -68
  34. package/esm2020/lib/services/index.mjs +0 -12
  35. package/esm2020/lib/services/layout.service.mjs +0 -19
  36. package/esm2020/lib/services/loading.service.mjs +0 -31
  37. package/esm2020/lib/services/media.service.mjs +0 -68
  38. package/fesm2015/rolatech-angular-services.mjs +0 -211
  39. package/fesm2015/rolatech-angular-services.mjs.map +0 -1
  40. package/fesm2020/rolatech-angular-services.mjs +0 -204
  41. package/fesm2020/rolatech-angular-services.mjs.map +0 -1
  42. /package/{esm2020 → esm2022}/rolatech-angular-services.mjs +0 -0
@@ -1,204 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { Injectable, Inject, NgModule } from '@angular/core';
3
- import { CommonModule } from '@angular/common';
4
- import * as i1 from '@angular/common/http';
5
- import * as i2 from '@rolatech/angular-common';
6
- import { APP_CONFIG } from '@rolatech/angular-common';
7
- import { map, BehaviorSubject } from 'rxjs';
8
- import * as i1$1 from '@angular/cdk/layout';
9
- import { Breakpoints } from '@angular/cdk/layout';
10
- import { map as map$1, shareReplay } from 'rxjs/operators';
11
-
12
- class BaseService {
13
- constructor(http, environment) {
14
- this.http = http;
15
- this.environment = environment;
16
- this.init();
17
- }
18
- init() {
19
- this.actionUrl = `${this.environment.baseUrl}/${this.endpoint}`;
20
- }
21
- find(options) {
22
- return this.http.get(this.actionUrl, {
23
- params: options,
24
- withCredentials: true,
25
- });
26
- }
27
- get(id, options) {
28
- return this.http.get(`${this.actionUrl}/${id}`, {
29
- params: options,
30
- withCredentials: true,
31
- });
32
- }
33
- create(item) {
34
- return this.http.post(`${this.actionUrl}`, item, {
35
- withCredentials: true,
36
- });
37
- }
38
- update(id, data) {
39
- return this.http.put(`${this.actionUrl}/${id}`, data, {
40
- withCredentials: true,
41
- });
42
- }
43
- delete(id) {
44
- return this.http.delete(`${this.actionUrl}/${id}`, {
45
- withCredentials: true,
46
- });
47
- }
48
- updateStatus(id, data) {
49
- return this.http.put(`${this.actionUrl}/${id}/status`, data, {
50
- withCredentials: true,
51
- });
52
- }
53
- search(word) {
54
- return this.http
55
- .get(`${this.actionUrl}?search=${word}`, {
56
- withCredentials: true,
57
- })
58
- .pipe(map((result) => result));
59
- }
60
- }
61
- BaseService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, deps: [{ token: i1.HttpClient }, { token: APP_CONFIG }], target: i0.ɵɵFactoryTarget.Injectable });
62
- BaseService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, providedIn: 'root' });
63
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: BaseService, decorators: [{
64
- type: Injectable,
65
- args: [{
66
- providedIn: 'root',
67
- }]
68
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.AppConfig, decorators: [{
69
- type: Inject,
70
- args: [APP_CONFIG]
71
- }] }]; } });
72
-
73
- class LoadingService {
74
- constructor() {
75
- this.loading$ = new BehaviorSubject(false);
76
- this.ratio$ = new BehaviorSubject(0);
77
- this.isLoading = false;
78
- }
79
- start() {
80
- this.loading$.next(true);
81
- }
82
- stop() {
83
- this.loading$.next(false);
84
- }
85
- async present(text) {
86
- this.isLoading = true;
87
- }
88
- async dismiss() {
89
- this.isLoading = false;
90
- }
91
- }
92
- LoadingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
93
- LoadingService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, providedIn: 'root' });
94
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LoadingService, decorators: [{
95
- type: Injectable,
96
- args: [{
97
- providedIn: 'root',
98
- }]
99
- }], ctorParameters: function () { return []; } });
100
-
101
- class MediaService extends BaseService {
102
- init() {
103
- this.endpoint = 'media';
104
- super.init();
105
- }
106
- upload(data) {
107
- return this.http
108
- .post(`${this.actionUrl}/upload`, data, {
109
- reportProgress: false,
110
- withCredentials: true,
111
- // headers: new HttpHeaders({
112
- // 'Content-Type': 'multipart/form-data',
113
- // }),
114
- })
115
- .pipe(map((result) => result));
116
- }
117
- uploadAndSave(data) {
118
- return this.http
119
- .post(`${this.actionUrl}/save`, data, {
120
- reportProgress: false,
121
- withCredentials: true,
122
- })
123
- .pipe(map((result) => result));
124
- }
125
- deleteBy(filename) {
126
- return this.http
127
- .delete(`${this.actionUrl}/${filename}`, {})
128
- .pipe(map((result) => result));
129
- }
130
- batchDelete(data) {
131
- return this.http
132
- .post(`${this.actionUrl}/batch`, data, { withCredentials: true })
133
- .pipe(map((result) => result));
134
- }
135
- moveToGroup(data) {
136
- return this.http
137
- .post(`${this.actionUrl}/move`, data, { withCredentials: true })
138
- .pipe(map((result) => result));
139
- }
140
- addGroup(data) {
141
- return this.http
142
- .post(`${this.actionUrl}/groups`, data, { withCredentials: true })
143
- .pipe(map((result) => result));
144
- }
145
- findGroup(id) {
146
- return this.http
147
- .get(`${this.actionUrl}/groups/${id}`, { withCredentials: true })
148
- .pipe(map((result) => result));
149
- }
150
- findGroups(options) {
151
- return this.http
152
- .get(`${this.actionUrl}/groups`, { withCredentials: true })
153
- .pipe(map((result) => result));
154
- }
155
- }
156
- MediaService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
157
- MediaService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, providedIn: 'root' });
158
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: MediaService, decorators: [{
159
- type: Injectable,
160
- args: [{
161
- providedIn: 'root',
162
- }]
163
- }] });
164
-
165
- class LayoutService {
166
- constructor(breakpointObserver) {
167
- this.breakpointObserver = breakpointObserver;
168
- this.isHandset$ = this.breakpointObserver
169
- .observe([Breakpoints.Small, Breakpoints.HandsetPortrait])
170
- .pipe(map$1((result) => result.matches), shareReplay());
171
- }
172
- }
173
- LayoutService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService, deps: [{ token: i1$1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
174
- LayoutService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService });
175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: LayoutService, decorators: [{
176
- type: Injectable
177
- }], ctorParameters: function () { return [{ type: i1$1.BreakpointObserver }]; } });
178
-
179
- const services = [
180
- BaseService,
181
- LoadingService,
182
- MediaService,
183
- LayoutService,
184
- ];
185
-
186
- class AngularServicesModule {
187
- }
188
- AngularServicesModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
189
- AngularServicesModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, imports: [CommonModule] });
190
- AngularServicesModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, providers: [...services], imports: [CommonModule] });
191
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.1", ngImport: i0, type: AngularServicesModule, decorators: [{
192
- type: NgModule,
193
- args: [{
194
- imports: [CommonModule],
195
- providers: [...services],
196
- }]
197
- }] });
198
-
199
- /**
200
- * Generated bundle index. Do not edit.
201
- */
202
-
203
- export { AngularServicesModule, BaseService, LayoutService, LoadingService, MediaService, services };
204
- //# sourceMappingURL=rolatech-angular-services.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rolatech-angular-services.mjs","sources":["../../../../libs/angular-services/src/lib/services/base.service.ts","../../../../libs/angular-services/src/lib/services/loading.service.ts","../../../../libs/angular-services/src/lib/services/media.service.ts","../../../../libs/angular-services/src/lib/services/layout.service.ts","../../../../libs/angular-services/src/lib/services/index.ts","../../../../libs/angular-services/src/lib/angular-services.module.ts","../../../../libs/angular-services/src/rolatech-angular-services.ts"],"sourcesContent":["import { HttpClient } from '@angular/common/http';\nimport { Inject, Injectable } from '@angular/core';\nimport { APP_CONFIG, AppConfig } from '@rolatech/angular-common';\nimport { map, Observable } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class BaseService {\n protected actionUrl!: string;\n public endpoint!: string;\n\n constructor(\n protected http: HttpClient,\n @Inject(APP_CONFIG) private environment: AppConfig\n ) {\n this.init();\n }\n init() {\n this.actionUrl = `${this.environment.baseUrl}/${this.endpoint}`;\n }\n find<T>(options?: any): Observable<T> {\n return this.http.get<T>(this.actionUrl, {\n params: options,\n withCredentials: true,\n });\n }\n get<T>(id: string, options?: any): Observable<T> {\n return this.http.get<T>(`${this.actionUrl}/${id}`, {\n params: options,\n withCredentials: true,\n });\n }\n create<T>(item: T): Observable<T> {\n return this.http.post<T>(`${this.actionUrl}`, item, {\n withCredentials: true,\n });\n }\n update<T>(id: string, data: T): Observable<T> {\n return this.http.put<T>(`${this.actionUrl}/${id}`, data, {\n withCredentials: true,\n });\n }\n delete<T>(id: string): Observable<T> {\n return this.http.delete<T>(`${this.actionUrl}/${id}`, {\n withCredentials: true,\n });\n }\n updateStatus<T>(id: string, data: T): Observable<T> {\n return this.http.put<T>(`${this.actionUrl}/${id}/status`, data, {\n withCredentials: true,\n });\n }\n search(word: string): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}?search=${word}`, {\n withCredentials: true,\n })\n .pipe(map((result) => result));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class LoadingService {\n public loading$ = new BehaviorSubject(false);\n public ratio$ = new BehaviorSubject(0);\n isLoading = false;\n\n constructor() {}\n\n start() {\n this.loading$.next(true);\n }\n\n stop() {\n this.loading$.next(false);\n }\n async present(text?: string) {\n this.isLoading = true;\n }\n\n async dismiss() {\n this.isLoading = false;\n }\n}\n","import { HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { BaseService } from './base.service';\nimport { map, Observable } from 'rxjs';\n@Injectable({\n providedIn: 'root',\n})\nexport class MediaService extends BaseService {\n override init() {\n this.endpoint = 'media';\n super.init();\n }\n upload(data: FormData): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/upload`, data, {\n reportProgress: false,\n withCredentials: true,\n // headers: new HttpHeaders({\n // 'Content-Type': 'multipart/form-data',\n // }),\n })\n .pipe(map((result) => result));\n }\n uploadAndSave(data: FormData): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/save`, data, {\n reportProgress: false,\n withCredentials: true,\n })\n .pipe(map((result) => result));\n }\n deleteBy(filename: string): Observable<any> {\n return this.http\n .delete<any>(`${this.actionUrl}/${filename}`, {})\n .pipe(map((result) => result));\n }\n batchDelete(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/batch`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n moveToGroup(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/move`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n addGroup(data: any): Observable<any> {\n return this.http\n .post<any>(`${this.actionUrl}/groups`, data, { withCredentials: true })\n .pipe(map((result) => result));\n }\n findGroup(id: string): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}/groups/${id}`, { withCredentials: true })\n .pipe(map((result) => result));\n }\n findGroups(options?: any): Observable<any> {\n return this.http\n .get<any>(`${this.actionUrl}/groups`, { withCredentials: true })\n .pipe(map((result) => result));\n }\n}\n","import { BreakpointObserver, Breakpoints } from '@angular/cdk/layout';\nimport { Injectable } from '@angular/core';\nimport { Observable } from 'rxjs';\nimport { map, shareReplay } from 'rxjs/operators';\n\n@Injectable()\nexport class LayoutService {\n isHandset$: Observable<boolean>;\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.isHandset$ = this.breakpointObserver\n .observe([Breakpoints.Small, Breakpoints.HandsetPortrait])\n .pipe(\n map((result) => result.matches),\n shareReplay()\n );\n }\n}\n","import { BaseService } from './base.service';\nimport { LoadingService } from './loading.service';\nimport { MediaService } from './media.service';\nimport { LayoutService } from './layout.service';\n\nexport { BaseService, LoadingService, MediaService, LayoutService };\n\nexport const services: any[] = [\n BaseService,\n LoadingService,\n MediaService,\n LayoutService,\n];\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport * as fromServices from './services';\n\n@NgModule({\n imports: [CommonModule],\n providers: [...fromServices.services],\n})\nexport class AngularServicesModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["map","i1","fromServices.services"],"mappings":"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"}