http-request-manager 15.0.11 → 15.0.16
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/esm2022/lib/http-request-manager.module.mjs +6 -6
- package/esm2022/lib/http-request-services-demo/http-request-services-demo.component.mjs +3 -3
- package/esm2022/lib/http-request-services-demo/local-storage-demo/local-storage-demo.component.mjs +1 -3
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.mjs +80 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.mjs +42 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.mjs +88 -0
- package/esm2022/lib/http-request-services-demo/request-manager-demo/file-downloader/models/download-labels-model.mjs +11 -0
- package/esm2022/lib/{file-downloader-action → http-request-services-demo/request-manager-demo/file-downloader}/spinner/spinner.component.mjs +1 -1
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-client-info.mjs +2 -2
- package/esm2022/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.mjs +8 -4
- package/esm2022/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.mjs +85 -46
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.mjs +38 -36
- package/esm2022/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.mjs +1 -9
- package/esm2022/lib/interceptors/request-error.interceptor.mjs +2 -2
- package/esm2022/lib/services/local-storage-manager-service/local-storage-manager.service.mjs +12 -10
- package/esm2022/lib/services/local-storage-manager-service/models/setting-options.model.mjs +2 -2
- package/esm2022/lib/services/request-manager-services/http-manager.service.mjs +26 -20
- package/esm2022/lib/services/request-manager-services/request.service.mjs +26 -38
- package/esm2022/lib/services/request-manager-services/rxjs-operators/request-streaming.mjs +1 -1
- package/esm2022/lib/services/request-manager-state-service/http-manager-state.store.mjs +2 -1
- package/esm2022/lib/services/request-manager-state-service/models/api-request.model.mjs +4 -4
- package/esm2022/lib/services/utils/object-merger.service.mjs +39 -23
- package/esm2022/lib/services/utils/utils.service.mjs +1 -1
- package/fesm2022/http-request-manager.mjs +310 -256
- package/fesm2022/http-request-manager.mjs.map +1 -1
- package/http-request-manager-15.0.16.tgz +0 -0
- package/lib/http-request-manager.module.d.ts +2 -2
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/download-file/download-file.component.d.ts +26 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-download.module.d.ts +13 -0
- package/lib/http-request-services-demo/request-manager-demo/file-downloader/file-downloader.component.d.ts +27 -0
- package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts +7 -3
- package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts +19 -10
- package/lib/http-request-services-demo/request-manager-state-demo/request-manager-state-demo.component.d.ts +16 -4
- package/lib/http-request-services-demo/request-manager-state-demo/services/state-manager-demo.service.d.ts +0 -1
- package/lib/services/local-storage-manager-service/local-storage-manager.service.d.ts +3 -3
- package/lib/services/request-manager-services/http-manager.service.d.ts +3 -3
- package/lib/services/request-manager-services/request.service.d.ts +0 -1
- package/lib/services/request-manager-state-service/models/api-request.model.d.ts +5 -3
- package/lib/services/utils/object-merger.service.d.ts +8 -3
- package/package.json +1 -1
- package/esm2022/lib/file-downloader-action/download-action/download-action.component.mjs +0 -79
- package/esm2022/lib/file-downloader-action/file-download-action.component.mjs +0 -78
- package/esm2022/lib/file-downloader-action/file-download-action.module.mjs +0 -42
- package/esm2022/lib/file-downloader-action/models/download-labels-model.mjs +0 -11
- package/http-request-manager-15.0.11.tgz +0 -0
- package/lib/file-downloader-action/download-action/download-action.component.d.ts +0 -26
- package/lib/file-downloader-action/file-download-action.component.d.ts +0 -22
- package/lib/file-downloader-action/file-download-action.module.d.ts +0 -13
- /package/lib/{file-downloader-action → http-request-services-demo/request-manager-demo/file-downloader}/models/download-labels-model.d.ts +0 -0
- /package/lib/{file-downloader-action → http-request-services-demo/request-manager-demo/file-downloader}/spinner/spinner.component.d.ts +0 -0
|
Binary file
|
|
@@ -24,10 +24,10 @@ import * as i20 from "@angular/material/input";
|
|
|
24
24
|
import * as i21 from "@angular/material/toolbar";
|
|
25
25
|
import * as i22 from "@ngx-translate/core";
|
|
26
26
|
import * as i23 from "@angular/material/sidenav";
|
|
27
|
-
import * as i24 from "./file-downloader
|
|
27
|
+
import * as i24 from "./http-request-services-demo/request-manager-demo/file-downloader/file-download.module";
|
|
28
28
|
export declare class HttpRequestManagerModule {
|
|
29
29
|
static forRoot(config?: ConfigOptions): ModuleWithProviders<HttpRequestManagerModule>;
|
|
30
30
|
static ɵfac: i0.ɵɵFactoryDeclaration<HttpRequestManagerModule, never>;
|
|
31
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<HttpRequestManagerModule, [typeof i1.HttpRequestServicesDemoComponent, typeof i2.RequestManagerStateDemoComponent, typeof i3.RequestManagerDemoComponent, typeof i4.LocalStorageDemoComponent], [typeof i5.CommonModule, typeof i6.ToastMessageDisplayModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.MatButtonModule, typeof i9.MatSelectModule, typeof i10.MatChipsModule, typeof i11.MatMenuModule, typeof i12.MatIconModule, typeof i13.MatTableModule, typeof i14.MatButtonToggleModule, typeof i15.MatAutocompleteModule, typeof i16.MatProgressBarModule, typeof i17.MatSlideToggleModule, typeof i18.MatDividerModule, typeof i19.MatFormFieldModule, typeof i20.MatInputModule, typeof i21.MatToolbarModule, typeof i17.MatSlideToggleModule, typeof i22.TranslateModule, typeof i23.MatSidenavModule, typeof i24.
|
|
31
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<HttpRequestManagerModule, [typeof i1.HttpRequestServicesDemoComponent, typeof i2.RequestManagerStateDemoComponent, typeof i3.RequestManagerDemoComponent, typeof i4.LocalStorageDemoComponent], [typeof i5.CommonModule, typeof i6.ToastMessageDisplayModule, typeof i7.FormsModule, typeof i7.ReactiveFormsModule, typeof i8.MatButtonModule, typeof i9.MatSelectModule, typeof i10.MatChipsModule, typeof i11.MatMenuModule, typeof i12.MatIconModule, typeof i13.MatTableModule, typeof i14.MatButtonToggleModule, typeof i15.MatAutocompleteModule, typeof i16.MatProgressBarModule, typeof i17.MatSlideToggleModule, typeof i18.MatDividerModule, typeof i19.MatFormFieldModule, typeof i20.MatInputModule, typeof i21.MatToolbarModule, typeof i17.MatSlideToggleModule, typeof i22.TranslateModule, typeof i23.MatSidenavModule, typeof i24.FileDownloaderModule], [typeof i1.HttpRequestServicesDemoComponent]>;
|
|
32
32
|
static ɵinj: i0.ɵɵInjectorDeclaration<HttpRequestManagerModule>;
|
|
33
33
|
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { ProgressSpinnerMode } from '@angular/material/progress-spinner';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class DownloadFileComponent implements OnInit {
|
|
5
|
+
private subscriptions;
|
|
6
|
+
event?: Function;
|
|
7
|
+
displayError: number;
|
|
8
|
+
diameter: number;
|
|
9
|
+
mode: ProgressSpinnerMode;
|
|
10
|
+
isPending: boolean;
|
|
11
|
+
active: boolean;
|
|
12
|
+
disabled: boolean;
|
|
13
|
+
error: EventEmitter<void>;
|
|
14
|
+
private _progress;
|
|
15
|
+
set progress(value: any);
|
|
16
|
+
get progress(): any;
|
|
17
|
+
private _hasError;
|
|
18
|
+
private errorTimerActive;
|
|
19
|
+
set hasError(value: boolean | any);
|
|
20
|
+
get hasError(): boolean | any;
|
|
21
|
+
ngOnInit(): void;
|
|
22
|
+
onAction(): void;
|
|
23
|
+
ngOnDestroy(): void;
|
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DownloadFileComponent, never>;
|
|
25
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<DownloadFileComponent, "app-download-file", never, { "event": { "alias": "event"; "required": false; }; "displayError": { "alias": "displayError"; "required": false; }; "diameter": { "alias": "diameter"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "isPending": { "alias": "isPending"; "required": false; }; "active": { "alias": "active"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "progress": { "alias": "progress"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; }, { "error": "error"; }, never, never, false, never>;
|
|
26
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./spinner/spinner.component";
|
|
3
|
+
import * as i2 from "./download-file/download-file.component";
|
|
4
|
+
import * as i3 from "./file-downloader.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
6
|
+
import * as i5 from "@angular/material/icon";
|
|
7
|
+
import * as i6 from "@angular/material/progress-spinner";
|
|
8
|
+
import * as i7 from "@angular/material/button";
|
|
9
|
+
export declare class FileDownloaderModule {
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileDownloaderModule, never>;
|
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<FileDownloaderModule, [typeof i1.SpinnerComponent, typeof i2.DownloadFileComponent, typeof i3.FileDownloaderComponent], [typeof i4.CommonModule, typeof i5.MatIconModule, typeof i6.MatProgressSpinnerModule, typeof i7.MatButtonModule], [typeof i3.FileDownloaderComponent]>;
|
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<FileDownloaderModule>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { DownloadLabels } from './models/download-labels-model';
|
|
3
|
+
import { HTTPManagerService } from '../../../services/request-manager-services';
|
|
4
|
+
import { ApiRequest } from '../../../services';
|
|
5
|
+
import { Subscription } from 'rxjs';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
export declare class FileDownloaderComponent extends HTTPManagerService<any> implements OnInit {
|
|
8
|
+
delayError: number;
|
|
9
|
+
apiRequest: ApiRequest;
|
|
10
|
+
displayErrorMessage: boolean;
|
|
11
|
+
saveFileAs?: string;
|
|
12
|
+
_labels: import("./models/download-labels-model").DownloadLabelsInterface;
|
|
13
|
+
set labels(value: DownloadLabels);
|
|
14
|
+
active: boolean;
|
|
15
|
+
subscription: Subscription;
|
|
16
|
+
get labels(): DownloadLabels;
|
|
17
|
+
completed: EventEmitter<void>;
|
|
18
|
+
failed: EventEmitter<string>;
|
|
19
|
+
disabled: boolean;
|
|
20
|
+
constructor();
|
|
21
|
+
ngOnInit(): void;
|
|
22
|
+
onDownloadStreaming(): Subscription | undefined;
|
|
23
|
+
onError(message: string): void;
|
|
24
|
+
OnDestroy(): void;
|
|
25
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<FileDownloaderComponent, never>;
|
|
26
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<FileDownloaderComponent, "app-file-downloader", never, { "delayError": { "alias": "delayError"; "required": false; }; "apiRequest": { "alias": "apiRequest"; "required": false; }; "displayErrorMessage": { "alias": "displayErrorMessage"; "required": false; }; "saveFileAs": { "alias": "saveFileAs"; "required": false; }; "labels": { "alias": "labels"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "completed": "completed"; "failed": "failed"; }, never, never, false, never>;
|
|
27
|
+
}
|
package/lib/http-request-services-demo/request-manager-demo/models/sample-mapper-client-info.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
export interface ClientInfoMapperInterface {
|
|
2
2
|
id: number;
|
|
3
|
-
|
|
3
|
+
first_name: string;
|
|
4
|
+
last_name: string;
|
|
5
|
+
email: string;
|
|
4
6
|
}
|
|
5
7
|
export declare class ClientInfoMapper implements ClientInfoMapperInterface {
|
|
6
8
|
id: number;
|
|
7
|
-
|
|
8
|
-
|
|
9
|
+
first_name: string;
|
|
10
|
+
last_name: string;
|
|
11
|
+
email: string;
|
|
12
|
+
constructor(id?: number, first_name?: string, last_name?: string, email?: string);
|
|
9
13
|
static adapt(item?: any): ClientInfoMapper;
|
|
10
14
|
}
|
package/lib/http-request-services-demo/request-manager-demo/request-manager-demo.component.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { OnInit } from '@angular/core';
|
|
2
2
|
import { BehaviorSubject, Observable } from 'rxjs';
|
|
3
|
-
import { FormArray } from '@angular/forms';
|
|
3
|
+
import { FormArray, FormControl } from '@angular/forms';
|
|
4
4
|
import { ClientInfo } from './models/sample-client-info';
|
|
5
5
|
import { ClientInfoMapper } from './models/sample-mapper-client-info';
|
|
6
6
|
import { AIPrompt } from './models/sample-ai-prompt';
|
|
@@ -34,7 +34,7 @@ export declare class RequestManagerDemoComponent implements OnInit {
|
|
|
34
34
|
};
|
|
35
35
|
failedState: any;
|
|
36
36
|
pollingState: any;
|
|
37
|
-
questionControl:
|
|
37
|
+
questionControl: FormControl<string | null>;
|
|
38
38
|
downloadRequest: ApiRequest;
|
|
39
39
|
sampleClientData: {
|
|
40
40
|
id: number;
|
|
@@ -47,17 +47,20 @@ export declare class RequestManagerDemoComponent implements OnInit {
|
|
|
47
47
|
modified: number;
|
|
48
48
|
icon: string;
|
|
49
49
|
imageFile: string;
|
|
50
|
+
email: string;
|
|
50
51
|
};
|
|
51
52
|
requestForm: import("@angular/forms").FormGroup<{
|
|
52
|
-
path:
|
|
53
|
-
headers: FormArray<
|
|
54
|
-
adapter:
|
|
53
|
+
path: FormControl<string | null>;
|
|
54
|
+
headers: FormArray<FormControl<unknown>>;
|
|
55
|
+
adapter: FormControl<null>;
|
|
56
|
+
mapper: FormControl<null>;
|
|
55
57
|
retry: import("@angular/forms").FormGroup<{
|
|
56
|
-
times:
|
|
57
|
-
delay:
|
|
58
|
+
times: FormControl<number | null>;
|
|
59
|
+
delay: FormControl<number | null>;
|
|
58
60
|
}>;
|
|
59
|
-
polling:
|
|
61
|
+
polling: FormControl<number | null>;
|
|
60
62
|
}>;
|
|
63
|
+
AIType: number;
|
|
61
64
|
sampleAdaptors: ({
|
|
62
65
|
label: string;
|
|
63
66
|
value: typeof ClientInfo.adapt;
|
|
@@ -78,12 +81,17 @@ export declare class RequestManagerDemoComponent implements OnInit {
|
|
|
78
81
|
} | undefined;
|
|
79
82
|
get headers(): FormArray;
|
|
80
83
|
get isValid(): boolean;
|
|
84
|
+
hasId: (arr: any[]) => boolean;
|
|
85
|
+
props: (adapter: any) => any;
|
|
81
86
|
arrayObjectsToObjects: (arr: any[]) => any;
|
|
82
87
|
constructor();
|
|
83
88
|
ngOnInit(): void;
|
|
84
89
|
addHeader(): void;
|
|
85
90
|
removeHeader(index: number): void;
|
|
86
|
-
compileRequest():
|
|
91
|
+
compileRequest(): {
|
|
92
|
+
apiOptions: ApiRequest;
|
|
93
|
+
path: string[];
|
|
94
|
+
};
|
|
87
95
|
onGetRequest(): void;
|
|
88
96
|
onCreateRequest(): void;
|
|
89
97
|
onUpdateRequest(): void;
|
|
@@ -91,8 +99,9 @@ export declare class RequestManagerDemoComponent implements OnInit {
|
|
|
91
99
|
onStreamPostRequest(): void;
|
|
92
100
|
onStreamRequest(): void;
|
|
93
101
|
onDownloadCompleted(): void;
|
|
94
|
-
onDownloadFailed(err:
|
|
102
|
+
onDownloadFailed(err: string): void;
|
|
95
103
|
errorHandling(err: any, type: string): void;
|
|
104
|
+
onSelectAIType(type: number): void;
|
|
96
105
|
static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerDemoComponent, never>;
|
|
97
106
|
static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerDemoComponent, "app-request-manager-demo", never, {}, {}, never, never, false, never>;
|
|
98
107
|
}
|
|
@@ -21,19 +21,26 @@ export declare class RequestManagerStateDemoComponent implements OnInit {
|
|
|
21
21
|
PUT_error$: BehaviorSubject<string>;
|
|
22
22
|
DELETE_error$: BehaviorSubject<string>;
|
|
23
23
|
STREAM_error$: BehaviorSubject<string>;
|
|
24
|
+
STREAM_AI_error$: BehaviorSubject<string>;
|
|
24
25
|
GET$: BehaviorSubject<any>;
|
|
25
26
|
POST$: BehaviorSubject<null>;
|
|
26
27
|
PUT$: BehaviorSubject<null>;
|
|
27
28
|
DELETE$: BehaviorSubject<null>;
|
|
28
29
|
STREAM: BehaviorSubject<null>;
|
|
29
30
|
STREAM$: Observable<null>;
|
|
30
|
-
STREAM_AI: BehaviorSubject<
|
|
31
|
+
STREAM_AI: BehaviorSubject<{
|
|
32
|
+
response: string;
|
|
33
|
+
}[]>;
|
|
31
34
|
STREAM_AI$: Observable<any>;
|
|
32
35
|
failedState: any;
|
|
33
36
|
pollingState: any;
|
|
34
37
|
questionControl: import("@angular/forms").FormControl<string | null>;
|
|
35
38
|
requestType: string;
|
|
36
|
-
|
|
39
|
+
prompts: string[];
|
|
40
|
+
AIType: number;
|
|
41
|
+
get dataObservable$(): BehaviorSubject<any> | BehaviorSubject<null> | BehaviorSubject<{
|
|
42
|
+
response: string;
|
|
43
|
+
}[]>;
|
|
37
44
|
sampleClientData: {
|
|
38
45
|
id: number;
|
|
39
46
|
name: string;
|
|
@@ -90,11 +97,15 @@ export declare class RequestManagerStateDemoComponent implements OnInit {
|
|
|
90
97
|
get headers(): FormArray;
|
|
91
98
|
get isValid(): boolean;
|
|
92
99
|
arrayObjectsToObjects: (arr: any[]) => any;
|
|
100
|
+
props: (adapter: any) => any;
|
|
93
101
|
constructor();
|
|
94
102
|
ngOnInit(): void;
|
|
95
103
|
addHeader(): void;
|
|
96
104
|
removeHeader(index: number): void;
|
|
97
|
-
compileRequest():
|
|
105
|
+
compileRequest(): {
|
|
106
|
+
apiOptions: ApiRequest;
|
|
107
|
+
path: string[];
|
|
108
|
+
};
|
|
98
109
|
onSetStateOptions(): void;
|
|
99
110
|
onClearRecords(): void;
|
|
100
111
|
onRefreshRecords(): void;
|
|
@@ -102,9 +113,10 @@ export declare class RequestManagerStateDemoComponent implements OnInit {
|
|
|
102
113
|
onCreateRequest(): void;
|
|
103
114
|
onUpdateRequest(): void;
|
|
104
115
|
onDeleteRequest(): void;
|
|
105
|
-
onStreamPostRequest(): void;
|
|
106
116
|
onStreamRequest(): void;
|
|
107
117
|
errorHandling(err: any, type: string): void;
|
|
118
|
+
onSelectAIType(type: number): void;
|
|
119
|
+
onClearHistory(): void;
|
|
108
120
|
static ɵfac: i0.ɵɵFactoryDeclaration<RequestManagerStateDemoComponent, never>;
|
|
109
121
|
static ɵcmp: i0.ɵɵComponentDeclaration<RequestManagerStateDemoComponent, "app-request-manager-state-demo", never, {}, {}, never, never, false, never>;
|
|
110
122
|
}
|
|
@@ -10,7 +10,6 @@ export declare class StateManagerDemoService extends HTTPManagerStateService<any
|
|
|
10
10
|
updateClient(data: ClientInfo): void;
|
|
11
11
|
deleteClient(data: ClientInfo): void;
|
|
12
12
|
streamRequest(): void;
|
|
13
|
-
streamAIRequest(data: any): void;
|
|
14
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<StateManagerDemoService, never>;
|
|
15
14
|
static ɵprov: i0.ɵɵInjectableDeclaration<StateManagerDemoService>;
|
|
16
15
|
}
|
|
@@ -16,7 +16,7 @@ export interface State {
|
|
|
16
16
|
settings: StorageOption[];
|
|
17
17
|
}
|
|
18
18
|
export declare class LocalStorageManagerService extends ComponentStore<State> implements OnDestroy {
|
|
19
|
-
private
|
|
19
|
+
private configOptions?;
|
|
20
20
|
storageName: string;
|
|
21
21
|
storageSettingsName: string;
|
|
22
22
|
defaultOptions: SettingOptions;
|
|
@@ -36,7 +36,7 @@ export declare class LocalStorageManagerService extends ComponentStore<State> im
|
|
|
36
36
|
persistence$: import("rxjs").Subscription;
|
|
37
37
|
startTimer(): void;
|
|
38
38
|
private updateState;
|
|
39
|
-
constructor(
|
|
39
|
+
constructor(configOptions?: ConfigOptions | undefined);
|
|
40
40
|
readonly setStore: (observableOrValue: {
|
|
41
41
|
id: string;
|
|
42
42
|
name: string;
|
|
@@ -81,6 +81,6 @@ export declare class LocalStorageManagerService extends ComponentStore<State> im
|
|
|
81
81
|
private validStoreName;
|
|
82
82
|
private hasGlobalStorage;
|
|
83
83
|
ngOnDestroy(): void;
|
|
84
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageManagerService,
|
|
84
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<LocalStorageManagerService, [{ optional: true; }]>;
|
|
85
85
|
static ɵprov: i0.ɵɵInjectableDeclaration<LocalStorageManagerService>;
|
|
86
86
|
}
|
|
@@ -2,9 +2,9 @@ import { Injector } from '@angular/core';
|
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { ApiRequest } from '../request-manager-state-service/models/api-request.model';
|
|
4
4
|
import { RequestService } from './request.service';
|
|
5
|
+
import { ToastMessageDisplayService } from 'toast-message-display';
|
|
5
6
|
import { ConfigOptions } from '../../models';
|
|
6
7
|
import { ObjectMergerService } from '../utils/object-merger.service';
|
|
7
|
-
import { ToastMessageDisplayService } from 'toast-message-display';
|
|
8
8
|
import * as i0 from "@angular/core";
|
|
9
9
|
export declare class HTTPManagerService<T> extends RequestService {
|
|
10
10
|
private configOptions?;
|
|
@@ -18,7 +18,7 @@ export declare class HTTPManagerService<T> extends RequestService {
|
|
|
18
18
|
private data;
|
|
19
19
|
data$: Observable<any>;
|
|
20
20
|
private polling$;
|
|
21
|
-
config:
|
|
21
|
+
config: ApiRequest;
|
|
22
22
|
constructor(configOptions?: ConfigOptions | undefined);
|
|
23
23
|
getRequest<T>(options?: ApiRequest, params?: any[]): Observable<T>;
|
|
24
24
|
postRequest<T extends {
|
|
@@ -28,7 +28,7 @@ export declare class HTTPManagerService<T> extends RequestService {
|
|
|
28
28
|
id?: number | string;
|
|
29
29
|
}>(data: T, options: ApiRequest, params?: any[]): Observable<T>;
|
|
30
30
|
deleteRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
|
|
31
|
-
downloadRequest<T>(options: ApiRequest, params?: any[]): Observable<T>;
|
|
31
|
+
downloadRequest<T>(options: ApiRequest, params?: any[], saveAs?: string): Observable<T>;
|
|
32
32
|
private createObservable;
|
|
33
33
|
private createRequest;
|
|
34
34
|
private prepareRequestData;
|
|
@@ -6,9 +6,10 @@ export interface ApiRequestInterface {
|
|
|
6
6
|
adapter?: any;
|
|
7
7
|
mapper?: any;
|
|
8
8
|
polling?: number;
|
|
9
|
-
retry
|
|
9
|
+
retry?: RetryOptions;
|
|
10
10
|
stream?: boolean;
|
|
11
11
|
displayError: boolean;
|
|
12
|
+
saveAs?: string;
|
|
12
13
|
}
|
|
13
14
|
export declare class ApiRequest implements ApiRequestInterface {
|
|
14
15
|
server: string;
|
|
@@ -17,9 +18,10 @@ export declare class ApiRequest implements ApiRequestInterface {
|
|
|
17
18
|
adapter?: any;
|
|
18
19
|
mapper?: any;
|
|
19
20
|
polling?: number | undefined;
|
|
20
|
-
retry
|
|
21
|
+
retry?: RetryOptions | undefined;
|
|
21
22
|
stream: boolean;
|
|
22
23
|
displayError: boolean;
|
|
23
|
-
|
|
24
|
+
saveAs?: string | undefined;
|
|
25
|
+
constructor(server?: string, path?: any[], headers?: {}, adapter?: any, mapper?: any, polling?: number | undefined, retry?: RetryOptions | undefined, stream?: boolean, displayError?: boolean, saveAs?: string | undefined);
|
|
24
26
|
static adapt(item?: any): ApiRequest;
|
|
25
27
|
}
|
|
@@ -1,7 +1,12 @@
|
|
|
1
|
+
import { ApiRequest } from '../request-manager-state-service/models';
|
|
2
|
+
import { SettingOptions } from '../local-storage-manager-service';
|
|
3
|
+
import { ConfigOptions } from '../request-manager-services';
|
|
1
4
|
import * as i0 from "@angular/core";
|
|
2
5
|
export declare class ObjectMergerService {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
+
private configOptions?;
|
|
7
|
+
constructor(configOptions?: ConfigOptions | undefined);
|
|
8
|
+
mergeOptions(options?: ApiRequest): ApiRequest;
|
|
9
|
+
mergeStorageOptions(options?: SettingOptions): SettingOptions;
|
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<ObjectMergerService, [{ optional: true; }]>;
|
|
6
11
|
static ɵprov: i0.ɵɵInjectableDeclaration<ObjectMergerService>;
|
|
7
12
|
}
|
package/package.json
CHANGED
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { Subscription, timer } from 'rxjs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "@angular/common";
|
|
5
|
-
import * as i2 from "@angular/material/icon";
|
|
6
|
-
import * as i3 from "@angular/material/progress-spinner";
|
|
7
|
-
import * as i4 from "@angular/material/button";
|
|
8
|
-
export class DownloaderActionComponent {
|
|
9
|
-
constructor() {
|
|
10
|
-
this.subscriptions = new Subscription();
|
|
11
|
-
this.displayError = 3; // seconds
|
|
12
|
-
this.diameter = 32;
|
|
13
|
-
this.mode = 'determinate';
|
|
14
|
-
this.isPending = false;
|
|
15
|
-
this.active = false;
|
|
16
|
-
this.disabled = false;
|
|
17
|
-
this.error = new EventEmitter();
|
|
18
|
-
this._progress = 0;
|
|
19
|
-
this._hasError = false;
|
|
20
|
-
this.errorTimerActive = false;
|
|
21
|
-
}
|
|
22
|
-
set progress(value) {
|
|
23
|
-
this._progress = value ?? 0;
|
|
24
|
-
}
|
|
25
|
-
get progress() {
|
|
26
|
-
return this._progress;
|
|
27
|
-
}
|
|
28
|
-
set hasError(value) {
|
|
29
|
-
this._hasError = !!value;
|
|
30
|
-
if (this._hasError && !this.errorTimerActive) {
|
|
31
|
-
this.errorTimerActive = true;
|
|
32
|
-
this.error.emit();
|
|
33
|
-
this.subscriptions.add(timer(this.displayError * 1000)
|
|
34
|
-
.subscribe((err) => {
|
|
35
|
-
this._hasError = false;
|
|
36
|
-
this.errorTimerActive = false;
|
|
37
|
-
}));
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
get hasError() {
|
|
41
|
-
return this._hasError;
|
|
42
|
-
}
|
|
43
|
-
ngOnInit() { }
|
|
44
|
-
onAction() {
|
|
45
|
-
this.isPending = false;
|
|
46
|
-
if (this.event)
|
|
47
|
-
this.event();
|
|
48
|
-
}
|
|
49
|
-
ngOnDestroy() {
|
|
50
|
-
this.subscriptions.unsubscribe();
|
|
51
|
-
}
|
|
52
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloaderActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
53
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: DownloaderActionComponent, selector: "app-downloader-action", inputs: { event: "event", displayError: "displayError", diameter: "diameter", mode: "mode", isPending: "isPending", active: "active", disabled: "disabled", progress: "progress", hasError: "hasError" }, outputs: { error: "error" }, ngImport: i0, template: "<ng-container *ngIf=\"!isPending; else DOWNLOADING\">\n <ng-container *ngIf=\"hasError; else NORMAL\">\n <div class=\"width center-txt\" style=\"margin-bottom: 4px;\">\n <mat-icon color=\"warn\" class=\"warn-icon\">warning</mat-icon>\n </div>\n </ng-container>\n <ng-template #NORMAL>\n <ng-container *ngIf=\"active; else ACTION\">\n\n <div class=\"container-obj\">\n <div class=\"centered-obj-div\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n </div>\n\n </ng-container>\n <ng-template #ACTION>\n <button data-tracking=\"export-btn\" mat-icon-button (click)=\"onAction()\" class=\"icon-button\" [disabled]=\"disabled\">\n <mat-icon class=\"custom-icon\">file_download</mat-icon>\n </button>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-template #DOWNLOADING>\n <div\n class=\"spinner-container\"\n *ngIf=\"(progress > 0 && progress < 100); else INDETERMINATE\"\n >\n <div class=\"spinner-background\">\n {{progress}}%\n </div>\n <mat-progress-spinner\n color=\"primary\"\n [mode]=\"mode\"\n [value]=\"progress\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n <ng-template #INDETERMINATE>\n <div class=\"container-obj\">\n <div class=\"centered-obj-div\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n </div>\n </ng-template>\n\n</ng-template>\n\n\n\n\n", styles: [":not(spinner-container).spinner-container{position:relative}:not(spinner-container).spinner-container .spinner-background{position:absolute;width:44px;height:44px;font-size:12px;line-height:32px;text-align:center;overflow:hidden;border-radius:50%;border:solid 5px whitesmoke}.center-txt{align-content:center;text-align:-webkit-center}.width{width:48px;height:48px}.icon-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0}.container-obj{display:flex;justify-content:center;align-items:center;width:48px;height:48px}.centered-obj-div{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatProgressSpinner, selector: "mat-progress-spinner, mat-spinner", inputs: ["color", "mode", "value", "diameter", "strokeWidth"], exportAs: ["matProgressSpinner"] }, { kind: "component", type: i4.MatIconButton, selector: "button[mat-icon-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
54
|
-
}
|
|
55
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: DownloaderActionComponent, decorators: [{
|
|
56
|
-
type: Component,
|
|
57
|
-
args: [{ selector: 'app-downloader-action', encapsulation: ViewEncapsulation.None, template: "<ng-container *ngIf=\"!isPending; else DOWNLOADING\">\n <ng-container *ngIf=\"hasError; else NORMAL\">\n <div class=\"width center-txt\" style=\"margin-bottom: 4px;\">\n <mat-icon color=\"warn\" class=\"warn-icon\">warning</mat-icon>\n </div>\n </ng-container>\n <ng-template #NORMAL>\n <ng-container *ngIf=\"active; else ACTION\">\n\n <div class=\"container-obj\">\n <div class=\"centered-obj-div\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n </div>\n\n </ng-container>\n <ng-template #ACTION>\n <button data-tracking=\"export-btn\" mat-icon-button (click)=\"onAction()\" class=\"icon-button\" [disabled]=\"disabled\">\n <mat-icon class=\"custom-icon\">file_download</mat-icon>\n </button>\n </ng-template>\n </ng-template>\n</ng-container>\n\n<ng-template #DOWNLOADING>\n <div\n class=\"spinner-container\"\n *ngIf=\"(progress > 0 && progress < 100); else INDETERMINATE\"\n >\n <div class=\"spinner-background\">\n {{progress}}%\n </div>\n <mat-progress-spinner\n color=\"primary\"\n [mode]=\"mode\"\n [value]=\"progress\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n <ng-template #INDETERMINATE>\n <div class=\"container-obj\">\n <div class=\"centered-obj-div\">\n <mat-progress-spinner\n color=\"primary\"\n mode=\"indeterminate\"\n [diameter]=\"44\"\n ></mat-progress-spinner>\n </div>\n </div>\n </ng-template>\n\n</ng-template>\n\n\n\n\n", styles: [":not(spinner-container).spinner-container{position:relative}:not(spinner-container).spinner-container .spinner-background{position:absolute;width:44px;height:44px;font-size:12px;line-height:32px;text-align:center;overflow:hidden;border-radius:50%;border:solid 5px whitesmoke}.center-txt{align-content:center;text-align:-webkit-center}.width{width:48px;height:48px}.icon-button{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0}.container-obj{display:flex;justify-content:center;align-items:center;width:48px;height:48px}.centered-obj-div{text-align:center}\n"] }]
|
|
58
|
-
}], propDecorators: { event: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], displayError: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], diameter: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], mode: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}], isPending: [{
|
|
67
|
-
type: Input
|
|
68
|
-
}], active: [{
|
|
69
|
-
type: Input
|
|
70
|
-
}], disabled: [{
|
|
71
|
-
type: Input
|
|
72
|
-
}], error: [{
|
|
73
|
-
type: Output
|
|
74
|
-
}], progress: [{
|
|
75
|
-
type: Input
|
|
76
|
-
}], hasError: [{
|
|
77
|
-
type: Input
|
|
78
|
-
}] } });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtYWN0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvZmlsZS1kb3dubG9hZGVyLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24vZG93bmxvYWQtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvZmlsZS1kb3dubG9hZGVyLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24vZG93bmxvYWQtYWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBVSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbEcsT0FBTyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7OztBQVEzQyxNQUFNLE9BQU8seUJBQXlCO0lBTnRDO1FBUVUsa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBRSxDQUFDO1FBR2xDLGlCQUFZLEdBQUcsQ0FBQyxDQUFDLENBQUMsVUFBVTtRQUM1QixhQUFRLEdBQUcsRUFBRSxDQUFDO1FBQ2QsU0FBSSxHQUF3QixhQUFhLENBQUM7UUFDMUMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUVsQixXQUFNLEdBQUcsS0FBSyxDQUFDO1FBQ2YsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUVoQixVQUFLLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQztRQUVuQyxjQUFTLEdBQUcsQ0FBQyxDQUFDO1FBU2QsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixxQkFBZ0IsR0FBRyxLQUFLLENBQUM7S0FrQ2xDO0lBM0NDLElBQWEsUUFBUSxDQUFDLEtBQVU7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDeEIsQ0FBQztJQUtELElBQWEsUUFBUSxDQUFDLEtBQW9CO1FBRXhDLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUV6QixJQUFJLElBQUksQ0FBQyxTQUFTLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7WUFDNUMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksRUFBRSxDQUFBO1lBQ2pCLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUNwQixLQUFLLENBQUMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7aUJBQzlCLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztnQkFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEtBQUssQ0FBQztZQUNoQyxDQUFDLENBQUMsQ0FDSCxDQUFDO1NBQ0g7SUFFSCxDQUFDO0lBRUQsSUFBSSxRQUFRO1FBQ1YsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFFRCxRQUFRLEtBQUksQ0FBQztJQUViLFFBQVE7UUFDTixJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQTtRQUN0QixJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFBO0lBQzlCLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxXQUFXLEVBQUUsQ0FBQTtJQUNsQyxDQUFDOytHQTFEVSx5QkFBeUI7bUdBQXpCLHlCQUF5QixvU0NWdEMsdW5EQTREQTs7NEZEbERhLHlCQUF5QjtrQkFOckMsU0FBUzsrQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7OEJBTTVCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBRUcsTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBRUksS0FBSztzQkFBZCxNQUFNO2dCQUdNLFFBQVE7c0JBQXBCLEtBQUs7Z0JBV08sUUFBUTtzQkFBcEIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBQcm9ncmVzc1NwaW5uZXJNb2RlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcHJvZ3Jlc3Mtc3Bpbm5lcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sIHRpbWVyIH0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1kb3dubG9hZGVyLWFjdGlvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgRG93bmxvYWRlckFjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb25zID0gbmV3IFN1YnNjcmlwdGlvbigpO1xuXG4gIEBJbnB1dCgpIGV2ZW50PzogRnVuY3Rpb247XG4gIEBJbnB1dCgpIGRpc3BsYXlFcnJvciA9IDM7IC8vIHNlY29uZHNcbiAgQElucHV0KCkgZGlhbWV0ZXIgPSAzMjtcbiAgQElucHV0KCkgbW9kZTogUHJvZ3Jlc3NTcGlubmVyTW9kZSA9ICdkZXRlcm1pbmF0ZSc7XG4gIEBJbnB1dCgpIGlzUGVuZGluZyA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIGFjdGl2ZSA9IGZhbHNlO1xuICBASW5wdXQoKSBkaXNhYmxlZCA9IGZhbHNlO1xuXG4gIEBPdXRwdXQoKSBlcnJvciA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBwcml2YXRlIF9wcm9ncmVzcyA9IDA7XG4gIEBJbnB1dCgpIHNldCBwcm9ncmVzcyh2YWx1ZTogYW55KSB7XG4gICAgdGhpcy5fcHJvZ3Jlc3MgPSB2YWx1ZSA/PyAwO1xuICB9XG5cbiAgZ2V0IHByb2dyZXNzKCkge1xuICAgIHJldHVybiB0aGlzLl9wcm9ncmVzcztcbiAgfVxuXG4gIHByaXZhdGUgX2hhc0Vycm9yID0gZmFsc2U7XG4gIHByaXZhdGUgZXJyb3JUaW1lckFjdGl2ZSA9IGZhbHNlO1xuXG4gIEBJbnB1dCgpIHNldCBoYXNFcnJvcih2YWx1ZTogYm9vbGVhbiB8IGFueSkge1xuXG4gICAgdGhpcy5faGFzRXJyb3IgPSAhIXZhbHVlO1xuXG4gICAgaWYgKHRoaXMuX2hhc0Vycm9yICYmICF0aGlzLmVycm9yVGltZXJBY3RpdmUpIHtcbiAgICAgIHRoaXMuZXJyb3JUaW1lckFjdGl2ZSA9IHRydWU7XG4gICAgICB0aGlzLmVycm9yLmVtaXQoKVxuICAgICAgdGhpcy5zdWJzY3JpcHRpb25zLmFkZChcbiAgICAgICAgdGltZXIodGhpcy5kaXNwbGF5RXJyb3IgKiAxMDAwKVxuICAgICAgICAuc3Vic2NyaWJlKChlcnIpID0+IHtcbiAgICAgICAgICB0aGlzLl9oYXNFcnJvciA9IGZhbHNlO1xuICAgICAgICAgIHRoaXMuZXJyb3JUaW1lckFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG5cbiAgfVxuXG4gIGdldCBoYXNFcnJvcigpIHtcbiAgICByZXR1cm4gdGhpcy5faGFzRXJyb3I7XG4gIH1cblxuICBuZ09uSW5pdCgpIHt9XG5cbiAgb25BY3Rpb24oKSB7XG4gICAgdGhpcy5pc1BlbmRpbmcgPSBmYWxzZVxuICAgIGlmICh0aGlzLmV2ZW50KSB0aGlzLmV2ZW50KClcbiAgfVxuXG4gIG5nT25EZXN0cm95KCkge1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy51bnN1YnNjcmliZSgpXG4gIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCIhaXNQZW5kaW5nOyBlbHNlIERPV05MT0FESU5HXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoYXNFcnJvcjsgZWxzZSBOT1JNQUxcIj5cbiAgICA8ZGl2IGNsYXNzPVwid2lkdGggY2VudGVyLXR4dFwiIHN0eWxlPVwibWFyZ2luLWJvdHRvbTogNHB4O1wiPlxuICAgICAgPG1hdC1pY29uIGNvbG9yPVwid2FyblwiIGNsYXNzPVwid2Fybi1pY29uXCI+d2FybmluZzwvbWF0LWljb24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuICA8bmctdGVtcGxhdGUgI05PUk1BTD5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYWN0aXZlOyBlbHNlIEFDVElPTlwiPlxuXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLW9ialwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2VudGVyZWQtb2JqLWRpdlwiPlxuICAgICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgICAgICAgIG1vZGU9XCJpbmRldGVybWluYXRlXCJcbiAgICAgICAgICAgIFtkaWFtZXRlcl09XCI0NFwiXG4gICAgICAgICAgPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy10ZW1wbGF0ZSAjQUNUSU9OPlxuICAgIDxidXR0b24gZGF0YS10cmFja2luZz1cImV4cG9ydC1idG5cIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIm9uQWN0aW9uKClcIiBjbGFzcz1cImljb24tYnV0dG9uXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCI+XG4gICAgICA8bWF0LWljb24gY2xhc3M9XCJjdXN0b20taWNvblwiPmZpbGVfZG93bmxvYWQ8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L25nLXRlbXBsYXRlPlxuICA8L25nLXRlbXBsYXRlPlxuPC9uZy1jb250YWluZXI+XG5cbjxuZy10ZW1wbGF0ZSAjRE9XTkxPQURJTkc+XG4gIDxkaXZcbiAgICBjbGFzcz1cInNwaW5uZXItY29udGFpbmVyXCJcbiAgICAqbmdJZj1cIihwcm9ncmVzcyA+IDAgJiYgcHJvZ3Jlc3MgPCAxMDApOyBlbHNlIElOREVURVJNSU5BVEVcIlxuICA+XG4gICAgPGRpdiBjbGFzcz1cInNwaW5uZXItYmFja2dyb3VuZFwiPlxuICAgICAge3twcm9ncmVzc319JVxuICAgIDwvZGl2PlxuICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgY29sb3I9XCJwcmltYXJ5XCJcbiAgICAgIFttb2RlXT1cIm1vZGVcIlxuICAgICAgW3ZhbHVlXT1cInByb2dyZXNzXCJcbiAgICAgIFtkaWFtZXRlcl09XCI0NFwiXG4gICAgPjwvbWF0LXByb2dyZXNzLXNwaW5uZXI+XG4gIDwvZGl2PlxuICA8bmctdGVtcGxhdGUgI0lOREVURVJNSU5BVEU+XG4gICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lci1vYmpcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJjZW50ZXJlZC1vYmotZGl2XCI+XG4gICAgICAgIDxtYXQtcHJvZ3Jlc3Mtc3Bpbm5lclxuICAgICAgICAgIGNvbG9yPVwicHJpbWFyeVwiXG4gICAgICAgICAgbW9kZT1cImluZGV0ZXJtaW5hdGVcIlxuICAgICAgICAgIFtkaWFtZXRlcl09XCI0NFwiXG4gICAgICAgID48L21hdC1wcm9ncmVzcy1zcGlubmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG5cbjwvbmctdGVtcGxhdGU+XG5cblxuXG5cbiJdfQ==
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewEncapsulation } from '@angular/core';
|
|
2
|
-
import { catchError, distinctUntilChanged } from 'rxjs/operators';
|
|
3
|
-
import { DownloadLabels } from './models/download-labels-model';
|
|
4
|
-
import { ToastDisplay, ToastColors } from 'toast-message-display';
|
|
5
|
-
import { HTTPManagerService } from '../services/request-manager-services';
|
|
6
|
-
import { ApiRequest } from '../services/request-manager-state-service';
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "./download-action/download-action.component";
|
|
9
|
-
import * as i2 from "@angular/common";
|
|
10
|
-
export class FileDownloadActionComponent extends HTTPManagerService {
|
|
11
|
-
set labels(value) {
|
|
12
|
-
this._labels = (value) ? DownloadLabels.adapt(value) : DownloadLabels.adapt();
|
|
13
|
-
}
|
|
14
|
-
get labels() {
|
|
15
|
-
return this._labels;
|
|
16
|
-
}
|
|
17
|
-
constructor() {
|
|
18
|
-
super();
|
|
19
|
-
this.delayError = 3;
|
|
20
|
-
this.apiRequest = ApiRequest.adapt();
|
|
21
|
-
this.displayErrorMessage = false;
|
|
22
|
-
this._labels = DownloadLabels.adapt();
|
|
23
|
-
this.active = false;
|
|
24
|
-
this.completed = new EventEmitter();
|
|
25
|
-
this.disabled = false;
|
|
26
|
-
}
|
|
27
|
-
ngOnInit() {
|
|
28
|
-
this.error$.subscribe((err) => {
|
|
29
|
-
console.log('err', err);
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
onDownloadStreaming() {
|
|
33
|
-
if (this.active)
|
|
34
|
-
return;
|
|
35
|
-
this.active = true;
|
|
36
|
-
return this.downloadRequest(this.apiRequest)
|
|
37
|
-
.pipe(distinctUntilChanged(), catchError((err) => {
|
|
38
|
-
this.onError(err.message);
|
|
39
|
-
return err;
|
|
40
|
-
})).subscribe((res) => {
|
|
41
|
-
if (res === 100) {
|
|
42
|
-
this.active = false;
|
|
43
|
-
this.completed.emit();
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
onError(message) {
|
|
48
|
-
if (!message || !this.displayErrorMessage)
|
|
49
|
-
return;
|
|
50
|
-
const display = ToastDisplay.adapt({
|
|
51
|
-
message,
|
|
52
|
-
action: 'Ok',
|
|
53
|
-
color: ToastColors.ERROR,
|
|
54
|
-
icon: 'error',
|
|
55
|
-
});
|
|
56
|
-
this.active = false;
|
|
57
|
-
this.toastMessage.toastMessage(display);
|
|
58
|
-
}
|
|
59
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloadActionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
60
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: FileDownloadActionComponent, selector: "app-file-downloader-action", inputs: { delayError: "delayError", apiRequest: "apiRequest", displayErrorMessage: "displayErrorMessage", labels: "labels", disabled: "disabled" }, outputs: { completed: "completed" }, usesInheritance: true, ngImport: i0, template: "<app-downloader-action\n [disabled]=\"disabled\"\n [displayError]=\"3\"\n [event]=\"onDownloadStreaming.bind(this)\"\n [isPending]=\"(isPending$ | async) || false\"\n [progress]=\"(progress$ | async)\"\n [hasError]=\"(error$ | async)\"\n (error)=\"onError(labels.error)\"\n [active]=\"active\"\n></app-downloader-action>\n", styles: [".snackBarInfo{background-color:#f44336;color:#fff}.mat-simple-snackbar>span{font-weight:700}.mat-simple-snackbar-action .mat-button .mat-button-wrapper{color:#fff}.cdk-overlay-pane>.mat-snack-bar-container{width:100%}.mat-snack-bar-container{max-width:100%!important;width:100%}\n"], dependencies: [{ kind: "component", type: i1.DownloaderActionComponent, selector: "app-downloader-action", inputs: ["event", "displayError", "diameter", "mode", "isPending", "active", "disabled", "progress", "hasError"], outputs: ["error"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
61
|
-
}
|
|
62
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloadActionComponent, decorators: [{
|
|
63
|
-
type: Component,
|
|
64
|
-
args: [{ selector: 'app-file-downloader-action', encapsulation: ViewEncapsulation.None, template: "<app-downloader-action\n [disabled]=\"disabled\"\n [displayError]=\"3\"\n [event]=\"onDownloadStreaming.bind(this)\"\n [isPending]=\"(isPending$ | async) || false\"\n [progress]=\"(progress$ | async)\"\n [hasError]=\"(error$ | async)\"\n (error)=\"onError(labels.error)\"\n [active]=\"active\"\n></app-downloader-action>\n", styles: [".snackBarInfo{background-color:#f44336;color:#fff}.mat-simple-snackbar>span{font-weight:700}.mat-simple-snackbar-action .mat-button .mat-button-wrapper{color:#fff}.cdk-overlay-pane>.mat-snack-bar-container{width:100%}.mat-snack-bar-container{max-width:100%!important;width:100%}\n"] }]
|
|
65
|
-
}], ctorParameters: function () { return []; }, propDecorators: { delayError: [{
|
|
66
|
-
type: Input
|
|
67
|
-
}], apiRequest: [{
|
|
68
|
-
type: Input
|
|
69
|
-
}], displayErrorMessage: [{
|
|
70
|
-
type: Input
|
|
71
|
-
}], labels: [{
|
|
72
|
-
type: Input
|
|
73
|
-
}], completed: [{
|
|
74
|
-
type: Output
|
|
75
|
-
}], disabled: [{
|
|
76
|
-
type: Input
|
|
77
|
-
}] } });
|
|
78
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9maWxlLWRvd25sb2FkZXItYWN0aW9uL2ZpbGUtZG93bmxvYWQtYWN0aW9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2h0dHAtcmVxdWVzdC1tYW5hZ2VyL3NyYy9saWIvZmlsZS1kb3dubG9hZGVyLWFjdGlvbi9maWxlLWRvd25sb2FkLWFjdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2xHLE9BQU8sRUFBRSxVQUFVLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUdsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUMxRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sMkNBQTJDLENBQUM7Ozs7QUFRdkUsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGtCQUF1QjtJQU90RSxJQUFhLE1BQU0sQ0FBQyxLQUFxQjtRQUN2QyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLGNBQWMsQ0FBQyxLQUFLLEVBQUUsQ0FBQTtJQUMvRSxDQUFDO0lBSUQsSUFBSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFBO0lBQ3JCLENBQUM7SUFNRDtRQUNFLEtBQUssRUFBRSxDQUFBO1FBcEJBLGVBQVUsR0FBRyxDQUFDLENBQUE7UUFDZCxlQUFVLEdBQWUsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFBO1FBQzNDLHdCQUFtQixHQUFHLEtBQUssQ0FBQTtRQUVwQyxZQUFPLEdBQUcsY0FBYyxDQUFDLEtBQUssRUFBRSxDQUFBO1FBS2hDLFdBQU0sR0FBRyxLQUFLLENBQUE7UUFNSixjQUFTLEdBQUcsSUFBSSxZQUFZLEVBQVEsQ0FBQTtRQUVyQyxhQUFRLEdBQUcsS0FBSyxDQUFBO0lBSXpCLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRTtZQUM1QixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUN6QixDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxtQkFBbUI7UUFFakIsSUFBRyxJQUFJLENBQUMsTUFBTTtZQUFFLE9BQU07UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUE7UUFFbEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDM0MsSUFBSSxDQUNILG9CQUFvQixFQUFFLEVBQ3RCLFVBQVUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ2pCLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1lBQ3pCLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQyxDQUFDLENBQ0gsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUV2QixJQUFHLEdBQUcsS0FBSyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUE7Z0JBQ25CLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUE7YUFDdEI7UUFFSCxDQUFDLENBQUMsQ0FBQTtJQUVKLENBQUM7SUFFRCxPQUFPLENBQUMsT0FBZTtRQUVyQixJQUFHLENBQUMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLG1CQUFtQjtZQUFFLE9BQU07UUFFaEQsTUFBTSxPQUFPLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQztZQUNqQyxPQUFPO1lBQ1AsTUFBTSxFQUFFLElBQUk7WUFDWixLQUFLLEVBQUUsV0FBVyxDQUFDLEtBQUs7WUFDeEIsSUFBSSxFQUFFLE9BQU87U0FDZCxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQTtRQUVuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUUxQyxDQUFDOytHQXJFVSwyQkFBMkI7bUdBQTNCLDJCQUEyQixrUkNmeEMsNFVBVUE7OzRGREthLDJCQUEyQjtrQkFOdkMsU0FBUzsrQkFDRSw0QkFBNEIsaUJBR3ZCLGlCQUFpQixDQUFDLElBQUk7MEVBSTVCLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBR08sTUFBTTtzQkFBbEIsS0FBSztnQkFVSSxTQUFTO3NCQUFsQixNQUFNO2dCQUVFLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3RW5jYXBzdWxhdGlvbiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGlzdGluY3RVbnRpbENoYW5nZWQgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cblxuaW1wb3J0IHsgRG93bmxvYWRMYWJlbHMgfSBmcm9tICcuL21vZGVscy9kb3dubG9hZC1sYWJlbHMtbW9kZWwnO1xuaW1wb3J0IHsgVG9hc3REaXNwbGF5LCBUb2FzdENvbG9ycyB9IGZyb20gJ3RvYXN0LW1lc3NhZ2UtZGlzcGxheSc7XG5pbXBvcnQgeyBIVFRQTWFuYWdlclNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9yZXF1ZXN0LW1hbmFnZXItc2VydmljZXMnO1xuaW1wb3J0IHsgQXBpUmVxdWVzdCB9IGZyb20gJy4uL3NlcnZpY2VzL3JlcXVlc3QtbWFuYWdlci1zdGF0ZS1zZXJ2aWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLWZpbGUtZG93bmxvYWRlci1hY3Rpb24nLFxuICB0ZW1wbGF0ZVVybDogJy4vZmlsZS1kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9maWxlLWRvd25sb2FkLWFjdGlvbi5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBGaWxlRG93bmxvYWRBY3Rpb25Db21wb25lbnQgZXh0ZW5kcyBIVFRQTWFuYWdlclNlcnZpY2U8YW55PiBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgQElucHV0KCkgZGVsYXlFcnJvciA9IDNcbiAgQElucHV0KCkgYXBpUmVxdWVzdDogQXBpUmVxdWVzdCA9IEFwaVJlcXVlc3QuYWRhcHQoKVxuICBASW5wdXQoKSBkaXNwbGF5RXJyb3JNZXNzYWdlID0gZmFsc2VcblxuICBfbGFiZWxzID0gRG93bmxvYWRMYWJlbHMuYWRhcHQoKVxuICBASW5wdXQoKSBzZXQgbGFiZWxzKHZhbHVlOiBEb3dubG9hZExhYmVscykge1xuICAgIHRoaXMuX2xhYmVscyA9ICh2YWx1ZSkgPyBEb3dubG9hZExhYmVscy5hZGFwdCh2YWx1ZSkgOiBEb3dubG9hZExhYmVscy5hZGFwdCgpXG4gIH1cblxuICBhY3RpdmUgPSBmYWxzZVxuXG4gIGdldCBsYWJlbHMoKSB7XG4gICAgcmV0dXJuIHRoaXMuX2xhYmVsc1xuICB9XG5cbiAgQE91dHB1dCgpIGNvbXBsZXRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKVxuXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2VcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBzdXBlcigpXG4gIH1cblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmVycm9yJC5zdWJzY3JpYmUoKGVycikgPT4ge1xuICAgICAgY29uc29sZS5sb2coJ2VycicsIGVycilcbiAgICB9KVxuICB9XG5cbiAgb25Eb3dubG9hZFN0cmVhbWluZygpIHtcblxuICAgIGlmKHRoaXMuYWN0aXZlKSByZXR1cm5cbiAgICB0aGlzLmFjdGl2ZSA9IHRydWVcblxuICAgIHJldHVybiB0aGlzLmRvd25sb2FkUmVxdWVzdCh0aGlzLmFwaVJlcXVlc3QpXG4gICAgLnBpcGUoXG4gICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpLFxuICAgICAgY2F0Y2hFcnJvcigoZXJyKSA9PiB7XG4gICAgICAgIHRoaXMub25FcnJvcihlcnIubWVzc2FnZSlcbiAgICAgICAgcmV0dXJuIGVyclxuICAgICAgfSlcbiAgICApLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcblxuICAgICAgaWYocmVzID09PSAxMDApIHtcbiAgICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZVxuICAgICAgICB0aGlzLmNvbXBsZXRlZC5lbWl0KClcbiAgICAgIH1cblxuICAgIH0pXG5cbiAgfVxuXG4gIG9uRXJyb3IobWVzc2FnZTogc3RyaW5nKSB7XG5cbiAgICBpZighbWVzc2FnZSB8fCAhdGhpcy5kaXNwbGF5RXJyb3JNZXNzYWdlKSByZXR1cm5cblxuICAgIGNvbnN0IGRpc3BsYXkgPSBUb2FzdERpc3BsYXkuYWRhcHQoe1xuICAgICAgbWVzc2FnZSxcbiAgICAgIGFjdGlvbjogJ09rJyxcbiAgICAgIGNvbG9yOiBUb2FzdENvbG9ycy5FUlJPUixcbiAgICAgIGljb246ICdlcnJvcicsXG4gICAgfSk7XG5cbiAgICB0aGlzLmFjdGl2ZSA9IGZhbHNlXG5cbiAgICB0aGlzLnRvYXN0TWVzc2FnZS50b2FzdE1lc3NhZ2UoZGlzcGxheSk7XG5cbiAgfVxuXG59XG4iLCI8YXBwLWRvd25sb2FkZXItYWN0aW9uXG4gIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gIFtkaXNwbGF5RXJyb3JdPVwiM1wiXG4gIFtldmVudF09XCJvbkRvd25sb2FkU3RyZWFtaW5nLmJpbmQodGhpcylcIlxuICBbaXNQZW5kaW5nXT1cIihpc1BlbmRpbmckIHwgYXN5bmMpIHx8IGZhbHNlXCJcbiAgW3Byb2dyZXNzXT1cIihwcm9ncmVzcyQgfCBhc3luYylcIlxuICBbaGFzRXJyb3JdPVwiKGVycm9yJCB8IGFzeW5jKVwiXG4gIChlcnJvcik9XCJvbkVycm9yKGxhYmVscy5lcnJvcilcIlxuICBbYWN0aXZlXT1cImFjdGl2ZVwiXG4+PC9hcHAtZG93bmxvYWRlci1hY3Rpb24+XG4iXX0=
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { NgModule } from '@angular/core';
|
|
2
|
-
import { CommonModule } from '@angular/common';
|
|
3
|
-
import { SpinnerComponent } from './spinner/spinner.component';
|
|
4
|
-
import { MatIconModule } from '@angular/material/icon';
|
|
5
|
-
import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
|
|
6
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
7
|
-
import { DownloaderActionComponent } from './download-action/download-action.component';
|
|
8
|
-
import { FileDownloadActionComponent } from './file-download-action.component';
|
|
9
|
-
import * as i0 from "@angular/core";
|
|
10
|
-
export class FileDownloaderActionModule {
|
|
11
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloaderActionModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
12
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.2.12", ngImport: i0, type: FileDownloaderActionModule, declarations: [SpinnerComponent,
|
|
13
|
-
DownloaderActionComponent,
|
|
14
|
-
FileDownloadActionComponent], imports: [CommonModule,
|
|
15
|
-
MatIconModule,
|
|
16
|
-
MatProgressSpinnerModule,
|
|
17
|
-
MatButtonModule], exports: [FileDownloadActionComponent] }); }
|
|
18
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloaderActionModule, imports: [CommonModule,
|
|
19
|
-
MatIconModule,
|
|
20
|
-
MatProgressSpinnerModule,
|
|
21
|
-
MatButtonModule] }); }
|
|
22
|
-
}
|
|
23
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: FileDownloaderActionModule, decorators: [{
|
|
24
|
-
type: NgModule,
|
|
25
|
-
args: [{
|
|
26
|
-
imports: [
|
|
27
|
-
CommonModule,
|
|
28
|
-
MatIconModule,
|
|
29
|
-
MatProgressSpinnerModule,
|
|
30
|
-
MatButtonModule,
|
|
31
|
-
],
|
|
32
|
-
declarations: [
|
|
33
|
-
SpinnerComponent,
|
|
34
|
-
DownloaderActionComponent,
|
|
35
|
-
FileDownloadActionComponent,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
FileDownloadActionComponent
|
|
39
|
-
]
|
|
40
|
-
}]
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1kb3dubG9hZC1hY3Rpb24ubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9maWxlLWRvd25sb2FkZXItYWN0aW9uL2ZpbGUtZG93bmxvYWQtYWN0aW9uLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUvQyxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDOUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBRTNELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZDQUE2QyxDQUFDO0FBQ3hGLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOztBQW1CL0UsTUFBTSxPQUFPLDBCQUEwQjsrR0FBMUIsMEJBQTBCO2dIQUExQiwwQkFBMEIsaUJBUm5DLGdCQUFnQjtZQUNoQix5QkFBeUI7WUFDekIsMkJBQTJCLGFBUjNCLFlBQVk7WUFDWixhQUFhO1lBQ2Isd0JBQXdCO1lBQ3hCLGVBQWUsYUFRZiwyQkFBMkI7Z0hBR2xCLDBCQUEwQixZQWRuQyxZQUFZO1lBQ1osYUFBYTtZQUNiLHdCQUF3QjtZQUN4QixlQUFlOzs0RkFXTiwwQkFBMEI7a0JBaEJ0QyxRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxZQUFZO3dCQUNaLGFBQWE7d0JBQ2Isd0JBQXdCO3dCQUN4QixlQUFlO3FCQUNoQjtvQkFDRCxZQUFZLEVBQUU7d0JBQ1osZ0JBQWdCO3dCQUNoQix5QkFBeUI7d0JBQ3pCLDJCQUEyQjtxQkFDNUI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLDJCQUEyQjtxQkFDNUI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcblxuaW1wb3J0IHsgU3Bpbm5lckNvbXBvbmVudCB9IGZyb20gJy4vc3Bpbm5lci9zcGlubmVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNYXRJY29uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvaWNvbic7XG5pbXBvcnQgeyBNYXRQcm9ncmVzc1NwaW5uZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9wcm9ncmVzcy1zcGlubmVyJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IERvd25sb2FkZXJBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuL2Rvd25sb2FkLWFjdGlvbi9kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IEZpbGVEb3dubG9hZEFjdGlvbkNvbXBvbmVudCB9IGZyb20gJy4vZmlsZS1kb3dubG9hZC1hY3Rpb24uY29tcG9uZW50JztcblxuXG5ATmdNb2R1bGUoe1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0UHJvZ3Jlc3NTcGlubmVyTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU3Bpbm5lckNvbXBvbmVudCxcbiAgICBEb3dubG9hZGVyQWN0aW9uQ29tcG9uZW50LFxuICAgIEZpbGVEb3dubG9hZEFjdGlvbkNvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIEZpbGVEb3dubG9hZEFjdGlvbkNvbXBvbmVudFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIEZpbGVEb3dubG9hZGVyQWN0aW9uTW9kdWxlIHsgfVxuIl19
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export class DownloadLabels {
|
|
2
|
-
constructor(error = '', action = '', icon = 'error') {
|
|
3
|
-
this.error = error;
|
|
4
|
-
this.action = action;
|
|
5
|
-
this.icon = icon;
|
|
6
|
-
}
|
|
7
|
-
static adapt(item) {
|
|
8
|
-
return new DownloadLabels(item?.error, item?.action, item?.icon);
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG93bmxvYWQtbGFiZWxzLW1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaHR0cC1yZXF1ZXN0LW1hbmFnZXIvc3JjL2xpYi9maWxlLWRvd25sb2FkZXItYWN0aW9uL21vZGVscy9kb3dubG9hZC1sYWJlbHMtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsTUFBTSxPQUFPLGNBQWM7SUFDekIsWUFDUyxRQUFRLEVBQUUsRUFDVixTQUFTLEVBQUUsRUFDWCxPQUFPLE9BQU87UUFGZCxVQUFLLEdBQUwsS0FBSyxDQUFLO1FBQ1YsV0FBTSxHQUFOLE1BQU0sQ0FBSztRQUNYLFNBQUksR0FBSixJQUFJLENBQVU7SUFDcEIsQ0FBQztJQUVMLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBVTtRQUNwQixPQUFPLElBQUksY0FBYyxDQUN2QixJQUFJLEVBQUUsS0FBSyxFQUNYLElBQUksRUFBRSxNQUFNLEVBQ1osSUFBSSxFQUFFLElBQUksQ0FDWCxDQUFBO0lBRUgsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBEb3dubG9hZExhYmVsc0ludGVyZmFjZSB7XG4gIGVycm9yOiBzdHJpbmc7XG4gIGFjdGlvbjogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBjbGFzcyBEb3dubG9hZExhYmVscyBpbXBsZW1lbnRzIERvd25sb2FkTGFiZWxzSW50ZXJmYWNlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGVycm9yID0gJycsXG4gICAgcHVibGljIGFjdGlvbiA9ICcnLFxuICAgIHB1YmxpYyBpY29uID0gJ2Vycm9yJyxcbiAgKSB7fVxuXG4gc3RhdGljIGFkYXB0KGl0ZW0/OiBhbnkpOiBEb3dubG9hZExhYmVsc0ludGVyZmFjZSB7XG4gICAgcmV0dXJuIG5ldyBEb3dubG9hZExhYmVscyhcbiAgICAgIGl0ZW0/LmVycm9yLFxuICAgICAgaXRlbT8uYWN0aW9uLFxuICAgICAgaXRlbT8uaWNvbixcbiAgICApXG5cbiAgfVxufVxuIl19
|
|
Binary file
|