iss-ctrl 0.0.19 → 0.0.21
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/{iss-ctrl-iss-ctrl-Cy9p_PEj.mjs → iss-ctrl-iss-ctrl-BKu6a5HF.mjs} +976 -766
- package/fesm2022/iss-ctrl-iss-ctrl-BKu6a5HF.mjs.map +1 -0
- package/fesm2022/{iss-ctrl-load-event-DbAc-Wqq.mjs → iss-ctrl-load-event-bOt6IlIo.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-event-DbAc-Wqq.mjs.map → iss-ctrl-load-event-bOt6IlIo.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-load-options-event-CmXkuQ5O.mjs → iss-ctrl-load-options-event-CxyAyNMe.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-options-event-CmXkuQ5O.mjs.map → iss-ctrl-load-options-event-CxyAyNMe.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-load-value-event-DmX9Pkzf.mjs → iss-ctrl-load-value-event-DJKJ5S3h.mjs} +3 -3
- package/fesm2022/{iss-ctrl-load-value-event-DmX9Pkzf.mjs.map → iss-ctrl-load-value-event-DJKJ5S3h.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-note.field-CbLlparb.mjs → iss-ctrl-note.field-B_Lbp28X.mjs} +2 -2
- package/fesm2022/{iss-ctrl-note.field-CbLlparb.mjs.map → iss-ctrl-note.field-B_Lbp28X.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-replace-api-keys-C_mYQdtP.mjs → iss-ctrl-replace-api-keys-C0XYQW4i.mjs} +2 -2
- package/fesm2022/{iss-ctrl-replace-api-keys-C_mYQdtP.mjs.map → iss-ctrl-replace-api-keys-C0XYQW4i.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-set-value-event-vKIrSRgu.mjs → iss-ctrl-set-value-event-CgXhi0Bv.mjs} +2 -2
- package/fesm2022/{iss-ctrl-set-value-event-vKIrSRgu.mjs.map → iss-ctrl-set-value-event-CgXhi0Bv.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-table.field-CvqXIE4q.mjs → iss-ctrl-table.field-B5FxF6hn.mjs} +4 -4
- package/fesm2022/{iss-ctrl-table.field-CvqXIE4q.mjs.map → iss-ctrl-table.field-B5FxF6hn.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-trigger-based-on-json-value-wyn6AXWA.mjs → iss-ctrl-trigger-based-on-json-value-2v1kLVHZ.mjs} +2 -2
- package/fesm2022/{iss-ctrl-trigger-based-on-json-value-wyn6AXWA.mjs.map → iss-ctrl-trigger-based-on-json-value-2v1kLVHZ.mjs.map} +1 -1
- package/fesm2022/{iss-ctrl-user-picker.field-BhjVNeqN.mjs → iss-ctrl-user-picker.field-BH63sZ-X.mjs} +13 -6
- package/fesm2022/iss-ctrl-user-picker.field-BH63sZ-X.mjs.map +1 -0
- package/fesm2022/iss-ctrl.mjs +1 -1
- package/package.json +1 -1
- package/types/iss-ctrl.d.ts +54 -12
- package/upgrade.scss +30 -18
- package/fesm2022/iss-ctrl-iss-ctrl-Cy9p_PEj.mjs.map +0 -1
- package/fesm2022/iss-ctrl-user-picker.field-BhjVNeqN.mjs.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, input, signal, output, Component, CUSTOM_ELEMENTS_SCHEMA, InjectionToken,
|
|
2
|
+
import { Pipe, input, signal, output, inject, Injector, Component, CUSTOM_ELEMENTS_SCHEMA, InjectionToken, Injectable, effect, HostListener, Directive, computed, ChangeDetectionStrategy, ElementRef, contentChild, isSignal, DestroyRef } from '@angular/core';
|
|
3
3
|
import * as i1$2 from '@angular/forms';
|
|
4
|
-
import { FormControl, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormGroup, FormsModule, Validators, ControlContainer } from '@angular/forms';
|
|
4
|
+
import { FormControl, NgControl, ReactiveFormsModule, NG_VALUE_ACCESSOR, NG_VALIDATORS, FormGroup, FormsModule, Validators, ControlContainer } from '@angular/forms';
|
|
5
5
|
import * as i1 from '@angular/material/checkbox';
|
|
6
6
|
import { MatCheckboxModule } from '@angular/material/checkbox';
|
|
7
7
|
import * as i4 from '@angular/material/chips';
|
|
@@ -145,6 +145,29 @@ class ControlBase {
|
|
|
145
145
|
*/
|
|
146
146
|
onChange = output();
|
|
147
147
|
ctrl = new FormControl(null);
|
|
148
|
+
/**
|
|
149
|
+
* Error state for the inner `mat-form-field`, derived from the **host** control.
|
|
150
|
+
*
|
|
151
|
+
* Material reads `errorState` off the `NgControl` bound to its own `matInput` — here that is
|
|
152
|
+
* {@link ControlBase.ctrl}, which carries no validators and is therefore always valid. Every
|
|
153
|
+
* error a consumer cares about (the field config's validators plus the control's own
|
|
154
|
+
* {@link ControlBase.validate}) lives on the host control instead, so without this matcher an
|
|
155
|
+
* invalid `iss-ctrl-*` would keep rendering the valid outline. Bind it on the `matInput` as
|
|
156
|
+
* `[errorStateMatcher]="errorStateMatcher"`.
|
|
157
|
+
*/
|
|
158
|
+
errorStateMatcher = {
|
|
159
|
+
isErrorState: (_control, form) => {
|
|
160
|
+
const host = this.hostControl();
|
|
161
|
+
if (!host) {
|
|
162
|
+
return false;
|
|
163
|
+
}
|
|
164
|
+
return !!host.invalid && (!!host.touched || this.touched() || !!form?.submitted);
|
|
165
|
+
}
|
|
166
|
+
};
|
|
167
|
+
#injector = inject(Injector);
|
|
168
|
+
// Resolved lazily: injecting NgControl in the constructor would close the DI cycle through
|
|
169
|
+
// NG_VALUE_ACCESSOR, which every control provides with `useExisting`.
|
|
170
|
+
#hostControl = undefined;
|
|
148
171
|
registerOnChange(fn) {
|
|
149
172
|
this.onPropagateValue = fn;
|
|
150
173
|
}
|
|
@@ -170,6 +193,16 @@ class ControlBase {
|
|
|
170
193
|
validate(control) {
|
|
171
194
|
return this.ctrl.errors;
|
|
172
195
|
}
|
|
196
|
+
/**
|
|
197
|
+
* The `NgControl` this component is bound to from the outside (`formControlName`,
|
|
198
|
+
* `[formControl]` or `[ngModel]`), or `null` when it is used without one.
|
|
199
|
+
*/
|
|
200
|
+
hostControl() {
|
|
201
|
+
if (this.#hostControl === undefined) {
|
|
202
|
+
this.#hostControl = this.#injector.get(NgControl, null, { self: true });
|
|
203
|
+
}
|
|
204
|
+
return this.#hostControl;
|
|
205
|
+
}
|
|
173
206
|
/**
|
|
174
207
|
* Whether the control currently holds no value.
|
|
175
208
|
*
|
|
@@ -210,13 +243,13 @@ class ControlBase {
|
|
|
210
243
|
this.onChange.emit(emissionValue);
|
|
211
244
|
}
|
|
212
245
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ControlBase, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
213
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: ControlBase, isStandalone: true, selector: "ng-component", inputs: { formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hints: { classPropertyName: "hints", publicName: "hints", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, host: { properties: { "class.iss-ctrl-empty": "isEmpty()" } }, ngImport: i0, template: ``, isInline: true });
|
|
246
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "21.2.9", type: ControlBase, isStandalone: true, selector: "ng-component", inputs: { formControlName: { classPropertyName: "formControlName", publicName: "formControlName", isSignal: true, isRequired: false, transformFunction: null }, min: { classPropertyName: "min", publicName: "min", isSignal: true, isRequired: false, transformFunction: null }, max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, minLength: { classPropertyName: "minLength", publicName: "minLength", isSignal: true, isRequired: false, transformFunction: null }, maxLength: { classPropertyName: "maxLength", publicName: "maxLength", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, hints: { classPropertyName: "hints", publicName: "hints", isSignal: true, isRequired: false, transformFunction: null }, className: { classPropertyName: "className", publicName: "className", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onChange: "onChange" }, host: { properties: { "class.iss-ctrl-empty": "isEmpty()" }, classAttribute: "iss-ctrl" }, ngImport: i0, template: ``, isInline: true });
|
|
214
247
|
}
|
|
215
248
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ControlBase, decorators: [{
|
|
216
249
|
type: Component,
|
|
217
250
|
args: [{
|
|
218
251
|
template: ``,
|
|
219
|
-
host: { "[class.iss-ctrl-empty]": "isEmpty()" }
|
|
252
|
+
host: { "class": "iss-ctrl", "[class.iss-ctrl-empty]": "isEmpty()" }
|
|
220
253
|
}]
|
|
221
254
|
}], propDecorators: { formControlName: [{ type: i0.Input, args: [{ isSignal: true, alias: "formControlName", required: false }] }], min: [{ type: i0.Input, args: [{ isSignal: true, alias: "min", required: false }] }], max: [{ type: i0.Input, args: [{ isSignal: true, alias: "max", required: false }] }], minLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "minLength", required: false }] }], maxLength: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxLength", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], multiple: [{ type: i0.Input, args: [{ isSignal: true, alias: "multiple", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], hints: [{ type: i0.Input, args: [{ isSignal: true, alias: "hints", required: false }] }], className: [{ type: i0.Input, args: [{ isSignal: true, alias: "className", required: false }] }], onChange: [{ type: i0.Output, args: ["onChange"] }] } });
|
|
222
255
|
|
|
@@ -421,31 +454,32 @@ class ChipsControl extends ControlBase {
|
|
|
421
454
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ChipsControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
422
455
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ChipsControl, isStandalone: true, selector: "iss-ctrl-chips", providers: [
|
|
423
456
|
{ provide: NG_VALUE_ACCESSOR, useExisting: ChipsControl, multi: true }
|
|
424
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
425
|
-
<mat-form-field floatLabel="auto" class="">
|
|
426
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
427
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
428
|
-
<ng-content select="label"></ng-content>
|
|
429
|
-
</mat-label>
|
|
430
|
-
<input
|
|
431
|
-
matInput
|
|
432
|
-
[
|
|
433
|
-
[
|
|
434
|
-
[
|
|
435
|
-
[
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
457
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
458
|
+
<mat-form-field floatLabel="auto" class="">
|
|
459
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
460
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
461
|
+
<ng-content select="label"></ng-content>
|
|
462
|
+
</mat-label>
|
|
463
|
+
<input
|
|
464
|
+
matInput
|
|
465
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
466
|
+
[placeholder]="placeholder()"
|
|
467
|
+
[matChipInputFor]="chipGrid"
|
|
468
|
+
[disabled]="disabled()"
|
|
469
|
+
[readonly]="readonly()"
|
|
470
|
+
(matChipInputTokenEnd)="add($event)"
|
|
471
|
+
/>
|
|
472
|
+
</mat-form-field>
|
|
473
|
+
<mat-chip-grid #chipGrid>
|
|
474
|
+
@for (keyword of keywords(); track keyword) {
|
|
475
|
+
<mat-chip-row (removed)="remove(keyword)">
|
|
476
|
+
{{ keyword }}
|
|
477
|
+
<button matChipRemove [disabled]="disabled() || readonly()">
|
|
478
|
+
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
479
|
+
</button>
|
|
480
|
+
</mat-chip-row>
|
|
481
|
+
}
|
|
482
|
+
</mat-chip-grid>
|
|
449
483
|
`, isInline: true, dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "component", type: MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatChipRemove, selector: "[matChipRemove]" }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }] });
|
|
450
484
|
}
|
|
451
485
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ChipsControl, decorators: [{
|
|
@@ -466,31 +500,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
466
500
|
providers: [
|
|
467
501
|
{ provide: NG_VALUE_ACCESSOR, useExisting: ChipsControl, multi: true }
|
|
468
502
|
],
|
|
469
|
-
template: `
|
|
470
|
-
<mat-form-field floatLabel="auto" class="">
|
|
471
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
472
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
473
|
-
<ng-content select="label"></ng-content>
|
|
474
|
-
</mat-label>
|
|
475
|
-
<input
|
|
476
|
-
matInput
|
|
477
|
-
[
|
|
478
|
-
[
|
|
479
|
-
[
|
|
480
|
-
[
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
503
|
+
template: `
|
|
504
|
+
<mat-form-field floatLabel="auto" class="">
|
|
505
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
506
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
507
|
+
<ng-content select="label"></ng-content>
|
|
508
|
+
</mat-label>
|
|
509
|
+
<input
|
|
510
|
+
matInput
|
|
511
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
512
|
+
[placeholder]="placeholder()"
|
|
513
|
+
[matChipInputFor]="chipGrid"
|
|
514
|
+
[disabled]="disabled()"
|
|
515
|
+
[readonly]="readonly()"
|
|
516
|
+
(matChipInputTokenEnd)="add($event)"
|
|
517
|
+
/>
|
|
518
|
+
</mat-form-field>
|
|
519
|
+
<mat-chip-grid #chipGrid>
|
|
520
|
+
@for (keyword of keywords(); track keyword) {
|
|
521
|
+
<mat-chip-row (removed)="remove(keyword)">
|
|
522
|
+
{{ keyword }}
|
|
523
|
+
<button matChipRemove [disabled]="disabled() || readonly()">
|
|
524
|
+
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
525
|
+
</button>
|
|
526
|
+
</mat-chip-row>
|
|
527
|
+
}
|
|
528
|
+
</mat-chip-grid>
|
|
494
529
|
`
|
|
495
530
|
}]
|
|
496
531
|
}] });
|
|
@@ -956,32 +991,33 @@ class DatePickerControl extends ControlBase {
|
|
|
956
991
|
provideIssDateAdapter(),
|
|
957
992
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerControl, multi: true },
|
|
958
993
|
{ provide: NG_VALIDATORS, useExisting: DatePickerControl, multi: true },
|
|
959
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
960
|
-
<mat-form-field floatLabel="auto" class="">
|
|
961
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
962
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
963
|
-
<ng-content select="label"></ng-content>
|
|
964
|
-
</mat-label>
|
|
965
|
-
<input
|
|
966
|
-
class="cursor-pointer"
|
|
967
|
-
matInput
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
[
|
|
973
|
-
[
|
|
974
|
-
[
|
|
975
|
-
[
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
<mat-datepicker
|
|
983
|
-
|
|
984
|
-
|
|
994
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
995
|
+
<mat-form-field floatLabel="auto" class="">
|
|
996
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
997
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
998
|
+
<ng-content select="label"></ng-content>
|
|
999
|
+
</mat-label>
|
|
1000
|
+
<input
|
|
1001
|
+
class="cursor-pointer"
|
|
1002
|
+
matInput
|
|
1003
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1004
|
+
readonly
|
|
1005
|
+
[matDatepicker]="picker"
|
|
1006
|
+
(click)="openPicker(picker)"
|
|
1007
|
+
[formControl]="ctrl"
|
|
1008
|
+
[readonly]="readonly()"
|
|
1009
|
+
[min]="minDate()"
|
|
1010
|
+
[max]="maxDate()"
|
|
1011
|
+
[matDatepickerFilter]="calendarDaysFilter"
|
|
1012
|
+
(dateChange)="emit($event)"
|
|
1013
|
+
/>
|
|
1014
|
+
@if (ctrl.getRawValue()) {
|
|
1015
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1016
|
+
}
|
|
1017
|
+
<mat-datepicker-toggle matIconSuffix [for]="picker" [disabled]="readonly()"></mat-datepicker-toggle>
|
|
1018
|
+
<mat-datepicker #picker [panelClass]="isHijri() ? 'iss-hijri-calendar' : ''"></mat-datepicker>
|
|
1019
|
+
|
|
1020
|
+
</mat-form-field>
|
|
985
1021
|
`, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepicker, selector: "mat-datepicker", exportAs: ["matDatepicker"] }, { kind: "directive", type: i2.MatDatepickerInput, selector: "input[matDatepicker]", inputs: ["matDatepicker", "min", "max", "matDatepickerFilter"], exportAs: ["matDatepickerInput"] }, { kind: "component", type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "component", type: i3.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }] });
|
|
986
1022
|
}
|
|
987
1023
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatePickerControl, decorators: [{
|
|
@@ -991,32 +1027,33 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
991
1027
|
provideIssDateAdapter(),
|
|
992
1028
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DatePickerControl, multi: true },
|
|
993
1029
|
{ provide: NG_VALIDATORS, useExisting: DatePickerControl, multi: true },
|
|
994
|
-
], template: `
|
|
995
|
-
<mat-form-field floatLabel="auto" class="">
|
|
996
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
997
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
998
|
-
<ng-content select="label"></ng-content>
|
|
999
|
-
</mat-label>
|
|
1000
|
-
<input
|
|
1001
|
-
class="cursor-pointer"
|
|
1002
|
-
matInput
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
[
|
|
1008
|
-
[
|
|
1009
|
-
[
|
|
1010
|
-
[
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
<mat-datepicker
|
|
1018
|
-
|
|
1019
|
-
|
|
1030
|
+
], template: `
|
|
1031
|
+
<mat-form-field floatLabel="auto" class="">
|
|
1032
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1033
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
1034
|
+
<ng-content select="label"></ng-content>
|
|
1035
|
+
</mat-label>
|
|
1036
|
+
<input
|
|
1037
|
+
class="cursor-pointer"
|
|
1038
|
+
matInput
|
|
1039
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1040
|
+
readonly
|
|
1041
|
+
[matDatepicker]="picker"
|
|
1042
|
+
(click)="openPicker(picker)"
|
|
1043
|
+
[formControl]="ctrl"
|
|
1044
|
+
[readonly]="readonly()"
|
|
1045
|
+
[min]="minDate()"
|
|
1046
|
+
[max]="maxDate()"
|
|
1047
|
+
[matDatepickerFilter]="calendarDaysFilter"
|
|
1048
|
+
(dateChange)="emit($event)"
|
|
1049
|
+
/>
|
|
1050
|
+
@if (ctrl.getRawValue()) {
|
|
1051
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1052
|
+
}
|
|
1053
|
+
<mat-datepicker-toggle matIconSuffix [for]="picker" [disabled]="readonly()"></mat-datepicker-toggle>
|
|
1054
|
+
<mat-datepicker #picker [panelClass]="isHijri() ? 'iss-hijri-calendar' : ''"></mat-datepicker>
|
|
1055
|
+
|
|
1056
|
+
</mat-form-field>
|
|
1020
1057
|
` }]
|
|
1021
1058
|
}], propDecorators: { disabledDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledDays", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], hijriCalendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hijriCalendar", required: false }] }], emitHijri: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitHijri", required: false }] }] } });
|
|
1022
1059
|
|
|
@@ -1208,42 +1245,44 @@ class DateRangePickerControl extends ControlBase {
|
|
|
1208
1245
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateRangePickerControl, isStandalone: true, selector: "iss-ctrl-date-range-picker", inputs: { disabledDays: { classPropertyName: "disabledDays", publicName: "disabledDays", isSignal: true, isRequired: false, transformFunction: null }, minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null }, hijriCalendar: { classPropertyName: "hijriCalendar", publicName: "hijriCalendar", isSignal: true, isRequired: false, transformFunction: null }, emitHijri: { classPropertyName: "emitHijri", publicName: "emitHijri", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onDateRangeObjectChange: "onDateRangeObjectChange" }, providers: [
|
|
1209
1246
|
provideIssDateAdapter(),
|
|
1210
1247
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DateRangePickerControl, multi: true },
|
|
1211
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
1212
|
-
<mat-form-field floatLabel="auto" class="">
|
|
1213
|
-
|
|
1214
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1215
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
1216
|
-
<ng-content select="label"></ng-content>
|
|
1217
|
-
</mat-label>
|
|
1218
|
-
<mat-date-range-input
|
|
1219
|
-
[formGroup]="range"
|
|
1220
|
-
[rangePicker]="picker"
|
|
1221
|
-
[min]="minDate()"
|
|
1222
|
-
[max]="maxDate()"
|
|
1223
|
-
[dateFilter]="calendarDaysFilter"
|
|
1224
|
-
>
|
|
1225
|
-
<input
|
|
1226
|
-
matStartDate
|
|
1227
|
-
|
|
1228
|
-
|
|
1229
|
-
|
|
1230
|
-
|
|
1231
|
-
|
|
1232
|
-
|
|
1233
|
-
|
|
1234
|
-
|
|
1235
|
-
[
|
|
1236
|
-
|
|
1237
|
-
|
|
1238
|
-
|
|
1239
|
-
|
|
1240
|
-
|
|
1241
|
-
|
|
1242
|
-
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1248
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
1249
|
+
<mat-form-field floatLabel="auto" class="">
|
|
1250
|
+
|
|
1251
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1252
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
1253
|
+
<ng-content select="label"></ng-content>
|
|
1254
|
+
</mat-label>
|
|
1255
|
+
<mat-date-range-input
|
|
1256
|
+
[formGroup]="range"
|
|
1257
|
+
[rangePicker]="picker"
|
|
1258
|
+
[min]="minDate()"
|
|
1259
|
+
[max]="maxDate()"
|
|
1260
|
+
[dateFilter]="calendarDaysFilter"
|
|
1261
|
+
>
|
|
1262
|
+
<input
|
|
1263
|
+
matStartDate
|
|
1264
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1265
|
+
formControlName="start"
|
|
1266
|
+
[readonly]="readonly()"
|
|
1267
|
+
placeholder="dd/mm/yyyy"
|
|
1268
|
+
(click)="openPicker(picker)"
|
|
1269
|
+
/>
|
|
1270
|
+
<input
|
|
1271
|
+
matEndDate
|
|
1272
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1273
|
+
formControlName="end"
|
|
1274
|
+
[readonly]="readonly()"
|
|
1275
|
+
placeholder="dd/mm/yyyy"
|
|
1276
|
+
(click)="openPicker(picker)"
|
|
1277
|
+
/>
|
|
1278
|
+
</mat-date-range-input>
|
|
1279
|
+
@if (range.getRawValue().start || range.getRawValue().end) {
|
|
1280
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1281
|
+
}
|
|
1282
|
+
<mat-datepicker-toggle matSuffix [for]="picker" [disabled]="readonly()"></mat-datepicker-toggle>
|
|
1283
|
+
<mat-date-range-picker #picker [panelClass]="isHijri() ? 'iss-hijri-calendar' : ''"></mat-date-range-picker>
|
|
1284
|
+
|
|
1285
|
+
</mat-form-field>
|
|
1247
1286
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatDatepickerModule }, { kind: "component", type: i2.MatDatepickerToggle, selector: "mat-datepicker-toggle", inputs: ["for", "tabIndex", "aria-label", "disabled", "disableRipple"], exportAs: ["matDatepickerToggle"] }, { kind: "component", type: i2.MatDateRangeInput, selector: "mat-date-range-input", inputs: ["rangePicker", "required", "dateFilter", "min", "max", "disabled", "separator", "comparisonStart", "comparisonEnd"], exportAs: ["matDateRangeInput"] }, { kind: "directive", type: i2.MatStartDate, selector: "input[matStartDate]", outputs: ["dateChange", "dateInput"] }, { kind: "directive", type: i2.MatEndDate, selector: "input[matEndDate]", outputs: ["dateChange", "dateInput"] }, { kind: "component", type: i2.MatDateRangePicker, selector: "mat-date-range-picker", exportAs: ["matDateRangePicker"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],[formArray],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
1248
1287
|
}
|
|
1249
1288
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateRangePickerControl, decorators: [{
|
|
@@ -1260,42 +1299,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1260
1299
|
provideIssDateAdapter(),
|
|
1261
1300
|
{ provide: NG_VALUE_ACCESSOR, useExisting: DateRangePickerControl, multi: true },
|
|
1262
1301
|
],
|
|
1263
|
-
template: `
|
|
1264
|
-
<mat-form-field floatLabel="auto" class="">
|
|
1265
|
-
|
|
1266
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1267
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
1268
|
-
<ng-content select="label"></ng-content>
|
|
1269
|
-
</mat-label>
|
|
1270
|
-
<mat-date-range-input
|
|
1271
|
-
[formGroup]="range"
|
|
1272
|
-
[rangePicker]="picker"
|
|
1273
|
-
[min]="minDate()"
|
|
1274
|
-
[max]="maxDate()"
|
|
1275
|
-
[dateFilter]="calendarDaysFilter"
|
|
1276
|
-
>
|
|
1277
|
-
<input
|
|
1278
|
-
matStartDate
|
|
1279
|
-
|
|
1280
|
-
|
|
1281
|
-
|
|
1282
|
-
|
|
1283
|
-
|
|
1284
|
-
|
|
1285
|
-
|
|
1286
|
-
|
|
1287
|
-
[
|
|
1288
|
-
|
|
1289
|
-
|
|
1290
|
-
|
|
1291
|
-
|
|
1292
|
-
|
|
1293
|
-
|
|
1294
|
-
|
|
1295
|
-
|
|
1296
|
-
|
|
1297
|
-
|
|
1298
|
-
|
|
1302
|
+
template: `
|
|
1303
|
+
<mat-form-field floatLabel="auto" class="">
|
|
1304
|
+
|
|
1305
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1306
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
1307
|
+
<ng-content select="label"></ng-content>
|
|
1308
|
+
</mat-label>
|
|
1309
|
+
<mat-date-range-input
|
|
1310
|
+
[formGroup]="range"
|
|
1311
|
+
[rangePicker]="picker"
|
|
1312
|
+
[min]="minDate()"
|
|
1313
|
+
[max]="maxDate()"
|
|
1314
|
+
[dateFilter]="calendarDaysFilter"
|
|
1315
|
+
>
|
|
1316
|
+
<input
|
|
1317
|
+
matStartDate
|
|
1318
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1319
|
+
formControlName="start"
|
|
1320
|
+
[readonly]="readonly()"
|
|
1321
|
+
placeholder="dd/mm/yyyy"
|
|
1322
|
+
(click)="openPicker(picker)"
|
|
1323
|
+
/>
|
|
1324
|
+
<input
|
|
1325
|
+
matEndDate
|
|
1326
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1327
|
+
formControlName="end"
|
|
1328
|
+
[readonly]="readonly()"
|
|
1329
|
+
placeholder="dd/mm/yyyy"
|
|
1330
|
+
(click)="openPicker(picker)"
|
|
1331
|
+
/>
|
|
1332
|
+
</mat-date-range-input>
|
|
1333
|
+
@if (range.getRawValue().start || range.getRawValue().end) {
|
|
1334
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1335
|
+
}
|
|
1336
|
+
<mat-datepicker-toggle matSuffix [for]="picker" [disabled]="readonly()"></mat-datepicker-toggle>
|
|
1337
|
+
<mat-date-range-picker #picker [panelClass]="isHijri() ? 'iss-hijri-calendar' : ''"></mat-date-range-picker>
|
|
1338
|
+
|
|
1339
|
+
</mat-form-field>
|
|
1299
1340
|
`
|
|
1300
1341
|
}]
|
|
1301
1342
|
}], propDecorators: { disabledDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledDays", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], hijriCalendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hijriCalendar", required: false }] }], emitHijri: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitHijri", required: false }] }], onDateRangeObjectChange: [{ type: i0.Output, args: ["onDateRangeObjectChange"] }] } });
|
|
@@ -1381,28 +1422,29 @@ class TimePickerControl extends ControlBase {
|
|
|
1381
1422
|
provideNativeDateAdapter(),
|
|
1382
1423
|
{ provide: NG_VALUE_ACCESSOR, useExisting: TimePickerControl, multi: true },
|
|
1383
1424
|
{ provide: NG_VALIDATORS, useExisting: TimePickerControl, multi: true },
|
|
1384
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
1385
|
-
<mat-form-field floatLabel="auto" class="">
|
|
1386
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1387
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
1388
|
-
<ng-content select="label"></ng-content>
|
|
1389
|
-
</mat-label>
|
|
1390
|
-
<input
|
|
1391
|
-
matInput
|
|
1392
|
-
[
|
|
1393
|
-
[
|
|
1394
|
-
[
|
|
1395
|
-
[
|
|
1396
|
-
[
|
|
1397
|
-
readonly
|
|
1398
|
-
|
|
1399
|
-
|
|
1400
|
-
|
|
1401
|
-
|
|
1402
|
-
|
|
1403
|
-
<mat-timepicker
|
|
1404
|
-
|
|
1405
|
-
|
|
1425
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
1426
|
+
<mat-form-field floatLabel="auto" class="">
|
|
1427
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1428
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
1429
|
+
<ng-content select="label"></ng-content>
|
|
1430
|
+
</mat-label>
|
|
1431
|
+
<input
|
|
1432
|
+
matInput
|
|
1433
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1434
|
+
[formControl]="ctrl"
|
|
1435
|
+
[matTimepicker]="picker"
|
|
1436
|
+
[matTimepickerMin]="minTime()"
|
|
1437
|
+
[matTimepickerMax]="maxTime()"
|
|
1438
|
+
[readonly]="readonly()"
|
|
1439
|
+
readonly
|
|
1440
|
+
/>
|
|
1441
|
+
@if (ctrl.getRawValue()) {
|
|
1442
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1443
|
+
}
|
|
1444
|
+
<mat-timepicker-toggle matIconSuffix [for]="picker" [disabled]="readonly()"/>
|
|
1445
|
+
<mat-timepicker (selected)="emit($event)" [interval]="interval()" #picker/>
|
|
1446
|
+
|
|
1447
|
+
</mat-form-field>
|
|
1406
1448
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatTimepickerModule }, { kind: "component", type: i2$1.MatTimepicker, selector: "mat-timepicker", inputs: ["interval", "options", "disableRipple", "aria-label", "aria-labelledby", "panelClass"], outputs: ["selected", "opened", "closed"], exportAs: ["matTimepicker"] }, { kind: "directive", type: i2$1.MatTimepickerInput, selector: "input[matTimepicker]", inputs: ["value", "matTimepicker", "matTimepickerMin", "matTimepickerMax", "matTimepickerOpenOnClick", "disabled"], outputs: ["valueChange"], exportAs: ["matTimepickerInput"] }, { kind: "component", type: i2$1.MatTimepickerToggle, selector: "mat-timepicker-toggle", inputs: ["for", "aria-label", "aria-labelledby", "disabled", "tabIndex", "disableRipple"], exportAs: ["matTimepickerToggle"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
|
|
1407
1449
|
}
|
|
1408
1450
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TimePickerControl, decorators: [{
|
|
@@ -1418,28 +1460,29 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1418
1460
|
{ provide: NG_VALUE_ACCESSOR, useExisting: TimePickerControl, multi: true },
|
|
1419
1461
|
{ provide: NG_VALIDATORS, useExisting: TimePickerControl, multi: true },
|
|
1420
1462
|
],
|
|
1421
|
-
template: `
|
|
1422
|
-
<mat-form-field floatLabel="auto" class="">
|
|
1423
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1424
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
1425
|
-
<ng-content select="label"></ng-content>
|
|
1426
|
-
</mat-label>
|
|
1427
|
-
<input
|
|
1428
|
-
matInput
|
|
1429
|
-
[
|
|
1430
|
-
[
|
|
1431
|
-
[
|
|
1432
|
-
[
|
|
1433
|
-
[
|
|
1434
|
-
readonly
|
|
1435
|
-
|
|
1436
|
-
|
|
1437
|
-
|
|
1438
|
-
|
|
1439
|
-
|
|
1440
|
-
<mat-timepicker
|
|
1441
|
-
|
|
1442
|
-
|
|
1463
|
+
template: `
|
|
1464
|
+
<mat-form-field floatLabel="auto" class="">
|
|
1465
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
1466
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
1467
|
+
<ng-content select="label"></ng-content>
|
|
1468
|
+
</mat-label>
|
|
1469
|
+
<input
|
|
1470
|
+
matInput
|
|
1471
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
1472
|
+
[formControl]="ctrl"
|
|
1473
|
+
[matTimepicker]="picker"
|
|
1474
|
+
[matTimepickerMin]="minTime()"
|
|
1475
|
+
[matTimepickerMax]="maxTime()"
|
|
1476
|
+
[readonly]="readonly()"
|
|
1477
|
+
readonly
|
|
1478
|
+
/>
|
|
1479
|
+
@if (ctrl.getRawValue()) {
|
|
1480
|
+
<mat-icon matSuffix style="cursor: pointer" (click)="clear($event)">close</mat-icon>
|
|
1481
|
+
}
|
|
1482
|
+
<mat-timepicker-toggle matIconSuffix [for]="picker" [disabled]="readonly()"/>
|
|
1483
|
+
<mat-timepicker (selected)="emit($event)" [interval]="interval()" #picker/>
|
|
1484
|
+
|
|
1485
|
+
</mat-form-field>
|
|
1443
1486
|
`,
|
|
1444
1487
|
}]
|
|
1445
1488
|
}], propDecorators: { interval: [{ type: i0.Input, args: [{ isSignal: true, alias: "interval", required: false }] }], minTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "minTime", required: false }] }], maxTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxTime", required: false }] }] } });
|
|
@@ -1648,11 +1691,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
1648
1691
|
}]
|
|
1649
1692
|
}], propDecorators: { disabledDays: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabledDays", required: false }] }], minDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "minDate", required: false }] }], maxDate: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxDate", required: false }] }], minTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "minTime", required: false }] }], maxTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "maxTime", required: false }] }], hijriCalendar: [{ type: i0.Input, args: [{ isSignal: true, alias: "hijriCalendar", required: false }] }], emitHijri: [{ type: i0.Input, args: [{ isSignal: true, alias: "emitHijri", required: false }] }] } });
|
|
1650
1693
|
|
|
1651
|
-
class
|
|
1694
|
+
class Hints {
|
|
1652
1695
|
hints = input([], ...(ngDevMode ? [{ debugName: "hints" }] : /* istanbul ignore next */ []));
|
|
1653
1696
|
touched = input(false, ...(ngDevMode ? [{ debugName: "touched" }] : /* istanbul ignore next */ []));
|
|
1654
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
1655
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type:
|
|
1697
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Hints, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1698
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: Hints, isStandalone: true, selector: "iss-ctrl-hints", inputs: { hints: { classPropertyName: "hints", publicName: "hints", isSignal: true, isRequired: false, transformFunction: null }, touched: { classPropertyName: "touched", publicName: "touched", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
1656
1699
|
@if (hints().length) {
|
|
1657
1700
|
<div class="d-flex align-items-center flex-wrap gap-2 mb-3">
|
|
1658
1701
|
@for (hint of hints(); track $index) {
|
|
@@ -1678,7 +1721,7 @@ class HintsComponent {
|
|
|
1678
1721
|
}
|
|
1679
1722
|
`, isInline: true, dependencies: [{ kind: "directive", type: MatHint, selector: "mat-hint", inputs: ["align", "id"] }] });
|
|
1680
1723
|
}
|
|
1681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
1724
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: Hints, decorators: [{
|
|
1682
1725
|
type: Component,
|
|
1683
1726
|
args: [{
|
|
1684
1727
|
selector: "iss-ctrl-hints",
|
|
@@ -1939,14 +1982,14 @@ class FilePickerControl extends ControlBase {
|
|
|
1939
1982
|
|
|
1940
1983
|
<iss-ctrl-hints [hints]="hints()" [touched]="touched()"/>
|
|
1941
1984
|
<!--<iss-viewer-attachment (deleteOut)="onDelete($event)" [field]="filesValue()" [uploading]="uploading()"/>-->
|
|
1942
|
-
`, isInline: true, styles: [".file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader --input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: Droppable, selector: "[droppable]", outputs: ["onDrop"] }, { kind: "component", type:
|
|
1985
|
+
`, isInline: true, styles: [".file-uploader{--uploader-height: 150px;--uploader-width: 100%;--uploader-bg: var(--off-white);--uploader-border: 1px dashed var(--dark-gray);--uploader-radius: var(--box-radius);--uploader-padding: 1rem;height:var(--uploader-height);background-color:var(--uploader-bg);border:var(--uploader-border);border-radius:var(--uploader-radius);padding:var(--uploader-padding);text-align:center;cursor:pointer}.file-uploader --input{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:.75rem}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: Droppable, selector: "[droppable]", outputs: ["onDrop"] }, { kind: "component", type: Hints, selector: "iss-ctrl-hints", inputs: ["hints", "touched"] }] });
|
|
1943
1986
|
}
|
|
1944
1987
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FilePickerControl, decorators: [{
|
|
1945
1988
|
type: Component,
|
|
1946
1989
|
args: [{ selector: "iss-ctrl-file-picker", schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
|
|
1947
1990
|
ReactiveFormsModule,
|
|
1948
1991
|
Droppable,
|
|
1949
|
-
|
|
1992
|
+
Hints,
|
|
1950
1993
|
], providers: [
|
|
1951
1994
|
{ provide: NG_VALUE_ACCESSOR, useExisting: FilePickerControl, multi: true }
|
|
1952
1995
|
], template: `
|
|
@@ -2052,46 +2095,47 @@ class InputControl extends ControlBase {
|
|
|
2052
2095
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: InputControl, isStandalone: true, selector: "iss-ctrl-input", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null }, prefixIcon: { classPropertyName: "prefixIcon", publicName: "prefixIcon", isSignal: true, isRequired: false, transformFunction: null }, prefixText: { classPropertyName: "prefixText", publicName: "prefixText", isSignal: true, isRequired: false, transformFunction: null }, suffixIcon: { classPropertyName: "suffixIcon", publicName: "suffixIcon", isSignal: true, isRequired: false, transformFunction: null }, suffixText: { classPropertyName: "suffixText", publicName: "suffixText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onPrefixClick: "onPrefixClick", onSuffixClick: "onSuffixClick" }, providers: [
|
|
2053
2096
|
{ provide: NG_VALUE_ACCESSOR, useExisting: InputControl, multi: true },
|
|
2054
2097
|
{ provide: NG_VALIDATORS, useExisting: InputControl, multi: true }
|
|
2055
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
2056
|
-
<mat-form-field floatLabel="auto" class="">
|
|
2057
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
2058
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
2059
|
-
<ng-content select="label"></ng-content>
|
|
2060
|
-
</mat-label>
|
|
2061
|
-
<ng-content select="[issPrefix]"></ng-content>
|
|
2062
|
-
<div (click)="emitPrefixClick()" class="cursor-pointer">
|
|
2063
|
-
@if (prefixText()) {
|
|
2064
|
-
<span matTextPrefix>{{ prefixText() }}</span>
|
|
2065
|
-
}
|
|
2066
|
-
@if (prefixIcon()) {
|
|
2067
|
-
<ds-icon matPrefix icon="{{prefixIcon()}}"></ds-icon>
|
|
2068
|
-
}
|
|
2069
|
-
</div>
|
|
2070
|
-
<input
|
|
2071
|
-
matInput
|
|
2072
|
-
|
|
2073
|
-
(
|
|
2074
|
-
|
|
2075
|
-
[
|
|
2076
|
-
[attr.
|
|
2077
|
-
[attr.
|
|
2078
|
-
[attr.
|
|
2079
|
-
[
|
|
2080
|
-
[
|
|
2081
|
-
[
|
|
2082
|
-
|
|
2083
|
-
|
|
2084
|
-
<
|
|
2085
|
-
|
|
2086
|
-
|
|
2087
|
-
|
|
2088
|
-
|
|
2089
|
-
|
|
2090
|
-
|
|
2091
|
-
|
|
2092
|
-
|
|
2093
|
-
|
|
2094
|
-
|
|
2098
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
2099
|
+
<mat-form-field floatLabel="auto" class="">
|
|
2100
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
2101
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
2102
|
+
<ng-content select="label"></ng-content>
|
|
2103
|
+
</mat-label>
|
|
2104
|
+
<ng-content select="[issPrefix]"></ng-content>
|
|
2105
|
+
<div (click)="emitPrefixClick()" class="cursor-pointer">
|
|
2106
|
+
@if (prefixText()) {
|
|
2107
|
+
<span matTextPrefix>{{ prefixText() }}</span>
|
|
2108
|
+
}
|
|
2109
|
+
@if (prefixIcon()) {
|
|
2110
|
+
<ds-icon matPrefix icon="{{prefixIcon()}}"></ds-icon>
|
|
2111
|
+
}
|
|
2112
|
+
</div>
|
|
2113
|
+
<input
|
|
2114
|
+
matInput
|
|
2115
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
2116
|
+
(blur)="markAsTouched()"
|
|
2117
|
+
(input)="emitValue()"
|
|
2118
|
+
[formControl]="ctrl"
|
|
2119
|
+
[attr.maxlength]="maxLength()"
|
|
2120
|
+
[attr.minlength]="minLength()"
|
|
2121
|
+
[attr.max]="max()"
|
|
2122
|
+
[attr.min]="min()"
|
|
2123
|
+
[placeholder]="placeholder()"
|
|
2124
|
+
[readonly]="readonly()"
|
|
2125
|
+
[type]="type()"
|
|
2126
|
+
/>
|
|
2127
|
+
<ng-content select="[issSuffix]"></ng-content>
|
|
2128
|
+
<div (click)="emitSuffixClick()" class="cursor-pointer">
|
|
2129
|
+
@if (suffixText()) {
|
|
2130
|
+
<span matTextSuffix>{{ suffixText() }}</span>
|
|
2131
|
+
}
|
|
2132
|
+
@if (suffixIcon()) {
|
|
2133
|
+
<ds-icon matSuffix icon="{{suffixIcon()}}"></ds-icon>
|
|
2134
|
+
}
|
|
2135
|
+
</div>
|
|
2136
|
+
<iss-ctrl-hints [hints]="hints()" [touched]="touched()"/>
|
|
2137
|
+
</mat-form-field>
|
|
2138
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "component", type: Hints, selector: "iss-ctrl-hints", inputs: ["hints", "touched"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "ngmodule", type: MatInputModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
2095
2139
|
}
|
|
2096
2140
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: InputControl, decorators: [{
|
|
2097
2141
|
type: Component,
|
|
@@ -2102,7 +2146,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2102
2146
|
imports: [
|
|
2103
2147
|
ReactiveFormsModule,
|
|
2104
2148
|
MatFormFieldModule,
|
|
2105
|
-
|
|
2149
|
+
Hints,
|
|
2106
2150
|
MatInput,
|
|
2107
2151
|
MatInputModule,
|
|
2108
2152
|
],
|
|
@@ -2110,45 +2154,46 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
2110
2154
|
{ provide: NG_VALUE_ACCESSOR, useExisting: InputControl, multi: true },
|
|
2111
2155
|
{ provide: NG_VALIDATORS, useExisting: InputControl, multi: true }
|
|
2112
2156
|
],
|
|
2113
|
-
template: `
|
|
2114
|
-
<mat-form-field floatLabel="auto" class="">
|
|
2115
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
2116
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
2117
|
-
<ng-content select="label"></ng-content>
|
|
2118
|
-
</mat-label>
|
|
2119
|
-
<ng-content select="[issPrefix]"></ng-content>
|
|
2120
|
-
<div (click)="emitPrefixClick()" class="cursor-pointer">
|
|
2121
|
-
@if (prefixText()) {
|
|
2122
|
-
<span matTextPrefix>{{ prefixText() }}</span>
|
|
2123
|
-
}
|
|
2124
|
-
@if (prefixIcon()) {
|
|
2125
|
-
<ds-icon matPrefix icon="{{prefixIcon()}}"></ds-icon>
|
|
2126
|
-
}
|
|
2127
|
-
</div>
|
|
2128
|
-
<input
|
|
2129
|
-
matInput
|
|
2130
|
-
|
|
2131
|
-
(
|
|
2132
|
-
|
|
2133
|
-
[
|
|
2134
|
-
[attr.
|
|
2135
|
-
[attr.
|
|
2136
|
-
[attr.
|
|
2137
|
-
[
|
|
2138
|
-
[
|
|
2139
|
-
[
|
|
2140
|
-
|
|
2141
|
-
|
|
2142
|
-
<
|
|
2143
|
-
|
|
2144
|
-
|
|
2145
|
-
|
|
2146
|
-
|
|
2147
|
-
|
|
2148
|
-
|
|
2149
|
-
|
|
2150
|
-
|
|
2151
|
-
|
|
2157
|
+
template: `
|
|
2158
|
+
<mat-form-field floatLabel="auto" class="">
|
|
2159
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
2160
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
2161
|
+
<ng-content select="label"></ng-content>
|
|
2162
|
+
</mat-label>
|
|
2163
|
+
<ng-content select="[issPrefix]"></ng-content>
|
|
2164
|
+
<div (click)="emitPrefixClick()" class="cursor-pointer">
|
|
2165
|
+
@if (prefixText()) {
|
|
2166
|
+
<span matTextPrefix>{{ prefixText() }}</span>
|
|
2167
|
+
}
|
|
2168
|
+
@if (prefixIcon()) {
|
|
2169
|
+
<ds-icon matPrefix icon="{{prefixIcon()}}"></ds-icon>
|
|
2170
|
+
}
|
|
2171
|
+
</div>
|
|
2172
|
+
<input
|
|
2173
|
+
matInput
|
|
2174
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
2175
|
+
(blur)="markAsTouched()"
|
|
2176
|
+
(input)="emitValue()"
|
|
2177
|
+
[formControl]="ctrl"
|
|
2178
|
+
[attr.maxlength]="maxLength()"
|
|
2179
|
+
[attr.minlength]="minLength()"
|
|
2180
|
+
[attr.max]="max()"
|
|
2181
|
+
[attr.min]="min()"
|
|
2182
|
+
[placeholder]="placeholder()"
|
|
2183
|
+
[readonly]="readonly()"
|
|
2184
|
+
[type]="type()"
|
|
2185
|
+
/>
|
|
2186
|
+
<ng-content select="[issSuffix]"></ng-content>
|
|
2187
|
+
<div (click)="emitSuffixClick()" class="cursor-pointer">
|
|
2188
|
+
@if (suffixText()) {
|
|
2189
|
+
<span matTextSuffix>{{ suffixText() }}</span>
|
|
2190
|
+
}
|
|
2191
|
+
@if (suffixIcon()) {
|
|
2192
|
+
<ds-icon matSuffix icon="{{suffixIcon()}}"></ds-icon>
|
|
2193
|
+
}
|
|
2194
|
+
</div>
|
|
2195
|
+
<iss-ctrl-hints [hints]="hints()" [touched]="touched()"/>
|
|
2196
|
+
</mat-form-field>
|
|
2152
2197
|
`
|
|
2153
2198
|
}]
|
|
2154
2199
|
}], propDecorators: { type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], prefixIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefixIcon", required: false }] }], prefixText: [{ type: i0.Input, args: [{ isSignal: true, alias: "prefixText", required: false }] }], suffixIcon: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffixIcon", required: false }] }], suffixText: [{ type: i0.Input, args: [{ isSignal: true, alias: "suffixText", required: false }] }], onPrefixClick: [{ type: i0.Output, args: ["onPrefixClick"] }], onSuffixClick: [{ type: i0.Output, args: ["onSuffixClick"] }] } });
|
|
@@ -4446,67 +4491,68 @@ class MobileControl extends ControlBase {
|
|
|
4446
4491
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: MobileControl, isStandalone: true, selector: "iss-ctrl-mobile", inputs: { preferredCountries: { classPropertyName: "preferredCountries", publicName: "preferredCountries", isSignal: true, isRequired: false, transformFunction: null } }, providers: [
|
|
4447
4492
|
{ provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
|
|
4448
4493
|
{ provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
|
|
4449
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
4450
|
-
<mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
|
|
4451
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
4452
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
4453
|
-
<ng-content select="label"></ng-content>
|
|
4454
|
-
</mat-label>
|
|
4455
|
-
<div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
|
|
4456
|
-
<img
|
|
4457
|
-
ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
|
|
4458
|
-
width="20"
|
|
4459
|
-
height="20"
|
|
4460
|
-
[alt]="selectedCountry().code.toLowerCase()"
|
|
4461
|
-
class="country-flag--image"
|
|
4462
|
-
[priority]="true"
|
|
4463
|
-
>
|
|
4464
|
-
<ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
|
|
4465
|
-
</div>
|
|
4466
|
-
<input
|
|
4467
|
-
matInput
|
|
4468
|
-
type="tel"
|
|
4469
|
-
autocomplete="off"
|
|
4470
|
-
(blur)="markAsTouched()"
|
|
4471
|
-
(keydown)="onInput($event)"
|
|
4472
|
-
(input)="emit()"
|
|
4473
|
-
[formControl]="ctrl"
|
|
4474
|
-
[readonly]="readonly()"
|
|
4475
|
-
[placeholder]="selectedCountry().placeholder"
|
|
4476
|
-
|
|
4477
|
-
|
|
4478
|
-
|
|
4479
|
-
|
|
4480
|
-
|
|
4481
|
-
|
|
4482
|
-
|
|
4483
|
-
[
|
|
4484
|
-
[
|
|
4485
|
-
|
|
4486
|
-
|
|
4487
|
-
|
|
4488
|
-
|
|
4489
|
-
|
|
4490
|
-
|
|
4491
|
-
|
|
4492
|
-
|
|
4493
|
-
|
|
4494
|
-
|
|
4495
|
-
|
|
4496
|
-
|
|
4497
|
-
|
|
4498
|
-
|
|
4499
|
-
|
|
4500
|
-
|
|
4501
|
-
|
|
4502
|
-
|
|
4503
|
-
|
|
4504
|
-
<span class="fs-12 fc-
|
|
4505
|
-
|
|
4506
|
-
|
|
4507
|
-
|
|
4508
|
-
|
|
4509
|
-
|
|
4494
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
4495
|
+
<mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
|
|
4496
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
4497
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
4498
|
+
<ng-content select="label"></ng-content>
|
|
4499
|
+
</mat-label>
|
|
4500
|
+
<div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
|
|
4501
|
+
<img
|
|
4502
|
+
ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
|
|
4503
|
+
width="20"
|
|
4504
|
+
height="20"
|
|
4505
|
+
[alt]="selectedCountry().code.toLowerCase()"
|
|
4506
|
+
class="country-flag--image"
|
|
4507
|
+
[priority]="true"
|
|
4508
|
+
>
|
|
4509
|
+
<ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
|
|
4510
|
+
</div>
|
|
4511
|
+
<input
|
|
4512
|
+
matInput
|
|
4513
|
+
type="tel"
|
|
4514
|
+
autocomplete="off"
|
|
4515
|
+
(blur)="markAsTouched()"
|
|
4516
|
+
(keydown)="onInput($event)"
|
|
4517
|
+
(input)="emit()"
|
|
4518
|
+
[formControl]="ctrl"
|
|
4519
|
+
[readonly]="readonly()"
|
|
4520
|
+
[placeholder]="selectedCountry().placeholder"
|
|
4521
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
4522
|
+
/>
|
|
4523
|
+
</mat-form-field>
|
|
4524
|
+
<ng-template
|
|
4525
|
+
cdkConnectedOverlay
|
|
4526
|
+
[cdkConnectedOverlayHasBackdrop]="true"
|
|
4527
|
+
(backdropClick)="closeCountryCodeMenu()"
|
|
4528
|
+
[cdkConnectedOverlayGrowAfterOpen]="true"
|
|
4529
|
+
[cdkConnectedOverlayOrigin]="trigger"
|
|
4530
|
+
[cdkConnectedOverlayOpen]="isOpen()"
|
|
4531
|
+
>
|
|
4532
|
+
<div class="country-dropdown bc-white box-shadow p-2">
|
|
4533
|
+
<div class="search-container">
|
|
4534
|
+
<mat-form-field>
|
|
4535
|
+
<input matInput id="country-search-box" [formControl]="searchInput" (click)="$event.stopPropagation()"/>
|
|
4536
|
+
</mat-form-field>
|
|
4537
|
+
</div>
|
|
4538
|
+
<ul class="country-list">
|
|
4539
|
+
@for (country of filteredCountries(); track $index) {
|
|
4540
|
+
<li
|
|
4541
|
+
#countryEl
|
|
4542
|
+
[ngClass]="country.order > 1 ? 'preferredCounty' : ''"
|
|
4543
|
+
class="d-flex align-items-center gap-2 cursor-pointer p-2"
|
|
4544
|
+
(click)="onSelectCountry(country)"
|
|
4545
|
+
>
|
|
4546
|
+
@defer (on viewport(countryEl)) {
|
|
4547
|
+
<img ngSrc="./flags/{{country.code.toLowerCase()}}.svg" width="20" height="20" alt="" class="country-flag--image">
|
|
4548
|
+
}
|
|
4549
|
+
<span class="fs-12 fc-dark-gray">(+{{ country.dailCode }})</span>
|
|
4550
|
+
<span class="fs-12 fc-black">{{ country.name }}</span>
|
|
4551
|
+
</li>
|
|
4552
|
+
}
|
|
4553
|
+
</ul>
|
|
4554
|
+
</div>
|
|
4555
|
+
</ng-template>
|
|
4510
4556
|
`, isInline: true, styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "directive", type: NgOptimizedImage, selector: "img[ngSrc]", inputs: ["ngSrc", "ngSrcset", "sizes", "width", "height", "decoding", "loading", "priority", "loaderParams", "disableOptimizedSrcset", "fill", "placeholder", "placeholderConfig", "src", "srcset"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }], deferBlockDependencies: [() => [NgOptimizedImage]] });
|
|
4511
4557
|
}
|
|
4512
4558
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MobileControl, decorators: [{
|
|
@@ -4524,67 +4570,68 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
4524
4570
|
], providers: [
|
|
4525
4571
|
{ provide: NG_VALUE_ACCESSOR, useExisting: MobileControl, multi: true },
|
|
4526
4572
|
{ provide: NG_VALIDATORS, useExisting: MobileControl, multi: true }
|
|
4527
|
-
], template: `
|
|
4528
|
-
<mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
|
|
4529
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
4530
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
4531
|
-
<ng-content select="label"></ng-content>
|
|
4532
|
-
</mat-label>
|
|
4533
|
-
<div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
|
|
4534
|
-
<img
|
|
4535
|
-
ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
|
|
4536
|
-
width="20"
|
|
4537
|
-
height="20"
|
|
4538
|
-
[alt]="selectedCountry().code.toLowerCase()"
|
|
4539
|
-
class="country-flag--image"
|
|
4540
|
-
[priority]="true"
|
|
4541
|
-
>
|
|
4542
|
-
<ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
|
|
4543
|
-
</div>
|
|
4544
|
-
<input
|
|
4545
|
-
matInput
|
|
4546
|
-
type="tel"
|
|
4547
|
-
autocomplete="off"
|
|
4548
|
-
(blur)="markAsTouched()"
|
|
4549
|
-
(keydown)="onInput($event)"
|
|
4550
|
-
(input)="emit()"
|
|
4551
|
-
[formControl]="ctrl"
|
|
4552
|
-
[readonly]="readonly()"
|
|
4553
|
-
[placeholder]="selectedCountry().placeholder"
|
|
4554
|
-
|
|
4555
|
-
|
|
4556
|
-
|
|
4557
|
-
|
|
4558
|
-
|
|
4559
|
-
|
|
4560
|
-
|
|
4561
|
-
[
|
|
4562
|
-
[
|
|
4563
|
-
|
|
4564
|
-
|
|
4565
|
-
|
|
4566
|
-
|
|
4567
|
-
|
|
4568
|
-
|
|
4569
|
-
|
|
4570
|
-
|
|
4571
|
-
|
|
4572
|
-
|
|
4573
|
-
|
|
4574
|
-
|
|
4575
|
-
|
|
4576
|
-
|
|
4577
|
-
|
|
4578
|
-
|
|
4579
|
-
|
|
4580
|
-
|
|
4581
|
-
|
|
4582
|
-
<span class="fs-12 fc-
|
|
4583
|
-
|
|
4584
|
-
|
|
4585
|
-
|
|
4586
|
-
|
|
4587
|
-
|
|
4573
|
+
], template: `
|
|
4574
|
+
<mat-form-field floatLabel="auto" cdkOverlayOrigin #trigger="cdkOverlayOrigin">
|
|
4575
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
4576
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
4577
|
+
<ng-content select="label"></ng-content>
|
|
4578
|
+
</mat-label>
|
|
4579
|
+
<div class="d-inline-flex align-items-center gap-1 country-flag" matPrefix (click)="toggleCountryCodeMenu()">
|
|
4580
|
+
<img
|
|
4581
|
+
ngSrc="./flags/{{selectedCountry().code.toLowerCase()}}.svg"
|
|
4582
|
+
width="20"
|
|
4583
|
+
height="20"
|
|
4584
|
+
[alt]="selectedCountry().code.toLowerCase()"
|
|
4585
|
+
class="country-flag--image"
|
|
4586
|
+
[priority]="true"
|
|
4587
|
+
>
|
|
4588
|
+
<ds-icon icon="arrow-down" class="fs-12 fc-dark-gray"></ds-icon>
|
|
4589
|
+
</div>
|
|
4590
|
+
<input
|
|
4591
|
+
matInput
|
|
4592
|
+
type="tel"
|
|
4593
|
+
autocomplete="off"
|
|
4594
|
+
(blur)="markAsTouched()"
|
|
4595
|
+
(keydown)="onInput($event)"
|
|
4596
|
+
(input)="emit()"
|
|
4597
|
+
[formControl]="ctrl"
|
|
4598
|
+
[readonly]="readonly()"
|
|
4599
|
+
[placeholder]="selectedCountry().placeholder"
|
|
4600
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
4601
|
+
/>
|
|
4602
|
+
</mat-form-field>
|
|
4603
|
+
<ng-template
|
|
4604
|
+
cdkConnectedOverlay
|
|
4605
|
+
[cdkConnectedOverlayHasBackdrop]="true"
|
|
4606
|
+
(backdropClick)="closeCountryCodeMenu()"
|
|
4607
|
+
[cdkConnectedOverlayGrowAfterOpen]="true"
|
|
4608
|
+
[cdkConnectedOverlayOrigin]="trigger"
|
|
4609
|
+
[cdkConnectedOverlayOpen]="isOpen()"
|
|
4610
|
+
>
|
|
4611
|
+
<div class="country-dropdown bc-white box-shadow p-2">
|
|
4612
|
+
<div class="search-container">
|
|
4613
|
+
<mat-form-field>
|
|
4614
|
+
<input matInput id="country-search-box" [formControl]="searchInput" (click)="$event.stopPropagation()"/>
|
|
4615
|
+
</mat-form-field>
|
|
4616
|
+
</div>
|
|
4617
|
+
<ul class="country-list">
|
|
4618
|
+
@for (country of filteredCountries(); track $index) {
|
|
4619
|
+
<li
|
|
4620
|
+
#countryEl
|
|
4621
|
+
[ngClass]="country.order > 1 ? 'preferredCounty' : ''"
|
|
4622
|
+
class="d-flex align-items-center gap-2 cursor-pointer p-2"
|
|
4623
|
+
(click)="onSelectCountry(country)"
|
|
4624
|
+
>
|
|
4625
|
+
@defer (on viewport(countryEl)) {
|
|
4626
|
+
<img ngSrc="./flags/{{country.code.toLowerCase()}}.svg" width="20" height="20" alt="" class="country-flag--image">
|
|
4627
|
+
}
|
|
4628
|
+
<span class="fs-12 fc-dark-gray">(+{{ country.dailCode }})</span>
|
|
4629
|
+
<span class="fs-12 fc-black">{{ country.name }}</span>
|
|
4630
|
+
</li>
|
|
4631
|
+
}
|
|
4632
|
+
</ul>
|
|
4633
|
+
</div>
|
|
4634
|
+
</ng-template>
|
|
4588
4635
|
`, styles: [".country-flag{border-inline-end:var(--input-border);padding-inline-end:.5rem;margin-inline-end:.5rem;cursor:pointer}\n"] }]
|
|
4589
4636
|
}], propDecorators: { preferredCountries: [{ type: i0.Input, args: [{ isSignal: true, alias: "preferredCountries", required: false }] }] } });
|
|
4590
4637
|
|
|
@@ -5301,6 +5348,11 @@ class SelectControl extends ControlBase {
|
|
|
5301
5348
|
this.#queryEffectRef.destroy();
|
|
5302
5349
|
this.#disabledEffectRef.destroy();
|
|
5303
5350
|
}
|
|
5351
|
+
// the selection is the value here; `ctrl` doubles as the autocomplete's search box, so while
|
|
5352
|
+
// the user is typing a query it holds that string rather than the chosen options.
|
|
5353
|
+
isEmpty() {
|
|
5354
|
+
return this.selectedOptions().size === 0;
|
|
5355
|
+
}
|
|
5304
5356
|
#addToSelectedOptionsMap(option) {
|
|
5305
5357
|
if (option) {
|
|
5306
5358
|
const selectedOption = option;
|
|
@@ -5344,67 +5396,67 @@ class SelectControl extends ControlBase {
|
|
|
5344
5396
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectControl, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
5345
5397
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SelectControl, isStandalone: true, selector: "iss-ctrl-select", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: true, transformFunction: null }, height: { classPropertyName: "height", publicName: "height", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onQueryChange: "onQueryChange" }, providers: [
|
|
5346
5398
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectControl, multi: true },
|
|
5347
|
-
], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true, isSignal: true }, { propertyName: "cardViewerTemplate", first: true, predicate: ["cardViewerTemplate"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
5348
|
-
<mat-form-field floatLabel="auto" class="">
|
|
5349
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5350
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
5351
|
-
<ng-content select="label"></ng-content>
|
|
5352
|
-
</mat-label>
|
|
5353
|
-
<input [formControl]="ctrl" [matAutocomplete]="auto" [matChipInputFor]="chipGrid" [placeholder]="placeholder()" [readonly]="readonly()" (blur)="markAsTouched()" class="m-0" matInput/>
|
|
5354
|
-
@if (!disabled()) {
|
|
5355
|
-
@if (selectedOptions().size) {
|
|
5356
|
-
<span matSuffix class="sfi sfi-close fs-18 fc-black cursor-pointer" (click)="clearSelection()"></span>
|
|
5357
|
-
} @else {
|
|
5358
|
-
<span matSuffix class="sfi sfi-arrow-down fs-18 fc-black cursor-pointer"></span>
|
|
5359
|
-
}
|
|
5360
|
-
}
|
|
5361
|
-
|
|
5362
|
-
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="captureValue($event)" [displayWith]="displayFn" autoActiveFirstOption hideSingleSelectionIndicator>
|
|
5363
|
-
@if (loading()) {
|
|
5364
|
-
<mat-option disabled="true">
|
|
5365
|
-
<ds-icon icon="spinner" class="spin fc-coral fs-20"></ds-icon>
|
|
5366
|
-
</mat-option>
|
|
5367
|
-
} @else {
|
|
5368
|
-
@if (filteredOptions().length) {
|
|
5369
|
-
@if (multiple()) {
|
|
5370
|
-
<mat-option (click)="toggleAllSelection()" value="_SELECT_ALL_OPTIONS_">
|
|
5371
|
-
{{ allSelected() ? "deselect all" : "Select All" }}
|
|
5372
|
-
</mat-option>
|
|
5373
|
-
}
|
|
5374
|
-
<cdk-virtual-scroll-viewport itemSize="5" [ngStyle]="{'height': height()}">
|
|
5375
|
-
<mat-option *cdkVirtualFor="let option of filteredOptions()" [value]="option" [ngClass]="{'mdc-list-item__selected': option | selectStatus: selectedOptions()}">
|
|
5376
|
-
@if (optionTemplate()) {
|
|
5377
|
-
<ng-container *ngTemplateOutlet="optionTemplate(); context: { $implicit: option}"/>
|
|
5378
|
-
} @else {
|
|
5379
|
-
{{ option.label }}
|
|
5380
|
-
}
|
|
5381
|
-
</mat-option>
|
|
5382
|
-
</cdk-virtual-scroll-viewport>
|
|
5383
|
-
} @else {
|
|
5384
|
-
<mat-option disabled="true">No Result Found</mat-option>
|
|
5385
|
-
}
|
|
5386
|
-
}
|
|
5387
|
-
</mat-autocomplete>
|
|
5388
|
-
</mat-form-field>
|
|
5389
|
-
|
|
5390
|
-
<mat-chip-grid #chipGrid>
|
|
5391
|
-
@if (multiple()) {
|
|
5392
|
-
@for (chip of selectedOptions(); track chip[0]) {
|
|
5393
|
-
<mat-chip-row (removed)="removeFromSelectedOptionsMap(chip[1])">
|
|
5394
|
-
@if (cardViewerTemplate()) {
|
|
5395
|
-
<ng-container
|
|
5396
|
-
*ngTemplateOutlet="cardViewerTemplate(); context: { $implicit: chip[1]}"
|
|
5397
|
-
/>
|
|
5398
|
-
} @else {
|
|
5399
|
-
{{ chip[1].label }}
|
|
5400
|
-
}
|
|
5401
|
-
<button matChipRemove [disabled]="readonly()" [attr.aria-label]="'remove ' + chip[1].label">
|
|
5402
|
-
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
5403
|
-
</button>
|
|
5404
|
-
</mat-chip-row>
|
|
5405
|
-
}
|
|
5406
|
-
}
|
|
5407
|
-
</mat-chip-grid>
|
|
5399
|
+
], queries: [{ propertyName: "optionTemplate", first: true, predicate: ["optionTemplate"], descendants: true, isSignal: true }, { propertyName: "cardViewerTemplate", first: true, predicate: ["cardViewerTemplate"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: `
|
|
5400
|
+
<mat-form-field floatLabel="auto" class="">
|
|
5401
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5402
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
5403
|
+
<ng-content select="label"></ng-content>
|
|
5404
|
+
</mat-label>
|
|
5405
|
+
<input [formControl]="ctrl" [matAutocomplete]="auto" [matChipInputFor]="chipGrid" [placeholder]="placeholder()" [readonly]="readonly()" [errorStateMatcher]="errorStateMatcher" (blur)="markAsTouched()" class="m-0" matInput/>
|
|
5406
|
+
@if (!disabled()) {
|
|
5407
|
+
@if (selectedOptions().size) {
|
|
5408
|
+
<span matSuffix class="sfi sfi-close fs-18 fc-black cursor-pointer" (click)="clearSelection()"></span>
|
|
5409
|
+
} @else {
|
|
5410
|
+
<span matSuffix class="sfi sfi-arrow-down fs-18 fc-black cursor-pointer"></span>
|
|
5411
|
+
}
|
|
5412
|
+
}
|
|
5413
|
+
|
|
5414
|
+
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="captureValue($event)" [displayWith]="displayFn" autoActiveFirstOption hideSingleSelectionIndicator>
|
|
5415
|
+
@if (loading()) {
|
|
5416
|
+
<mat-option disabled="true">
|
|
5417
|
+
<ds-icon icon="spinner" class="spin fc-coral fs-20"></ds-icon>
|
|
5418
|
+
</mat-option>
|
|
5419
|
+
} @else {
|
|
5420
|
+
@if (filteredOptions().length) {
|
|
5421
|
+
@if (multiple()) {
|
|
5422
|
+
<mat-option (click)="toggleAllSelection()" value="_SELECT_ALL_OPTIONS_">
|
|
5423
|
+
{{ allSelected() ? "deselect all" : "Select All" }}
|
|
5424
|
+
</mat-option>
|
|
5425
|
+
}
|
|
5426
|
+
<cdk-virtual-scroll-viewport itemSize="5" [ngStyle]="{'height': height()}">
|
|
5427
|
+
<mat-option *cdkVirtualFor="let option of filteredOptions()" [value]="option" [ngClass]="{'mdc-list-item__selected': option | selectStatus: selectedOptions()}">
|
|
5428
|
+
@if (optionTemplate()) {
|
|
5429
|
+
<ng-container *ngTemplateOutlet="optionTemplate(); context: { $implicit: option}"/>
|
|
5430
|
+
} @else {
|
|
5431
|
+
{{ option.label }}
|
|
5432
|
+
}
|
|
5433
|
+
</mat-option>
|
|
5434
|
+
</cdk-virtual-scroll-viewport>
|
|
5435
|
+
} @else {
|
|
5436
|
+
<mat-option disabled="true">No Result Found</mat-option>
|
|
5437
|
+
}
|
|
5438
|
+
}
|
|
5439
|
+
</mat-autocomplete>
|
|
5440
|
+
</mat-form-field>
|
|
5441
|
+
|
|
5442
|
+
<mat-chip-grid #chipGrid>
|
|
5443
|
+
@if (multiple()) {
|
|
5444
|
+
@for (chip of selectedOptions(); track chip[0]) {
|
|
5445
|
+
<mat-chip-row (removed)="removeFromSelectedOptionsMap(chip[1])">
|
|
5446
|
+
@if (cardViewerTemplate()) {
|
|
5447
|
+
<ng-container
|
|
5448
|
+
*ngTemplateOutlet="cardViewerTemplate(); context: { $implicit: chip[1]}"
|
|
5449
|
+
/>
|
|
5450
|
+
} @else {
|
|
5451
|
+
{{ chip[1].label }}
|
|
5452
|
+
}
|
|
5453
|
+
<button matChipRemove [disabled]="readonly()" [attr.aria-label]="'remove ' + chip[1].label">
|
|
5454
|
+
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
5455
|
+
</button>
|
|
5456
|
+
</mat-chip-row>
|
|
5457
|
+
}
|
|
5458
|
+
}
|
|
5459
|
+
</mat-chip-grid>
|
|
5408
5460
|
`, isInline: true, styles: [""], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatAutocompleteModule }, { kind: "component", type: i2$2.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i2$2.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$2.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i1$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }, { kind: "directive", type: i1$1.MatSuffix, selector: "[matSuffix], [matIconSuffix], [matTextSuffix]", inputs: ["matTextSuffix"] }, { kind: "ngmodule", type: MatChipsModule }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "ngmodule", type: MatIconModule }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: CdkVirtualForOf, selector: "[cdkVirtualFor][cdkVirtualForOf]", inputs: ["cdkVirtualForOf", "cdkVirtualForTrackBy", "cdkVirtualForTemplate", "cdkVirtualForTemplateCacheSize"] }, { kind: "component", type: CdkVirtualScrollViewport, selector: "cdk-virtual-scroll-viewport", inputs: ["orientation", "appendOnly"], outputs: ["scrolledIndexChange"] }, { kind: "directive", type: CdkFixedSizeVirtualScroll, selector: "cdk-virtual-scroll-viewport[itemSize]", inputs: ["itemSize", "minBufferPx", "maxBufferPx"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "pipe", type: SelectStatusPipe, name: "selectStatus" }] });
|
|
5409
5461
|
}
|
|
5410
5462
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectControl, decorators: [{
|
|
@@ -5424,67 +5476,67 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5424
5476
|
NgTemplateOutlet,
|
|
5425
5477
|
], providers: [
|
|
5426
5478
|
{ provide: NG_VALUE_ACCESSOR, useExisting: SelectControl, multi: true },
|
|
5427
|
-
], template: `
|
|
5428
|
-
<mat-form-field floatLabel="auto" class="">
|
|
5429
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5430
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
5431
|
-
<ng-content select="label"></ng-content>
|
|
5432
|
-
</mat-label>
|
|
5433
|
-
<input [formControl]="ctrl" [matAutocomplete]="auto" [matChipInputFor]="chipGrid" [placeholder]="placeholder()" [readonly]="readonly()" (blur)="markAsTouched()" class="m-0" matInput/>
|
|
5434
|
-
@if (!disabled()) {
|
|
5435
|
-
@if (selectedOptions().size) {
|
|
5436
|
-
<span matSuffix class="sfi sfi-close fs-18 fc-black cursor-pointer" (click)="clearSelection()"></span>
|
|
5437
|
-
} @else {
|
|
5438
|
-
<span matSuffix class="sfi sfi-arrow-down fs-18 fc-black cursor-pointer"></span>
|
|
5439
|
-
}
|
|
5440
|
-
}
|
|
5441
|
-
|
|
5442
|
-
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="captureValue($event)" [displayWith]="displayFn" autoActiveFirstOption hideSingleSelectionIndicator>
|
|
5443
|
-
@if (loading()) {
|
|
5444
|
-
<mat-option disabled="true">
|
|
5445
|
-
<ds-icon icon="spinner" class="spin fc-coral fs-20"></ds-icon>
|
|
5446
|
-
</mat-option>
|
|
5447
|
-
} @else {
|
|
5448
|
-
@if (filteredOptions().length) {
|
|
5449
|
-
@if (multiple()) {
|
|
5450
|
-
<mat-option (click)="toggleAllSelection()" value="_SELECT_ALL_OPTIONS_">
|
|
5451
|
-
{{ allSelected() ? "deselect all" : "Select All" }}
|
|
5452
|
-
</mat-option>
|
|
5453
|
-
}
|
|
5454
|
-
<cdk-virtual-scroll-viewport itemSize="5" [ngStyle]="{'height': height()}">
|
|
5455
|
-
<mat-option *cdkVirtualFor="let option of filteredOptions()" [value]="option" [ngClass]="{'mdc-list-item__selected': option | selectStatus: selectedOptions()}">
|
|
5456
|
-
@if (optionTemplate()) {
|
|
5457
|
-
<ng-container *ngTemplateOutlet="optionTemplate(); context: { $implicit: option}"/>
|
|
5458
|
-
} @else {
|
|
5459
|
-
{{ option.label }}
|
|
5460
|
-
}
|
|
5461
|
-
</mat-option>
|
|
5462
|
-
</cdk-virtual-scroll-viewport>
|
|
5463
|
-
} @else {
|
|
5464
|
-
<mat-option disabled="true">No Result Found</mat-option>
|
|
5465
|
-
}
|
|
5466
|
-
}
|
|
5467
|
-
</mat-autocomplete>
|
|
5468
|
-
</mat-form-field>
|
|
5469
|
-
|
|
5470
|
-
<mat-chip-grid #chipGrid>
|
|
5471
|
-
@if (multiple()) {
|
|
5472
|
-
@for (chip of selectedOptions(); track chip[0]) {
|
|
5473
|
-
<mat-chip-row (removed)="removeFromSelectedOptionsMap(chip[1])">
|
|
5474
|
-
@if (cardViewerTemplate()) {
|
|
5475
|
-
<ng-container
|
|
5476
|
-
*ngTemplateOutlet="cardViewerTemplate(); context: { $implicit: chip[1]}"
|
|
5477
|
-
/>
|
|
5478
|
-
} @else {
|
|
5479
|
-
{{ chip[1].label }}
|
|
5480
|
-
}
|
|
5481
|
-
<button matChipRemove [disabled]="readonly()" [attr.aria-label]="'remove ' + chip[1].label">
|
|
5482
|
-
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
5483
|
-
</button>
|
|
5484
|
-
</mat-chip-row>
|
|
5485
|
-
}
|
|
5486
|
-
}
|
|
5487
|
-
</mat-chip-grid>
|
|
5479
|
+
], template: `
|
|
5480
|
+
<mat-form-field floatLabel="auto" class="">
|
|
5481
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5482
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
5483
|
+
<ng-content select="label"></ng-content>
|
|
5484
|
+
</mat-label>
|
|
5485
|
+
<input [formControl]="ctrl" [matAutocomplete]="auto" [matChipInputFor]="chipGrid" [placeholder]="placeholder()" [readonly]="readonly()" [errorStateMatcher]="errorStateMatcher" (blur)="markAsTouched()" class="m-0" matInput/>
|
|
5486
|
+
@if (!disabled()) {
|
|
5487
|
+
@if (selectedOptions().size) {
|
|
5488
|
+
<span matSuffix class="sfi sfi-close fs-18 fc-black cursor-pointer" (click)="clearSelection()"></span>
|
|
5489
|
+
} @else {
|
|
5490
|
+
<span matSuffix class="sfi sfi-arrow-down fs-18 fc-black cursor-pointer"></span>
|
|
5491
|
+
}
|
|
5492
|
+
}
|
|
5493
|
+
|
|
5494
|
+
<mat-autocomplete #auto="matAutocomplete" (optionSelected)="captureValue($event)" [displayWith]="displayFn" autoActiveFirstOption hideSingleSelectionIndicator>
|
|
5495
|
+
@if (loading()) {
|
|
5496
|
+
<mat-option disabled="true">
|
|
5497
|
+
<ds-icon icon="spinner" class="spin fc-coral fs-20"></ds-icon>
|
|
5498
|
+
</mat-option>
|
|
5499
|
+
} @else {
|
|
5500
|
+
@if (filteredOptions().length) {
|
|
5501
|
+
@if (multiple()) {
|
|
5502
|
+
<mat-option (click)="toggleAllSelection()" value="_SELECT_ALL_OPTIONS_">
|
|
5503
|
+
{{ allSelected() ? "deselect all" : "Select All" }}
|
|
5504
|
+
</mat-option>
|
|
5505
|
+
}
|
|
5506
|
+
<cdk-virtual-scroll-viewport itemSize="5" [ngStyle]="{'height': height()}">
|
|
5507
|
+
<mat-option *cdkVirtualFor="let option of filteredOptions()" [value]="option" [ngClass]="{'mdc-list-item__selected': option | selectStatus: selectedOptions()}">
|
|
5508
|
+
@if (optionTemplate()) {
|
|
5509
|
+
<ng-container *ngTemplateOutlet="optionTemplate(); context: { $implicit: option}"/>
|
|
5510
|
+
} @else {
|
|
5511
|
+
{{ option.label }}
|
|
5512
|
+
}
|
|
5513
|
+
</mat-option>
|
|
5514
|
+
</cdk-virtual-scroll-viewport>
|
|
5515
|
+
} @else {
|
|
5516
|
+
<mat-option disabled="true">No Result Found</mat-option>
|
|
5517
|
+
}
|
|
5518
|
+
}
|
|
5519
|
+
</mat-autocomplete>
|
|
5520
|
+
</mat-form-field>
|
|
5521
|
+
|
|
5522
|
+
<mat-chip-grid #chipGrid>
|
|
5523
|
+
@if (multiple()) {
|
|
5524
|
+
@for (chip of selectedOptions(); track chip[0]) {
|
|
5525
|
+
<mat-chip-row (removed)="removeFromSelectedOptionsMap(chip[1])">
|
|
5526
|
+
@if (cardViewerTemplate()) {
|
|
5527
|
+
<ng-container
|
|
5528
|
+
*ngTemplateOutlet="cardViewerTemplate(); context: { $implicit: chip[1]}"
|
|
5529
|
+
/>
|
|
5530
|
+
} @else {
|
|
5531
|
+
{{ chip[1].label }}
|
|
5532
|
+
}
|
|
5533
|
+
<button matChipRemove [disabled]="readonly()" [attr.aria-label]="'remove ' + chip[1].label">
|
|
5534
|
+
<ds-icon icon="trash" class="fc-red"></ds-icon>
|
|
5535
|
+
</button>
|
|
5536
|
+
</mat-chip-row>
|
|
5537
|
+
}
|
|
5538
|
+
}
|
|
5539
|
+
</mat-chip-grid>
|
|
5488
5540
|
`, schemas: [CUSTOM_ELEMENTS_SCHEMA] }]
|
|
5489
5541
|
}], propDecorators: { options: [{ type: i0.Input, args: [{ isSignal: true, alias: "options", required: true }] }], height: [{ type: i0.Input, args: [{ isSignal: true, alias: "height", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], onQueryChange: [{ type: i0.Output, args: ["onQueryChange"] }], optionTemplate: [{ type: i0.ContentChild, args: ["optionTemplate", { isSignal: true }] }], cardViewerTemplate: [{ type: i0.ContentChild, args: ["cardViewerTemplate", { isSignal: true }] }] } });
|
|
5490
5542
|
|
|
@@ -5577,26 +5629,27 @@ class TextareaControl extends ControlBase {
|
|
|
5577
5629
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: TextareaControl, isStandalone: true, selector: "iss-ctrl-textarea", providers: [
|
|
5578
5630
|
{ provide: NG_VALUE_ACCESSOR, useExisting: TextareaControl, multi: true },
|
|
5579
5631
|
{ provide: NG_VALIDATORS, useExisting: TextareaControl, multi: true }
|
|
5580
|
-
], usesInheritance: true, ngImport: i0, template: `
|
|
5581
|
-
<mat-form-field floatLabel="auto" class="custom-textarea">
|
|
5582
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5583
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
5584
|
-
<ng-content select="label"></ng-content>
|
|
5585
|
-
</mat-label>
|
|
5586
|
-
<textarea
|
|
5587
|
-
matInput
|
|
5588
|
-
[
|
|
5589
|
-
[
|
|
5590
|
-
[
|
|
5591
|
-
[attr.
|
|
5592
|
-
[
|
|
5593
|
-
|
|
5594
|
-
(
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5632
|
+
], usesInheritance: true, ngImport: i0, template: `
|
|
5633
|
+
<mat-form-field floatLabel="auto" class="custom-textarea">
|
|
5634
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5635
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
5636
|
+
<ng-content select="label"></ng-content>
|
|
5637
|
+
</mat-label>
|
|
5638
|
+
<textarea
|
|
5639
|
+
matInput
|
|
5640
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
5641
|
+
[placeholder]="placeholder()"
|
|
5642
|
+
[formControl]="ctrl"
|
|
5643
|
+
[attr.maxlength]="maxLength()"
|
|
5644
|
+
[attr.minlength]="minLength()"
|
|
5645
|
+
[readonly]="readonly()"
|
|
5646
|
+
(input)="emitValue()"
|
|
5647
|
+
(focusout)="markAsTouched()"
|
|
5648
|
+
>
|
|
5649
|
+
</textarea>
|
|
5650
|
+
<iss-ctrl-hints [hints]="hints()" [touched]="touched()"/>
|
|
5651
|
+
</mat-form-field>
|
|
5652
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: Hints, selector: "iss-ctrl-hints", inputs: ["hints", "touched"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "directive", type: i1$1.MatLabel, selector: "mat-label" }] });
|
|
5600
5653
|
}
|
|
5601
5654
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TextareaControl, decorators: [{
|
|
5602
5655
|
type: Component,
|
|
@@ -5605,7 +5658,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5605
5658
|
imports: [
|
|
5606
5659
|
MatFormField,
|
|
5607
5660
|
MatInput,
|
|
5608
|
-
|
|
5661
|
+
Hints,
|
|
5609
5662
|
FormsModule,
|
|
5610
5663
|
ReactiveFormsModule,
|
|
5611
5664
|
MatFormFieldModule,
|
|
@@ -5615,25 +5668,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
5615
5668
|
{ provide: NG_VALIDATORS, useExisting: TextareaControl, multi: true }
|
|
5616
5669
|
],
|
|
5617
5670
|
schemas: [CUSTOM_ELEMENTS_SCHEMA],
|
|
5618
|
-
template: `
|
|
5619
|
-
<mat-form-field floatLabel="auto" class="custom-textarea">
|
|
5620
|
-
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5621
|
-
<mat-label class="fs-16 fc-dark-gray">
|
|
5622
|
-
<ng-content select="label"></ng-content>
|
|
5623
|
-
</mat-label>
|
|
5624
|
-
<textarea
|
|
5625
|
-
matInput
|
|
5626
|
-
[
|
|
5627
|
-
[
|
|
5628
|
-
[
|
|
5629
|
-
[attr.
|
|
5630
|
-
[
|
|
5631
|
-
|
|
5632
|
-
(
|
|
5633
|
-
|
|
5634
|
-
|
|
5635
|
-
|
|
5636
|
-
|
|
5671
|
+
template: `
|
|
5672
|
+
<mat-form-field floatLabel="auto" class="custom-textarea">
|
|
5673
|
+
<!-- Always rendered: upgrade.scss shows the floating label only while the projected <label> carries text, so an omitted or empty one collapses on its own. -->
|
|
5674
|
+
<mat-label class="fs-16 fc-dark-gray">
|
|
5675
|
+
<ng-content select="label"></ng-content>
|
|
5676
|
+
</mat-label>
|
|
5677
|
+
<textarea
|
|
5678
|
+
matInput
|
|
5679
|
+
[errorStateMatcher]="errorStateMatcher"
|
|
5680
|
+
[placeholder]="placeholder()"
|
|
5681
|
+
[formControl]="ctrl"
|
|
5682
|
+
[attr.maxlength]="maxLength()"
|
|
5683
|
+
[attr.minlength]="minLength()"
|
|
5684
|
+
[readonly]="readonly()"
|
|
5685
|
+
(input)="emitValue()"
|
|
5686
|
+
(focusout)="markAsTouched()"
|
|
5687
|
+
>
|
|
5688
|
+
</textarea>
|
|
5689
|
+
<iss-ctrl-hints [hints]="hints()" [touched]="touched()"/>
|
|
5690
|
+
</mat-form-field>
|
|
5637
5691
|
`
|
|
5638
5692
|
}]
|
|
5639
5693
|
}] });
|
|
@@ -6411,22 +6465,22 @@ const COMPONENTS = {
|
|
|
6411
6465
|
datetime: () => Promise.resolve().then(function () { return datetimePicker_field; }).then((c) => c.DatetimePickerField),
|
|
6412
6466
|
date_range: () => Promise.resolve().then(function () { return dateRangePicker_field; }).then((c) => c.DateRangePickerField),
|
|
6413
6467
|
attachment: () => Promise.resolve().then(function () { return filePicker_field; }).then((c) => c.FilePickerField),
|
|
6414
|
-
userPicker: () => import('./iss-ctrl-user-picker.field-
|
|
6468
|
+
userPicker: () => import('./iss-ctrl-user-picker.field-BH63sZ-X.mjs').then((c) => c.UserPickerField),
|
|
6415
6469
|
vehicle_plate: () => Promise.resolve().then(function () { return plate_field; }).then((c) => c.PlateField),
|
|
6416
|
-
enrichment: () => import('./iss-ctrl-note.field-
|
|
6470
|
+
enrichment: () => import('./iss-ctrl-note.field-B_Lbp28X.mjs').then((c) => c.NoteField),
|
|
6417
6471
|
mobile: () => Promise.resolve().then(function () { return mobile_field; }).then((c) => c.MobileField),
|
|
6418
|
-
table: () => import('./iss-ctrl-table.field-
|
|
6472
|
+
table: () => import('./iss-ctrl-table.field-B5FxF6hn.mjs').then((c) => c.TableField),
|
|
6419
6473
|
chips: () => Promise.resolve().then(function () { return chips_field; }).then((c) => c.ChipsField),
|
|
6420
6474
|
switch: () => Promise.resolve().then(function () { return slideToggle_field; }).then((c) => c.SlideToggleField),
|
|
6421
6475
|
};
|
|
6422
6476
|
|
|
6423
6477
|
const SERVICES = {
|
|
6424
|
-
setValue: () => import('./iss-ctrl-set-value-event-
|
|
6478
|
+
setValue: () => import('./iss-ctrl-set-value-event-CgXhi0Bv.mjs').then((s) => s.SetValueEvent),
|
|
6425
6479
|
show: () => import('./iss-ctrl-show-event-BcRCwAfo.mjs').then((s) => s.ShowEvent),
|
|
6426
|
-
load: () => import('./iss-ctrl-load-value-event-
|
|
6427
|
-
loadOptions: () => import('./iss-ctrl-load-options-event-
|
|
6428
|
-
triggerBasedOnJsonValue: () => import('./iss-ctrl-trigger-based-on-json-value-
|
|
6429
|
-
replaceApiKeyDefaultImpl: () => import('./iss-ctrl-replace-api-keys-
|
|
6480
|
+
load: () => import('./iss-ctrl-load-value-event-DJKJ5S3h.mjs').then((s) => s.LoadValueEvent),
|
|
6481
|
+
loadOptions: () => import('./iss-ctrl-load-options-event-CxyAyNMe.mjs').then((s) => s.LoadOptionsEvent),
|
|
6482
|
+
triggerBasedOnJsonValue: () => import('./iss-ctrl-trigger-based-on-json-value-2v1kLVHZ.mjs').then((s) => s.TriggerBasedOnJsonValue),
|
|
6483
|
+
replaceApiKeyDefaultImpl: () => import('./iss-ctrl-replace-api-keys-C0XYQW4i.mjs').then((s) => s.ReplaceApiKeys),
|
|
6430
6484
|
};
|
|
6431
6485
|
|
|
6432
6486
|
// Read-only counterpart of COMPONENTS: the component used to render a field's value
|
|
@@ -6809,7 +6863,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
6809
6863
|
args: [{ name: "translate" }]
|
|
6810
6864
|
}] });
|
|
6811
6865
|
|
|
6812
|
-
class
|
|
6866
|
+
class ValidationMessage {
|
|
6813
6867
|
errors = input.required(...(ngDevMode ? [{ debugName: "errors" }] : /* istanbul ignore next */ []));
|
|
6814
6868
|
showMessage = input.required(...(ngDevMode ? [{ debugName: "showMessage" }] : /* istanbul ignore next */ []));
|
|
6815
6869
|
getValidationMessage(error) {
|
|
@@ -6820,8 +6874,8 @@ class ValidationMessageComponent {
|
|
|
6820
6874
|
}
|
|
6821
6875
|
return errorMessageGenerator(error.value);
|
|
6822
6876
|
}
|
|
6823
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
6824
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type:
|
|
6877
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ValidationMessage, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
6878
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ValidationMessage, isStandalone: true, selector: "iss-validation-message-viewer", inputs: { errors: { classPropertyName: "errors", publicName: "errors", isSignal: true, isRequired: true, transformFunction: null }, showMessage: { classPropertyName: "showMessage", publicName: "showMessage", isSignal: true, isRequired: true, transformFunction: null } }, ngImport: i0, template: `
|
|
6825
6879
|
@if (errors() !== null && showMessage()) {
|
|
6826
6880
|
<div class="messages">
|
|
6827
6881
|
@for (error of errors() ?? {} | keyvalue; track error) {
|
|
@@ -6833,7 +6887,7 @@ class ValidationMessageComponent {
|
|
|
6833
6887
|
}
|
|
6834
6888
|
`, isInline: true, styles: [":host{display:block;position:relative}.messages{position:absolute;inset-inline:0;top:0;z-index:1}p{margin:0}\n"], dependencies: [{ kind: "directive", type: MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "pipe", type: KeyValuePipe, name: "keyvalue" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] });
|
|
6835
6889
|
}
|
|
6836
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type:
|
|
6890
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ValidationMessage, decorators: [{
|
|
6837
6891
|
type: Component,
|
|
6838
6892
|
args: [{ selector: "iss-validation-message-viewer", imports: [
|
|
6839
6893
|
KeyValuePipe,
|
|
@@ -7115,6 +7169,44 @@ var input_viewer = /*#__PURE__*/Object.freeze({
|
|
|
7115
7169
|
InputViewer: InputViewer
|
|
7116
7170
|
});
|
|
7117
7171
|
|
|
7172
|
+
/**
|
|
7173
|
+
* `<iss-field-viewer>` — read-only presentation of a single field as a
|
|
7174
|
+
* label / value row.
|
|
7175
|
+
*
|
|
7176
|
+
* Project the caption into the `label` slot and the rendered value into any
|
|
7177
|
+
* element carrying a `value` attribute:
|
|
7178
|
+
*
|
|
7179
|
+
* ```html
|
|
7180
|
+
* <iss-field-viewer>
|
|
7181
|
+
* <label>Request Type</label>
|
|
7182
|
+
* <span>value</span>
|
|
7183
|
+
* </iss-field-viewer>
|
|
7184
|
+
* ```
|
|
7185
|
+
*
|
|
7186
|
+
* The label sits in a fixed-width column, so every value in a stack of viewers
|
|
7187
|
+
* starts on the same vertical line. Override that column with the
|
|
7188
|
+
* `--field-viewer-label-width` custom property on any ancestor.
|
|
7189
|
+
* When no label is projected, the value spans the full width of the row.
|
|
7190
|
+
*/
|
|
7191
|
+
class FieldViewer {
|
|
7192
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FieldViewer, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
7193
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.9", type: FieldViewer, isStandalone: true, selector: "iss-field-viewer", ngImport: i0, template: `
|
|
7194
|
+
<div class="field-viewer w-100">
|
|
7195
|
+
<span class="field-viewer__label"><ng-content select="label"></ng-content></span>
|
|
7196
|
+
<span class="field-viewer__value"><ng-content></ng-content></span>
|
|
7197
|
+
</div>
|
|
7198
|
+
`, isInline: true, styles: [":host{--field-viewer-label-width: 14rem;--field-viewer-gap: 1.5rem;--field-viewer-padding: .75rem 1rem;--field-viewer-label-fc: var(--dark-gray);--field-viewer-value-fc: var(--black);display:block;width:100%}.field-viewer{display:grid;grid-template-columns:var(--field-viewer-label-width) minmax(0,1fr);align-items:baseline;column-gap:var(--field-viewer-gap);padding:var(--field-viewer-padding);border-radius:var(--box-radius);font-size:.875rem;line-height:var(--default-line-height)}.field-viewer__label{color:var(--field-viewer-label-fc);font-weight:var(--font-regular);overflow-wrap:anywhere}.field-viewer__value{min-width:0;color:var(--field-viewer-value-fc);font-weight:var(--font-bold);overflow-wrap:anywhere}.field-viewer__label ::ng-deep label{display:block;margin:0;color:inherit;font:inherit}.field-viewer:not(:has(.field-viewer__label>*)){grid-template-columns:minmax(0,1fr)}.field-viewer:not(:has(.field-viewer__label>*)) .field-viewer__label{display:none}@media(max-width:575.98px){.field-viewer{grid-template-columns:minmax(0,1fr);row-gap:.25rem}}\n"] });
|
|
7199
|
+
}
|
|
7200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FieldViewer, decorators: [{
|
|
7201
|
+
type: Component,
|
|
7202
|
+
args: [{ selector: "iss-field-viewer", imports: [], template: `
|
|
7203
|
+
<div class="field-viewer w-100">
|
|
7204
|
+
<span class="field-viewer__label"><ng-content select="label"></ng-content></span>
|
|
7205
|
+
<span class="field-viewer__value"><ng-content></ng-content></span>
|
|
7206
|
+
</div>
|
|
7207
|
+
`, styles: [":host{--field-viewer-label-width: 14rem;--field-viewer-gap: 1.5rem;--field-viewer-padding: .75rem 1rem;--field-viewer-label-fc: var(--dark-gray);--field-viewer-value-fc: var(--black);display:block;width:100%}.field-viewer{display:grid;grid-template-columns:var(--field-viewer-label-width) minmax(0,1fr);align-items:baseline;column-gap:var(--field-viewer-gap);padding:var(--field-viewer-padding);border-radius:var(--box-radius);font-size:.875rem;line-height:var(--default-line-height)}.field-viewer__label{color:var(--field-viewer-label-fc);font-weight:var(--font-regular);overflow-wrap:anywhere}.field-viewer__value{min-width:0;color:var(--field-viewer-value-fc);font-weight:var(--font-bold);overflow-wrap:anywhere}.field-viewer__label ::ng-deep label{display:block;margin:0;color:inherit;font:inherit}.field-viewer:not(:has(.field-viewer__label>*)){grid-template-columns:minmax(0,1fr)}.field-viewer:not(:has(.field-viewer__label>*)) .field-viewer__label{display:none}@media(max-width:575.98px){.field-viewer{grid-template-columns:minmax(0,1fr);row-gap:.25rem}}\n"] }]
|
|
7208
|
+
}] });
|
|
7209
|
+
|
|
7118
7210
|
/**
|
|
7119
7211
|
* `<iss-field-input>` — single line text, number, email or password entry.
|
|
7120
7212
|
*
|
|
@@ -7162,10 +7254,13 @@ class InputField extends FieldBase {
|
|
|
7162
7254
|
</iss-ctrl-input>
|
|
7163
7255
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7164
7256
|
} @else {
|
|
7165
|
-
<iss-viewer
|
|
7257
|
+
<iss-field-viewer>
|
|
7258
|
+
<label>{{ field.label() }}</label>
|
|
7259
|
+
<iss-viewer-input [field]="field"/>
|
|
7260
|
+
</iss-field-viewer>
|
|
7166
7261
|
}
|
|
7167
7262
|
}
|
|
7168
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: InputControl, selector: "iss-ctrl-input", inputs: ["type", "prefixIcon", "prefixText", "suffixIcon", "suffixText"], outputs: ["onPrefixClick", "onSuffixClick"] }, { kind: "component", type:
|
|
7263
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: InputControl, selector: "iss-ctrl-input", inputs: ["type", "prefixIcon", "prefixText", "suffixIcon", "suffixText"], outputs: ["onPrefixClick", "onSuffixClick"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: InputViewer, selector: "iss-viewer-input" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7169
7264
|
}
|
|
7170
7265
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: InputField, decorators: [{
|
|
7171
7266
|
type: Component,
|
|
@@ -7175,8 +7270,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7175
7270
|
imports: [
|
|
7176
7271
|
ReactiveFormsModule,
|
|
7177
7272
|
InputControl,
|
|
7178
|
-
|
|
7179
|
-
InputViewer
|
|
7273
|
+
ValidationMessage,
|
|
7274
|
+
InputViewer,
|
|
7275
|
+
FieldViewer
|
|
7180
7276
|
],
|
|
7181
7277
|
template: `
|
|
7182
7278
|
@if (field.visible()) {
|
|
@@ -7195,7 +7291,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7195
7291
|
</iss-ctrl-input>
|
|
7196
7292
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7197
7293
|
} @else {
|
|
7198
|
-
<iss-viewer
|
|
7294
|
+
<iss-field-viewer>
|
|
7295
|
+
<label>{{ field.label() }}</label>
|
|
7296
|
+
<iss-viewer-input [field]="field"/>
|
|
7297
|
+
</iss-field-viewer>
|
|
7199
7298
|
}
|
|
7200
7299
|
}
|
|
7201
7300
|
`
|
|
@@ -7262,10 +7361,13 @@ class TextareaField extends FieldBase {
|
|
|
7262
7361
|
</iss-ctrl-textarea>
|
|
7263
7362
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7264
7363
|
} @else {
|
|
7265
|
-
<iss-viewer
|
|
7364
|
+
<iss-field-viewer>
|
|
7365
|
+
<label>{{ field.label() }}</label>
|
|
7366
|
+
<iss-viewer-textarea [field]="field"/>
|
|
7367
|
+
</iss-field-viewer>
|
|
7266
7368
|
}
|
|
7267
7369
|
}
|
|
7268
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TextareaControl, selector: "iss-ctrl-textarea" }, { kind: "component", type:
|
|
7370
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TextareaControl, selector: "iss-ctrl-textarea" }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: TextareaViewer, selector: "iss-viewer-textarea" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7269
7371
|
}
|
|
7270
7372
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TextareaField, decorators: [{
|
|
7271
7373
|
type: Component,
|
|
@@ -7275,8 +7377,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7275
7377
|
imports: [
|
|
7276
7378
|
ReactiveFormsModule,
|
|
7277
7379
|
TextareaControl,
|
|
7278
|
-
|
|
7279
|
-
TextareaViewer
|
|
7380
|
+
ValidationMessage,
|
|
7381
|
+
TextareaViewer,
|
|
7382
|
+
FieldViewer
|
|
7280
7383
|
],
|
|
7281
7384
|
template: `
|
|
7282
7385
|
@if (field.visible()) {
|
|
@@ -7286,7 +7389,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7286
7389
|
</iss-ctrl-textarea>
|
|
7287
7390
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7288
7391
|
} @else {
|
|
7289
|
-
<iss-viewer
|
|
7392
|
+
<iss-field-viewer>
|
|
7393
|
+
<label>{{ field.label() }}</label>
|
|
7394
|
+
<iss-viewer-textarea [field]="field"/>
|
|
7395
|
+
</iss-field-viewer>
|
|
7290
7396
|
}
|
|
7291
7397
|
}
|
|
7292
7398
|
`
|
|
@@ -7364,10 +7470,13 @@ class ChipsField extends FieldBase {
|
|
|
7364
7470
|
<iss-ctrl-chips [formControlName]="field.name" [readonly]="field.config.readonly() ?? false"><label>{{ field.label() }}</label></iss-ctrl-chips>
|
|
7365
7471
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7366
7472
|
} @else {
|
|
7367
|
-
<iss-viewer
|
|
7473
|
+
<iss-field-viewer>
|
|
7474
|
+
<label>{{ field.label() }}</label>
|
|
7475
|
+
<iss-viewer-chips [field]="field"/>
|
|
7476
|
+
</iss-field-viewer>
|
|
7368
7477
|
}
|
|
7369
7478
|
}
|
|
7370
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ChipsControl, selector: "iss-ctrl-chips" }, { kind: "component", type:
|
|
7479
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: ChipsControl, selector: "iss-ctrl-chips" }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: ChipsViewer, selector: "iss-viewer-chips" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7371
7480
|
}
|
|
7372
7481
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ChipsField, decorators: [{
|
|
7373
7482
|
type: Component,
|
|
@@ -7377,8 +7486,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7377
7486
|
imports: [
|
|
7378
7487
|
ReactiveFormsModule,
|
|
7379
7488
|
ChipsControl,
|
|
7380
|
-
|
|
7381
|
-
ChipsViewer
|
|
7489
|
+
ValidationMessage,
|
|
7490
|
+
ChipsViewer,
|
|
7491
|
+
FieldViewer
|
|
7382
7492
|
],
|
|
7383
7493
|
template: `
|
|
7384
7494
|
@if (field.visible()) {
|
|
@@ -7386,7 +7496,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7386
7496
|
<iss-ctrl-chips [formControlName]="field.name" [readonly]="field.config.readonly() ?? false"><label>{{ field.label() }}</label></iss-ctrl-chips>
|
|
7387
7497
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7388
7498
|
} @else {
|
|
7389
|
-
<iss-viewer
|
|
7499
|
+
<iss-field-viewer>
|
|
7500
|
+
<label>{{ field.label() }}</label>
|
|
7501
|
+
<iss-viewer-chips [field]="field"/>
|
|
7502
|
+
</iss-field-viewer>
|
|
7390
7503
|
}
|
|
7391
7504
|
}
|
|
7392
7505
|
`
|
|
@@ -7458,19 +7571,23 @@ class RadioField extends FieldBase {
|
|
|
7458
7571
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: RadioField, isStandalone: true, selector: "iss-field-radio", usesInheritance: true, ngImport: i0, template: `
|
|
7459
7572
|
@if (field.visible()) {
|
|
7460
7573
|
<div style="display: flex; flex-direction: column">
|
|
7461
|
-
@if (!field.config.hideLabel()) {
|
|
7462
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
7463
|
-
}
|
|
7464
|
-
|
|
7465
7574
|
@if (field.mode() === "edit") {
|
|
7575
|
+
@if (!field.config.hideLabel()) {
|
|
7576
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
7577
|
+
}
|
|
7466
7578
|
<iss-ctrl-radio [formControlName]="field.name" [options]="field.options()" [readonly]="field.config.readonly() ?? false" (onChange)="onChange($event)"/>
|
|
7467
7579
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7468
7580
|
} @else {
|
|
7469
|
-
<iss-viewer
|
|
7581
|
+
<iss-field-viewer>
|
|
7582
|
+
@if (!field.config.hideLabel()) {
|
|
7583
|
+
<label>{{ field.label() }}</label>
|
|
7584
|
+
}
|
|
7585
|
+
<iss-viewer-radio [field]="field"/>
|
|
7586
|
+
</iss-field-viewer>
|
|
7470
7587
|
}
|
|
7471
7588
|
</div>
|
|
7472
7589
|
}
|
|
7473
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: RadioControl, selector: "iss-ctrl-radio", inputs: ["options"] }, { kind: "component", type:
|
|
7590
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: RadioControl, selector: "iss-ctrl-radio", inputs: ["options"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: RadioViewer, selector: "iss-viewer-radio" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7474
7591
|
}
|
|
7475
7592
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: RadioField, decorators: [{
|
|
7476
7593
|
type: Component,
|
|
@@ -7481,21 +7598,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7481
7598
|
ReactiveFormsModule,
|
|
7482
7599
|
MatLabel,
|
|
7483
7600
|
RadioControl,
|
|
7484
|
-
|
|
7485
|
-
RadioViewer
|
|
7601
|
+
ValidationMessage,
|
|
7602
|
+
RadioViewer,
|
|
7603
|
+
FieldViewer
|
|
7486
7604
|
],
|
|
7487
7605
|
template: `
|
|
7488
7606
|
@if (field.visible()) {
|
|
7489
7607
|
<div style="display: flex; flex-direction: column">
|
|
7490
|
-
@if (!field.config.hideLabel()) {
|
|
7491
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
7492
|
-
}
|
|
7493
|
-
|
|
7494
7608
|
@if (field.mode() === "edit") {
|
|
7609
|
+
@if (!field.config.hideLabel()) {
|
|
7610
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
7611
|
+
}
|
|
7495
7612
|
<iss-ctrl-radio [formControlName]="field.name" [options]="field.options()" [readonly]="field.config.readonly() ?? false" (onChange)="onChange($event)"/>
|
|
7496
7613
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7497
7614
|
} @else {
|
|
7498
|
-
<iss-viewer
|
|
7615
|
+
<iss-field-viewer>
|
|
7616
|
+
@if (!field.config.hideLabel()) {
|
|
7617
|
+
<label>{{ field.label() }}</label>
|
|
7618
|
+
}
|
|
7619
|
+
<iss-viewer-radio [field]="field"/>
|
|
7620
|
+
</iss-field-viewer>
|
|
7499
7621
|
}
|
|
7500
7622
|
</div>
|
|
7501
7623
|
}
|
|
@@ -7576,10 +7698,13 @@ class SelectField extends FieldBase {
|
|
|
7576
7698
|
</iss-ctrl-select>
|
|
7577
7699
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7578
7700
|
} @else {
|
|
7579
|
-
<iss-viewer
|
|
7701
|
+
<iss-field-viewer>
|
|
7702
|
+
<label>{{ field.label() }}</label>
|
|
7703
|
+
<iss-viewer-select [field]="field"/>
|
|
7704
|
+
</iss-field-viewer>
|
|
7580
7705
|
}
|
|
7581
7706
|
}
|
|
7582
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SelectControl, selector: "iss-ctrl-select", inputs: ["options", "height", "loading"], outputs: ["onQueryChange"] }, { kind: "component", type:
|
|
7707
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: SelectControl, selector: "iss-ctrl-select", inputs: ["options", "height", "loading"], outputs: ["onQueryChange"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: SelectViewer, selector: "iss-viewer-select" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7583
7708
|
}
|
|
7584
7709
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SelectField, decorators: [{
|
|
7585
7710
|
type: Component,
|
|
@@ -7589,8 +7714,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7589
7714
|
imports: [
|
|
7590
7715
|
ReactiveFormsModule,
|
|
7591
7716
|
SelectControl,
|
|
7592
|
-
|
|
7593
|
-
SelectViewer
|
|
7717
|
+
ValidationMessage,
|
|
7718
|
+
SelectViewer,
|
|
7719
|
+
FieldViewer
|
|
7594
7720
|
],
|
|
7595
7721
|
template: `
|
|
7596
7722
|
@if (field.visible()) {
|
|
@@ -7600,7 +7726,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7600
7726
|
</iss-ctrl-select>
|
|
7601
7727
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7602
7728
|
} @else {
|
|
7603
|
-
<iss-viewer
|
|
7729
|
+
<iss-field-viewer>
|
|
7730
|
+
<label>{{ field.label() }}</label>
|
|
7731
|
+
<iss-viewer-select [field]="field"/>
|
|
7732
|
+
</iss-field-viewer>
|
|
7604
7733
|
}
|
|
7605
7734
|
}
|
|
7606
7735
|
`
|
|
@@ -7664,10 +7793,13 @@ class MobileField extends FieldBase {
|
|
|
7664
7793
|
<label>{{ field.label() }}</label>
|
|
7665
7794
|
</iss-ctrl-mobile>
|
|
7666
7795
|
} @else {
|
|
7667
|
-
<iss-viewer
|
|
7796
|
+
<iss-field-viewer>
|
|
7797
|
+
<label>{{ field.label() }}</label>
|
|
7798
|
+
<iss-viewer-mobile [field]="field"/>
|
|
7799
|
+
</iss-field-viewer>
|
|
7668
7800
|
}
|
|
7669
7801
|
}
|
|
7670
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MobileControl, selector: "iss-ctrl-mobile", inputs: ["preferredCountries"] }, { kind: "component", type: MobileViewer, selector: "iss-viewer-mobile" }], viewProviders: [VIEW_PROVIDER] });
|
|
7802
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: MobileControl, selector: "iss-ctrl-mobile", inputs: ["preferredCountries"] }, { kind: "component", type: MobileViewer, selector: "iss-viewer-mobile" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7671
7803
|
}
|
|
7672
7804
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: MobileField, decorators: [{
|
|
7673
7805
|
type: Component,
|
|
@@ -7677,7 +7809,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7677
7809
|
imports: [
|
|
7678
7810
|
ReactiveFormsModule,
|
|
7679
7811
|
MobileControl,
|
|
7680
|
-
MobileViewer
|
|
7812
|
+
MobileViewer,
|
|
7813
|
+
FieldViewer
|
|
7681
7814
|
],
|
|
7682
7815
|
template: `
|
|
7683
7816
|
@if (field.visible()) {
|
|
@@ -7686,7 +7819,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7686
7819
|
<label>{{ field.label() }}</label>
|
|
7687
7820
|
</iss-ctrl-mobile>
|
|
7688
7821
|
} @else {
|
|
7689
|
-
<iss-viewer
|
|
7822
|
+
<iss-field-viewer>
|
|
7823
|
+
<label>{{ field.label() }}</label>
|
|
7824
|
+
<iss-viewer-mobile [field]="field"/>
|
|
7825
|
+
</iss-field-viewer>
|
|
7690
7826
|
}
|
|
7691
7827
|
}
|
|
7692
7828
|
`
|
|
@@ -7766,10 +7902,15 @@ class CheckboxField extends FieldBase {
|
|
|
7766
7902
|
</iss-ctrl-checkbox>
|
|
7767
7903
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7768
7904
|
} @else {
|
|
7769
|
-
<iss-viewer
|
|
7905
|
+
<iss-field-viewer>
|
|
7906
|
+
@if (!field.config.hideLabel()) {
|
|
7907
|
+
<label>{{ field.label() }}</label>
|
|
7908
|
+
}
|
|
7909
|
+
<iss-viewer-checkbox [field]="field"/>
|
|
7910
|
+
</iss-field-viewer>
|
|
7770
7911
|
}
|
|
7771
7912
|
}
|
|
7772
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CheckboxControl, selector: "iss-ctrl-checkbox", inputs: ["options"] }, { kind: "component", type:
|
|
7913
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CheckboxControl, selector: "iss-ctrl-checkbox", inputs: ["options"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: CheckboxViewer, selector: "iss-viewer-checkbox" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7773
7914
|
}
|
|
7774
7915
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: CheckboxField, decorators: [{
|
|
7775
7916
|
type: Component,
|
|
@@ -7779,8 +7920,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7779
7920
|
imports: [
|
|
7780
7921
|
ReactiveFormsModule,
|
|
7781
7922
|
CheckboxControl,
|
|
7782
|
-
|
|
7783
|
-
CheckboxViewer
|
|
7923
|
+
ValidationMessage,
|
|
7924
|
+
CheckboxViewer,
|
|
7925
|
+
FieldViewer
|
|
7784
7926
|
],
|
|
7785
7927
|
template: `
|
|
7786
7928
|
@if (field.visible()) {
|
|
@@ -7792,7 +7934,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7792
7934
|
</iss-ctrl-checkbox>
|
|
7793
7935
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7794
7936
|
} @else {
|
|
7795
|
-
<iss-viewer
|
|
7937
|
+
<iss-field-viewer>
|
|
7938
|
+
@if (!field.config.hideLabel()) {
|
|
7939
|
+
<label>{{ field.label() }}</label>
|
|
7940
|
+
}
|
|
7941
|
+
<iss-viewer-checkbox [field]="field"/>
|
|
7942
|
+
</iss-field-viewer>
|
|
7796
7943
|
}
|
|
7797
7944
|
}
|
|
7798
7945
|
`
|
|
@@ -7864,10 +8011,10 @@ class ToggleButtonField extends FieldBase {
|
|
|
7864
8011
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ToggleButtonField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7865
8012
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: ToggleButtonField, isStandalone: true, selector: "iss-field-toggle-button", usesInheritance: true, ngImport: i0, template: `
|
|
7866
8013
|
@if (field.visible()) {
|
|
7867
|
-
@if (!field.config.hideLabel()) {
|
|
7868
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
7869
|
-
}
|
|
7870
8014
|
@if (field.mode() === "edit") {
|
|
8015
|
+
@if (!field.config.hideLabel()) {
|
|
8016
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8017
|
+
}
|
|
7871
8018
|
<iss-ctrl-toggle-button
|
|
7872
8019
|
[formControlName]="field.name"
|
|
7873
8020
|
[options]="field.options()"
|
|
@@ -7877,10 +8024,15 @@ class ToggleButtonField extends FieldBase {
|
|
|
7877
8024
|
/>
|
|
7878
8025
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7879
8026
|
} @else {
|
|
7880
|
-
<iss-viewer
|
|
8027
|
+
<iss-field-viewer>
|
|
8028
|
+
@if (!field.config.hideLabel()) {
|
|
8029
|
+
<label>{{ field.label() }}</label>
|
|
8030
|
+
}
|
|
8031
|
+
<iss-viewer-toggle-button [field]="field"/>
|
|
8032
|
+
</iss-field-viewer>
|
|
7881
8033
|
}
|
|
7882
8034
|
}
|
|
7883
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ToggleButtonControl, selector: "iss-ctrl-toggle-button", inputs: ["options"] }, { kind: "component", type:
|
|
8035
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: ToggleButtonControl, selector: "iss-ctrl-toggle-button", inputs: ["options"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: ToggleButtonViewer, selector: "iss-viewer-toggle-button" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7884
8036
|
}
|
|
7885
8037
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: ToggleButtonField, decorators: [{
|
|
7886
8038
|
type: Component,
|
|
@@ -7891,15 +8043,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7891
8043
|
ReactiveFormsModule,
|
|
7892
8044
|
MatLabel,
|
|
7893
8045
|
ToggleButtonControl,
|
|
7894
|
-
|
|
7895
|
-
ToggleButtonViewer
|
|
8046
|
+
ValidationMessage,
|
|
8047
|
+
ToggleButtonViewer,
|
|
8048
|
+
FieldViewer
|
|
7896
8049
|
],
|
|
7897
8050
|
template: `
|
|
7898
8051
|
@if (field.visible()) {
|
|
7899
|
-
@if (!field.config.hideLabel()) {
|
|
7900
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
7901
|
-
}
|
|
7902
8052
|
@if (field.mode() === "edit") {
|
|
8053
|
+
@if (!field.config.hideLabel()) {
|
|
8054
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8055
|
+
}
|
|
7903
8056
|
<iss-ctrl-toggle-button
|
|
7904
8057
|
[formControlName]="field.name"
|
|
7905
8058
|
[options]="field.options()"
|
|
@@ -7909,7 +8062,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
7909
8062
|
/>
|
|
7910
8063
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7911
8064
|
} @else {
|
|
7912
|
-
<iss-viewer
|
|
8065
|
+
<iss-field-viewer>
|
|
8066
|
+
@if (!field.config.hideLabel()) {
|
|
8067
|
+
<label>{{ field.label() }}</label>
|
|
8068
|
+
}
|
|
8069
|
+
<iss-viewer-toggle-button [field]="field"/>
|
|
8070
|
+
</iss-field-viewer>
|
|
7913
8071
|
}
|
|
7914
8072
|
}
|
|
7915
8073
|
`
|
|
@@ -7984,36 +8142,44 @@ class SlideToggleField extends FieldBase {
|
|
|
7984
8142
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SlideToggleField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
7985
8143
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: SlideToggleField, isStandalone: true, selector: "iss-field-slide-toggle", usesInheritance: true, ngImport: i0, template: `
|
|
7986
8144
|
@if (field.visible()) {
|
|
7987
|
-
@if (!field.config.hideLabel()) {
|
|
7988
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
7989
|
-
}
|
|
7990
|
-
|
|
7991
8145
|
@if (field.mode() === "edit") {
|
|
8146
|
+
@if (!field.config.hideLabel()) {
|
|
8147
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8148
|
+
}
|
|
7992
8149
|
<iss-ctrl-slide-toggle [formControlName]="field.name" [readonly]="field.config.readonly() ?? false" (onChange)="onChange($event)"/>
|
|
7993
8150
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
7994
8151
|
} @else {
|
|
7995
|
-
<iss-viewer
|
|
8152
|
+
<iss-field-viewer>
|
|
8153
|
+
@if (!field.config.hideLabel()) {
|
|
8154
|
+
<label>{{ field.label() }}</label>
|
|
8155
|
+
}
|
|
8156
|
+
<iss-viewer-slide-toggle [field]="field"/>
|
|
8157
|
+
</iss-field-viewer>
|
|
7996
8158
|
}
|
|
7997
8159
|
}
|
|
7998
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: SlideToggleControl, selector: "iss-ctrl-slide-toggle" }, { kind: "component", type: SlideToggleViewer, selector: "iss-viewer-slide-toggle" }, { kind: "component", type:
|
|
8160
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: SlideToggleControl, selector: "iss-ctrl-slide-toggle" }, { kind: "component", type: SlideToggleViewer, selector: "iss-viewer-slide-toggle" }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
7999
8161
|
}
|
|
8000
8162
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: SlideToggleField, decorators: [{
|
|
8001
8163
|
type: Component,
|
|
8002
8164
|
args: [{
|
|
8003
8165
|
selector: "iss-field-slide-toggle",
|
|
8004
8166
|
viewProviders: [VIEW_PROVIDER],
|
|
8005
|
-
imports: [ReactiveFormsModule, MatLabel, SlideToggleControl, SlideToggleViewer,
|
|
8167
|
+
imports: [ReactiveFormsModule, MatLabel, SlideToggleControl, SlideToggleViewer, ValidationMessage, FieldViewer],
|
|
8006
8168
|
template: `
|
|
8007
8169
|
@if (field.visible()) {
|
|
8008
|
-
@if (!field.config.hideLabel()) {
|
|
8009
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
8010
|
-
}
|
|
8011
|
-
|
|
8012
8170
|
@if (field.mode() === "edit") {
|
|
8171
|
+
@if (!field.config.hideLabel()) {
|
|
8172
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8173
|
+
}
|
|
8013
8174
|
<iss-ctrl-slide-toggle [formControlName]="field.name" [readonly]="field.config.readonly() ?? false" (onChange)="onChange($event)"/>
|
|
8014
8175
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8015
8176
|
} @else {
|
|
8016
|
-
<iss-viewer
|
|
8177
|
+
<iss-field-viewer>
|
|
8178
|
+
@if (!field.config.hideLabel()) {
|
|
8179
|
+
<label>{{ field.label() }}</label>
|
|
8180
|
+
}
|
|
8181
|
+
<iss-viewer-slide-toggle [field]="field"/>
|
|
8182
|
+
</iss-field-viewer>
|
|
8017
8183
|
}
|
|
8018
8184
|
}
|
|
8019
8185
|
`
|
|
@@ -8232,18 +8398,22 @@ class PlateField extends FieldBase {
|
|
|
8232
8398
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PlateField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8233
8399
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: PlateField, isStandalone: true, selector: "iss-field-plate-number", usesInheritance: true, ngImport: i0, template: `
|
|
8234
8400
|
@if (field.visible()) {
|
|
8235
|
-
@if (!field.config.hideLabel()) {
|
|
8236
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
8237
|
-
}
|
|
8238
|
-
|
|
8239
8401
|
@if (field.mode() === "edit") {
|
|
8402
|
+
@if (!field.config.hideLabel()) {
|
|
8403
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8404
|
+
}
|
|
8240
8405
|
<iss-ctrl-plate-number [formControlName]="field.name" [readonly]="field.config.readonly() ?? false" (onChange)="updateField($event)"/>
|
|
8241
8406
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8242
8407
|
} @else {
|
|
8243
|
-
<iss-viewer
|
|
8408
|
+
<iss-field-viewer>
|
|
8409
|
+
@if (!field.config.hideLabel()) {
|
|
8410
|
+
<label>{{ field.label() }}</label>
|
|
8411
|
+
}
|
|
8412
|
+
<iss-viewer-plate [field]="field"/>
|
|
8413
|
+
</iss-field-viewer>
|
|
8244
8414
|
}
|
|
8245
8415
|
}
|
|
8246
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: PlateControl, selector: "iss-ctrl-plate-number" }, { kind: "component", type:
|
|
8416
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: PlateControl, selector: "iss-ctrl-plate-number" }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "directive", type: MatLabel, selector: "mat-label" }, { kind: "component", type: PlateViewer, selector: "iss-viewer-plate" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
8247
8417
|
}
|
|
8248
8418
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: PlateField, decorators: [{
|
|
8249
8419
|
type: Component,
|
|
@@ -8253,21 +8423,26 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8253
8423
|
imports: [
|
|
8254
8424
|
ReactiveFormsModule,
|
|
8255
8425
|
PlateControl,
|
|
8256
|
-
|
|
8426
|
+
ValidationMessage,
|
|
8257
8427
|
MatLabel,
|
|
8258
|
-
PlateViewer
|
|
8428
|
+
PlateViewer,
|
|
8429
|
+
FieldViewer
|
|
8259
8430
|
],
|
|
8260
8431
|
template: `
|
|
8261
8432
|
@if (field.visible()) {
|
|
8262
|
-
@if (!field.config.hideLabel()) {
|
|
8263
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
8264
|
-
}
|
|
8265
|
-
|
|
8266
8433
|
@if (field.mode() === "edit") {
|
|
8434
|
+
@if (!field.config.hideLabel()) {
|
|
8435
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8436
|
+
}
|
|
8267
8437
|
<iss-ctrl-plate-number [formControlName]="field.name" [readonly]="field.config.readonly() ?? false" (onChange)="updateField($event)"/>
|
|
8268
8438
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8269
8439
|
} @else {
|
|
8270
|
-
<iss-viewer
|
|
8440
|
+
<iss-field-viewer>
|
|
8441
|
+
@if (!field.config.hideLabel()) {
|
|
8442
|
+
<label>{{ field.label() }}</label>
|
|
8443
|
+
}
|
|
8444
|
+
<iss-viewer-plate [field]="field"/>
|
|
8445
|
+
</iss-field-viewer>
|
|
8271
8446
|
}
|
|
8272
8447
|
}
|
|
8273
8448
|
`
|
|
@@ -8630,8 +8805,8 @@ class FilePickerField extends FieldBase {
|
|
|
8630
8805
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FilePickerField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8631
8806
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: FilePickerField, isStandalone: true, selector: "iss-field-file-picker", usesInheritance: true, ngImport: i0, template: `
|
|
8632
8807
|
@if (field.visible()) {
|
|
8633
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
8634
8808
|
@if (field.mode() === "edit") {
|
|
8809
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8635
8810
|
<input type="hidden" [formControlName]="field.name">
|
|
8636
8811
|
<!-- [showDeleteButton]="field.config.showDeleteButton" [showDownloadButton]="field.config.showDownloadButton"-->
|
|
8637
8812
|
<iss-ctrl-file-picker
|
|
@@ -8646,10 +8821,13 @@ class FilePickerField extends FieldBase {
|
|
|
8646
8821
|
/>
|
|
8647
8822
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="ctrl.touched"/>
|
|
8648
8823
|
} @else {
|
|
8649
|
-
<iss-viewer
|
|
8824
|
+
<iss-field-viewer>
|
|
8825
|
+
<label>{{ field.label() }}</label>
|
|
8826
|
+
<iss-viewer-attachment [uploading]="uploading()" [field]="viewField()"/>
|
|
8827
|
+
</iss-field-viewer>
|
|
8650
8828
|
}
|
|
8651
8829
|
}
|
|
8652
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FilePickerControl, selector: "iss-ctrl-file-picker", inputs: ["accept", "showDownloadButton", "showDeleteButton", "uploading", "uploadedFiles", "uploadingError"] }, { kind: "component", type:
|
|
8830
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.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$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: FilePickerControl, selector: "iss-ctrl-file-picker", inputs: ["accept", "showDownloadButton", "showDeleteButton", "uploading", "uploadedFiles", "uploadingError"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: AttachmentViewer, selector: "iss-viewer-attachment", inputs: ["uploading", "uploadingError"], outputs: ["deleteOut"] }, { kind: "directive", type: MatLabel$1, selector: "mat-label" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
8653
8831
|
}
|
|
8654
8832
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: FilePickerField, decorators: [{
|
|
8655
8833
|
type: Component,
|
|
@@ -8659,14 +8837,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8659
8837
|
imports: [
|
|
8660
8838
|
ReactiveFormsModule,
|
|
8661
8839
|
FilePickerControl,
|
|
8662
|
-
|
|
8840
|
+
ValidationMessage,
|
|
8663
8841
|
AttachmentViewer,
|
|
8664
|
-
MatLabel$1
|
|
8842
|
+
MatLabel$1,
|
|
8843
|
+
FieldViewer
|
|
8665
8844
|
],
|
|
8666
8845
|
template: `
|
|
8667
8846
|
@if (field.visible()) {
|
|
8668
|
-
<mat-label>{{ field.label() }}</mat-label>
|
|
8669
8847
|
@if (field.mode() === "edit") {
|
|
8848
|
+
<mat-label>{{ field.label() }}</mat-label>
|
|
8670
8849
|
<input type="hidden" [formControlName]="field.name">
|
|
8671
8850
|
<!-- [showDeleteButton]="field.config.showDeleteButton" [showDownloadButton]="field.config.showDownloadButton"-->
|
|
8672
8851
|
<iss-ctrl-file-picker
|
|
@@ -8681,7 +8860,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8681
8860
|
/>
|
|
8682
8861
|
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="ctrl.touched"/>
|
|
8683
8862
|
} @else {
|
|
8684
|
-
<iss-viewer
|
|
8863
|
+
<iss-field-viewer>
|
|
8864
|
+
<label>{{ field.label() }}</label>
|
|
8865
|
+
<iss-viewer-attachment [uploading]="uploading()" [field]="viewField()"/>
|
|
8866
|
+
</iss-field-viewer>
|
|
8685
8867
|
}
|
|
8686
8868
|
}
|
|
8687
8869
|
`
|
|
@@ -8745,10 +8927,13 @@ class TimePickerField extends FieldBase {
|
|
|
8745
8927
|
<label>{{ field.label() }}</label>
|
|
8746
8928
|
</iss-ctrl-time-picker>
|
|
8747
8929
|
} @else {
|
|
8748
|
-
<iss-viewer
|
|
8930
|
+
<iss-field-viewer>
|
|
8931
|
+
<label>{{ field.label() }}</label>
|
|
8932
|
+
<iss-viewer-time-picker [field]="field"/>
|
|
8933
|
+
</iss-field-viewer>
|
|
8749
8934
|
}
|
|
8750
8935
|
}
|
|
8751
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TimePickerControl, selector: "iss-ctrl-time-picker", inputs: ["interval", "minTime", "maxTime"] }, { kind: "component", type: TimePickerViewer, selector: "iss-viewer-time-picker" }], viewProviders: [VIEW_PROVIDER] });
|
|
8936
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: TimePickerControl, selector: "iss-ctrl-time-picker", inputs: ["interval", "minTime", "maxTime"] }, { kind: "component", type: TimePickerViewer, selector: "iss-viewer-time-picker" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
8752
8937
|
}
|
|
8753
8938
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: TimePickerField, decorators: [{
|
|
8754
8939
|
type: Component,
|
|
@@ -8758,7 +8943,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8758
8943
|
imports: [
|
|
8759
8944
|
ReactiveFormsModule,
|
|
8760
8945
|
TimePickerControl,
|
|
8761
|
-
TimePickerViewer
|
|
8946
|
+
TimePickerViewer,
|
|
8947
|
+
FieldViewer
|
|
8762
8948
|
],
|
|
8763
8949
|
template: `
|
|
8764
8950
|
@if (field.visible()) {
|
|
@@ -8767,7 +8953,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8767
8953
|
<label>{{ field.label() }}</label>
|
|
8768
8954
|
</iss-ctrl-time-picker>
|
|
8769
8955
|
} @else {
|
|
8770
|
-
<iss-viewer
|
|
8956
|
+
<iss-field-viewer>
|
|
8957
|
+
<label>{{ field.label() }}</label>
|
|
8958
|
+
<iss-viewer-time-picker [field]="field"/>
|
|
8959
|
+
</iss-field-viewer>
|
|
8771
8960
|
}
|
|
8772
8961
|
}
|
|
8773
8962
|
`
|
|
@@ -8845,9 +9034,9 @@ var datePicker_viewer = /*#__PURE__*/Object.freeze({
|
|
|
8845
9034
|
*/
|
|
8846
9035
|
class DatePickerField extends FieldBase {
|
|
8847
9036
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatePickerField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8848
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatePickerField, isStandalone: true, selector: "iss-field-date-picker", usesInheritance: true, ngImport: i0, template: `
|
|
8849
|
-
@if (field.visible()) {
|
|
8850
|
-
@if (field.mode() === "edit") {
|
|
9037
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatePickerField, isStandalone: true, selector: "iss-field-date-picker", usesInheritance: true, ngImport: i0, template: `
|
|
9038
|
+
@if (field.visible()) {
|
|
9039
|
+
@if (field.mode() === "edit") {
|
|
8851
9040
|
<iss-ctrl-date-picker
|
|
8852
9041
|
[formControlName]="field.name"
|
|
8853
9042
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -8855,15 +9044,18 @@ class DatePickerField extends FieldBase {
|
|
|
8855
9044
|
[readonly]="field.config.readonly() ?? false"
|
|
8856
9045
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
8857
9046
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
8858
|
-
>
|
|
8859
|
-
<label>{{ field.label() }}</label>
|
|
8860
|
-
</iss-ctrl-date-picker>
|
|
8861
|
-
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8862
|
-
} @else {
|
|
8863
|
-
<iss-viewer
|
|
8864
|
-
|
|
8865
|
-
|
|
8866
|
-
|
|
9047
|
+
>
|
|
9048
|
+
<label>{{ field.label() }}</label>
|
|
9049
|
+
</iss-ctrl-date-picker>
|
|
9050
|
+
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
9051
|
+
} @else {
|
|
9052
|
+
<iss-field-viewer>
|
|
9053
|
+
<label>{{ field.label() }}</label>
|
|
9054
|
+
<iss-viewer-date-picker [field]="field"/>
|
|
9055
|
+
</iss-field-viewer>
|
|
9056
|
+
}
|
|
9057
|
+
}
|
|
9058
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatePickerControl, selector: "iss-ctrl-date-picker", inputs: ["disabledDays", "minDate", "maxDate", "hijriCalendar", "emitHijri"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: DatePickerViewer, selector: "iss-viewer-date-picker" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
8867
9059
|
}
|
|
8868
9060
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatePickerField, decorators: [{
|
|
8869
9061
|
type: Component,
|
|
@@ -8873,12 +9065,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8873
9065
|
imports: [
|
|
8874
9066
|
ReactiveFormsModule,
|
|
8875
9067
|
DatePickerControl,
|
|
8876
|
-
|
|
8877
|
-
DatePickerViewer
|
|
9068
|
+
ValidationMessage,
|
|
9069
|
+
DatePickerViewer,
|
|
9070
|
+
FieldViewer
|
|
8878
9071
|
],
|
|
8879
|
-
template: `
|
|
8880
|
-
@if (field.visible()) {
|
|
8881
|
-
@if (field.mode() === "edit") {
|
|
9072
|
+
template: `
|
|
9073
|
+
@if (field.visible()) {
|
|
9074
|
+
@if (field.mode() === "edit") {
|
|
8882
9075
|
<iss-ctrl-date-picker
|
|
8883
9076
|
[formControlName]="field.name"
|
|
8884
9077
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -8886,14 +9079,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8886
9079
|
[readonly]="field.config.readonly() ?? false"
|
|
8887
9080
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
8888
9081
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
8889
|
-
>
|
|
8890
|
-
<label>{{ field.label() }}</label>
|
|
8891
|
-
</iss-ctrl-date-picker>
|
|
8892
|
-
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8893
|
-
} @else {
|
|
8894
|
-
<iss-viewer
|
|
8895
|
-
|
|
8896
|
-
|
|
9082
|
+
>
|
|
9083
|
+
<label>{{ field.label() }}</label>
|
|
9084
|
+
</iss-ctrl-date-picker>
|
|
9085
|
+
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
9086
|
+
} @else {
|
|
9087
|
+
<iss-field-viewer>
|
|
9088
|
+
<label>{{ field.label() }}</label>
|
|
9089
|
+
<iss-viewer-date-picker [field]="field"/>
|
|
9090
|
+
</iss-field-viewer>
|
|
9091
|
+
}
|
|
9092
|
+
}
|
|
8897
9093
|
`
|
|
8898
9094
|
}]
|
|
8899
9095
|
}] });
|
|
@@ -8971,9 +9167,9 @@ var datetimePicker_viewer = /*#__PURE__*/Object.freeze({
|
|
|
8971
9167
|
*/
|
|
8972
9168
|
class DatetimePickerField extends FieldBase {
|
|
8973
9169
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatetimePickerField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
8974
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatetimePickerField, isStandalone: true, selector: "iss-field-datetime-picker", usesInheritance: true, ngImport: i0, template: `
|
|
8975
|
-
@if (field.visible()) {
|
|
8976
|
-
@if (field.mode() === "edit") {
|
|
9170
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DatetimePickerField, isStandalone: true, selector: "iss-field-datetime-picker", usesInheritance: true, ngImport: i0, template: `
|
|
9171
|
+
@if (field.visible()) {
|
|
9172
|
+
@if (field.mode() === "edit") {
|
|
8977
9173
|
<iss-ctrl-datetime-picker
|
|
8978
9174
|
[formControlName]="field.name"
|
|
8979
9175
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -8981,15 +9177,18 @@ class DatetimePickerField extends FieldBase {
|
|
|
8981
9177
|
[readonly]="field.config.readonly() ?? false"
|
|
8982
9178
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
8983
9179
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
8984
|
-
>
|
|
8985
|
-
<label>{{ field.label() }}</label>
|
|
8986
|
-
</iss-ctrl-datetime-picker>
|
|
8987
|
-
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
8988
|
-
} @else {
|
|
8989
|
-
<iss-viewer
|
|
8990
|
-
|
|
8991
|
-
|
|
8992
|
-
|
|
9180
|
+
>
|
|
9181
|
+
<label>{{ field.label() }}</label>
|
|
9182
|
+
</iss-ctrl-datetime-picker>
|
|
9183
|
+
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
9184
|
+
} @else {
|
|
9185
|
+
<iss-field-viewer>
|
|
9186
|
+
<label>{{ field.label() }}</label>
|
|
9187
|
+
<iss-viewer-datetime-picker [field]="field"/>
|
|
9188
|
+
</iss-field-viewer>
|
|
9189
|
+
}
|
|
9190
|
+
}
|
|
9191
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DatetimePickerControl, selector: "iss-ctrl-datetime-picker", inputs: ["disabledDays", "minDate", "maxDate", "minTime", "maxTime", "hijriCalendar", "emitHijri"] }, { kind: "component", type: ValidationMessage, selector: "iss-validation-message-viewer", inputs: ["errors", "showMessage"] }, { kind: "component", type: DatePickerTimeViewer, selector: "iss-viewer-datetime-picker" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
8993
9192
|
}
|
|
8994
9193
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DatetimePickerField, decorators: [{
|
|
8995
9194
|
type: Component,
|
|
@@ -8999,12 +9198,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
8999
9198
|
imports: [
|
|
9000
9199
|
ReactiveFormsModule,
|
|
9001
9200
|
DatetimePickerControl,
|
|
9002
|
-
|
|
9201
|
+
ValidationMessage,
|
|
9003
9202
|
DatePickerTimeViewer,
|
|
9203
|
+
FieldViewer
|
|
9004
9204
|
],
|
|
9005
|
-
template: `
|
|
9006
|
-
@if (field.visible()) {
|
|
9007
|
-
@if (field.mode() === "edit") {
|
|
9205
|
+
template: `
|
|
9206
|
+
@if (field.visible()) {
|
|
9207
|
+
@if (field.mode() === "edit") {
|
|
9008
9208
|
<iss-ctrl-datetime-picker
|
|
9009
9209
|
[formControlName]="field.name"
|
|
9010
9210
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -9012,14 +9212,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
9012
9212
|
[readonly]="field.config.readonly() ?? false"
|
|
9013
9213
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
9014
9214
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
9015
|
-
>
|
|
9016
|
-
<label>{{ field.label() }}</label>
|
|
9017
|
-
</iss-ctrl-datetime-picker>
|
|
9018
|
-
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
9019
|
-
} @else {
|
|
9020
|
-
<iss-viewer
|
|
9021
|
-
|
|
9022
|
-
|
|
9215
|
+
>
|
|
9216
|
+
<label>{{ field.label() }}</label>
|
|
9217
|
+
</iss-ctrl-datetime-picker>
|
|
9218
|
+
<iss-validation-message-viewer [errors]="ctrl.errors" [showMessage]="!ctrl.untouched"/>
|
|
9219
|
+
} @else {
|
|
9220
|
+
<iss-field-viewer>
|
|
9221
|
+
<label>{{ field.label() }}</label>
|
|
9222
|
+
<iss-viewer-datetime-picker [field]="field"/>
|
|
9223
|
+
</iss-field-viewer>
|
|
9224
|
+
}
|
|
9225
|
+
}
|
|
9023
9226
|
`
|
|
9024
9227
|
}]
|
|
9025
9228
|
}] });
|
|
@@ -9098,9 +9301,9 @@ var dateRangePicker_viewer = /*#__PURE__*/Object.freeze({
|
|
|
9098
9301
|
*/
|
|
9099
9302
|
class DateRangePickerField extends FieldBase {
|
|
9100
9303
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateRangePickerField, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
9101
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateRangePickerField, isStandalone: true, selector: "iss-field-date-range-picker", usesInheritance: true, ngImport: i0, template: `
|
|
9102
|
-
@if (field.visible()) {
|
|
9103
|
-
@if (field.mode() === "edit") {
|
|
9304
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.9", type: DateRangePickerField, isStandalone: true, selector: "iss-field-date-range-picker", usesInheritance: true, ngImport: i0, template: `
|
|
9305
|
+
@if (field.visible()) {
|
|
9306
|
+
@if (field.mode() === "edit") {
|
|
9104
9307
|
<iss-ctrl-date-range-picker
|
|
9105
9308
|
[formControlName]="field.name"
|
|
9106
9309
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -9108,14 +9311,17 @@ class DateRangePickerField extends FieldBase {
|
|
|
9108
9311
|
[readonly]="field.config.readonly() ?? false"
|
|
9109
9312
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
9110
9313
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
9111
|
-
>
|
|
9112
|
-
<label>{{ field.label() }}</label>
|
|
9113
|
-
</iss-ctrl-date-range-picker>
|
|
9114
|
-
} @else {
|
|
9115
|
-
<iss-viewer
|
|
9116
|
-
|
|
9117
|
-
|
|
9118
|
-
|
|
9314
|
+
>
|
|
9315
|
+
<label>{{ field.label() }}</label>
|
|
9316
|
+
</iss-ctrl-date-range-picker>
|
|
9317
|
+
} @else {
|
|
9318
|
+
<iss-field-viewer>
|
|
9319
|
+
<label>{{ field.label() }}</label>
|
|
9320
|
+
<iss-viewer-date-range-picker [field]="field"/>
|
|
9321
|
+
</iss-field-viewer>
|
|
9322
|
+
}
|
|
9323
|
+
}
|
|
9324
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: DateRangePickerControl, selector: "iss-ctrl-date-range-picker", inputs: ["disabledDays", "minDate", "maxDate", "hijriCalendar", "emitHijri"], outputs: ["onDateRangeObjectChange"] }, { kind: "component", type: DateRangePickerViewer, selector: "iss-viewer-date-range-picker" }, { kind: "component", type: FieldViewer, selector: "iss-field-viewer" }], viewProviders: [VIEW_PROVIDER] });
|
|
9119
9325
|
}
|
|
9120
9326
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImport: i0, type: DateRangePickerField, decorators: [{
|
|
9121
9327
|
type: Component,
|
|
@@ -9125,11 +9331,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
9125
9331
|
imports: [
|
|
9126
9332
|
ReactiveFormsModule,
|
|
9127
9333
|
DateRangePickerControl,
|
|
9128
|
-
DateRangePickerViewer
|
|
9334
|
+
DateRangePickerViewer,
|
|
9335
|
+
FieldViewer
|
|
9129
9336
|
],
|
|
9130
|
-
template: `
|
|
9131
|
-
@if (field.visible()) {
|
|
9132
|
-
@if (field.mode() === "edit") {
|
|
9337
|
+
template: `
|
|
9338
|
+
@if (field.visible()) {
|
|
9339
|
+
@if (field.mode() === "edit") {
|
|
9133
9340
|
<iss-ctrl-date-range-picker
|
|
9134
9341
|
[formControlName]="field.name"
|
|
9135
9342
|
[minDate]="field.config.minDate() ?? null"
|
|
@@ -9137,13 +9344,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.9", ngImpor
|
|
|
9137
9344
|
[readonly]="field.config.readonly() ?? false"
|
|
9138
9345
|
[hijriCalendar]="field.config.hijriCalendar() ?? false"
|
|
9139
9346
|
[emitHijri]="field.config.emitHijri() ?? false"
|
|
9140
|
-
>
|
|
9141
|
-
<label>{{ field.label() }}</label>
|
|
9142
|
-
</iss-ctrl-date-range-picker>
|
|
9143
|
-
} @else {
|
|
9144
|
-
<iss-viewer
|
|
9145
|
-
|
|
9146
|
-
|
|
9347
|
+
>
|
|
9348
|
+
<label>{{ field.label() }}</label>
|
|
9349
|
+
</iss-ctrl-date-range-picker>
|
|
9350
|
+
} @else {
|
|
9351
|
+
<iss-field-viewer>
|
|
9352
|
+
<label>{{ field.label() }}</label>
|
|
9353
|
+
<iss-viewer-date-range-picker [field]="field"/>
|
|
9354
|
+
</iss-field-viewer>
|
|
9355
|
+
}
|
|
9356
|
+
}
|
|
9147
9357
|
`
|
|
9148
9358
|
}]
|
|
9149
9359
|
}] });
|
|
@@ -9469,5 +9679,5 @@ var time_validator = /*#__PURE__*/Object.freeze({
|
|
|
9469
9679
|
* Generated bundle index. Do not edit.
|
|
9470
9680
|
*/
|
|
9471
9681
|
|
|
9472
|
-
export {
|
|
9473
|
-
//# sourceMappingURL=iss-ctrl-iss-ctrl-
|
|
9682
|
+
export { SlideToggleViewer as $, FilePickerField as A, TimePickerField as B, ControlBase as C, DatePickerControl as D, Employee as E, FieldBase as F, DatePickerField as G, HOST as H, IssField as I, DatetimePickerField as J, DateRangePickerField as K, Loader as L, MobileControl as M, InputViewer as N, Outlet as O, PLACEHOLDER_REGEX as P, TextareaViewer as Q, RadioControl as R, SelectControl as S, TextareaControl as T, ChipsViewer as U, VIEW_PROVIDER as V, RadioViewer as W, SelectViewer as X, MobileViewer as Y, CheckboxViewer as Z, ToggleButtonViewer as _, ValidationMessage as a, PlateViewer as a0, AttachmentViewer as a1, TimePickerViewer as a2, DatePickerViewer as a3, DatePickerTimeViewer as a4, DateRangePickerViewer as a5, DEFAULT_COUNTRY as a6, COUNTRIES as a7, DATE_FORMAT_ADAPTER as a8, DATETIME_FORMAT as a9, HIJRI_MONTH_NAMES as aA, getHijriParts as aB, startOfHijriMonth as aC, getHijriDaysInMonth as aD, createHijriDate as aE, formatHijriDate as aF, parseHijriDate as aG, toHijriDisplay as aH, IssValidators as aI, FileValidators as aJ, TimeValidator as aK, PLATE_LETTERS as aa, VALIDATION_MESSAGES as ab, COMPONENTS as ac, SERVICES as ad, VALIDATORS as ae, isActiveValidationRule as af, FIELD_DATA as ag, UI_LANGUAGE as ah, ATTACHMENT_UPLOAD_URL as ai, ATTACHMENT_UPLOAD_RESPONSE_MAPPER as aj, ATTACHMENT_DOWNLOAD_URL as ak, USER_SEARCH_API as al, Hints as am, Droppable as an, ArabicNumberPipe as ao, FieldDataInjector as ap, PlateLetterPipe as aq, SelectStatusPipe as ar, TranslatePipe as as, FileHandler as at, IssDateAdapter as au, provideIssDateAdapter as av, Phone as aw, arrayFrom as ax, formatFileSize as ay, HIJRI_LOCALE as az, FieldViewer as b, ViewerBase as c, FormEngine as d, CheckboxControl as e, ChipsControl as f, getPropertyByPath as g, DateRangePickerControl as h, DatetimePickerControl as i, FilePickerControl as j, InputControl as k, PlateControl as l, SlideToggleControl as m, TimePickerControl as n, ToggleButtonControl as o, InputField as p, TextareaField as q, replacePlaceholders as r, ChipsField as s, RadioField as t, SelectField as u, MobileField as v, CheckboxField as w, ToggleButtonField as x, SlideToggleField as y, PlateField as z };
|
|
9683
|
+
//# sourceMappingURL=iss-ctrl-iss-ctrl-BKu6a5HF.mjs.map
|