bpm-core 0.0.1
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/README.md +30 -0
- package/esm2022/bpm-core.mjs +5 -0
- package/esm2022/lib/classes/form-validation.mjs +80 -0
- package/esm2022/lib/classes/index.mjs +2 -0
- package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +51 -0
- package/esm2022/lib/components/app-component-sections/comment-section/comment-section.component.mjs +66 -0
- package/esm2022/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.mjs +29 -0
- package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +32 -0
- package/esm2022/lib/components/app-component-sections/faqs/index.mjs +2 -0
- package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +236 -0
- package/esm2022/lib/components/app-component-sections/form-section/form-section.component.mjs +270 -0
- package/esm2022/lib/components/app-component-sections/index.mjs +9 -0
- package/esm2022/lib/components/app-component-sections/main-request-details/main-request-details.component.mjs +34 -0
- package/esm2022/lib/components/app-component-sections/profile-section/profile-section.component.mjs +45 -0
- package/esm2022/lib/components/app-component-sections/service-header/service-header.component.mjs +162 -0
- package/esm2022/lib/components/app-component-sections/status/status.component.mjs +38 -0
- package/esm2022/lib/components/app-component-sections/workflow-section/workflow-section.component.mjs +162 -0
- package/esm2022/lib/components/shared-components/confirmation-popup/confirmation-popup.component.mjs +39 -0
- package/esm2022/lib/components/shared-components/delete-popup/delete-popup.component.mjs +19 -0
- package/esm2022/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.mjs +30 -0
- package/esm2022/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.mjs +28 -0
- package/esm2022/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.mjs +72 -0
- package/esm2022/lib/components/shared-components/doc-uploader/docs-uploader.component.mjs +686 -0
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +77 -0
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +181 -0
- package/esm2022/lib/components/shared-components/form-field/base-component/base-component.component.mjs +198 -0
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +69 -0
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +201 -0
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-format.mjs +31 -0
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +244 -0
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +26 -0
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +31 -0
- package/esm2022/lib/components/shared-components/form-field/index.mjs +25 -0
- package/esm2022/lib/components/shared-components/form-field/info-item/info-item.component.mjs +72 -0
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +155 -0
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/index.mjs +3 -0
- package/esm2022/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.mjs +2 -0
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +157 -0
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +114 -0
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +111 -0
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +153 -0
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +176 -0
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +38 -0
- package/esm2022/lib/components/shared-components/form-field/repeated-list/repeated-list.component.mjs +32 -0
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +228 -0
- package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +191 -0
- package/esm2022/lib/components/shared-components/form-field/table-list/table-list.component.mjs +116 -0
- package/esm2022/lib/components/shared-components/form-field/textarea/special-chars.directive.mjs +39 -0
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +88 -0
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +75 -0
- package/esm2022/lib/components/shared-components/index.mjs +10 -0
- package/esm2022/lib/components/shared-components/terms-conditions/terms-conditions.component.mjs +31 -0
- package/esm2022/lib/components/shared-components/title-section/title-section.component.mjs +31 -0
- package/esm2022/lib/constants/constants.mjs +144 -0
- package/esm2022/lib/constants/index.mjs +2 -0
- package/esm2022/lib/environments/environment.local.mjs +27 -0
- package/esm2022/lib/functions/data-to-blob.mjs +12 -0
- package/esm2022/lib/functions/encode-password.mjs +14 -0
- package/esm2022/lib/functions/handel-error-response.mjs +12 -0
- package/esm2022/lib/functions/index.mjs +5 -0
- package/esm2022/lib/functions/is-valid-data.mjs +42 -0
- package/esm2022/lib/hooks/index.mjs +3 -0
- package/esm2022/lib/hooks/load-form.mjs +13 -0
- package/esm2022/lib/hooks/save-form.mjs +18 -0
- package/esm2022/lib/i18n/ar.mjs +183 -0
- package/esm2022/lib/i18n/en.mjs +187 -0
- package/esm2022/lib/i18n/index.mjs +3 -0
- package/esm2022/lib/interfaces/api-response.interface.mjs +2 -0
- package/esm2022/lib/interfaces/document-file.interface.mjs +2 -0
- package/esm2022/lib/interfaces/form-items.interface.mjs +2 -0
- package/esm2022/lib/interfaces/form.interface.mjs +150 -0
- package/esm2022/lib/interfaces/igate-user.interface.mjs +2 -0
- package/esm2022/lib/interfaces/index.mjs +8 -0
- package/esm2022/lib/interfaces/lov-list.interface.mjs +2 -0
- package/esm2022/lib/interfaces/lov.interface.mjs +2 -0
- package/esm2022/lib/interfaces/shared.interface.mjs +2 -0
- package/esm2022/lib/pipes/currency.pipe.mjs +66 -0
- package/esm2022/lib/pipes/format-as-password.pipe.mjs +19 -0
- package/esm2022/lib/pipes/index.mjs +3 -0
- package/esm2022/lib/services/feedBack.service.mjs +80 -0
- package/esm2022/lib/services/i18n.service.mjs +36 -0
- package/esm2022/lib/services/index.mjs +3 -0
- package/esm2022/lib/services/sidenav.service.mjs +69 -0
- package/esm2022/lib/validators/ar.directive.mjs +53 -0
- package/esm2022/lib/validators/currency.directive.mjs +74 -0
- package/esm2022/lib/validators/en.directive.mjs +50 -0
- package/esm2022/lib/validators/id.validator.mjs +66 -0
- package/esm2022/lib/validators/index.mjs +8 -0
- package/esm2022/lib/validators/string-to-boolean.pipe.mjs +16 -0
- package/esm2022/lib/validators/text.directive.mjs +50 -0
- package/esm2022/lib/validators/timer.pipe.mjs +19 -0
- package/esm2022/public-api.mjs +16 -0
- package/fesm2022/bpm-core.mjs +6005 -0
- package/fesm2022/bpm-core.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/classes/form-validation.d.ts +19 -0
- package/lib/classes/index.d.ts +1 -0
- package/lib/components/app-component-sections/activities/activities.component.d.ts +22 -0
- package/lib/components/app-component-sections/comment-section/comment-section.component.d.ts +19 -0
- package/lib/components/app-component-sections/faq-sidenav/faq-sidenav.component.d.ts +13 -0
- package/lib/components/app-component-sections/faqs/faqs.component.d.ts +17 -0
- package/lib/components/app-component-sections/faqs/index.d.ts +1 -0
- package/lib/components/app-component-sections/feedback-section/feedback-section.component.d.ts +38 -0
- package/lib/components/app-component-sections/form-section/form-section.component.d.ts +58 -0
- package/lib/components/app-component-sections/index.d.ts +8 -0
- package/lib/components/app-component-sections/main-request-details/main-request-details.component.d.ts +13 -0
- package/lib/components/app-component-sections/profile-section/profile-section.component.d.ts +17 -0
- package/lib/components/app-component-sections/service-header/service-header.component.d.ts +35 -0
- package/lib/components/app-component-sections/status/status.component.d.ts +23 -0
- package/lib/components/app-component-sections/workflow-section/workflow-section.component.d.ts +29 -0
- package/lib/components/shared-components/confirmation-popup/confirmation-popup.component.d.ts +25 -0
- package/lib/components/shared-components/delete-popup/delete-popup.component.d.ts +6 -0
- package/lib/components/shared-components/dialogs/confirm-dialog/confirm-dialog.component.d.ts +11 -0
- package/lib/components/shared-components/dialogs/delete-dialog/delete-dialog.component.d.ts +11 -0
- package/lib/components/shared-components/dialogs/submit-dialog/submit-dialog.component.d.ts +15 -0
- package/lib/components/shared-components/doc-uploader/docs-uploader.component.d.ts +144 -0
- package/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.d.ts +16 -0
- package/lib/components/shared-components/form-field/attachment-section/attachment-section.component.d.ts +30 -0
- package/lib/components/shared-components/form-field/base-component/base-component.component.d.ts +63 -0
- package/lib/components/shared-components/form-field/checkbox/checkbox.component.d.ts +18 -0
- package/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.d.ts +29 -0
- package/lib/components/shared-components/form-field/date-picker/date-format.d.ts +17 -0
- package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +41 -0
- package/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.d.ts +10 -0
- package/lib/components/shared-components/form-field/form-label/form-label.component.d.ts +12 -0
- package/lib/components/shared-components/form-field/index.d.ts +24 -0
- package/lib/components/shared-components/form-field/info-item/info-item.component.d.ts +23 -0
- package/lib/components/shared-components/form-field/input/input.component.d.ts +32 -0
- package/lib/components/shared-components/form-field/input-autocomplete/index.d.ts +1 -0
- package/lib/components/shared-components/form-field/input-autocomplete/input-autocomplete.model.d.ts +6 -0
- package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +31 -0
- package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +27 -0
- package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +27 -0
- package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +30 -0
- package/lib/components/shared-components/form-field/input-telephone/input-telephone.component.d.ts +45 -0
- package/lib/components/shared-components/form-field/radio/radio.component.d.ts +10 -0
- package/lib/components/shared-components/form-field/repeated-list/repeated-list.component.d.ts +9 -0
- package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +44 -0
- package/lib/components/shared-components/form-field/select/select.component.d.ts +36 -0
- package/lib/components/shared-components/form-field/table-list/table-list.component.d.ts +26 -0
- package/lib/components/shared-components/form-field/textarea/special-chars.directive.d.ts +10 -0
- package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +20 -0
- package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +20 -0
- package/lib/components/shared-components/index.d.ts +9 -0
- package/lib/components/shared-components/terms-conditions/terms-conditions.component.d.ts +12 -0
- package/lib/components/shared-components/title-section/title-section.component.d.ts +13 -0
- package/lib/constants/constants.d.ts +122 -0
- package/lib/constants/index.d.ts +1 -0
- package/lib/environments/environment.local.d.ts +26 -0
- package/lib/functions/data-to-blob.d.ts +1 -0
- package/lib/functions/encode-password.d.ts +1 -0
- package/lib/functions/handel-error-response.d.ts +4 -0
- package/lib/functions/index.d.ts +4 -0
- package/lib/functions/is-valid-data.d.ts +1 -0
- package/lib/hooks/index.d.ts +2 -0
- package/lib/hooks/load-form.d.ts +10 -0
- package/lib/hooks/save-form.d.ts +15 -0
- package/lib/i18n/ar.d.ts +170 -0
- package/lib/i18n/en.d.ts +174 -0
- package/lib/i18n/index.d.ts +2 -0
- package/lib/interfaces/api-response.interface.d.ts +5 -0
- package/lib/interfaces/document-file.interface.d.ts +12 -0
- package/lib/interfaces/form-items.interface.d.ts +14 -0
- package/lib/interfaces/form.interface.d.ts +95 -0
- package/lib/interfaces/igate-user.interface.d.ts +16 -0
- package/lib/interfaces/index.d.ts +7 -0
- package/lib/interfaces/lov-list.interface.d.ts +10 -0
- package/lib/interfaces/lov.interface.d.ts +19 -0
- package/lib/interfaces/shared.interface.d.ts +21 -0
- package/lib/pipes/currency.pipe.d.ts +13 -0
- package/lib/pipes/format-as-password.pipe.d.ts +7 -0
- package/lib/pipes/index.d.ts +2 -0
- package/lib/services/feedBack.service.d.ts +21 -0
- package/lib/services/i18n.service.d.ts +10 -0
- package/lib/services/index.d.ts +2 -0
- package/lib/services/sidenav.service.d.ts +28 -0
- package/lib/validators/ar.directive.d.ts +11 -0
- package/lib/validators/currency.directive.d.ts +16 -0
- package/lib/validators/en.directive.d.ts +11 -0
- package/lib/validators/id.validator.d.ts +3 -0
- package/lib/validators/index.d.ts +7 -0
- package/lib/validators/string-to-boolean.pipe.d.ts +7 -0
- package/lib/validators/text.directive.d.ts +12 -0
- package/lib/validators/timer.pipe.d.ts +7 -0
- package/package.json +26 -0
- package/public-api.d.ts +13 -0
package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs
ADDED
|
@@ -0,0 +1,244 @@
|
|
|
1
|
+
import { FormControl, ReactiveFormsModule, Validators } from '@angular/forms';
|
|
2
|
+
import { BaseComponent } from '../base-component/base-component.component';
|
|
3
|
+
import { Component, Input, Output, EventEmitter, ViewChild, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
4
|
+
import { MAT_DATE_FORMATS, DateAdapter, MAT_DATE_LOCALE } from '@angular/material/core';
|
|
5
|
+
import { MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateAdapter } from '@angular/material-moment-adapter';
|
|
6
|
+
import { MatDatepicker, MatDatepickerInput, MatDatepickerToggle } from '@angular/material/datepicker';
|
|
7
|
+
import { CustomDateFormat } from './date-format';
|
|
8
|
+
import { MatFormField } from "@angular/material/form-field";
|
|
9
|
+
import { NgClass, NgIf } from "@angular/common";
|
|
10
|
+
import { InfoItemComponent } from "../info-item/info-item.component";
|
|
11
|
+
import * as moment from 'moment';
|
|
12
|
+
import * as i0 from "@angular/core";
|
|
13
|
+
import * as i1 from "@angular/forms";
|
|
14
|
+
const YEAR_ONLY_FORMAT = {
|
|
15
|
+
parse: {
|
|
16
|
+
dateInput: 'YYYY',
|
|
17
|
+
},
|
|
18
|
+
display: {
|
|
19
|
+
dateInput: 'YYYY',
|
|
20
|
+
monthYearLabel: 'YYYY',
|
|
21
|
+
dateA11yLabel: 'LL',
|
|
22
|
+
monthYearA11yLabel: 'YYYY',
|
|
23
|
+
},
|
|
24
|
+
};
|
|
25
|
+
export class DatePickerComponent extends BaseComponent {
|
|
26
|
+
date = new FormControl();
|
|
27
|
+
tooltip;
|
|
28
|
+
className;
|
|
29
|
+
calendarType;
|
|
30
|
+
showLabel = true;
|
|
31
|
+
yearOnly;
|
|
32
|
+
resetDate = false;
|
|
33
|
+
dateValue = new EventEmitter();
|
|
34
|
+
showIslamic = false;
|
|
35
|
+
error;
|
|
36
|
+
minDateValue;
|
|
37
|
+
maxDateValue;
|
|
38
|
+
maxDate;
|
|
39
|
+
datepickerObj;
|
|
40
|
+
minDate;
|
|
41
|
+
customMaxDate;
|
|
42
|
+
customMinDate;
|
|
43
|
+
set format(_format) {
|
|
44
|
+
if (_format) {
|
|
45
|
+
this.dateFormat.updateDateFormat({ dateInput: _format }, { dateInput: _format });
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
datepicker;
|
|
49
|
+
floatLabel = 'auto';
|
|
50
|
+
ngAfterViewInit() {
|
|
51
|
+
if (!this.isReadOnly && this.yearOnly)
|
|
52
|
+
this.activateYearOnlyMode();
|
|
53
|
+
}
|
|
54
|
+
get shouldSetDateFormateInAr() {
|
|
55
|
+
return false;
|
|
56
|
+
}
|
|
57
|
+
ngOnInit() {
|
|
58
|
+
// this.resetPropagator.subscribe(this, this.resetDateData);
|
|
59
|
+
const today = new Date();
|
|
60
|
+
const currentYear = today.getFullYear();
|
|
61
|
+
const currentMonth = today.getMonth();
|
|
62
|
+
const currentDay = today.getDate();
|
|
63
|
+
if (this.minDate) {
|
|
64
|
+
if (this.minDate == 'today') {
|
|
65
|
+
this.minDateValue = new Date(currentYear, currentMonth, currentDay);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
if (this.maxDate) {
|
|
69
|
+
if (this.maxDate == 'today') {
|
|
70
|
+
this.maxDateValue = new Date(currentYear, currentMonth, currentDay);
|
|
71
|
+
}
|
|
72
|
+
else if (this.maxDate == 'oneYear') {
|
|
73
|
+
this.maxDateValue = new Date(currentYear + 1, currentMonth, currentDay - 1);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
else if (this.customMaxDate) {
|
|
77
|
+
const date = new Date(this.customMaxDate);
|
|
78
|
+
this.maxDateValue = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
79
|
+
}
|
|
80
|
+
if (this.field) {
|
|
81
|
+
this.date.setValue(this.field);
|
|
82
|
+
}
|
|
83
|
+
if (this.required)
|
|
84
|
+
this.date.addValidators(Validators.required);
|
|
85
|
+
}
|
|
86
|
+
ngOnChanges(changes) {
|
|
87
|
+
if (this.resetDate && this.field == null) {
|
|
88
|
+
this.field = '';
|
|
89
|
+
this.date.setValue(this.field);
|
|
90
|
+
this.emitedValue.emit(this.field);
|
|
91
|
+
}
|
|
92
|
+
if (changes) {
|
|
93
|
+
if (this.customMaxDate) {
|
|
94
|
+
const date = new Date(this.customMaxDate);
|
|
95
|
+
this.maxDateValue = new Date(date.getFullYear(), date.getMonth(), date.getDate());
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (changes && !this.isReadOnly) { // add min date value for 2 dates validations
|
|
99
|
+
if (this.customMinDate) {
|
|
100
|
+
const date = new Date(this.customMinDate);
|
|
101
|
+
this.minDateValue = new Date(date.getFullYear(), date.getMonth(), date.getDate() + 1);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
resetDateData() {
|
|
106
|
+
if (!this.isReadOnly) {
|
|
107
|
+
this.field = '';
|
|
108
|
+
this.date.setValue(this.field);
|
|
109
|
+
this.emitedValue.emit(this.field);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
focusPicker(picker) {
|
|
113
|
+
picker.open();
|
|
114
|
+
}
|
|
115
|
+
onFocus() {
|
|
116
|
+
this.datepickerObj.show();
|
|
117
|
+
}
|
|
118
|
+
dateChange(event) {
|
|
119
|
+
if (!this.disabled) {
|
|
120
|
+
if (event?.value) {
|
|
121
|
+
let inputValue;
|
|
122
|
+
const eventDate = moment(event.value);
|
|
123
|
+
const minDate = moment(this.minDateValue);
|
|
124
|
+
const maxDate = moment(this.maxDateValue);
|
|
125
|
+
if (eventDate < minDate && this.minDateValue) {
|
|
126
|
+
this.field = '';
|
|
127
|
+
this.datepickerObj.value = '';
|
|
128
|
+
inputValue = '';
|
|
129
|
+
}
|
|
130
|
+
else if (eventDate > maxDate && this.maxDateValue) {
|
|
131
|
+
this.field = '';
|
|
132
|
+
this.datepickerObj.value = '';
|
|
133
|
+
inputValue = '';
|
|
134
|
+
}
|
|
135
|
+
else {
|
|
136
|
+
inputValue = moment(event.value).locale('en-US').format("YYYY-MM-DDTHH:mm:ss.SSSZ");
|
|
137
|
+
this.emitedValue.emit(inputValue);
|
|
138
|
+
}
|
|
139
|
+
this.field = inputValue;
|
|
140
|
+
}
|
|
141
|
+
else {
|
|
142
|
+
this.section.body.details[this.name] = '';
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
clearDateValue(event) {
|
|
147
|
+
this.resetDateData();
|
|
148
|
+
event?.preventDefault();
|
|
149
|
+
event?.stopPropagation();
|
|
150
|
+
}
|
|
151
|
+
removeDate() {
|
|
152
|
+
this.field = '';
|
|
153
|
+
// this.controller.setValue('')
|
|
154
|
+
}
|
|
155
|
+
toggleIslamicCal() {
|
|
156
|
+
this.showIslamic = !this.showIslamic;
|
|
157
|
+
}
|
|
158
|
+
activateYearOnlyMode() {
|
|
159
|
+
this.dateFormat.updateDateFormat(YEAR_ONLY_FORMAT.parse, YEAR_ONLY_FORMAT.display);
|
|
160
|
+
if (this.field) {
|
|
161
|
+
this.date.setValue(moment(this.field).format('yyyy'));
|
|
162
|
+
}
|
|
163
|
+
this.datepicker.startView = 'multi-year';
|
|
164
|
+
this.datepicker.yearSelected.subscribe(e => {
|
|
165
|
+
this.date.setValue(moment(e).format('yyyy'));
|
|
166
|
+
this.emitedValue.emit(moment(e).format('yyyy'));
|
|
167
|
+
this.datepicker.close();
|
|
168
|
+
});
|
|
169
|
+
this.datepicker.openedStream.subscribe(() => {
|
|
170
|
+
document.body.classList.add('year-only');
|
|
171
|
+
});
|
|
172
|
+
this.datepicker.closedStream.subscribe(() => {
|
|
173
|
+
document.body.classList.remove('year-only');
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DatePickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
177
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DatePickerComponent, isStandalone: true, selector: "app-datepicker", inputs: { tooltip: "tooltip", className: "className", calendarType: "calendarType", showLabel: "showLabel", yearOnly: "yearOnly", resetDate: "resetDate", error: "error", maxDate: "maxDate", minDate: "minDate", customMaxDate: "customMaxDate", customMinDate: "customMinDate", format: "format" }, outputs: { dateValue: "dateValue" }, providers: [
|
|
178
|
+
{
|
|
179
|
+
provide: DateAdapter,
|
|
180
|
+
useClass: MomentDateAdapter,
|
|
181
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
182
|
+
},
|
|
183
|
+
{
|
|
184
|
+
provide: MAT_DATE_FORMATS,
|
|
185
|
+
useClass: CustomDateFormat
|
|
186
|
+
},
|
|
187
|
+
], viewQueries: [{ propertyName: "datepickerObj", first: true, predicate: ["default"], descendants: true }, { propertyName: "datepicker", first: true, predicate: MatDatepicker, descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{labelTextWriteMode}}</span>\r\n <span *ngIf=\"!required\" class=\"fs-11 fc-dark-gray\"> {{i18n.translate('optional')}} </span>\r\n </div>\r\n <div class=\"justify-content-between mb-1\">\r\n <mat-form-field [ngClass]=\"{'input-disabled' : disabled }\" [floatLabel]=\"floatLabel\">\r\n <label class=\"mat-form-content\">\r\n <input matInput (dateInput)=\"dateChange($event)\" [placeholder]=\"hasLabel ? (i18n.translate('select') + ' ' + labelTextWriteMode) : ''\" (focus)=\"focusPicker(dp)\" [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\" readonly [matDatepicker]=\"dp\" [formControl]=\"date\">\r\n </label>\r\n <ds-icon *ngIf=\"date?.value\" matSuffix icon=\"close\" class=\"fc-onyx fs-10 mx-2 cursor-pointer\" (click)=\"clearDateValue($event)\"></ds-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\">\r\n <ds-icon icon=\"calendar-o\" class=\"fc-black fs-18\" matDatepickerToggleIcon></ds-icon>\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #dp>\r\n </mat-datepicker>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && field\">\r\n <app-info-item class=\"info-item w-100\" type=\"date\" [insideTable]=\"insideTable\" [dateType]=\"calendarType\" [label]=\"labelTextReadMode\"\r\n [value]=\"field\" [hasLabel]=\"hasLabel\">\r\n </app-info-item>\r\n</ng-container>\r\n", styles: [":host{flex-grow:1}::ng-deep .year-only .mat-calendar-period-button{pointer-events:none}::ng-deep .year-only .mat-calendar-arrow{display:none}\n"], dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
188
|
+
}
|
|
189
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DatePickerComponent, decorators: [{
|
|
190
|
+
type: Component,
|
|
191
|
+
args: [{ selector: 'app-datepicker', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], providers: [
|
|
192
|
+
{
|
|
193
|
+
provide: DateAdapter,
|
|
194
|
+
useClass: MomentDateAdapter,
|
|
195
|
+
deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS],
|
|
196
|
+
},
|
|
197
|
+
{
|
|
198
|
+
provide: MAT_DATE_FORMATS,
|
|
199
|
+
useClass: CustomDateFormat
|
|
200
|
+
},
|
|
201
|
+
], imports: [
|
|
202
|
+
MatFormField,
|
|
203
|
+
MatDatepickerToggle,
|
|
204
|
+
MatDatepicker,
|
|
205
|
+
MatDatepickerInput,
|
|
206
|
+
NgClass,
|
|
207
|
+
NgIf,
|
|
208
|
+
InfoItemComponent,
|
|
209
|
+
ReactiveFormsModule
|
|
210
|
+
], template: "<ng-container *ngIf=\"!isReadOnly\">\r\n <div class=\"d-flex justify-content-between mb-1\" *ngIf=\"hasLabel\">\r\n <span class=\"form-label mb-0\">{{labelTextWriteMode}}</span>\r\n <span *ngIf=\"!required\" class=\"fs-11 fc-dark-gray\"> {{i18n.translate('optional')}} </span>\r\n </div>\r\n <div class=\"justify-content-between mb-1\">\r\n <mat-form-field [ngClass]=\"{'input-disabled' : disabled }\" [floatLabel]=\"floatLabel\">\r\n <label class=\"mat-form-content\">\r\n <input matInput (dateInput)=\"dateChange($event)\" [placeholder]=\"hasLabel ? (i18n.translate('select') + ' ' + labelTextWriteMode) : ''\" (focus)=\"focusPicker(dp)\" [min]=\"minDateValue\"\r\n [max]=\"maxDateValue\" readonly [matDatepicker]=\"dp\" [formControl]=\"date\">\r\n </label>\r\n <ds-icon *ngIf=\"date?.value\" matSuffix icon=\"close\" class=\"fc-onyx fs-10 mx-2 cursor-pointer\" (click)=\"clearDateValue($event)\"></ds-icon>\r\n <mat-datepicker-toggle matSuffix [for]=\"dp\">\r\n <ds-icon icon=\"calendar-o\" class=\"fc-black fs-18\" matDatepickerToggleIcon></ds-icon>\r\n </mat-datepicker-toggle>\r\n <mat-datepicker #dp>\r\n </mat-datepicker>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage}}</mat-error>\r\n </mat-form-field>\r\n </div>\r\n\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"isReadOnly && field\">\r\n <app-info-item class=\"info-item w-100\" type=\"date\" [insideTable]=\"insideTable\" [dateType]=\"calendarType\" [label]=\"labelTextReadMode\"\r\n [value]=\"field\" [hasLabel]=\"hasLabel\">\r\n </app-info-item>\r\n</ng-container>\r\n", styles: [":host{flex-grow:1}::ng-deep .year-only .mat-calendar-period-button{pointer-events:none}::ng-deep .year-only .mat-calendar-arrow{display:none}\n"] }]
|
|
211
|
+
}], propDecorators: { tooltip: [{
|
|
212
|
+
type: Input
|
|
213
|
+
}], className: [{
|
|
214
|
+
type: Input
|
|
215
|
+
}], calendarType: [{
|
|
216
|
+
type: Input
|
|
217
|
+
}], showLabel: [{
|
|
218
|
+
type: Input
|
|
219
|
+
}], yearOnly: [{
|
|
220
|
+
type: Input
|
|
221
|
+
}], resetDate: [{
|
|
222
|
+
type: Input
|
|
223
|
+
}], dateValue: [{
|
|
224
|
+
type: Output
|
|
225
|
+
}], error: [{
|
|
226
|
+
type: Input
|
|
227
|
+
}], maxDate: [{
|
|
228
|
+
type: Input
|
|
229
|
+
}], datepickerObj: [{
|
|
230
|
+
type: ViewChild,
|
|
231
|
+
args: ['default']
|
|
232
|
+
}], minDate: [{
|
|
233
|
+
type: Input
|
|
234
|
+
}], customMaxDate: [{
|
|
235
|
+
type: Input
|
|
236
|
+
}], customMinDate: [{
|
|
237
|
+
type: Input
|
|
238
|
+
}], format: [{
|
|
239
|
+
type: Input
|
|
240
|
+
}], datepicker: [{
|
|
241
|
+
type: ViewChild,
|
|
242
|
+
args: [MatDatepicker]
|
|
243
|
+
}] } });
|
|
244
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1waWNrZXIvZGF0ZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxVQUFVLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUM1RSxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sNENBQTRDLENBQUM7QUFDekUsT0FBTyxFQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxTQUFTLEVBQWdDLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3RJLE9BQU8sRUFBQyxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsZUFBZSxFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFDdEYsT0FBTyxFQUFDLCtCQUErQixFQUFFLGlCQUFpQixFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDcEcsT0FBTyxFQUFDLGFBQWEsRUFBRSxrQkFBa0IsRUFBRSxtQkFBbUIsRUFBQyxNQUFNLDhCQUE4QixDQUFDO0FBQ3BHLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUMvQyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUM5QyxPQUFPLEVB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LFNBQVM7c0JBQWxCLE1BQU07Z0JBRUUsS0FBSztzQkFBYixLQUFLO2dCQUdHLE9BQU87c0JBQWYsS0FBSztnQkFFQyxhQUFhO3NCQURuQixTQUFTO3VCQUFDLFNBQVM7Z0JBRVgsT0FBTztzQkFBZixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFFTyxNQUFNO3NCQUFsQixLQUFLO2dCQU1vQixVQUFVO3NCQUFuQyxTQUFTO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0Zvcm1Db250cm9sLCBSZWFjdGl2ZUZvcm1zTW9kdWxlLCBWYWxpZGF0b3JzfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7QmFzZUNvbXBvbmVudH0gZnJvbSAnLi4vYmFzZS1jb21wb25lbnQvYmFzZS1jb21wb25lbnQuY29tcG9uZW50JztcclxuaW1wb3J0IHtDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVmlld0NoaWxkLCBTaW1wbGVDaGFuZ2VzLCBBZnRlclZpZXdJbml0LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNQVRfREFURV9GT1JNQVRTLCBEYXRlQWRhcHRlciwgTUFUX0RBVEVfTE9DQUxFfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHtNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TLCBNb21lbnREYXRlQWRhcHRlcn0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwtbW9tZW50LWFkYXB0ZXInO1xyXG5pbXBvcnQge01hdERhdGVwaWNrZXIsIE1hdERhdGVwaWNrZXJJbnB1dCwgTWF0RGF0ZXBpY2tlclRvZ2dsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGF0ZXBpY2tlcic7XHJcbmltcG9ydCB7Q3VzdG9tRGF0ZUZvcm1hdH0gZnJvbSAnLi9kYXRlLWZvcm1hdCc7XHJcbmltcG9ydCB7TWF0Rm9ybUZpZWxkfSBmcm9tIFwiQGFuZ3VsYXIvbWF0ZXJpYWwvZm9ybS1maWVsZFwiO1xyXG5pbXBvcnQge05nQ2xhc3MsIE5nSWZ9IGZyb20gXCJAYW5ndWxhci9jb21tb25cIjtcclxuaW1wb3J0IHtJbmZvSXRlbUNvbXBvbmVudH0gZnJvbSBcIi4uL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50XCI7XHJcbmltcG9ydCAqIGFzIG1vbWVudCBmcm9tICdtb21lbnQnO1xyXG5cclxuXHJcbmNvbnN0IFlFQVJfT05MWV9GT1JNQVQgPSB7XHJcbiAgcGFyc2U6IHtcclxuICAgIGRhdGVJbnB1dDogJ1lZWVknLFxyXG4gIH0sXHJcbiAgZGlzcGxheToge1xyXG4gICAgZGF0ZUlucHV0OiAnWVlZWScsXHJcbiAgICBtb250aFllYXJMYWJlbDogJ1lZWVknLFxyXG4gICAgZGF0ZUExMXlMYWJlbDogJ0xMJyxcclxuICAgIG1vbnRoWWVhckExMXlMYWJlbDogJ1lZWVknLFxyXG4gIH0sXHJcbn07XHJcblxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZGF0ZXBpY2tlcicsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2RhdGUtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXBpY2tlci5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHByb3ZpZGVyczogW1xyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBEYXRlQWRhcHRlcixcclxuICAgICAgdXNlQ2xhc3M6IE1vbWVudERhdGVBZGFwdGVyLFxyXG4gICAgICBkZXBzOiBbTUFUX0RBVEVfTE9DQUxFLCBNQVRfTU9NRU5UX0RBVEVfQURBUFRFUl9PUFRJT05TXSxcclxuICAgIH0sXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE1BVF9EQVRFX0ZPUk1BVFMsXHJcbiAgICAgIHVzZUNsYXNzOiBDdXN0b21EYXRlRm9ybWF0XHJcbiAgICB9LFxyXG4gIF0sXHJcblxyXG5cclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRGb3JtRmllbGQsXHJcbiAgICBNYXREYXRlcGlja2VyVG9nZ2xlLFxyXG4gICAgTWF0RGF0ZXBpY2tlcixcclxuICAgIE1hdERhdGVwaWNrZXJJbnB1dCxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ0lmLFxyXG4gICAgSW5mb0l0ZW1Db21wb25lbnQsXHJcbiAgICBSZWFjdGl2ZUZvcm1zTW9kdWxlXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVBpY2tlckNvbXBvbmVudCBleHRlbmRzIEJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuICBkYXRlID0gbmV3IEZvcm1Db250cm9sKCk7XHJcbiAgQElucHV0KCkgdG9vbHRpcCE6IHN0cmluZztcclxuICBASW5wdXQoKSBjbGFzc05hbWUhOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgY2FsZW5kYXJUeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHNob3dMYWJlbCA9IHRydWU7XHJcbiAgQElucHV0KCkgeWVhck9ubHk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgcmVzZXREYXRlID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIGRhdGVWYWx1ZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgc2hvd0lzbGFtaWMgPSBmYWxzZVxyXG4gIEBJbnB1dCgpIGVycm9yITogc3RyaW5nO1xyXG4gIG1pbkRhdGVWYWx1ZTogYW55XHJcbiAgbWF4RGF0ZVZhbHVlOiBhbnlcclxuICBASW5wdXQoKSBtYXhEYXRlOiBzdHJpbmc7XHJcbiAgQFZpZXdDaGlsZCgnZGVmYXVsdCcpXHJcbiAgcHVibGljIGRhdGVwaWNrZXJPYmohOiBhbnk7XHJcbiAgQElucHV0KCkgbWluRGF0ZTogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGN1c3RvbU1heERhdGU6IGFueVxyXG4gIEBJbnB1dCgpIGN1c3RvbU1pbkRhdGU6IGFueVxyXG5cclxuICBASW5wdXQoKSBzZXQgZm9ybWF0KF9mb3JtYXQ6IHN0cmluZykge1xyXG4gICAgaWYgKF9mb3JtYXQpIHtcclxuICAgICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoe2RhdGVJbnB1dDogX2Zvcm1hdH0sIHtkYXRlSW5wdXQ6IF9mb3JtYXR9KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBWaWV3Q2hpbGQoTWF0RGF0ZXBpY2tlcikgZGF0ZXBpY2tlcjogTWF0RGF0ZXBpY2tlcjxhbnk+O1xyXG4gIGZsb2F0TGFiZWw6IGFueSA9ICdhdXRvJztcclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xyXG4gICAgaWYgKCF0aGlzLmlzUmVhZE9ubHkgJiYgdGhpcy55ZWFyT25seSkgdGhpcy5hY3RpdmF0ZVllYXJPbmx5TW9kZSgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgZ2V0IHNob3VsZFNldERhdGVGb3JtYXRlSW5BcigpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG5cclxuICAgIC8vIHRoaXMucmVzZXRQcm9wYWdhdG9yLnN1YnNjcmliZSh0aGlzLCB0aGlzLnJlc2V0RGF0ZURhdGEpO1xyXG4gICAgY29uc3QgdG9kYXkgPSBuZXcgRGF0ZSgpO1xyXG4gICAgY29uc3QgY3VycmVudFllYXIgPSB0b2RheS5nZXRGdWxsWWVhcigpO1xyXG4gICAgY29uc3QgY3VycmVudE1vbnRoID0gdG9kYXkuZ2V0TW9udGgoKTtcclxuICAgIGNvbnN0IGN1cnJlbnREYXkgPSB0b2RheS5nZXREYXRlKCk7XHJcbiAgICBpZiAodGhpcy5taW5EYXRlKSB7XHJcbiAgICAgIGlmICh0aGlzLm1pbkRhdGUgPT0gJ3RvZGF5Jykge1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoY3VycmVudFllYXIsIGN1cnJlbnRNb250aCwgY3VycmVudERheSlcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1heERhdGUpIHtcclxuICAgICAgaWYgKHRoaXMubWF4RGF0ZSA9PSAndG9kYXknKSB7XHJcbiAgICAgICAgdGhpcy5tYXhEYXRlVmFsdWUgPSBuZXcgRGF0ZShjdXJyZW50WWVhciwgY3VycmVudE1vbnRoLCBjdXJyZW50RGF5KVxyXG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF4RGF0ZSA9PSAnb25lWWVhcicpIHtcclxuICAgICAgICB0aGlzLm1heERhdGVWYWx1ZSA9IG5ldyBEYXRlKGN1cnJlbnRZZWFyICsgMSwgY3VycmVudE1vbnRoLCBjdXJyZW50RGF5IC0gMSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSBpZiAodGhpcy5jdXN0b21NYXhEYXRlKSB7XHJcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbU1heERhdGUpXHJcbiAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5maWVsZCkge1xyXG4gICAgICB0aGlzLmRhdGUuc2V0VmFsdWUodGhpcy5maWVsZCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5yZXF1aXJlZCkgdGhpcy5kYXRlLmFkZFZhbGlkYXRvcnMoVmFsaWRhdG9ycy5yZXF1aXJlZClcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmICh0aGlzLnJlc2V0RGF0ZSAmJiB0aGlzLmZpZWxkID09IG51bGwpIHtcclxuICAgICAgdGhpcy5maWVsZCA9ICcnO1xyXG4gICAgICB0aGlzLmRhdGUuc2V0VmFsdWUodGhpcy5maWVsZClcclxuICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KHRoaXMuZmllbGQpO1xyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMpIHtcclxuICAgICAgaWYgKHRoaXMuY3VzdG9tTWF4RGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbU1heERhdGUpO1xyXG4gICAgICAgIHRoaXMubWF4RGF0ZVZhbHVlID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgaWYgKGNoYW5nZXMgJiYgIXRoaXMuaXNSZWFkT25seSkgeyAvLyBhZGQgbWluIGRhdGUgdmFsdWUgZm9yIDIgZGF0ZXMgdmFsaWRhdGlvbnNcclxuICAgICAgaWYgKHRoaXMuY3VzdG9tTWluRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmN1c3RvbU1pbkRhdGUpO1xyXG4gICAgICAgIHRoaXMubWluRGF0ZVZhbHVlID0gbmV3IERhdGUoZGF0ZS5nZXRGdWxsWWVhcigpLCBkYXRlLmdldE1vbnRoKCksIGRhdGUuZ2V0RGF0ZSgpICsgMSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJlc2V0RGF0ZURhdGEoKSB7XHJcbiAgICBpZiAoIXRoaXMuaXNSZWFkT25seSkge1xyXG4gICAgICB0aGlzLmZpZWxkID0gJyc7XHJcbiAgICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZSh0aGlzLmZpZWxkKVxyXG4gICAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQodGhpcy5maWVsZCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb2N1c1BpY2tlcihwaWNrZXIpIHtcclxuICAgIHBpY2tlci5vcGVuKCk7XHJcbiAgfVxyXG5cclxuICBvbkZvY3VzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlcGlja2VyT2JqLnNob3coKTtcclxuICB9XHJcblxyXG4gIGRhdGVDaGFuZ2UoZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIGlmIChldmVudD8udmFsdWUpIHtcclxuICAgICAgICBsZXQgaW5wdXRWYWx1ZVxyXG4gICAgICAgIGNvbnN0IGV2ZW50RGF0ZSA9IG1vbWVudChldmVudC52YWx1ZSk7XHJcbiAgICAgICAgY29uc3QgbWluRGF0ZSA9IG1vbWVudCh0aGlzLm1pbkRhdGVWYWx1ZSk7XHJcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IG1vbWVudCh0aGlzLm1heERhdGVWYWx1ZSk7XHJcbiAgICAgICAgaWYgKGV2ZW50RGF0ZSA8IG1pbkRhdGUgJiYgdGhpcy5taW5EYXRlVmFsdWUpIHtcclxuICAgICAgICAgIHRoaXMuZmllbGQgPSAnJ1xyXG4gICAgICAgICAgdGhpcy5kYXRlcGlja2VyT2JqLnZhbHVlID0gJydcclxuICAgICAgICAgIGlucHV0VmFsdWUgPSAnJ1xyXG4gICAgICAgIH0gZWxzZSBpZiAoZXZlbnREYXRlID4gbWF4RGF0ZSAmJiB0aGlzLm1heERhdGVWYWx1ZSkge1xyXG4gICAgICAgICAgdGhpcy5maWVsZCA9ICcnXHJcbiAgICAgICAgICB0aGlzLmRhdGVwaWNrZXJPYmoudmFsdWUgPSAnJ1xyXG4gICAgICAgICAgaW5wdXRWYWx1ZSA9ICcnXHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIGlucHV0VmFsdWUgPSBtb21lbnQoZXZlbnQudmFsdWUpLmxvY2FsZSgnZW4tVVMnKS5mb3JtYXQoXCJZWVlZLU1NLUREVEhIOm1tOnNzLlNTU1pcIik7XHJcbiAgICAgICAgICB0aGlzLmVtaXRlZFZhbHVlLmVtaXQoaW5wdXRWYWx1ZSlcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5maWVsZCA9IGlucHV0VmFsdWVcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzW3RoaXMubmFtZV0gPSAnJ1xyXG5cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2xlYXJEYXRlVmFsdWUoZXZlbnQpOiB2b2lkIHtcclxuICAgIHRoaXMucmVzZXREYXRlRGF0YSgpO1xyXG4gICAgZXZlbnQ/LnByZXZlbnREZWZhdWx0KCk7XHJcbiAgICBldmVudD8uc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICByZW1vdmVEYXRlKCkge1xyXG4gICAgdGhpcy5maWVsZCA9ICcnXHJcbiAgICAvLyB0aGlzLmNvbnRyb2xsZXIuc2V0VmFsdWUoJycpXHJcbiAgfVxyXG5cclxuICB0b2dnbGVJc2xhbWljQ2FsKCkge1xyXG4gICAgdGhpcy5zaG93SXNsYW1pYyA9ICF0aGlzLnNob3dJc2xhbWljXHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFjdGl2YXRlWWVhck9ubHlNb2RlKCk6IHZvaWQge1xyXG4gICAgdGhpcy5kYXRlRm9ybWF0LnVwZGF0ZURhdGVGb3JtYXQoWUVBUl9PTkxZX0ZPUk1BVC5wYXJzZSwgWUVBUl9PTkxZX0ZPUk1BVC5kaXNwbGF5KTtcclxuICAgIGlmICh0aGlzLmZpZWxkKSB7XHJcbiAgICAgIHRoaXMuZGF0ZS5zZXRWYWx1ZShtb21lbnQodGhpcy5maWVsZCkuZm9ybWF0KCd5eXl5JykpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5kYXRlcGlja2VyLnN0YXJ0VmlldyA9ICdtdWx0aS15ZWFyJztcclxuICAgIHRoaXMuZGF0ZXBpY2tlci55ZWFyU2VsZWN0ZWQuc3Vic2NyaWJlKGUgPT4ge1xyXG4gICAgICB0aGlzLmRhdGUuc2V0VmFsdWUobW9tZW50KGUpLmZvcm1hdCgneXl5eScpKTtcclxuICAgICAgdGhpcy5lbWl0ZWRWYWx1ZS5lbWl0KG1vbWVudChlKS5mb3JtYXQoJ3l5eXknKSlcclxuICAgICAgdGhpcy5kYXRlcGlja2VyLmNsb3NlKCk7XHJcbiAgICB9KVxyXG4gICAgdGhpcy5kYXRlcGlja2VyLm9wZW5lZFN0cmVhbS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmNsYXNzTGlzdC5hZGQoJ3llYXItb25seScpO1xyXG4gICAgfSlcclxuICAgIHRoaXMuZGF0ZXBpY2tlci5jbG9zZWRTdHJlYW0uc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgZG9jdW1lbnQuYm9keS5jbGFzc0xpc3QucmVtb3ZlKCd5ZWFyLW9ubHknKTtcclxuICAgIH0pXHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiIWlzUmVhZE9ubHlcIj5cclxuICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIiAqbmdJZj1cImhhc0xhYmVsXCI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImZvcm0tbGFiZWwgbWItMFwiPnt7bGFiZWxUZXh0V3JpdGVNb2RlfX08L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIiFyZXF1aXJlZFwiIGNsYXNzPVwiZnMtMTEgZmMtZGFyay1ncmF5XCI+IHt7aTE4bi50cmFuc2xhdGUoJ29wdGlvbmFsJyl9fSA8L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIj5cclxuICAgIDxtYXQtZm9ybS1maWVsZCBbbmdDbGFzc109XCJ7J2lucHV0LWRpc2FibGVkJyA6IGRpc2FibGVkIH1cIiBbZmxvYXRMYWJlbF09XCJmbG9hdExhYmVsXCI+XHJcbiAgICAgIDxsYWJlbCBjbGFzcz1cIm1hdC1mb3JtLWNvbnRlbnRcIj5cclxuICAgICAgICA8aW5wdXQgbWF0SW5wdXQgKGRhdGVJbnB1dCk9XCJkYXRlQ2hhbmdlKCRldmVudClcIiBbcGxhY2Vob2xkZXJdPVwiaGFzTGFiZWwgPyAoaTE4bi50cmFuc2xhdGUoJ3NlbGVjdCcpICsgJyAnICsgbGFiZWxUZXh0V3JpdGVNb2RlKSA6ICcnXCIgKGZvY3VzKT1cImZvY3VzUGlja2VyKGRwKVwiIFttaW5dPVwibWluRGF0ZVZhbHVlXCJcclxuICAgICAgICAgIFttYXhdPVwibWF4RGF0ZVZhbHVlXCIgcmVhZG9ubHkgW21hdERhdGVwaWNrZXJdPVwiZHBcIiBbZm9ybUNvbnRyb2xdPVwiZGF0ZVwiPlxyXG4gICAgICA8L2xhYmVsPlxyXG4gICAgICA8ZHMtaWNvbiAqbmdJZj1cImRhdGU/LnZhbHVlXCIgbWF0U3VmZml4IGljb249XCJjbG9zZVwiIGNsYXNzPVwiZmMtb255eCBmcy0xMCBteC0yIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cImNsZWFyRGF0ZVZhbHVlKCRldmVudClcIj48L2RzLWljb24+XHJcbiAgICAgIDxtYXQtZGF0ZXBpY2tlci10b2dnbGUgbWF0U3VmZml4IFtmb3JdPVwiZHBcIj5cclxuICAgICAgICA8ZHMtaWNvbiBpY29uPVwiY2FsZW5kYXItb1wiIGNsYXNzPVwiZmMtYmxhY2sgZnMtMThcIiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj48L2RzLWljb24+XHJcbiAgICAgIDwvbWF0LWRhdGVwaWNrZXItdG9nZ2xlPlxyXG4gICAgICA8bWF0LWRhdGVwaWNrZXIgI2RwPlxyXG4gICAgICA8L21hdC1kYXRlcGlja2VyPlxyXG4gICAgICA8bWF0LWVycm9yICpuZ0lmPVwiZXJyb3JNZXNzYWdlXCI+e3tlcnJvck1lc3NhZ2V9fTwvbWF0LWVycm9yPlxyXG4gICAgPC9tYXQtZm9ybS1maWVsZD5cclxuICA8L2Rpdj5cclxuXHJcbjwvbmctY29udGFpbmVyPlxyXG5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cImlzUmVhZE9ubHkgJiYgZmllbGRcIj5cclxuICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIHR5cGU9XCJkYXRlXCIgW2luc2lkZVRhYmxlXT1cImluc2lkZVRhYmxlXCIgW2RhdGVUeXBlXT1cImNhbGVuZGFyVHlwZVwiIFtsYWJlbF09XCJsYWJlbFRleHRSZWFkTW9kZVwiXHJcbiAgICBbdmFsdWVdPVwiZmllbGRcIiBbaGFzTGFiZWxdPVwiaGFzTGFiZWxcIj5cclxuICA8L2FwcC1pbmZvLWl0ZW0+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/* eslint-disable @angular-eslint/component-selector */
|
|
2
|
+
/* eslint-disable @typescript-eslint/no-empty-function */
|
|
3
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export class DateRangePickerComponent {
|
|
6
|
+
label;
|
|
7
|
+
tooltip;
|
|
8
|
+
className = 'gray-input';
|
|
9
|
+
placeholder;
|
|
10
|
+
constructor() { }
|
|
11
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DateRangePickerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: DateRangePickerComponent, isStandalone: true, selector: "app-date-range-picker", inputs: { label: "label", tooltip: "tooltip", className: "className", placeholder: "placeholder" }, ngImport: i0, template: "<mat-form-field class=\"date-range primary-form {{className}}\">\r\n <label class=\"mat-form-content\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input matStartDate placeholder=\"Start date\">\r\n <input matEndDate placeholder=\"End date\">\r\n </mat-date-range-input>\r\n </label>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disableRipple]=\"true\">\r\n <i class=\"sfi sfi-calendar-o fc-onyx font-18\" matDatepickerToggleIcon></i>\r\n </mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n</mat-form-field>\r\n", styles: [":host{flex-grow:1}\n"] });
|
|
13
|
+
}
|
|
14
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: DateRangePickerComponent, decorators: [{
|
|
15
|
+
type: Component,
|
|
16
|
+
args: [{ selector: 'app-date-range-picker', schemas: [CUSTOM_ELEMENTS_SCHEMA], standalone: true, template: "<mat-form-field class=\"date-range primary-form {{className}}\">\r\n <label class=\"mat-form-content\">\r\n <mat-date-range-input [rangePicker]=\"picker\">\r\n <input matStartDate placeholder=\"Start date\">\r\n <input matEndDate placeholder=\"End date\">\r\n </mat-date-range-input>\r\n </label>\r\n <mat-datepicker-toggle matSuffix [for]=\"picker\" [disableRipple]=\"true\">\r\n <i class=\"sfi sfi-calendar-o fc-onyx font-18\" matDatepickerToggleIcon></i>\r\n </mat-datepicker-toggle>\r\n <mat-date-range-picker #picker></mat-date-range-picker>\r\n</mat-form-field>\r\n", styles: [":host{flex-grow:1}\n"] }]
|
|
17
|
+
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
18
|
+
type: Input
|
|
19
|
+
}], tooltip: [{
|
|
20
|
+
type: Input
|
|
21
|
+
}], className: [{
|
|
22
|
+
type: Input
|
|
23
|
+
}], placeholder: [{
|
|
24
|
+
type: Input
|
|
25
|
+
}] } });
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsdURBQXVEO0FBQ3ZELHlEQUF5RDtBQUN6RCxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFVdkUsTUFBTSxPQUFPLHdCQUF3QjtJQUMxQixLQUFLLENBQVc7SUFDaEIsT0FBTyxDQUFXO0lBQ2xCLFNBQVMsR0FBRyxZQUFZLENBQUM7SUFDekIsV0FBVyxDQUFXO0lBQy9CLGdCQUFnQixDQUFDO3VHQUxOLHdCQUF3QjsyRkFBeEIsd0JBQXdCLHFMQ1pyQyxxbEJBWUE7OzJGREFhLHdCQUF3QjtrQkFScEMsU0FBUzsrQkFDRSx1QkFBdUIsV0FHeEIsQ0FBQyxzQkFBc0IsQ0FBQyxjQUNyQixJQUFJO3dEQUlQLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZW1wdHktZnVuY3Rpb24gKi9cclxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWRhdGUtcmFuZ2UtcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2RhdGUtcmFuZ2UtcGlja2VyLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcblxyXG59KVxyXG5leHBvcnQgY2xhc3MgRGF0ZVJhbmdlUGlja2VyQ29tcG9uZW50ICB7XHJcbiAgQElucHV0KCkgbGFiZWwhIDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHRvb2x0aXAhIDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGNsYXNzTmFtZSA9ICdncmF5LWlucHV0JztcclxuICBASW5wdXQoKSBwbGFjZWhvbGRlciEgOiBzdHJpbmc7XHJcbiAgY29uc3RydWN0b3IoKSB7IH1cclxuXHJcbiAgXHJcblxyXG59XHJcbiIsIjxtYXQtZm9ybS1maWVsZCBjbGFzcz1cImRhdGUtcmFuZ2UgcHJpbWFyeS1mb3JtIHt7Y2xhc3NOYW1lfX1cIj5cclxuICA8bGFiZWwgY2xhc3M9XCJtYXQtZm9ybS1jb250ZW50XCI+XHJcbiAgICA8bWF0LWRhdGUtcmFuZ2UtaW5wdXQgW3JhbmdlUGlja2VyXT1cInBpY2tlclwiPlxyXG4gICAgICA8aW5wdXQgbWF0U3RhcnREYXRlIHBsYWNlaG9sZGVyPVwiU3RhcnQgZGF0ZVwiPlxyXG4gICAgICA8aW5wdXQgbWF0RW5kRGF0ZSBwbGFjZWhvbGRlcj1cIkVuZCBkYXRlXCI+XHJcbiAgICA8L21hdC1kYXRlLXJhbmdlLWlucHV0PlxyXG4gIDwvbGFiZWw+XHJcbiAgPG1hdC1kYXRlcGlja2VyLXRvZ2dsZSBtYXRTdWZmaXggW2Zvcl09XCJwaWNrZXJcIiBbZGlzYWJsZVJpcHBsZV09XCJ0cnVlXCI+XHJcbiAgICA8aSBjbGFzcz1cInNmaSBzZmktY2FsZW5kYXItbyBmYy1vbnl4IGZvbnQtMThcIiBtYXREYXRlcGlja2VyVG9nZ2xlSWNvbj48L2k+XHJcbiAgPC9tYXQtZGF0ZXBpY2tlci10b2dnbGU+XHJcbiAgPG1hdC1kYXRlLXJhbmdlLXBpY2tlciAjcGlja2VyPjwvbWF0LWRhdGUtcmFuZ2UtcGlja2VyPlxyXG48L21hdC1mb3JtLWZpZWxkPlxyXG4iXX0=
|
package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import { NgIf } from "@angular/common";
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "../../../../services";
|
|
5
|
+
export class FormLabelComponent {
|
|
6
|
+
i18n;
|
|
7
|
+
hideOption = true;
|
|
8
|
+
showLabel = true;
|
|
9
|
+
label = '';
|
|
10
|
+
optional = false;
|
|
11
|
+
constructor(i18n) {
|
|
12
|
+
this.i18n = i18n;
|
|
13
|
+
}
|
|
14
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormLabelComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
15
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FormLabelComponent, isStandalone: true, selector: "app-form-label", inputs: { hideOption: "hideOption", showLabel: "showLabel", label: "label", optional: "optional" }, ngImport: i0, template: "<div class=\"d-flex justify-content-between mb-1\" *ngIf=\"showLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"optional && !hideOption\" class=\"optional-input\">\r\n {{i18n.translate('optional')}}\r\n </span>\r\n</div>\r\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
16
|
+
}
|
|
17
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FormLabelComponent, decorators: [{
|
|
18
|
+
type: Component,
|
|
19
|
+
args: [{ selector: 'app-form-label', imports: [
|
|
20
|
+
NgIf
|
|
21
|
+
], standalone: true, template: "<div class=\"d-flex justify-content-between mb-1\" *ngIf=\"showLabel\">\r\n <span class=\"form-label mb-0\">{{label}}</span>\r\n <span *ngIf=\"optional && !hideOption\" class=\"optional-input\">\r\n {{i18n.translate('optional')}}\r\n </span>\r\n</div>\r\n", styles: [":host{display:block}\n"] }]
|
|
22
|
+
}], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { hideOption: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], showLabel: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], label: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], optional: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1sYWJlbC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvZm9ybS1sYWJlbC9mb3JtLWxhYmVsLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBV3JDLE1BQU0sT0FBTyxrQkFBa0I7SUFLUDtJQUpiLFVBQVUsR0FBRyxJQUFJLENBQUM7SUFDbEIsU0FBUyxHQUFHLElBQUksQ0FBQztJQUNmLEtBQUssR0FBRyxFQUFFLENBQUM7SUFDWCxRQUFRLEdBQUcsS0FBSyxDQUFDO0lBQzFCLFlBQW9CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUksQ0FBQzt1R0FMckMsa0JBQWtCOzJGQUFsQixrQkFBa0IsOEtDZC9CLHVRQU1BLGdGRElJLElBQUk7OzJGQUlLLGtCQUFrQjtrQkFUOUIsU0FBUzsrQkFDRSxnQkFBZ0IsV0FHakI7d0JBQ1AsSUFBSTtxQkFDTCxjQUNXLElBQUk7b0ZBR1AsVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNLLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQGFuZ3VsYXItZXNsaW50L2NvbXBvbmVudC1zZWxlY3RvciAqL1xyXG5pbXBvcnQgeyBDb3JlSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1mb3JtLWxhYmVsJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vZm9ybS1sYWJlbC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vZm9ybS1sYWJlbC5jb21wb25lbnQuc2NzcyddLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE5nSWZcclxuICBdLFxyXG4gIHN0YW5kYWxvbmU6IHRydWVcclxufSlcclxuZXhwb3J0IGNsYXNzIEZvcm1MYWJlbENvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgaGlkZU9wdGlvbiA9IHRydWU7XHJcbiAgQElucHV0KCkgc2hvd0xhYmVsID0gdHJ1ZTtcclxuICAgIEBJbnB1dCgpIGxhYmVsID0gJyc7XHJcbiAgICBASW5wdXQoKSBvcHRpb25hbCA9IGZhbHNlO1xyXG4gICAgY29uc3RydWN0b3IoIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UpIHsgfVxyXG5cclxuXHJcblxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG1iLTFcIiAqbmdJZj1cInNob3dMYWJlbFwiPlxyXG4gIDxzcGFuIGNsYXNzPVwiZm9ybS1sYWJlbCBtYi0wXCI+e3tsYWJlbH19PC9zcGFuPlxyXG4gIDxzcGFuICpuZ0lmPVwib3B0aW9uYWwgJiYgIWhpZGVPcHRpb25cIiBjbGFzcz1cIm9wdGlvbmFsLWlucHV0XCI+XHJcbiAgICB7e2kxOG4udHJhbnNsYXRlKCdvcHRpb25hbCcpfX1cclxuICA8L3NwYW4+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export * from './base-component/base-component.component';
|
|
2
|
+
export * from './checkbox/checkbox.component';
|
|
3
|
+
export * from './custom-searchable-autocomplete/custom-searchable.component';
|
|
4
|
+
export * from './date-picker/date-picker.component';
|
|
5
|
+
export * from './date-range-picker/date-range-picker.component';
|
|
6
|
+
export * from './form-label/form-label.component';
|
|
7
|
+
export * from './info-item/info-item.component';
|
|
8
|
+
export * from './input/input.component';
|
|
9
|
+
export * from './input-number/input-number.component';
|
|
10
|
+
export * from './input-email/input-email.component';
|
|
11
|
+
export * from './input-mask/input-mask.component';
|
|
12
|
+
export * from './input-currency/input-currency.component';
|
|
13
|
+
export * from './input-autocomplete';
|
|
14
|
+
export * from './input-telephone/input-telephone.component';
|
|
15
|
+
export * from './search-employee/search-employee.component';
|
|
16
|
+
export * from './select/select.component';
|
|
17
|
+
export * from './textarea/textarea.component';
|
|
18
|
+
export * from './textarea/special-chars.directive';
|
|
19
|
+
export * from './toggle-button/toggle-button.component';
|
|
20
|
+
export * from './table-list/table-list.component';
|
|
21
|
+
export * from './repeated-list/repeated-list.component';
|
|
22
|
+
export * from './attachment-section/attachment-section.component';
|
|
23
|
+
export * from './add-attachment-section/add-attachment-section.component';
|
|
24
|
+
export * from './radio/radio.component';
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvc2hhcmVkLWNvbXBvbmVudHMvZm9ybS1maWVsZC9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyw4REFBOEQsQ0FBQztBQUM3RSxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsaURBQWlELENBQUM7QUFDaEUsY0FBYyxtQ0FBbUMsQ0FBQztBQUNsRCxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyx1Q0FBdUMsQ0FBQztBQUN0RCxjQUFjLHFDQUFxQyxDQUFDO0FBQ3BELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLHNCQUFzQixDQUFDO0FBQ3JDLGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLDJCQUEyQixDQUFDO0FBQzFDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxvQ0FBb0MsQ0FBQztBQUNuRCxjQUFjLHlDQUF5QyxDQUFDO0FBQ3hELGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyx5Q0FBeUMsQ0FBQztBQUN4RCxjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsMkRBQTJELENBQUM7QUFDMUUsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmFzZS1jb21wb25lbnQvYmFzZS1jb21wb25lbnQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9jaGVja2JveC9jaGVja2JveC5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2N1c3RvbS1zZWFyY2hhYmxlLWF1dG9jb21wbGV0ZS9jdXN0b20tc2VhcmNoYWJsZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2RhdGUtcGlja2VyL2RhdGUtcGlja2VyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vZGF0ZS1yYW5nZS1waWNrZXIvZGF0ZS1yYW5nZS1waWNrZXIuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9mb3JtLWxhYmVsL2Zvcm0tbGFiZWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pbmZvLWl0ZW0vaW5mby1pdGVtLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQvaW5wdXQuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1udW1iZXIvaW5wdXQtbnVtYmVyLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtZW1haWwvaW5wdXQtZW1haWwuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1tYXNrL2lucHV0LW1hc2suY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9pbnB1dC1jdXJyZW5jeS9pbnB1dC1jdXJyZW5jeS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2lucHV0LWF1dG9jb21wbGV0ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vaW5wdXQtdGVsZXBob25lL2lucHV0LXRlbGVwaG9uZS5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3NlYXJjaC1lbXBsb3llZS9zZWFyY2gtZW1wbG95ZWUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9zZWxlY3Qvc2VsZWN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGV4dGFyZWEvdGV4dGFyZWEuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi90ZXh0YXJlYS9zcGVjaWFsLWNoYXJzLmRpcmVjdGl2ZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdG9nZ2xlLWJ1dHRvbi90b2dnbGUtYnV0dG9uLmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vdGFibGUtbGlzdC90YWJsZS1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vcmVwZWF0ZWQtbGlzdC9yZXBlYXRlZC1saXN0LmNvbXBvbmVudCc7XHJcbmV4cG9ydCAqIGZyb20gJy4vYXR0YWNobWVudC1zZWN0aW9uL2F0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL2FkZC1hdHRhY2htZW50LXNlY3Rpb24vYWRkLWF0dGFjaG1lbnQtc2VjdGlvbi5jb21wb25lbnQnO1xyXG5leHBvcnQgKiBmcm9tICcuL3JhZGlvL3JhZGlvLmNvbXBvbmVudCc7XHJcbiJdfQ==
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
2
|
+
import { MatSlideToggle } from '@angular/material/slide-toggle';
|
|
3
|
+
import { DatePipe, DecimalPipe, NgClass, NgForOf, NgIf, NgSwitch, NgSwitchCase, NgSwitchDefault } from '@angular/common';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
import * as i1 from "../../../../services";
|
|
6
|
+
export class InfoItemComponent {
|
|
7
|
+
i18n;
|
|
8
|
+
label;
|
|
9
|
+
value;
|
|
10
|
+
name;
|
|
11
|
+
type = 'text';
|
|
12
|
+
dateType;
|
|
13
|
+
multiple;
|
|
14
|
+
insideTable;
|
|
15
|
+
hasLabel = true;
|
|
16
|
+
arrayList;
|
|
17
|
+
actionType;
|
|
18
|
+
download;
|
|
19
|
+
constructor(i18n) {
|
|
20
|
+
this.i18n = i18n;
|
|
21
|
+
}
|
|
22
|
+
ngOnInit() {
|
|
23
|
+
if (this.type == 'currency') {
|
|
24
|
+
this.value = this.value.replaceAll(',', '');
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
viewForm(url) {
|
|
28
|
+
window.open('/group/i-gate/wm-bpm/forms?formId=' + url);
|
|
29
|
+
}
|
|
30
|
+
getImage(email) {
|
|
31
|
+
return '/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=' + email;
|
|
32
|
+
}
|
|
33
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, deps: [{ token: i1.CoreI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
34
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: InfoItemComponent, isStandalone: true, selector: "app-info-item", inputs: { label: "label", value: "value", name: "name", type: "type", dateType: "dateType", multiple: "multiple", insideTable: "insideTable", hasLabel: "hasLabel", arrayList: "arrayList", actionType: "actionType", download: "download" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\r\n <span class=\"name \" *ngIf=\"hasLabel\">{{ label }}</span>\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"!multiple\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"multiple\">\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container *ngFor=\"let emails of arrayList; let ind = index\">\r\n\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n <span *ngIf=\"dateType === 'hijri'\">\r\n {{ value }}\r\n </span>\r\n <span *ngIf=\"dateType === 'yearOnly'\">\r\n {{ value }}\r\n </span>\r\n <span *ngIf=\"dateType !== 'hijri' && dateType !== 'yearOnly'\">\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{i18n.translate('View')}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n <span *ngFor=\"let item of value;let i = index\">{{item.value}}\r\n <span *ngIf=\"!(i === value.length-1)\">, </span>\r\n </span>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"], dependencies: [{ kind: "component", type: MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "pipe", type: DecimalPipe, name: "number" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: DatePipe, name: "date" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "directive", type: NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }] });
|
|
35
|
+
}
|
|
36
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: InfoItemComponent, decorators: [{
|
|
37
|
+
type: Component,
|
|
38
|
+
args: [{ selector: 'app-info-item', standalone: true, imports: [
|
|
39
|
+
MatSlideToggle,
|
|
40
|
+
NgSwitchCase,
|
|
41
|
+
DecimalPipe,
|
|
42
|
+
NgIf,
|
|
43
|
+
DatePipe,
|
|
44
|
+
NgClass,
|
|
45
|
+
NgForOf,
|
|
46
|
+
NgSwitchDefault,
|
|
47
|
+
NgSwitch
|
|
48
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ng-container [ngSwitch]=\"type\">\r\n <span class=\"name \" *ngIf=\"hasLabel\">{{ label }}</span>\r\n\r\n <!-- class=\"disc\" -->\r\n <span *ngSwitchCase=\"'attach'\">\r\n<!-- <app-docs-uploader [field]=\"value\" styleHeight=\"mini\" display=\"only-files\"></app-docs-uploader>-->\r\n </span>\r\n <span class=\"disc mt-2 \" *ngSwitchCase=\"'user-picker'\">\r\n <div class=\"d-flex align-items-center\" *ngIf=\"!multiple\">\r\n <div class=\"img-card circled-img small\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\">{{name}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\">{{value}}</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"multiple\">\r\n <div class=\"d-flex flex-wrap\">\r\n <ng-container *ngFor=\"let emails of arrayList; let ind = index\">\r\n\r\n <div class=\"img-card circled-img small mb-3\">\r\n <img [src]=\"getImage(value)\" onerror=\"this.onerror=null;this.src='assets/images/user.svg';\" alt=\"\">\r\n </div>\r\n <div class=\"line-height-1 mx-2 mb-3\" [ngClass]=\"{'flex-grow-1': actionType === 'delete'}\">\r\n <h6 class=\"fs-14 fw-bold fc-onyx mb-0\"> {{(emails?.['personName'])}}</h6>\r\n <span class=\"fs-12 fc-dark-gray\"> {{emails?.['personEmail']}}</span>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n </ng-container>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggle'\">\r\n <mat-slide-toggle [checked]=\"value\"></mat-slide-toggle>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'toggleBtn'\">\r\n <span>{{value}}</span>\r\n </span>\r\n <span class=\"disc\" *ngSwitchCase=\"'telephone'\">\r\n <div class=\"d-flex align-items-center\">\r\n <bdi>{{ value }}</bdi>\r\n </div>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'currency'\">\r\n <span>{{value | number:'1.2-2'}}</span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'date'\">\r\n <span *ngIf=\"dateType === 'hijri'\">\r\n {{ value }}\r\n </span>\r\n <span *ngIf=\"dateType === 'yearOnly'\">\r\n {{ value }}\r\n </span>\r\n <span *ngIf=\"dateType !== 'hijri' && dateType !== 'yearOnly'\">\r\n {{value | date :'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n\r\n <span class=\"disc\" *ngSwitchCase=\"'dateHijri'\">\r\n {{ value }}\r\n </span>\r\n\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'link'\">\r\n <a [href]=\"value\" target=\"_blank\">{{i18n.translate('View')}} {{ label }} </a>\r\n </span>\r\n <span class=\"disc breakLine\" *ngSwitchCase=\"'formIdLink'\">\r\n <a (click)=\"viewForm(value)\">{{ value }} </a>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'text'\">\r\n {{ value }}\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" *ngSwitchCase=\"'multipleSelect'\">\r\n <span *ngFor=\"let item of value;let i = index\">{{item.value}}\r\n <span *ngIf=\"!(i === value.length-1)\">, </span>\r\n </span>\r\n </span>\r\n <span [ngClass]=\"{'breakLine': !insideTable}\" class=\"disc \" [innerHTML]=\"value\" *ngSwitchDefault>\r\n </span>\r\n</ng-container>\r\n", styles: [":host.slide-end .disc{text-align:end}:host.user-picker{border-radius:4px;padding:1rem;background-color:var(--light-gray);max-width:320px;width:100%}:host.user-picker .name{display:none}:host.user-picker .disc{width:100%}.name{width:270px;font-size:.875rem;font-weight:var(--font-medium);color:var(--dark-gray);margin-bottom:0;display:inline-block}.disc{width:calc(100% - 270px);font-size:.875rem;font-weight:var(--font-regular);color:var(--black);display:inline-block}@media (max-width: 768px){.name,.disc{width:100%!important}}.breakLine{line-break:anywhere}a{color:#0d6efd!important}a:hover{cursor:pointer}\n"] }]
|
|
49
|
+
}], ctorParameters: () => [{ type: i1.CoreI18nService }], propDecorators: { label: [{
|
|
50
|
+
type: Input
|
|
51
|
+
}], value: [{
|
|
52
|
+
type: Input
|
|
53
|
+
}], name: [{
|
|
54
|
+
type: Input
|
|
55
|
+
}], type: [{
|
|
56
|
+
type: Input
|
|
57
|
+
}], dateType: [{
|
|
58
|
+
type: Input
|
|
59
|
+
}], multiple: [{
|
|
60
|
+
type: Input
|
|
61
|
+
}], insideTable: [{
|
|
62
|
+
type: Input
|
|
63
|
+
}], hasLabel: [{
|
|
64
|
+
type: Input
|
|
65
|
+
}], arrayList: [{
|
|
66
|
+
type: Input
|
|
67
|
+
}], actionType: [{
|
|
68
|
+
type: Input
|
|
69
|
+
}], download: [{
|
|
70
|
+
type: Input
|
|
71
|
+
}] } });
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mby1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9zaGFyZWQtY29tcG9uZW50cy9mb3JtLWZpZWxkL2luZm8taXRlbS9pbmZvLWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL3NoYXJlZC1jb21wb25lbnRzL2Zvcm0tZmllbGQvaW5mby1pdGVtL2luZm8taXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUVqRixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBb0J6SCxNQUFNLE9BQU8saUJBQWlCO0lBYVQ7SUFaVixLQUFLLENBQVU7SUFDZixLQUFLLENBQU87SUFDWixJQUFJLENBQU87SUFDWCxJQUFJLEdBQUcsTUFBTSxDQUFDO0lBQ2QsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVztJQUNuQixXQUFXLENBQVc7SUFDdEIsUUFBUSxHQUFHLElBQUksQ0FBQztJQUNoQixTQUFTLENBQU07SUFDZixVQUFVLENBQVU7SUFDcEIsUUFBUSxDQUFXO0lBRTVCLFlBQW1CLElBQXFCO1FBQXJCLFNBQUksR0FBSixJQUFJLENBQWlCO0lBQUksQ0FBQztJQUU3QyxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLFVBQVUsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLENBQUM7SUFDSCxDQUFDO0lBRUQsUUFBUSxDQUFDLEdBQVc7UUFDbEIsTUFBTSxDQUFDLElBQUksQ0FBQyxvQ0FBb0MsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQWE7UUFDcEIsT0FBTyxvREFBb0QsR0FBRyxLQUFLLENBQUM7SUFDdEUsQ0FBQzt1R0EzQlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsdVRDdkI5QiwyM0dBb0ZBLDRwQkR6RUksY0FBYywwVUFDZCxZQUFZLGdGQUNaLFdBQVcsK0NBQ1gsSUFBSSx3RkFDSixRQUFRLDZDQUNSLE9BQU8sb0ZBQ1AsT0FBTyxtSEFDUCxlQUFlLDhEQUNmLFFBQVE7OzJGQUlDLGlCQUFpQjtrQkFsQjdCLFNBQVM7K0JBQ0UsZUFBZSxjQUdiLElBQUksV0FDUDt3QkFDUCxjQUFjO3dCQUNkLFlBQVk7d0JBQ1osV0FBVzt3QkFDWCxJQUFJO3dCQUNKLFFBQVE7d0JBQ1IsT0FBTzt3QkFDUCxPQUFPO3dCQUNQLGVBQWU7d0JBQ2YsUUFBUTtxQkFDVCxXQUNRLENBQUMsc0JBQXNCLENBQUM7b0ZBR3hCLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENvcmVJMThuU2VydmljZSB9IGZyb20gJy4uLy4uLy4uLy4uL3NlcnZpY2VzJztcclxuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xyXG5pbXBvcnQgeyBEYXRlUGlwZSwgRGVjaW1hbFBpcGUsIE5nQ2xhc3MsIE5nRm9yT2YsIE5nSWYsIE5nU3dpdGNoLCBOZ1N3aXRjaENhc2UsIE5nU3dpdGNoRGVmYXVsdCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1pbmZvLWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbmZvLWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2luZm8taXRlbS5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgTWF0U2xpZGVUb2dnbGUsXHJcbiAgICBOZ1N3aXRjaENhc2UsXHJcbiAgICBEZWNpbWFsUGlwZSxcclxuICAgIE5nSWYsXHJcbiAgICBEYXRlUGlwZSxcclxuICAgIE5nQ2xhc3MsXHJcbiAgICBOZ0Zvck9mLFxyXG4gICAgTmdTd2l0Y2hEZWZhdWx0LFxyXG4gICAgTmdTd2l0Y2hcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mb0l0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBJbnB1dCgpIGxhYmVsITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIHZhbHVlITogYW55O1xyXG4gIEBJbnB1dCgpIG5hbWUhOiBhbnk7XHJcbiAgQElucHV0KCkgdHlwZSA9ICd0ZXh0JztcclxuICBASW5wdXQoKSBkYXRlVHlwZSE6IHN0cmluZztcclxuICBASW5wdXQoKSBtdWx0aXBsZSE6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaW5zaWRlVGFibGUhOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGhhc0xhYmVsID0gdHJ1ZTtcclxuICBASW5wdXQoKSBhcnJheUxpc3QhOiBbXTtcclxuICBASW5wdXQoKSBhY3Rpb25UeXBlITogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGRvd25sb2FkITogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PSAnY3VycmVuY3knKSB7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLnZhbHVlLnJlcGxhY2VBbGwoJywnLCAnJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB2aWV3Rm9ybSh1cmw6IHN0cmluZykge1xyXG4gICAgd2luZG93Lm9wZW4oJy9ncm91cC9pLWdhdGUvd20tYnBtL2Zvcm1zP2Zvcm1JZD0nICsgdXJsKTtcclxuICB9XHJcblxyXG4gIGdldEltYWdlKGVtYWlsOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiAnL2dyb3VwL2ktZ2F0ZS93bS1icG0vZm9ybXMvLS9wcm94eS9wb3J0cmFpdD9lbWFpbD0nICsgZW1haWw7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8bmctY29udGFpbmVyIFtuZ1N3aXRjaF09XCJ0eXBlXCI+XHJcbiAgPHNwYW4gY2xhc3M9XCJuYW1lIFwiICpuZ0lmPVwiaGFzTGFiZWxcIj57eyBsYWJlbCB9fTwvc3Bhbj5cclxuXHJcbiAgPCEtLSBjbGFzcz1cImRpc2NcIiAtLT5cclxuICA8c3BhbiAqbmdTd2l0Y2hDYXNlPVwiJ2F0dGFjaCdcIj5cclxuPCEtLSAgICA8YXBwLWRvY3MtdXBsb2FkZXIgW2ZpZWxkXT1cInZhbHVlXCIgc3R5bGVIZWlnaHQ9XCJtaW5pXCIgZGlzcGxheT1cIm9ubHktZmlsZXNcIj48L2FwcC1kb2NzLXVwbG9hZGVyPi0tPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImRpc2MgbXQtMiBcIiAqbmdTd2l0Y2hDYXNlPVwiJ3VzZXItcGlja2VyJ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiAqbmdJZj1cIiFtdWx0aXBsZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNhcmQgY2lyY2xlZC1pbWcgc21hbGxcIj5cclxuICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0SW1hZ2UodmFsdWUpXCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIiBhbHQ9XCJcIj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJsaW5lLWhlaWdodC0xIG14LTJcIiBbbmdDbGFzc109XCJ7J2ZsZXgtZ3Jvdy0xJzogYWN0aW9uVHlwZSA9PT0gJ2RlbGV0ZSd9XCI+XHJcbiAgICAgICAgPGg2IGNsYXNzPVwiZnMtMTQgZnctYm9sZCBmYy1vbnl4IG1iLTBcIj57e25hbWV9fTwvaDY+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1kYXJrLWdyYXlcIj57e3ZhbHVlfX08L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibXVsdGlwbGVcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXdyYXBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBlbWFpbHMgb2YgYXJyYXlMaXN0OyBsZXQgaW5kID0gaW5kZXhcIj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW1nLWNhcmQgY2lyY2xlZC1pbWcgc21hbGwgbWItM1wiPlxyXG4gICAgICAgICAgICA8aW1nIFtzcmNdPVwiZ2V0SW1hZ2UodmFsdWUpXCIgb25lcnJvcj1cInRoaXMub25lcnJvcj1udWxsO3RoaXMuc3JjPSdhc3NldHMvaW1hZ2VzL3VzZXIuc3ZnJztcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImxpbmUtaGVpZ2h0LTEgbXgtMiBtYi0zXCIgW25nQ2xhc3NdPVwieydmbGV4LWdyb3ctMSc6IGFjdGlvblR5cGUgPT09ICdkZWxldGUnfVwiPlxyXG4gICAgICAgICAgICA8aDYgY2xhc3M9XCJmcy0xNCBmdy1ib2xkIGZjLW9ueXggbWItMFwiPiB7eyhlbWFpbHM/LlsncGVyc29uTmFtZSddKX19PC9oNj5cclxuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJmcy0xMiBmYy1kYXJrLWdyYXlcIj4ge3tlbWFpbHM/LlsncGVyc29uRW1haWwnXX19PC9zcGFuPlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIid0b2dnbGUnXCI+XHJcbiAgICA8bWF0LXNsaWRlLXRvZ2dsZSBbY2hlY2tlZF09XCJ2YWx1ZVwiPjwvbWF0LXNsaWRlLXRvZ2dsZT5cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCIndG9nZ2xlQnRuJ1wiPlxyXG4gICAgPHNwYW4+e3t2YWx1ZX19PC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImRpc2NcIiAqbmdTd2l0Y2hDYXNlPVwiJ3RlbGVwaG9uZSdcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgIDxiZGk+e3sgdmFsdWUgfX08L2JkaT5cclxuICAgIDwvZGl2PlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIidjdXJyZW5jeSdcIj5cclxuICAgIDxzcGFuPnt7dmFsdWUgIHwgbnVtYmVyOicxLjItMid9fTwvc3Bhbj5cclxuICA8L3NwYW4+XHJcblxyXG4gIDxzcGFuIGNsYXNzPVwiZGlzY1wiICpuZ1N3aXRjaENhc2U9XCInZGF0ZSdcIj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09ICdoaWpyaSdcIj5cclxuICAgICAge3sgdmFsdWUgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgPT09ICd5ZWFyT25seSdcIj5cclxuICAgICAge3sgdmFsdWUgfX1cclxuICAgIDwvc3Bhbj5cclxuICAgIDxzcGFuICpuZ0lmPVwiZGF0ZVR5cGUgIT09ICdoaWpyaScgJiYgZGF0ZVR5cGUgIT09ICd5ZWFyT25seSdcIj5cclxuICAgICAge3t2YWx1ZSAgfCBkYXRlIDonZGQvTU0veXl5eSd9fVxyXG4gICAgPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjXCIgKm5nU3dpdGNoQ2FzZT1cIidkYXRlSGlqcmknXCI+XHJcbiAgICB7eyB2YWx1ZSB9fVxyXG4gIDwvc3Bhbj5cclxuXHJcbiAgPHNwYW4gY2xhc3M9XCJkaXNjIGJyZWFrTGluZVwiICpuZ1N3aXRjaENhc2U9XCInbGluaydcIj5cclxuICAgIDxhIFtocmVmXT1cInZhbHVlXCIgdGFyZ2V0PVwiX2JsYW5rXCI+e3tpMThuLnRyYW5zbGF0ZSgnVmlldycpfX0ge3sgbGFiZWwgfX0gPC9hPlxyXG4gIDwvc3Bhbj5cclxuICA8c3BhbiBjbGFzcz1cImRpc2MgYnJlYWtMaW5lXCIgKm5nU3dpdGNoQ2FzZT1cIidmb3JtSWRMaW5rJ1wiPlxyXG4gICAgPGEgKGNsaWNrKT1cInZpZXdGb3JtKHZhbHVlKVwiPnt7IHZhbHVlIH19IDwvYT5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gW25nQ2xhc3NdPVwieydicmVha0xpbmUnOiAhaW5zaWRlVGFibGV9XCIgY2xhc3M9XCJkaXNjIFwiICpuZ1N3aXRjaENhc2U9XCIndGV4dCdcIj5cclxuICAgIHt7IHZhbHVlIH19XHJcbiAgPC9zcGFuPlxyXG4gIDxzcGFuIFtuZ0NsYXNzXT1cInsnYnJlYWtMaW5lJzogIWluc2lkZVRhYmxlfVwiIGNsYXNzPVwiZGlzYyBcIiAgKm5nU3dpdGNoQ2FzZT1cIidtdWx0aXBsZVNlbGVjdCdcIj5cclxuICAgIDxzcGFuICpuZ0Zvcj1cImxldCBpdGVtIG9mIHZhbHVlO2xldCBpID0gaW5kZXhcIj57e2l0ZW0udmFsdWV9fVxyXG4gICAgPHNwYW4gKm5nSWY9XCIhKGkgPT09IHZhbHVlLmxlbmd0aC0xKVwiPiwgPC9zcGFuPlxyXG4gIDwvc3Bhbj5cclxuICA8L3NwYW4+XHJcbiAgPHNwYW4gW25nQ2xhc3NdPVwieydicmVha0xpbmUnOiAhaW5zaWRlVGFibGV9XCIgY2xhc3M9XCJkaXNjIFwiIFtpbm5lckhUTUxdPVwidmFsdWVcIiAqbmdTd2l0Y2hEZWZhdWx0PlxyXG4gIDwvc3Bhbj5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|