bpm-core 0.0.103 → 0.0.104
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/bpm-core.mjs +226 -229
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +2 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +1 -1
- package/lib/components/shared-components/form-field/shared-imports.d.ts +1 -1
- package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +1 -1
- package/lib/components/shared-components/title-section/title-section.component.d.ts +1 -1
- package/lib/pipes/currency.pipe.d.ts +1 -1
- package/lib/pipes/format-as-password.pipe.d.ts +1 -1
- package/lib/validators/string-to-boolean.pipe.d.ts +1 -1
- package/lib/validators/text.directive.d.ts +1 -1
- package/lib/validators/timer.pipe.d.ts +1 -1
- package/package.json +2 -4
- package/esm2022/bpm-core.mjs +0 -5
- package/esm2022/lib/app/app.component.mjs +0 -79
- package/esm2022/lib/classes/form-validation.mjs +0 -80
- package/esm2022/lib/classes/index.mjs +0 -2
- package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +0 -44
- package/esm2022/lib/components/app-component-sections/approvals/approvals.component.mjs +0 -23
- package/esm2022/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.mjs +0 -113
- package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +0 -25
- package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +0 -27
- package/esm2022/lib/components/app-component-sections/faqs/index.mjs +0 -2
- package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +0 -237
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +0 -255
- package/esm2022/lib/components/app-component-sections/index.mjs +0 -9
- package/esm2022/lib/components/app-component-sections/layout/header/header.component.mjs +0 -79
- package/esm2022/lib/components/app-component-sections/layout/layout.component.mjs +0 -89
- package/esm2022/lib/components/app-component-sections/layout/side-nav/side-nav.component.mjs +0 -158
- package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +0 -34
- package/esm2022/lib/components/app-component-sections/previous-requests/previous-requests.component.mjs +0 -345
- package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +0 -45
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +0 -271
- package/esm2022/lib/components/app-component-sections/status/status.component.mjs +0 -38
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +0 -164
- package/esm2022/lib/components/shared-components/action-buttons/action-buttons.component.mjs +0 -138
- package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +0 -30
- package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +0 -29
- package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +0 -67
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +0 -138
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +0 -234
- package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +0 -198
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +0 -91
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +0 -185
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +0 -131
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +0 -31
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +0 -175
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +0 -186
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +0 -525
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +0 -33
- package/esm2022/lib/components/shared-components/form-field/index.mjs +0 -26
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +0 -76
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +0 -71
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +0 -3
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +0 -2
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +0 -73
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +0 -69
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +0 -61
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +0 -74
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +0 -85
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +0 -52
- package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +0 -32
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +0 -192
- package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +0 -191
- package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +0 -36
- package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +0 -116
- package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +0 -39
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +0 -57
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +0 -90
- package/esm2022/lib/components/shared-components/form-field/validation-errors/validation-errors.component.mjs +0 -43
- package/esm2022/lib/components/shared-components/index.mjs +0 -9
- package/esm2022/lib/components/shared-components/table/table.component.mjs +0 -243
- package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +0 -31
- package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +0 -31
- package/esm2022/lib/constants/constants.mjs +0 -149
- package/esm2022/lib/constants/index.mjs +0 -2
- package/esm2022/lib/directives/ar.directive.mjs +0 -54
- package/esm2022/lib/directives/currency.directive.mjs +0 -77
- package/esm2022/lib/directives/en.directive.mjs +0 -51
- package/esm2022/lib/directives/number.directive.mjs +0 -68
- package/esm2022/lib/directives/skip-location.directive.mjs +0 -28
- package/esm2022/lib/enums/actions.enum.mjs +0 -22
- package/esm2022/lib/enums/colors.enum.mjs +0 -6
- package/esm2022/lib/enums/events.enum.mjs +0 -6
- package/esm2022/lib/functions/data-to-blob.mjs +0 -12
- package/esm2022/lib/functions/encode-password.mjs +0 -14
- package/esm2022/lib/functions/handel-error-response.mjs +0 -12
- package/esm2022/lib/functions/index.mjs +0 -5
- package/esm2022/lib/functions/is-valid-data.mjs +0 -42
- package/esm2022/lib/helpers/shared.helper.mjs +0 -26
- package/esm2022/lib/hooks/index.mjs +0 -3
- package/esm2022/lib/hooks/load-form.mjs +0 -13
- package/esm2022/lib/hooks/save-form.mjs +0 -18
- package/esm2022/lib/i18n/ar.mjs +0 -200
- package/esm2022/lib/i18n/en.mjs +0 -204
- package/esm2022/lib/i18n/index.mjs +0 -3
- package/esm2022/lib/interfaces/action.interface.mjs +0 -2
- package/esm2022/lib/interfaces/api-response.interface.mjs +0 -2
- package/esm2022/lib/interfaces/document-file.interface.mjs +0 -2
- package/esm2022/lib/interfaces/form-items.interface.mjs +0 -2
- package/esm2022/lib/interfaces/form.interface.mjs +0 -150
- package/esm2022/lib/interfaces/igate-user.interface.mjs +0 -2
- package/esm2022/lib/interfaces/index.mjs +0 -8
- package/esm2022/lib/interfaces/lov-list.interface.mjs +0 -2
- package/esm2022/lib/interfaces/lov.interface.mjs +0 -2
- package/esm2022/lib/interfaces/shared.interface.mjs +0 -2
- package/esm2022/lib/pipes/currency.pipe.mjs +0 -66
- package/esm2022/lib/pipes/format-as-password.pipe.mjs +0 -19
- package/esm2022/lib/pipes/index.mjs +0 -3
- package/esm2022/lib/pipes/status-style.pipe.mjs +0 -57
- package/esm2022/lib/pipes/translate.pipe.mjs +0 -36
- package/esm2022/lib/regex/index.mjs +0 -2
- package/esm2022/lib/regex/regex-patterns.mjs +0 -4
- package/esm2022/lib/services/action.service.ts.mjs +0 -25
- package/esm2022/lib/services/core.service.ts.mjs +0 -527
- package/esm2022/lib/services/feedBack.service.mjs +0 -81
- package/esm2022/lib/services/i18n.service.mjs +0 -36
- package/esm2022/lib/services/index.mjs +0 -6
- package/esm2022/lib/services/sidenav.service.mjs +0 -36
- package/esm2022/lib/testComponent/config/segment-dynamic-loader.config.mjs +0 -8
- package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +0 -90
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +0 -482
- package/esm2022/lib/testComponent/services/i18n.service.mjs +0 -39
- package/esm2022/lib/testComponent/services/segment-dynamic-loader.service.mjs +0 -54
- package/esm2022/lib/validators/id.validator.mjs +0 -66
- package/esm2022/lib/validators/index.mjs +0 -8
- package/esm2022/lib/validators/string-to-boolean.pipe.mjs +0 -16
- package/esm2022/lib/validators/text.directive.mjs +0 -50
- package/esm2022/lib/validators/timer.pipe.mjs +0 -19
- package/esm2022/public-api.mjs +0 -19
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { DestroyRef, EventEmitter, OnInit } from '@angular/core';
|
|
2
|
+
import { MatCheckboxChange } from "@angular/material/checkbox";
|
|
2
3
|
import { ControlValueAccessorDirective } from '../control-value-accessor.directive';
|
|
3
4
|
import { MatDialog } from '@angular/material/dialog';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
@@ -14,7 +15,7 @@ export declare class CheckBoxComponent<Type> extends ControlValueAccessorDirecti
|
|
|
14
15
|
dialog: MatDialog;
|
|
15
16
|
ngOnInit(): void;
|
|
16
17
|
openUrl(): void;
|
|
17
|
-
valueChange(event:
|
|
18
|
+
valueChange(event: MatCheckboxChange): void;
|
|
18
19
|
openTermsPopup(): void;
|
|
19
20
|
static ɵfac: i0.ɵɵFactoryDeclaration<CheckBoxComponent<any>, never>;
|
|
20
21
|
static ɵcmp: i0.ɵɵComponentDeclaration<CheckBoxComponent<any>, "app-checkbox", never, { "containTerms": { "alias": "containTerms"; "required": false; }; "termsLabel": { "alias": "termsLabel"; "required": false; }; "linkText": { "alias": "linkText"; "required": false; }; "hrefLink": { "alias": "hrefLink"; "required": false; }; "link": { "alias": "link"; "required": false; }; "termsBody": { "alias": "termsBody"; "required": false; }; }, { "downloadCheckBox": "downloadCheckBox"; }, never, never, true, never>;
|
|
@@ -59,5 +59,5 @@ export declare class ControlValueAccessorDirective<Type> implements ControlValue
|
|
|
59
59
|
registerOnTouched(fn: () => Type): void;
|
|
60
60
|
setDisabledState?(isDisabled: boolean): void;
|
|
61
61
|
static ɵfac: i0.ɵɵFactoryDeclaration<ControlValueAccessorDirective<any>, never>;
|
|
62
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<ControlValueAccessorDirective<any>, "[appControlValueAccessor]", never, { "tooltip": { "alias": "tooltip"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "showErrorMessage": { "alias": "showErrorMessage"; "required": false; }; "showHint": { "alias": "showHint"; "required": false; }; "showIfEmpty": { "alias": "showIfEmpty"; "required": false; }; "insideTable": { "alias": "insideTable"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "label": { "alias": "label"; "required": false; }; "matSuffix": { "alias": "matSuffix"; "required": false; }; "hasTooltip": { "alias": "hasTooltip"; "required": false; }; "name": { "alias": "name"; "required": false; }; "randomID": { "alias": "randomID"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "customMaxDate": { "alias": "customMaxDate"; "required": false; }; "customMinDate": { "alias": "customMinDate"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mandatory": { "alias": "mandatory"; "required": false; }; }, {}, never, never,
|
|
62
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<ControlValueAccessorDirective<any>, "[appControlValueAccessor]", never, { "tooltip": { "alias": "tooltip"; "required": false; }; "isReadOnly": { "alias": "isReadOnly"; "required": false; }; "hint": { "alias": "hint"; "required": false; }; "loading": { "alias": "loading"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "type": { "alias": "type"; "required": false; }; "showErrorMessage": { "alias": "showErrorMessage"; "required": false; }; "showHint": { "alias": "showHint"; "required": false; }; "showIfEmpty": { "alias": "showIfEmpty"; "required": false; }; "insideTable": { "alias": "insideTable"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; "label": { "alias": "label"; "required": false; }; "matSuffix": { "alias": "matSuffix"; "required": false; }; "hasTooltip": { "alias": "hasTooltip"; "required": false; }; "name": { "alias": "name"; "required": false; }; "randomID": { "alias": "randomID"; "required": false; }; "multiple": { "alias": "multiple"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "customMaxDate": { "alias": "customMaxDate"; "required": false; }; "customMinDate": { "alias": "customMinDate"; "required": false; }; "required": { "alias": "required"; "required": false; }; "mandatory": { "alias": "mandatory"; "required": false; }; }, {}, never, never, true, never>;
|
|
63
63
|
}
|
|
@@ -11,5 +11,5 @@ import { NgClass } from "@angular/common";
|
|
|
11
11
|
import { TranslatePipe } from "../../../pipes/translate.pipe";
|
|
12
12
|
export declare const MatDatePickerImports: (typeof MatDatepickerInput | typeof MatDatepickerToggle | typeof MatDatepickerModule)[];
|
|
13
13
|
export declare const MatFormImports: (typeof MatInput | typeof MatFormFieldModule | typeof MatFormField)[];
|
|
14
|
-
export declare const Shareds: (typeof
|
|
14
|
+
export declare const Shareds: (typeof NgClass | typeof ReactiveFormsModule | typeof TranslatePipe | typeof FormLabelComponent | typeof ValidationErrorsComponent | typeof InfoItemComponent)[];
|
|
15
15
|
export declare const TextLanguageDirectives: (typeof EnOnlyDirective | typeof ArOnlyDirective)[];
|
|
@@ -6,5 +6,5 @@ export declare class SpecialCharacterDirective {
|
|
|
6
6
|
blockPaste(event: ClipboardEvent): void;
|
|
7
7
|
onDrop(event: any): void;
|
|
8
8
|
static ɵfac: i0.ɵɵFactoryDeclaration<SpecialCharacterDirective, never>;
|
|
9
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<SpecialCharacterDirective, "[specialIsAlphaNumeric]", never, {}, {}, never, never,
|
|
9
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<SpecialCharacterDirective, "[specialIsAlphaNumeric]", never, {}, {}, never, never, true, never>;
|
|
10
10
|
}
|
|
@@ -9,5 +9,5 @@ export declare class TitleSectionComponent {
|
|
|
9
9
|
constructor(sidenavService: SidenavService, dialog: MatDialog);
|
|
10
10
|
openFaq(): void;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<TitleSectionComponent, never>;
|
|
12
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TitleSectionComponent, "app-title-section", never, { "title": { "alias": "title"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, ["[filter]", "[action]", "[search]"],
|
|
12
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TitleSectionComponent, "app-title-section", never, { "title": { "alias": "title"; "required": false; }; "tooltip": { "alias": "tooltip"; "required": false; }; }, {}, never, ["[filter]", "[action]", "[search]"], true, never>;
|
|
13
13
|
}
|
|
@@ -9,5 +9,5 @@ export declare class MycurrencyPipe implements PipeTransform {
|
|
|
9
9
|
transform(value: string, allowNegative?: boolean, decimalPrecision?: number): string;
|
|
10
10
|
parse(value: string, allowNegative?: boolean): string;
|
|
11
11
|
static ɵfac: i0.ɵɵFactoryDeclaration<MycurrencyPipe, never>;
|
|
12
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<MycurrencyPipe, "mycurrency",
|
|
12
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<MycurrencyPipe, "mycurrency", true>;
|
|
13
13
|
}
|
|
@@ -3,5 +3,5 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class FormatAsPasswordPipe implements PipeTransform {
|
|
4
4
|
transform(value: string | number): unknown;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormatAsPasswordPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<FormatAsPasswordPipe, "formatAsPassword",
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormatAsPasswordPipe, "formatAsPassword", true>;
|
|
7
7
|
}
|
|
@@ -3,5 +3,5 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class stringToBooleanPipe implements PipeTransform {
|
|
4
4
|
transform(value: string): boolean;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<stringToBooleanPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<stringToBooleanPipe, "stringToBoolean",
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<stringToBooleanPipe, "stringToBoolean", true>;
|
|
7
7
|
}
|
|
@@ -8,5 +8,5 @@ export declare class TextDirective {
|
|
|
8
8
|
onKeyDown(event: KeyboardEvent): void;
|
|
9
9
|
onPaste(event: ClipboardEvent): void;
|
|
10
10
|
static ɵfac: i0.ɵɵFactoryDeclaration<TextDirective, never>;
|
|
11
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<TextDirective, "[textOnly]", never, { "decimals": { "alias": "decimals"; "required": false; }; }, {}, never, never,
|
|
11
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<TextDirective, "[textOnly]", never, { "decimals": { "alias": "decimals"; "required": false; }; }, {}, never, never, true, never>;
|
|
12
12
|
}
|
|
@@ -3,5 +3,5 @@ import * as i0 from "@angular/core";
|
|
|
3
3
|
export declare class FormatTimePipe implements PipeTransform {
|
|
4
4
|
transform(value: number): string;
|
|
5
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<FormatTimePipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<FormatTimePipe, "formatTime",
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<FormatTimePipe, "formatTime", true>;
|
|
7
7
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "bpm-core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.104",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/common": "^19.0.0",
|
|
6
6
|
"@angular/core": "^19.0.0",
|
|
@@ -19,9 +19,7 @@
|
|
|
19
19
|
},
|
|
20
20
|
".": {
|
|
21
21
|
"types": "./index.d.ts",
|
|
22
|
-
"esm2022": "./esm2022/bpm-core.mjs",
|
|
23
|
-
"esm": "./esm2022/bpm-core.mjs",
|
|
24
22
|
"default": "./fesm2022/bpm-core.mjs"
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
|
-
}
|
|
25
|
+
}
|
package/esm2022/bpm-core.mjs
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnBtLWNvcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvYnBtLWNvcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWMtYXBpJztcbiJdfQ==
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, Inject, NO_ERRORS_SCHEMA, PLATFORM_ID } from '@angular/core';
|
|
2
|
-
import { LayoutComponent, ServiceHeaderComponent, WorkflowSectionComponent } from "../components/app-component-sections";
|
|
3
|
-
import { DOCUMENT, isPlatformBrowser } from "@angular/common";
|
|
4
|
-
import { RequestDetailsSectionComponent } from "../testComponent/request-details-section/request-details-section.component";
|
|
5
|
-
import { DynamicComponentInjectorToken } from "ng-dynamic-component";
|
|
6
|
-
import { TranslatePipe } from "../pipes/translate.pipe";
|
|
7
|
-
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../testComponent/services/segment-dynamic-loader.service";
|
|
9
|
-
import * as i2 from "@angular/router";
|
|
10
|
-
import * as i3 from "../services";
|
|
11
|
-
export class CoreAppComponent {
|
|
12
|
-
segmentDynamicLoader;
|
|
13
|
-
document;
|
|
14
|
-
router;
|
|
15
|
-
sidenavService;
|
|
16
|
-
i18n;
|
|
17
|
-
coreService;
|
|
18
|
-
platformId;
|
|
19
|
-
loading = {
|
|
20
|
-
form: false
|
|
21
|
-
};
|
|
22
|
-
form;
|
|
23
|
-
formTitle = 'Test';
|
|
24
|
-
noError = true;
|
|
25
|
-
errorMessage;
|
|
26
|
-
constructor(segmentDynamicLoader, document, router, sidenavService, i18n, coreService, platformId) {
|
|
27
|
-
this.segmentDynamicLoader = segmentDynamicLoader;
|
|
28
|
-
this.document = document;
|
|
29
|
-
this.router = router;
|
|
30
|
-
this.sidenavService = sidenavService;
|
|
31
|
-
this.i18n = i18n;
|
|
32
|
-
this.coreService = coreService;
|
|
33
|
-
this.platformId = platformId;
|
|
34
|
-
this.loading['form'] = true;
|
|
35
|
-
this.coreService.loadForm().subscribe({
|
|
36
|
-
next: (form) => {
|
|
37
|
-
this.form = form;
|
|
38
|
-
this.loading['form'] = false;
|
|
39
|
-
},
|
|
40
|
-
error: (err) => {
|
|
41
|
-
this.noError = false;
|
|
42
|
-
this.loading['form'] = false;
|
|
43
|
-
this.errorMessage = err?.error?.meta?.messages;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
}
|
|
47
|
-
ngAfterViewInit() {
|
|
48
|
-
if (isPlatformBrowser(this.platformId)) {
|
|
49
|
-
const direction = this.i18n.language == 'en' ? 'ltr' : 'rtl';
|
|
50
|
-
document.documentElement.setAttribute('dir', direction);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, deps: [{ token: i1.SegmentDynamicLoaderService }, { token: DOCUMENT }, { token: i2.Router }, { token: i3.SidenavService }, { token: i3.CoreI18nService }, { token: i3.CoreService }, { token: PLATFORM_ID }], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: CoreAppComponent, isStandalone: true, selector: "lib-app", providers: [
|
|
55
|
-
{ provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
|
|
56
|
-
], ngImport: i0, template: "<core-layout>\r\n @if (!loading['form']) {\r\n\r\n @if (noError) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [form]=\"form\" [sections]=\"form?.['sections']\">\r\n <app-request-details-section\r\n [section]=\"form.sections[0]\" [form]=\"form\" [lov]=\"form?.lovs\" className=\"form-section\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"></app-request-details-section>\r\n </app-workflow-section>\r\n } @else {\r\n @if (errorMessage?.length) {\r\n <ds-message></ds-message>\r\n @for (item of errorMessage; track $index) {\r\n <div class=\"d-flex justify-content-center\">\r\n <span class=\"fc-coral fs-18\" >{{ item?.['message'] }}</span>\r\n </div>\r\n }\r\n } @else {\r\n <ds-message [label]=\"'pageErrorLoading' | translate\"></ds-message>\r\n }\r\n }\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n", styles: [""], dependencies: [{ kind: "component", type:
|
|
57
|
-
// DynamicModule,
|
|
58
|
-
LayoutComponent, selector: "core-layout", inputs: ["form", "hubContainerMini", "formTitle", "isLoading", "serviceBrief"] }, { kind: "component", type: ServiceHeaderComponent, selector: "core-service-header", inputs: ["form", "showHistory", "isLoading", "isReadOnly", "showApprovalHistory", "approvalHistory", "creationDate", "formTitle", "section", "serviceFaq"] }, { kind: "component", type: WorkflowSectionComponent, selector: "app-workflow-section", inputs: ["sections", "isReadOnly", "isLoading", "form", "contentClass", "sectionsController", "segmentDynamicLoaderService", "sectionFormComponent", "sectionName"], outputs: ["sectionSubmitted"] }, { kind: "component", type: RequestDetailsSectionComponent, selector: "app-request-details-section", inputs: ["isReadOnly", "section", "form", "lov", "className"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
59
|
-
}
|
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: CoreAppComponent, decorators: [{
|
|
61
|
-
type: Component,
|
|
62
|
-
args: [{ selector: 'lib-app', standalone: true, imports: [
|
|
63
|
-
// DynamicModule,
|
|
64
|
-
LayoutComponent,
|
|
65
|
-
ServiceHeaderComponent,
|
|
66
|
-
WorkflowSectionComponent,
|
|
67
|
-
RequestDetailsSectionComponent,
|
|
68
|
-
TranslatePipe
|
|
69
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA], providers: [
|
|
70
|
-
{ provide: DynamicComponentInjectorToken, useValue: { /* your value here */} }
|
|
71
|
-
], template: "<core-layout>\r\n @if (!loading['form']) {\r\n\r\n @if (noError) {\r\n <core-service-header\r\n [isLoading]=\"false\"\r\n [formTitle]=\"formTitle\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"\r\n [form]=\"form\">\r\n </core-service-header>\r\n <app-workflow-section\r\n workflow\r\n [segmentDynamicLoaderService]=\"segmentDynamicLoader\"\r\n [form]=\"form\" [sections]=\"form?.['sections']\">\r\n <app-request-details-section\r\n [section]=\"form.sections[0]\" [form]=\"form\" [lov]=\"form?.lovs\" className=\"form-section\"\r\n [isReadOnly]=\"form.sections[0].header.readOnly\"></app-request-details-section>\r\n </app-workflow-section>\r\n } @else {\r\n @if (errorMessage?.length) {\r\n <ds-message></ds-message>\r\n @for (item of errorMessage; track $index) {\r\n <div class=\"d-flex justify-content-center\">\r\n <span class=\"fc-coral fs-18\" >{{ item?.['message'] }}</span>\r\n </div>\r\n }\r\n } @else {\r\n <ds-message [label]=\"'pageErrorLoading' | translate\"></ds-message>\r\n }\r\n }\r\n } @else {\r\n <core-service-header header [formTitle]=\"formTitle\" [isLoading]=\"true\">\r\n </core-service-header>\r\n }\r\n</core-layout>\r\n" }]
|
|
72
|
-
}], ctorParameters: () => [{ type: i1.SegmentDynamicLoaderService }, { type: Document, decorators: [{
|
|
73
|
-
type: Inject,
|
|
74
|
-
args: [DOCUMENT]
|
|
75
|
-
}] }, { type: i2.Router }, { type: i3.SidenavService }, { type: i3.CoreI18nService }, { type: i3.CoreService }, { type: undefined, decorators: [{
|
|
76
|
-
type: Inject,
|
|
77
|
-
args: [PLATFORM_ID]
|
|
78
|
-
}] }] });
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvYXBwL2FwcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2FwcC9hcHAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFnQixTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFdBQVcsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUMsZUFBZSxFQUFFLHNCQUFzQixFQUFFLHdCQUF3QixFQUFDLE1BQU0sc0NBQXNDLENBQUM7QUFDdkgsT0FBTyxFQUFDLFFBQVEsRUFBRSxpQkFBaUIsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBSTVELE9BQU8sRUFBQyw4QkFBOEIsRUFBQyxNQUFNLDRFQUE0RSxDQUFDO0FBRTFILE9BQU8sRUFBQyw2QkFBNkIsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25FLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFxQnRELE1BQU0sT0FBTyxnQkFBZ0I7SUFTbEI7SUFDNEI7SUFDbEI7SUFDQTtJQUNWO0lBQ1U7SUFDWTtJQWQvQixPQUFPLEdBQUc7UUFDUixJQUFJLEVBQUUsS0FBSztLQUNaLENBQUE7SUFDRCxJQUFJLENBQU07SUFDVixTQUFTLEdBQVcsTUFBTSxDQUFDO0lBQzNCLE9BQU8sR0FBRyxJQUFJLENBQUM7SUFDZixZQUFZLENBQUs7SUFDakIsWUFDUyxvQkFBaUQsRUFDckIsUUFBa0IsRUFDcEMsTUFBYyxFQUNkLGNBQThCLEVBQ3hDLElBQXFCLEVBQ1gsV0FBd0IsRUFDWixVQUFlO1FBTnJDLHlCQUFvQixHQUFwQixvQkFBb0IsQ0FBNkI7UUFDckIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNwQyxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBQ2QsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQWlCO1FBQ1gsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDWixlQUFVLEdBQVYsVUFBVSxDQUFLO1FBRTVDLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFBO1FBQzNCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxFQUFFLENBQUMsU0FBUyxDQUFDO1lBQ3BDLElBQUksRUFBRSxDQUFDLElBQVMsRUFBRSxFQUFFO2dCQUNsQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDakIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxLQUFLLENBQUE7WUFDOUIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQTtnQkFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLENBQUE7WUFDaEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO1lBQzdELFFBQVEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQztRQUMxRCxDQUFDO0lBQ0gsQ0FBQzt1R0FwQ1UsZ0JBQWdCLDZEQVVqQixRQUFRLDJIQUtSLFdBQVc7MkZBZlYsZ0JBQWdCLHNEQUxoQjtZQUNULEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDLEVBQUM7U0FDN0UsMEJDM0JILDR6Q0FtQ0E7Z0JEbEJJLGlCQUFpQjtnQkFDakIsZUFBZSx3SUFDZixzQkFBc0IsNE5BQ3RCLHdCQUF3QixxUUFDeEIsOEJBQThCLGtJQUM5QixhQUFhOzsyRkFRSixnQkFBZ0I7a0JBbkI1QixTQUFTOytCQUNFLFNBQVMsY0FDUCxJQUFJLFdBR1A7d0JBQ1AsaUJBQWlCO3dCQUNqQixlQUFlO3dCQUNmLHNCQUFzQjt3QkFDdEIsd0JBQXdCO3dCQUN4Qiw4QkFBOEI7d0JBQzlCLGFBQWE7cUJBQ2QsV0FDUSxDQUFDLHNCQUFzQixFQUFFLGdCQUFnQixDQUFDLGFBQ3hDO3dCQUNULEVBQUMsT0FBTyxFQUFFLDZCQUE2QixFQUFFLFFBQVEsRUFBRSxFQUFFLHFCQUFxQixDQUFDLEVBQUM7cUJBQzdFOzswQkFhRSxNQUFNOzJCQUFDLFFBQVE7OzBCQUtmLE1BQU07MkJBQUMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbmplY3QsIE5PX0VSUk9SU19TQ0hFTUEsIFBMQVRGT1JNX0lEfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtMYXlvdXRDb21wb25lbnQsIFNlcnZpY2VIZWFkZXJDb21wb25lbnQsIFdvcmtmbG93U2VjdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9uc1wiO1xyXG5pbXBvcnQge0RPQ1VNRU5ULCBpc1BsYXRmb3JtQnJvd3Nlcn0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQge1JvdXRlcn0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQge0NvcmVJMThuU2VydmljZSwgQ29yZVNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXNcIjtcclxuaW1wb3J0IHtGb3JtfSBmcm9tIFwiLi4vaW50ZXJmYWNlc1wiO1xyXG5pbXBvcnQge1JlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudH0gZnJvbSBcIi4uL3Rlc3RDb21wb25lbnQvcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24vcmVxdWVzdC1kZXRhaWxzLXNlY3Rpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7U2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlfSBmcm9tIFwiLi4vdGVzdENvbXBvbmVudC9zZXJ2aWNlcy9zZWdtZW50LWR5bmFtaWMtbG9hZGVyLnNlcnZpY2VcIjtcclxuaW1wb3J0IHtEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JUb2tlbn0gZnJvbSBcIm5nLWR5bmFtaWMtY29tcG9uZW50XCI7XHJcbmltcG9ydCB7VHJhbnNsYXRlUGlwZX0gZnJvbSBcIi4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hcHAnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2FwcC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FwcC5jb21wb25lbnQuY3NzJyxcclxuICBpbXBvcnRzOiBbXHJcbiAgICAvLyBEeW5hbWljTW9kdWxlLFxyXG4gICAgTGF5b3V0Q29tcG9uZW50LFxyXG4gICAgU2VydmljZUhlYWRlckNvbXBvbmVudCxcclxuICAgIFdvcmtmbG93U2VjdGlvbkNvbXBvbmVudCxcclxuICAgIFJlcXVlc3REZXRhaWxzU2VjdGlvbkNvbXBvbmVudCxcclxuICAgIFRyYW5zbGF0ZVBpcGVcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBOT19FUlJPUlNfU0NIRU1BXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtwcm92aWRlOiBEeW5hbWljQ29tcG9uZW50SW5qZWN0b3JUb2tlbiwgdXNlVmFsdWU6IHsgLyogeW91ciB2YWx1ZSBoZXJlICovfX1cclxuICBdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ29yZUFwcENvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xyXG4gIGxvYWRpbmcgPSB7XHJcbiAgICBmb3JtOiBmYWxzZVxyXG4gIH1cclxuICBmb3JtOiBGb3JtXHJcbiAgZm9ybVRpdGxlOiBzdHJpbmcgPSAnVGVzdCc7XHJcbiAgbm9FcnJvciA9IHRydWU7XHJcbiAgZXJyb3JNZXNzYWdlOiBbXTtcclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBzZWdtZW50RHluYW1pY0xvYWRlcjogU2VnbWVudER5bmFtaWNMb2FkZXJTZXJ2aWNlLFxyXG4gICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSByZWFkb25seSBkb2N1bWVudDogRG9jdW1lbnQsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb3JlU2VydmljZTogQ29yZVNlcnZpY2UsXHJcbiAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSB0cnVlXHJcbiAgICB0aGlzLmNvcmVTZXJ2aWNlLmxvYWRGb3JtKCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKGZvcm06IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuZm9ybSA9IGZvcm07XHJcbiAgICAgICAgdGhpcy5sb2FkaW5nWydmb3JtJ10gPSBmYWxzZVxyXG4gICAgICB9LFxyXG4gICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgIHRoaXMubm9FcnJvciA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMubG9hZGluZ1snZm9ybSddID0gZmFsc2VcclxuICAgICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IGVycj8uZXJyb3I/Lm1ldGE/Lm1lc3NhZ2VzXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcclxuICAgICAgY29uc3QgZGlyZWN0aW9uID0gdGhpcy5pMThuLmxhbmd1YWdlID09ICdlbicgPyAnbHRyJyA6ICdydGwnO1xyXG4gICAgICBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQuc2V0QXR0cmlidXRlKCdkaXInLCBkaXJlY3Rpb24pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbn1cclxuIiwiPGNvcmUtbGF5b3V0PlxyXG4gIEBpZiAoIWxvYWRpbmdbJ2Zvcm0nXSkge1xyXG5cclxuICAgIEBpZiAobm9FcnJvcikge1xyXG4gICAgICA8Y29yZS1zZXJ2aWNlLWhlYWRlclxyXG4gICAgICAgIFtpc0xvYWRpbmddPVwiZmFsc2VcIlxyXG4gICAgICAgIFtmb3JtVGl0bGVdPVwiZm9ybVRpdGxlXCJcclxuICAgICAgICBbaXNSZWFkT25seV09XCJmb3JtLnNlY3Rpb25zWzBdLmhlYWRlci5yZWFkT25seVwiXHJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiPlxyXG4gICAgICA8L2NvcmUtc2VydmljZS1oZWFkZXI+XHJcbiAgICAgIDxhcHAtd29ya2Zsb3ctc2VjdGlvblxyXG4gICAgICAgIHdvcmtmbG93XHJcbiAgICAgICAgW3NlZ21lbnREeW5hbWljTG9hZGVyU2VydmljZV09XCJzZWdtZW50RHluYW1pY0xvYWRlclwiXHJcbiAgICAgICAgW2Zvcm1dPVwiZm9ybVwiIFtzZWN0aW9uc109XCJmb3JtPy5bJ3NlY3Rpb25zJ11cIj5cclxuICAgICAgICA8YXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uXHJcbiAgICAgICAgICBbc2VjdGlvbl09XCJmb3JtLnNlY3Rpb25zWzBdXCIgW2Zvcm1dPVwiZm9ybVwiIFtsb3ZdPVwiZm9ybT8ubG92c1wiIGNsYXNzTmFtZT1cImZvcm0tc2VjdGlvblwiXHJcbiAgICAgICAgICBbaXNSZWFkT25seV09XCJmb3JtLnNlY3Rpb25zWzBdLmhlYWRlci5yZWFkT25seVwiPjwvYXBwLXJlcXVlc3QtZGV0YWlscy1zZWN0aW9uPlxyXG4gICAgICA8L2FwcC13b3JrZmxvdy1zZWN0aW9uPlxyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEBpZiAoZXJyb3JNZXNzYWdlPy5sZW5ndGgpIHtcclxuICAgICAgICA8ZHMtbWVzc2FnZT48L2RzLW1lc3NhZ2U+XHJcbiAgICAgICAgQGZvciAoaXRlbSBvZiBlcnJvck1lc3NhZ2U7IHRyYWNrICRpbmRleCkge1xyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiZmMtY29yYWwgZnMtMThcIiA+e3sgaXRlbT8uWydtZXNzYWdlJ10gfX08L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIH0gQGVsc2Uge1xyXG4gICAgICAgIDxkcy1tZXNzYWdlIFtsYWJlbF09XCIncGFnZUVycm9yTG9hZGluZycgfCB0cmFuc2xhdGVcIj48L2RzLW1lc3NhZ2U+XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9IEBlbHNlIHtcclxuICAgIDxjb3JlLXNlcnZpY2UtaGVhZGVyIGhlYWRlciBbZm9ybVRpdGxlXT1cImZvcm1UaXRsZVwiIFtpc0xvYWRpbmddPVwidHJ1ZVwiPlxyXG4gICAgPC9jb3JlLXNlcnZpY2UtaGVhZGVyPlxyXG4gIH1cclxuPC9jb3JlLWxheW91dD5cclxuIl19
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
import { isValidData } from "../functions";
|
|
2
|
-
export class FormValidation {
|
|
3
|
-
validators;
|
|
4
|
-
constructor(validators) {
|
|
5
|
-
this.validators = validators;
|
|
6
|
-
}
|
|
7
|
-
isFormValidForAction(section, action) {
|
|
8
|
-
return Object.entries(this.validators)
|
|
9
|
-
.every(([fieldName, fieldValidators]) => fieldValidators.every(fn => fn(fieldName, section, action) === null));
|
|
10
|
-
}
|
|
11
|
-
logFormControlsValidationStatus(section, action) {
|
|
12
|
-
console.log(Object.entries(this.validators).map(([fieldName, fieldValidators]) => {
|
|
13
|
-
const isValid = fieldValidators.every(fn => fn(fieldName, section, action) === null);
|
|
14
|
-
return { [fieldName]: fieldValidators.map(fn => fn(fieldName, section, action)), isValid };
|
|
15
|
-
}));
|
|
16
|
-
}
|
|
17
|
-
}
|
|
18
|
-
export class BuiltInCustomValidators {
|
|
19
|
-
static required(fieldName, section, action) {
|
|
20
|
-
const value = section.body.details[fieldName];
|
|
21
|
-
if (isValidData(value))
|
|
22
|
-
return null;
|
|
23
|
-
return { required: true };
|
|
24
|
-
}
|
|
25
|
-
static requiredIfAction(action) {
|
|
26
|
-
return (fieldName, section, currentAction) => {
|
|
27
|
-
if (action.includes(currentAction)) {
|
|
28
|
-
return BuiltInCustomValidators.required(fieldName, section, currentAction);
|
|
29
|
-
}
|
|
30
|
-
return null;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
static requiredOnlyWhen(conditionFn) {
|
|
34
|
-
return (fieldName, section, currentAction) => {
|
|
35
|
-
if (conditionFn()) {
|
|
36
|
-
return BuiltInCustomValidators.required(fieldName, section, currentAction);
|
|
37
|
-
}
|
|
38
|
-
return null;
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
static maxLength(max) {
|
|
42
|
-
return (fieldName, section, currentAction) => {
|
|
43
|
-
const value = section.body?.details?.[fieldName];
|
|
44
|
-
if (!value)
|
|
45
|
-
return null;
|
|
46
|
-
if (value.length > max)
|
|
47
|
-
return { maxLength: 'required', required: max };
|
|
48
|
-
return null;
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
static minLength(min) {
|
|
52
|
-
return (fieldName, section, currentAction) => {
|
|
53
|
-
const value = section.body?.details?.[fieldName];
|
|
54
|
-
if (!value)
|
|
55
|
-
return null;
|
|
56
|
-
if (value.length < min)
|
|
57
|
-
return { minLength: 'required', required: min };
|
|
58
|
-
return null;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
static ifAction(actions, validators) {
|
|
62
|
-
return validators.map(fn => {
|
|
63
|
-
return (fieldName, section, currentAction) => {
|
|
64
|
-
if (!actions.includes(currentAction))
|
|
65
|
-
return null;
|
|
66
|
-
return fn(fieldName, section, currentAction);
|
|
67
|
-
};
|
|
68
|
-
});
|
|
69
|
-
}
|
|
70
|
-
static validateOnlyWhen(conditionFn, validators) {
|
|
71
|
-
return validators.map(fn => {
|
|
72
|
-
return (fieldName, section, currentAction) => {
|
|
73
|
-
if (conditionFn())
|
|
74
|
-
return fn(fieldName, section, currentAction);
|
|
75
|
-
return null;
|
|
76
|
-
};
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS12YWxpZGF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jbGFzc2VzL2Zvcm0tdmFsaWRhdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBSzNDLE1BQU0sT0FBTyxjQUFjO0lBQ0g7SUFBcEIsWUFBb0IsVUFBK0M7UUFBL0MsZUFBVSxHQUFWLFVBQVUsQ0FBcUM7SUFBSSxDQUFDO0lBRXhFLG9CQUFvQixDQUFDLE9BQWdCLEVBQUUsTUFBa0I7UUFDckQsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7YUFDckMsS0FBSyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLE9BQU8sRUFBRSxNQUFNLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDO0lBQ25ILENBQUM7SUFFRCwrQkFBK0IsQ0FBQyxPQUFnQixFQUFFLE1BQW1CO1FBQ2pFLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxTQUFTLEVBQUUsZUFBZSxDQUFDLEVBQUUsRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxlQUFlLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsTUFBTSxDQUFDLEtBQUssSUFBSSxDQUFDLENBQUE7WUFDcEYsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsZUFBZSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVB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Q0FBQztZQUNqRCxDQUFDLENBQUE7UUFDTCxDQUFDLENBQUMsQ0FBQTtJQUNOLENBQUM7SUFDRCxNQUFNLENBQUMsZ0JBQWdCLENBQUMsV0FBMEIsRUFBRSxVQUErQjtRQUMvRSxPQUFPLFVBQVUsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUU7WUFDdkIsT0FBTyxDQUFDLFNBQWlCLEVBQUUsT0FBZ0IsRUFBRSxhQUF5QixFQUFFLEVBQUU7Z0JBQ3RFLElBQUcsV0FBVyxFQUFFO29CQUFFLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsYUFBYSxDQUFDLENBQUM7Z0JBQy9ELE9BQU8sSUFBSSxDQUFDO1lBQ2hCLENBQUMsQ0FBQTtRQUNMLENBQUMsQ0FBQyxDQUFBO0lBQ04sQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xyXG5pbXBvcnQgeyBTZWN0aW9uIH0gZnJvbSBcIi4uL2ludGVyZmFjZXNcIjtcclxuaW1wb3J0IHsgaXNWYWxpZERhdGEgfSBmcm9tIFwiLi4vZnVuY3Rpb25zXCI7XHJcblxyXG5leHBvcnQgdHlwZSBGb3JtQWN0aW9uID0gJ1NVQk1JVCcgfCAnQVBQUk9WRScgfCAnUkVKRUNUJyB8ICdTRU5EQkFDSycgfCAnU0FWRV9DSEFOR0VTJyB8ICdDQU5DRUwnIHwgJ1NFTkRUT0RPJyB8IHN0cmluZyAmIHt9O1xyXG5leHBvcnQgdHlwZSBDdXN0b21WYWxpZGF0b3JGbiA9IChmaWVsZE5hbWU6IHN0cmluZywgc2VjdGlvbjogU2VjdGlvbiwgYWN0aW9uOiBGb3JtQWN0aW9uKSA9PiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbDtcclxuXHJcbmV4cG9ydCBjbGFzcyBGb3JtVmFsaWRhdGlvbiB7XHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHZhbGlkYXRvcnM6IFJlY29yZDxzdHJpbmcsIEN1c3RvbVZhbGlkYXRvckZuW10+KSB7IH1cclxuXHJcbiAgICBpc0Zvcm1WYWxpZEZvckFjdGlvbihzZWN0aW9uOiBTZWN0aW9uLCBhY3Rpb246IEZvcm1BY3Rpb24pOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gT2JqZWN0LmVudHJpZXModGhpcy52YWxpZGF0b3JzKVxyXG4gICAgICAgIC5ldmVyeSgoW2ZpZWxkTmFtZSwgZmllbGRWYWxpZGF0b3JzXSkgPT4gZmllbGRWYWxpZGF0b3JzLmV2ZXJ5KGZuID0+IGZuKGZpZWxkTmFtZSwgc2VjdGlvbiwgYWN0aW9uKSA9PT0gbnVsbCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGxvZ0Zvcm1Db250cm9sc1ZhbGlkYXRpb25TdGF0dXMoc2VjdGlvbjogU2VjdGlvbiwgYWN0aW9uPzogRm9ybUFjdGlvbikge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKE9iamVjdC5lbnRyaWVzKHRoaXMudmFsaWRhdG9ycykubWFwKChbZmllbGROYW1lLCBmaWVsZFZhbGlkYXRvcnNdKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IGlzVmFsaWQgPSBmaWVsZFZhbGlkYXRvcnMuZXZlcnkoZm4gPT4gZm4oZmllbGROYW1lLCBzZWN0aW9uLCBhY3Rpb24pID09PSBudWxsKVxyXG4gICAgICAgICAgICByZXR1cm4geyBbZmllbGROYW1lXTogZmllbGRWYWxpZGF0b3JzLm1hcChmbiA9PiBmbihmaWVsZE5hbWUsIHNlY3Rpb24sIGFjdGlvbikpLCBpc1ZhbGlkIH07XHJcbiAgICAgICAgfSkpO1xyXG4gICAgfVxyXG59XHJcblxyXG5leHBvcnQgY2xhc3MgQnVpbHRJbkN1c3RvbVZhbGlkYXRvcnMge1xyXG4gICAgc3RhdGljIHJlcXVpcmVkKGZpZWxkTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBTZWN0aW9uLCBhY3Rpb246IEZvcm1BY3Rpb24pOiBWYWxpZGF0aW9uRXJyb3JzIHwgbnVsbCB7XHJcbiAgICAgICAgY29uc3QgdmFsdWUgPSBzZWN0aW9uLmJvZHkuZGV0YWlsc1tmaWVsZE5hbWVdO1xyXG4gICAgICAgIGlmKGlzVmFsaWREYXRhKHZhbHVlKSkgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgcmV0dXJuIHtyZXF1aXJlZDogdHJ1ZX07XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgcmVxdWlyZWRJZkFjdGlvbihhY3Rpb246IEZvcm1BY3Rpb25bXSk6IEN1c3RvbVZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGZpZWxkTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBTZWN0aW9uLCBjdXJyZW50QWN0aW9uOiBGb3JtQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKGFjdGlvbi5pbmNsdWRlcyhjdXJyZW50QWN0aW9uKSl7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gQnVpbHRJbkN1c3RvbVZhbGlkYXRvcnMucmVxdWlyZWQoZmllbGROYW1lLCBzZWN0aW9uLCBjdXJyZW50QWN0aW9uKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICBzdGF0aWMgcmVxdWlyZWRPbmx5V2hlbihjb25kaXRpb25GbjogKCkgPT4gYm9vbGVhbik6IEN1c3RvbVZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGZpZWxkTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBTZWN0aW9uLCBjdXJyZW50QWN0aW9uOiBGb3JtQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGlmKGNvbmRpdGlvbkZuKCkpe1xyXG4gICAgICAgICAgICAgICAgcmV0dXJuIEJ1aWx0SW5DdXN0b21WYWxpZGF0b3JzLnJlcXVpcmVkKGZpZWxkTmFtZSwgc2VjdGlvbiwgY3VycmVudEFjdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3RhdGljIG1heExlbmd0aChtYXg6IG51bWJlcik6IEN1c3RvbVZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGZpZWxkTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBTZWN0aW9uLCBjdXJyZW50QWN0aW9uOiBGb3JtQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSBzZWN0aW9uLmJvZHk/LmRldGFpbHM/LltmaWVsZE5hbWVdO1xyXG4gICAgICAgICAgICBpZighdmFsdWUpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICBpZih2YWx1ZS5sZW5ndGggPiBtYXgpIHJldHVybiB7bWF4TGVuZ3RoOiAncmVxdWlyZWQnLCByZXF1aXJlZDogbWF4fTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3RhdGljIG1pbkxlbmd0aChtaW46IG51bWJlcik6IEN1c3RvbVZhbGlkYXRvckZuIHtcclxuICAgICAgICByZXR1cm4gKGZpZWxkTmFtZTogc3RyaW5nLCBzZWN0aW9uOiBTZWN0aW9uLCBjdXJyZW50QWN0aW9uOiBGb3JtQWN0aW9uKSA9PiB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZhbHVlOiBzdHJpbmcgPSBzZWN0aW9uLmJvZHk/LmRldGFpbHM/LltmaWVsZE5hbWVdO1xyXG4gICAgICAgICAgICBpZighdmFsdWUpIHJldHVybiBudWxsO1xyXG4gICAgICAgICAgICBpZih2YWx1ZS5sZW5ndGggPCBtaW4pIHJldHVybiB7bWluTGVuZ3RoOiAncmVxdWlyZWQnLCByZXF1aXJlZDogbWlufTtcclxuICAgICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgc3RhdGljIGlmQWN0aW9uKGFjdGlvbnM6IEZvcm1BY3Rpb25bXSwgdmFsaWRhdG9yczogQ3VzdG9tVmFsaWRhdG9yRm5bXSk6IEN1c3RvbVZhbGlkYXRvckZuW10ge1xyXG4gICAgICAgIHJldHVybiB2YWxpZGF0b3JzLm1hcChmbiA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiAoZmllbGROYW1lOiBzdHJpbmcsIHNlY3Rpb246IFNlY3Rpb24sIGN1cnJlbnRBY3Rpb246IEZvcm1BY3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgIGlmKCFhY3Rpb25zLmluY2x1ZGVzKGN1cnJlbnRBY3Rpb24pKSByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgICAgIHJldHVybiBmbihmaWVsZE5hbWUsIHNlY3Rpb24sIGN1cnJlbnRBY3Rpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSlcclxuICAgIH1cclxuICAgIHN0YXRpYyB2YWxpZGF0ZU9ubHlXaGVuKGNvbmRpdGlvbkZuOiAoKSA9PiBib29sZWFuLCB2YWxpZGF0b3JzOiBDdXN0b21WYWxpZGF0b3JGbltdKTogQ3VzdG9tVmFsaWRhdG9yRm5bXSB7XHJcbiAgICAgICAgcmV0dXJuIHZhbGlkYXRvcnMubWFwKGZuID0+IHtcclxuICAgICAgICAgICAgcmV0dXJuIChmaWVsZE5hbWU6IHN0cmluZywgc2VjdGlvbjogU2VjdGlvbiwgY3VycmVudEFjdGlvbjogRm9ybUFjdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgaWYoY29uZGl0aW9uRm4oKSkgcmV0dXJuIGZuKGZpZWxkTmFtZSwgc2VjdGlvbiwgY3VycmVudEFjdGlvbik7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0pXHJcbiAgICB9XHJcbn1cclxuIl19
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
export * from './form-validation';
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NsYXNzZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxtQkFBbUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vZm9ybS12YWxpZGF0aW9uJzsiXX0=
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject } from '@angular/core';
|
|
2
|
-
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../services";
|
|
5
|
-
export class ActivitiesComponent {
|
|
6
|
-
sidenavService;
|
|
7
|
-
i18n;
|
|
8
|
-
coreService;
|
|
9
|
-
parsedData;
|
|
10
|
-
destroyRef = inject(DestroyRef);
|
|
11
|
-
constructor(sidenavService, i18n, coreService) {
|
|
12
|
-
this.sidenavService = sidenavService;
|
|
13
|
-
this.i18n = i18n;
|
|
14
|
-
this.coreService = coreService;
|
|
15
|
-
this.parsedData = JSON.stringify(this.coreService.activities);
|
|
16
|
-
}
|
|
17
|
-
downloadFile(event) {
|
|
18
|
-
console.log(event.detail.value);
|
|
19
|
-
const placeholder = event.target.nextElementSibling;
|
|
20
|
-
this.coreService.loadFile(event.detail.value.id).pipe(takeUntilDestroyed(this.destroyRef)).subscribe({
|
|
21
|
-
next: (responseObject) => {
|
|
22
|
-
const fileInformation = responseObject.body;
|
|
23
|
-
const fileBlob = this.coreService.dataURItoBlob(fileInformation.fileContents);
|
|
24
|
-
const file = new File([fileBlob], fileInformation.fileName, { type: fileInformation.mimeType });
|
|
25
|
-
placeholder.href = URL.createObjectURL(file);
|
|
26
|
-
placeholder.download = file.name;
|
|
27
|
-
placeholder.click();
|
|
28
|
-
},
|
|
29
|
-
error: (error) => {
|
|
30
|
-
console.error('Error loading file:', error);
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
closeSidenav() {
|
|
35
|
-
this.sidenavService.publish('close', null);
|
|
36
|
-
}
|
|
37
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActivitiesComponent, deps: [{ token: i1.SidenavService }, { token: i1.CoreI18nService }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
38
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ActivitiesComponent, isStandalone: true, selector: "app-activities", ngImport: i0, template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n", styles: [""] });
|
|
39
|
-
}
|
|
40
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ActivitiesComponent, decorators: [{
|
|
41
|
-
type: Component,
|
|
42
|
-
args: [{ selector: 'app-activities', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
|
|
43
|
-
}], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }, { type: i1.CoreService }] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYWN0aXZpdGllcy9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBV2hFLE1BQU0sT0FBTyxtQkFBbUI7SUFLWDtJQUNWO0lBQ0E7SUFOVCxVQUFVLENBQVM7SUFDbkIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQyxZQUNtQixjQUE4QixFQUN4QyxJQUFxQixFQUNyQixXQUF3QjtRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUUvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ2hDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFFcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNuRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3BDLENBQUMsU0FBUyxDQUFDO1lBQ1YsSUFBSSxFQUFFLENBQUMsY0FBNkIsRUFBRSxFQUFFO2dCQUN0QyxNQUFNLGVBQWUsR0FBRyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUM1QyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGFBQWEsQ0FBQyxlQUFlLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzlFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztnQkFDaEcsV0FBVyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUM3QyxXQUFXLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7Z0JBQ2pDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsS0FBSyxFQUFFLEVBQUU7Z0JBQ2YsT0FBTyxDQUFDLEtBQUssQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM5QyxDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt1R0FwQ1UsbUJBQW1COzJGQUFuQixtQkFBbUIsMEVDYmhDLGtuQkFrQkE7OzJGRExhLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsRUFBRSxXQUNGLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hY3Rpdml0aWVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdGllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdGllcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0aWVzQ29tcG9uZW50IHtcclxuICBwYXJzZWREYXRhOiBzdHJpbmc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBhcnNlZERhdGEgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNvcmVTZXJ2aWNlLmFjdGl2aXRpZXMpXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQuZGV0YWlsLnZhbHVlKTtcclxuICAgIGNvbnN0IHBsYWNlaG9sZGVyID0gZXZlbnQudGFyZ2V0Lm5leHRFbGVtZW50U2libGluZztcclxuICBcclxuICAgIHRoaXMuY29yZVNlcnZpY2UubG9hZEZpbGUoZXZlbnQuZGV0YWlsLnZhbHVlLmlkKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gICAgKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzcG9uc2VPYmplY3Q6IHsgYm9keTogYW55IH0pID0+IHtcclxuICAgICAgICBjb25zdCBmaWxlSW5mb3JtYXRpb24gPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGZpbGVCbG9iID0gdGhpcy5jb3JlU2VydmljZS5kYXRhVVJJdG9CbG9iKGZpbGVJbmZvcm1hdGlvbi5maWxlQ29udGVudHMpO1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbZmlsZUJsb2JdLCBmaWxlSW5mb3JtYXRpb24uZmlsZU5hbWUsIHsgdHlwZTogZmlsZUluZm9ybWF0aW9uLm1pbWVUeXBlIH0pO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmRvd25sb2FkID0gZmlsZS5uYW1lO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmNsaWNrKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGZpbGU6JywgZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG5cclxuICBjbG9zZVNpZGVuYXYoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ2Nsb3NlJywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zaWRlbmF2XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtdGl0bGVcIj5cclxuICAgIDxoMz57eyBpMThuLnRyYW5zbGF0ZSgnY29tbWVudEhpc3RvcnknKSB9fTwvaDM+XHJcblxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlbmF2LWJvZHlcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYWN0aXZpdGllcykge1xyXG4gICAgICA8ZHMtYWN0aXZpdHktbG9nIGFjdGl2aXRpZXNEYXRhPVwie3twYXJzZWREYXRhfX1cIiByZWFkT25seSAoZG93bmxvYWRFdmVudCk9XCJkb3dubG9hZEZpbGUoJGV2ZW50KVwiPlxyXG4gICAgICA8L2RzLWFjdGl2aXR5LWxvZz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ05vRGF0YTEnKX19XCI+PC9kcy1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "../../../services";
|
|
4
|
-
export class ApprovalsComponent {
|
|
5
|
-
sidenavService;
|
|
6
|
-
i18n;
|
|
7
|
-
coreService;
|
|
8
|
-
constructor(sidenavService, i18n, coreService) {
|
|
9
|
-
this.sidenavService = sidenavService;
|
|
10
|
-
this.i18n = i18n;
|
|
11
|
-
this.coreService = coreService;
|
|
12
|
-
}
|
|
13
|
-
closeSidenav() {
|
|
14
|
-
this.sidenavService.publish('close', null);
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsComponent, deps: [{ token: i1.SidenavService }, { token: i1.CoreI18nService }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ApprovalsComponent, isStandalone: true, selector: "app-approvals", ngImport: i0, template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('approvalCycle') }}</h3>\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body p-4\">\r\n @if (coreService.approvals) {\r\n <ds-approvals approvalsData=\"{{coreService.approvals}}\"></ds-approvals>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData2')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n", styles: [""] });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'app-approvals', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('approvalCycle') }}</h3>\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body p-4\">\r\n @if (coreService.approvals) {\r\n <ds-approvals approvalsData=\"{{coreService.approvals}}\"></ds-approvals>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData2')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
|
|
22
|
-
}], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }, { type: i1.CoreService }] });
|
|
23
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy9hcHByb3ZhbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzL2FwcHJvdmFscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFXaEUsTUFBTSxPQUFPLGtCQUFrQjtJQUVBO0lBQ1Y7SUFDQTtJQUZuQixZQUE2QixjQUE4QixFQUN4QyxJQUFxQixFQUNyQixXQUF3QjtRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUN2QyxDQUFDO0lBSUwsWUFBWTtRQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO3VHQVhVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHlFQ1gvQixvakJBZUE7OzJGREphLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsc0JBQXNCLENBQUMsV0FDeEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYXBwcm92YWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHByb3ZhbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwcm92YWxzQ29tcG9uZW50ICB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG5cclxuXHJcbiAgY2xvc2VTaWRlbmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdjbG9zZScsIG51bGwpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNpZGVuYXZcIj5cclxuICA8ZGl2IGNsYXNzPVwic2lkZW5hdi10aXRsZVwiPlxyXG4gICAgPGgzPnt7IGkxOG4udHJhbnNsYXRlKCdhcHByb3ZhbEN5Y2xlJykgfX08L2gzPlxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtYm9keSBwLTRcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYXBwcm92YWxzKSB7XHJcbiAgICAgIDxkcy1hcHByb3ZhbHMgYXBwcm92YWxzRGF0YT1cInt7Y29yZVNlcnZpY2UuYXBwcm92YWxzfX1cIj48L2RzLWFwcHJvdmFscz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ05vRGF0YTInKX19XCI+PC9kcy1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject, Input } from '@angular/core';
|
|
2
|
-
import * as Constants from '../../../constants/constants';
|
|
3
|
-
import { ApprovalsComponent } from '../approvals/approvals.component';
|
|
4
|
-
import { SatPopoverModule } from "@ncstate/sat-popover";
|
|
5
|
-
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "../../../services";
|
|
8
|
-
import * as i2 from "ngx-toastr";
|
|
9
|
-
const dangerStatusValues = [
|
|
10
|
-
Constants.FORM_STATUS_REJECTED,
|
|
11
|
-
Constants.FORM_STATUS_CANCELLED,
|
|
12
|
-
'deny',
|
|
13
|
-
'reject',
|
|
14
|
-
'unsatisfied',
|
|
15
|
-
'cancel'
|
|
16
|
-
];
|
|
17
|
-
const warningStatusValues = [
|
|
18
|
-
Constants.FORM_STATUS_PENDING,
|
|
19
|
-
'pending'
|
|
20
|
-
];
|
|
21
|
-
export class ApprovalsWorkflowComponent {
|
|
22
|
-
i18n;
|
|
23
|
-
sidenavService;
|
|
24
|
-
coreService;
|
|
25
|
-
toasterService;
|
|
26
|
-
section;
|
|
27
|
-
form;
|
|
28
|
-
approvals = [];
|
|
29
|
-
loading = false;
|
|
30
|
-
destroyRef = inject(DestroyRef);
|
|
31
|
-
constructor(i18n, sidenavService, coreService, toasterService) {
|
|
32
|
-
this.i18n = i18n;
|
|
33
|
-
this.sidenavService = sidenavService;
|
|
34
|
-
this.coreService = coreService;
|
|
35
|
-
this.toasterService = toasterService;
|
|
36
|
-
}
|
|
37
|
-
getApprovals() {
|
|
38
|
-
if (this.isLoading()) {
|
|
39
|
-
return;
|
|
40
|
-
}
|
|
41
|
-
this.initializeApprovals();
|
|
42
|
-
this.coreService.perspectiveApproves(this.section.body.details).pipe(takeUntilDestroyed(this.destroyRef)).subscribe(response => this.handleResponse(response), err => this.handleError(err));
|
|
43
|
-
}
|
|
44
|
-
isLoading() {
|
|
45
|
-
return this.loading;
|
|
46
|
-
}
|
|
47
|
-
initializeApprovals() {
|
|
48
|
-
this.approvals = [];
|
|
49
|
-
this.loading = true;
|
|
50
|
-
}
|
|
51
|
-
handleResponse(response) {
|
|
52
|
-
this.loading = false;
|
|
53
|
-
if (response?.approvals) {
|
|
54
|
-
this.approvals = response.approvals.map(approval => this.createApprovalObject(approval));
|
|
55
|
-
this.showProspectiveApprovals();
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
createApprovalObject(approval) {
|
|
59
|
-
const stageDetails = this.getStageDetails(approval);
|
|
60
|
-
const status = stageDetails ? this.getClassBasedOnStatus(stageDetails.header.status) : '';
|
|
61
|
-
return {
|
|
62
|
-
id: 1,
|
|
63
|
-
name: approval.value,
|
|
64
|
-
title: approval.key,
|
|
65
|
-
image: `/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=${approval.key}`,
|
|
66
|
-
status,
|
|
67
|
-
statusLabel: status
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
getStageDetails(approval) {
|
|
71
|
-
return this.form.sections.find(stage => stage.id === `${(approval?.role)?.toLowerCase()}Approval`);
|
|
72
|
-
}
|
|
73
|
-
handleError(err) {
|
|
74
|
-
this.loading = false;
|
|
75
|
-
err?.error?.meta?.messages?.forEach(msg => {
|
|
76
|
-
this.toasterService.error(msg.message);
|
|
77
|
-
});
|
|
78
|
-
}
|
|
79
|
-
transformStatus(status) {
|
|
80
|
-
return status?.toLowerCase() || '';
|
|
81
|
-
}
|
|
82
|
-
getClassBasedOnStatus(status) {
|
|
83
|
-
const lowerStatus = this.transformStatus(status);
|
|
84
|
-
if (!status ||
|
|
85
|
-
warningStatusValues.includes(lowerStatus)) {
|
|
86
|
-
return 'success';
|
|
87
|
-
}
|
|
88
|
-
if (dangerStatusValues.find(value => lowerStatus.includes(value))) {
|
|
89
|
-
return 'danger';
|
|
90
|
-
}
|
|
91
|
-
if (warningStatusValues.find(value => lowerStatus.includes(value))) {
|
|
92
|
-
return 'warning';
|
|
93
|
-
}
|
|
94
|
-
return 'success';
|
|
95
|
-
}
|
|
96
|
-
showProspectiveApprovals() {
|
|
97
|
-
this.coreService.approvals = JSON.stringify(this.approvals);
|
|
98
|
-
this.sidenavService.publish('open', ApprovalsComponent);
|
|
99
|
-
}
|
|
100
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsWorkflowComponent, deps: [{ token: i1.CoreI18nService }, { token: i1.SidenavService }, { token: i1.CoreService }, { token: i2.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ApprovalsWorkflowComponent, isStandalone: true, selector: "lib-approvals-workflow", inputs: { section: "section", form: "form" }, ngImport: i0, template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"getApprovals()\">\r\n <slot name=\"prefix\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n }\r\n </slot>\r\n</ds-button>\r\n", styles: ["::ng-deep .sat-popover-container.sat-popover-before .default-popover:before{display:none}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }] });
|
|
102
|
-
}
|
|
103
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsWorkflowComponent, decorators: [{
|
|
104
|
-
type: Component,
|
|
105
|
-
args: [{ selector: 'lib-approvals-workflow', standalone: true, imports: [
|
|
106
|
-
SatPopoverModule
|
|
107
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"getApprovals()\">\r\n <slot name=\"prefix\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n }\r\n </slot>\r\n</ds-button>\r\n", styles: ["::ng-deep .sat-popover-container.sat-popover-before .default-popover:before{display:none}\n"] }]
|
|
108
|
-
}], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i1.SidenavService }, { type: i1.CoreService }, { type: i2.ToastrService }], propDecorators: { section: [{
|
|
109
|
-
type: Input
|
|
110
|
-
}], form: [{
|
|
111
|
-
type: Input
|
|
112
|
-
}] } });
|
|
113
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWxzLXdvcmtmbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy13b3JrZmxvdy9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzLXdvcmtmbG93L2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sS0FBSyxTQUFTLE1BQU0sOEJBQThCLENBQUM7QUFHMUQsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFFcEUsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFDdEQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7Ozs7QUFFaEUsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixTQUFTLENBQUMsb0JBQW9CO0lBQzlCLFNBQVMsQ0FBQyxxQkFBcUI7SUFDL0IsTUFBTTtJQUNOLFFBQVE7SUFDUixhQUFhO0lBQ2IsUUFBUTtDQUNULENBQUM7QUFFRixNQUFNLG1CQUFtQixHQUFHO0lBQzFCLFNBQVMsQ0FBQyxtQkFBbUI7SUFDN0IsU0FBUztDQUNWLENBQUM7QUFZRixNQUFNLE9BQU8sMEJBQTBCO0lBUTVCO0lBQ1U7SUFDQTtJQUNBO0lBVlYsT0FBTyxDQUFVO0lBQ2pCLElBQUksQ0FBTztJQUNwQixT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T0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBEZXN0cm95UmVmLCBpbmplY3QsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge0NvcmVJMThuU2VydmljZSwgQ29yZVNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7QXBwcm92YWxzQ29tcG9uZW50fSBmcm9tICcuLi9hcHByb3ZhbHMvYXBwcm92YWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tIFwiQG5jc3RhdGUvc2F0LXBvcG92ZXJcIjtcclxuaW1wb3J0IHsgdGFrZVVudGlsRGVzdHJveWVkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xyXG5cclxuY29uc3QgZGFuZ2VyU3RhdHVzVmFsdWVzID0gW1xyXG4gIENvbnN0YW50cy5GT1JNX1NUQVRVU19SRUpFQ1RFRCxcclxuICBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVELFxyXG4gICdkZW55JyxcclxuICAncmVqZWN0JyxcclxuICAndW5zYXRpc2ZpZWQnLFxyXG4gICdjYW5jZWwnXHJcbl07XHJcblxyXG5jb25zdCB3YXJuaW5nU3RhdHVzVmFsdWVzID0gW1xyXG4gIENvbnN0YW50cy5GT1JNX1NUQVRVU19QRU5ESU5HLFxyXG4gICdwZW5kaW5nJ1xyXG5dO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItYXBwcm92YWxzLXdvcmtmbG93JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWxzLXdvcmtmbG93LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIFNhdFBvcG92ZXJNb2R1bGVcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwcm92YWxzV29ya2Zsb3dDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBhcHByb3ZhbHM6IHVua25vd25bXSA9IFtdO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuICBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIGdldEFwcHJvdmFscygpIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRpYWxpemVBcHByb3ZhbHMoKTtcclxuICAgIHRoaXMuY29yZVNlcnZpY2UucGVyc3BlY3RpdmVBcHByb3Zlcyh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gICAgKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlc3BvbnNlID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpLFxyXG4gICAgICBlcnIgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZztcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVBcHByb3ZhbHMoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFscyA9IFtdO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgaWYgKHJlc3BvbnNlPy5hcHByb3ZhbHMpIHtcclxuICAgICAgdGhpcy5hcHByb3ZhbHMgPSByZXNwb25zZS5hcHByb3ZhbHMubWFwKGFwcHJvdmFsID0+IHRoaXMuY3JlYXRlQXBwcm92YWxPYmplY3QoYXBwcm92YWwpKTtcclxuICAgICAgdGhpcy5zaG93UHJvc3BlY3RpdmVBcHByb3ZhbHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZUFwcHJvdmFsT2JqZWN0KGFwcHJvdmFsKSB7XHJcbiAgICBjb25zdCBzdGFnZURldGFpbHMgPSB0aGlzLmdldFN0YWdlRGV0YWlscyhhcHByb3ZhbCk7XHJcbiAgICBjb25zdCBzdGF0dXMgPSBzdGFnZURldGFpbHMgPyB0aGlzLmdldENsYXNzQmFzZWRPblN0YXR1cyhzdGFnZURldGFpbHMuaGVhZGVyLnN0YXR1cykgOiAnJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiAxLFxyXG4gICAgICBuYW1lOiBhcHByb3ZhbC52YWx1ZSxcclxuICAgICAgdGl0bGU6IGFwcHJvdmFsLmtleSxcclxuICAgICAgaW1hZ2U6IGAvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPSR7YXBwcm92YWwua2V5fWAsXHJcbiAgICAgIHN0YXR1cyxcclxuICAgICAgc3RhdHVzTGFiZWw6IHN0YXR1c1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFN0YWdlRGV0YWlscyhhcHByb3ZhbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5zZWN0aW9ucy5maW5kKHN0YWdlID0+XHJcbiAgICAgIHN0YWdlLmlkID09PSBgJHsoYXBwcm92YWw/LnJvbGUpPy50b0xvd2VyQ2FzZSgpfUFwcHJvdmFsYFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycjogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIGVycj8uZXJyb3I/Lm1ldGE/Lm1lc3NhZ2VzPy5mb3JFYWNoKG1zZyA9PiB7XHJcbiAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IobXNnLm1lc3NhZ2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TdGF0dXMoc3RhdHVzOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0YXR1cz8udG9Mb3dlckNhc2UoKSB8fCAnJztcclxuICB9XHJcblxyXG4gIGdldENsYXNzQmFzZWRPblN0YXR1cyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgY29uc3QgbG93ZXJTdGF0dXMgPSB0aGlzLnRyYW5zZm9ybVN0YXR1cyhzdGF0dXMpO1xyXG5cclxuICAgIGlmICghc3RhdHVzIHx8XHJcbiAgICAgIHdhcm5pbmdTdGF0dXNWYWx1ZXMuaW5jbHVkZXMobG93ZXJTdGF0dXMpKSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhbmdlclN0YXR1c1ZhbHVlcy5maW5kKHZhbHVlID0+IGxvd2VyU3RhdHVzLmluY2x1ZGVzKHZhbHVlKSkpIHtcclxuICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh3YXJuaW5nU3RhdHVzVmFsdWVzLmZpbmQodmFsdWUgPT4gbG93ZXJTdGF0dXMuaW5jbHVkZXModmFsdWUpKSkge1xyXG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgfVxyXG5cclxuICBzaG93UHJvc3BlY3RpdmVBcHByb3ZhbHMoKSB7XHJcbiAgICB0aGlzLmNvcmVTZXJ2aWNlLmFwcHJvdmFscyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuYXBwcm92YWxzKTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEFwcHJvdmFsc0NvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZHMtYnV0dG9uXHJcbiAgY29sb3I9XCJ3aGl0ZVwiIHNoYXBlPVwidGV4dFwiIHNxdWFyZSBzaXplPVwic21hbGxcIlxyXG4gIChjbGljayk9XCJnZXRBcHByb3ZhbHMoKVwiPlxyXG4gIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgIEBpZiAobG9hZGluZykge1xyXG4gICAgICA8ZHMtaWNvbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsIGZzLTMwLWltcFwiPjwvZHMtaWNvbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwid29ya2Zsb3dcIiBjbGFzcz1cImZzLTI0XCI+PC9kcy1pY29uPlxyXG4gICAgfVxyXG4gIDwvc2xvdD5cclxuPC9kcy1idXR0b24+XHJcbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { FaqsComponent } from '../faqs';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
import * as i1 from "../../../services";
|
|
5
|
-
export class FaqSidenavComponent {
|
|
6
|
-
sidenavService;
|
|
7
|
-
i18n;
|
|
8
|
-
data = [];
|
|
9
|
-
constructor(sidenavService, i18n) {
|
|
10
|
-
this.sidenavService = sidenavService;
|
|
11
|
-
this.i18n = i18n;
|
|
12
|
-
}
|
|
13
|
-
closeSidenav() {
|
|
14
|
-
this.sidenavService.publish('close', FaqSidenavComponent);
|
|
15
|
-
}
|
|
16
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FaqSidenavComponent, deps: [{ token: i1.SidenavService }, { token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FaqSidenavComponent, isStandalone: true, selector: "app-faq-sidenav", ngImport: i0, template: "<div class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{i18n.translate('serviceBrief')}}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body\">\r\n <app-faqs [faqs]=\"data\"></app-faqs>\r\n </div>\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "component", type: FaqsComponent, selector: "app-faqs", inputs: ["adminView", "faqs"] }] });
|
|
18
|
-
}
|
|
19
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FaqSidenavComponent, decorators: [{
|
|
20
|
-
type: Component,
|
|
21
|
-
args: [{ selector: 'app-faq-sidenav', standalone: true, imports: [
|
|
22
|
-
FaqsComponent
|
|
23
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<div class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{i18n.translate('serviceBrief')}}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body\">\r\n <app-faqs [faqs]=\"data\"></app-faqs>\r\n </div>\r\n</div>\r\n" }]
|
|
24
|
-
}], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxLXNpZGVuYXYuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmFxLXNpZGVuYXYvZmFxLXNpZGVuYXYuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVsRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sU0FBUyxDQUFDOzs7QUFheEMsTUFBTSxPQUFPLG1CQUFtQjtJQUlEO0lBQ1Y7SUFIbkIsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQUVWLFlBQTZCLGNBQThCLEVBQ3hDLElBQXFCO1FBRFgsbUJBQWMsR0FBZCxjQUFjLENBQWdCO1FBQ3hDLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUksQ0FBQztJQUc3QyxZQUFZO1FBQ1YsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsT0FBTyxFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDNUQsQ0FBQzt1R0FWVSxtQkFBbUI7MkZBQW5CLG1CQUFtQiwyRUNmaEMseVhBWUEsMERERkksYUFBYTs7MkZBS0osbUJBQW1CO2tCQVgvQixTQUFTOytCQUNFLGlCQUFpQixjQUdmLElBQUksV0FDUDt3QkFDUCxhQUFhO3FCQUNkLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb3JlSTE4blNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyBGYXFzQ29tcG9uZW50IH0gZnJvbSAnLi4vZmFxcyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mYXEtc2lkZW5hdicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhcS1zaWRlbmF2LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mYXEtc2lkZW5hdi5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgRmFxc0NvbXBvbmVudFxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgRmFxU2lkZW5hdkNvbXBvbmVudCB7XHJcblxyXG4gIGRhdGEgPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSkgeyB9XHJcblxyXG5cclxuICBjbG9zZVNpZGVuYXYoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ2Nsb3NlJywgRmFxU2lkZW5hdkNvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibWFpbi1zaWRlbmF2XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtdGl0bGVcIj5cclxuICAgIDxoMz57e2kxOG4udHJhbnNsYXRlKCdzZXJ2aWNlQnJpZWYnKX19PC9oMz5cclxuXHJcbiAgICA8ZHMtYnV0dG9uIChjbGljayk9XCJjbG9zZVNpZGVuYXYoKVwiIGljb24+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMjAgZmMtYmxhY2tcIj48L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwic2lkZW5hdi1ib2R5XCI+XHJcbiAgICA8YXBwLWZhcXMgW2ZhcXNdPVwiZGF0YVwiPjwvYXBwLWZhcXM+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
|