@ng-modular-forms/core 0.7.6 → 0.7.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/fesm2022/ng-modular-forms-core.mjs +201 -342
- package/fesm2022/ng-modular-forms-core.mjs.map +1 -1
- package/lib/base/form-control-base.d.ts +1 -1
- package/lib/base/form-handler-base.d.ts +1 -0
- package/lib/base/form-mapper-base.d.ts +2 -2
- package/lib/form-orchestrator.d.ts +2 -2
- package/lib/form-serializer.d.ts +1 -1
- package/lib/input/form-field.component.d.ts +9 -0
- package/lib/input/input-currency.component.d.ts +1 -1
- package/lib/input/input-datepicker.component.d.ts +1 -1
- package/lib/input/input-number.component.d.ts +2 -2
- package/lib/input/input-text.component.d.ts +1 -1
- package/lib/input/input-timepicker.component.d.ts +1 -1
- package/package.json +30 -11
|
@@ -18,6 +18,7 @@ class FormControlBase {
|
|
|
18
18
|
placeholder = input('');
|
|
19
19
|
_disabledByInput = input(false, {
|
|
20
20
|
transform: booleanAttribute,
|
|
21
|
+
alias: 'disabledOverride',
|
|
21
22
|
});
|
|
22
23
|
_disabledByCva = signal(false);
|
|
23
24
|
ngControl = inject(NgControl, {
|
|
@@ -105,7 +106,7 @@ class FormControlBase {
|
|
|
105
106
|
}
|
|
106
107
|
}
|
|
107
108
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FormControlBase, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
108
|
-
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: FormControlBase, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, _disabledByInput: { classPropertyName: "_disabledByInput", publicName: "
|
|
109
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.21", type: FormControlBase, isStandalone: true, inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, classList: { classPropertyName: "classList", publicName: "classList", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, name: { classPropertyName: "name", publicName: "name", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, _disabledByInput: { classPropertyName: "_disabledByInput", publicName: "disabledOverride", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0 });
|
|
109
110
|
}
|
|
110
111
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FormControlBase, decorators: [{
|
|
111
112
|
type: Directive
|
|
@@ -186,6 +187,13 @@ class FormHandlerBase {
|
|
|
186
187
|
this.registeredControls[controlName] = control;
|
|
187
188
|
});
|
|
188
189
|
}
|
|
190
|
+
getControl(key) {
|
|
191
|
+
const control = this.registeredControls[key];
|
|
192
|
+
if (!control) {
|
|
193
|
+
throw new Error(`Control with name: "${key}" not found. Ensure it is registered in registerControls(...) before usage.`);
|
|
194
|
+
}
|
|
195
|
+
return control;
|
|
196
|
+
}
|
|
189
197
|
valueChangesOf(key) {
|
|
190
198
|
const control = this.registeredControls[key];
|
|
191
199
|
if (!control) {
|
|
@@ -199,7 +207,7 @@ class FormMapperBase {
|
|
|
199
207
|
fromModel(model) {
|
|
200
208
|
return structuredClone(model);
|
|
201
209
|
}
|
|
202
|
-
toRequest(formValue) {
|
|
210
|
+
toRequest(formValue, _options) {
|
|
203
211
|
return formValue;
|
|
204
212
|
}
|
|
205
213
|
}
|
|
@@ -260,6 +268,71 @@ class TextBehavior {
|
|
|
260
268
|
}
|
|
261
269
|
}
|
|
262
270
|
|
|
271
|
+
class FormFieldComponent {
|
|
272
|
+
label = input();
|
|
273
|
+
isRequired = input();
|
|
274
|
+
loading = input();
|
|
275
|
+
errorMessage = input();
|
|
276
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FormFieldComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
277
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: FormFieldComponent, isStandalone: true, selector: "nmf-form-field", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, isRequired: { classPropertyName: "isRequired", publicName: "isRequired", isSignal: true, isRequired: false, transformFunction: null }, loading: { classPropertyName: "loading", publicName: "loading", isSignal: true, isRequired: false, transformFunction: null }, errorMessage: { classPropertyName: "errorMessage", publicName: "errorMessage", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: `
|
|
278
|
+
<div class="nmf-field" [class.loading]="loading()">
|
|
279
|
+
@if (label()) {
|
|
280
|
+
<label class="nmf-label">
|
|
281
|
+
{{ label() }}
|
|
282
|
+
@if (isRequired()) {
|
|
283
|
+
<span class="nmf-required">*</span>
|
|
284
|
+
}
|
|
285
|
+
</label>
|
|
286
|
+
}
|
|
287
|
+
|
|
288
|
+
<ng-content></ng-content>
|
|
289
|
+
|
|
290
|
+
@if (loading()) {
|
|
291
|
+
<div class="nmf-loading">
|
|
292
|
+
<span class="nmf-spinner"></span>
|
|
293
|
+
</div>
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
<p class="nmf-error">
|
|
297
|
+
{{ errorMessage() }}
|
|
298
|
+
</p>
|
|
299
|
+
</div>
|
|
300
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
301
|
+
}
|
|
302
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: FormFieldComponent, decorators: [{
|
|
303
|
+
type: Component,
|
|
304
|
+
args: [{
|
|
305
|
+
selector: 'nmf-form-field',
|
|
306
|
+
standalone: true,
|
|
307
|
+
imports: [CommonModule, ReactiveFormsModule],
|
|
308
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
309
|
+
template: `
|
|
310
|
+
<div class="nmf-field" [class.loading]="loading()">
|
|
311
|
+
@if (label()) {
|
|
312
|
+
<label class="nmf-label">
|
|
313
|
+
{{ label() }}
|
|
314
|
+
@if (isRequired()) {
|
|
315
|
+
<span class="nmf-required">*</span>
|
|
316
|
+
}
|
|
317
|
+
</label>
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
<ng-content></ng-content>
|
|
321
|
+
|
|
322
|
+
@if (loading()) {
|
|
323
|
+
<div class="nmf-loading">
|
|
324
|
+
<span class="nmf-spinner"></span>
|
|
325
|
+
</div>
|
|
326
|
+
}
|
|
327
|
+
|
|
328
|
+
<p class="nmf-error">
|
|
329
|
+
{{ errorMessage() }}
|
|
330
|
+
</p>
|
|
331
|
+
</div>
|
|
332
|
+
`,
|
|
333
|
+
}]
|
|
334
|
+
}] });
|
|
335
|
+
|
|
263
336
|
class InputCurrencyComponent extends FormControlBase {
|
|
264
337
|
displayValue = signal(null);
|
|
265
338
|
behavior = new CurrencyBehavior();
|
|
@@ -289,16 +362,12 @@ class InputCurrencyComponent extends FormControlBase {
|
|
|
289
362
|
});
|
|
290
363
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputCurrencyComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
291
364
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: InputCurrencyComponent, isStandalone: true, selector: "nmf-currency", usesInheritance: true, ngImport: i0, template: `
|
|
292
|
-
<
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
}
|
|
299
|
-
</label>
|
|
300
|
-
}
|
|
301
|
-
|
|
365
|
+
<nmf-form-field
|
|
366
|
+
[label]="label()"
|
|
367
|
+
[isRequired]="isRequired()"
|
|
368
|
+
[loading]="loading()"
|
|
369
|
+
[errorMessage]="errorMessage()"
|
|
370
|
+
>
|
|
302
371
|
<div class="nmf-input-wrapper nmf-input-prefix">
|
|
303
372
|
@if (displayValue() != null) {
|
|
304
373
|
<span
|
|
@@ -331,39 +400,23 @@ class InputCurrencyComponent extends FormControlBase {
|
|
|
331
400
|
(keydown)="handleKeyDown($event)"
|
|
332
401
|
/>
|
|
333
402
|
</div>
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
@if (loading()) {
|
|
338
|
-
<div class="nmf-loading">
|
|
339
|
-
<span class="nmf-spinner"></span>
|
|
340
|
-
</div>
|
|
341
|
-
}
|
|
342
|
-
|
|
343
|
-
<p class="nmf-error">
|
|
344
|
-
{{ errorMessage() }}
|
|
345
|
-
</p>
|
|
346
|
-
</div>
|
|
347
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
403
|
+
</nmf-form-field>
|
|
404
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
348
405
|
}
|
|
349
406
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputCurrencyComponent, decorators: [{
|
|
350
407
|
type: Component,
|
|
351
408
|
args: [{
|
|
352
409
|
selector: 'nmf-currency',
|
|
353
410
|
standalone: true,
|
|
354
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
411
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
355
412
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
356
413
|
template: `
|
|
357
|
-
<
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
}
|
|
364
|
-
</label>
|
|
365
|
-
}
|
|
366
|
-
|
|
414
|
+
<nmf-form-field
|
|
415
|
+
[label]="label()"
|
|
416
|
+
[isRequired]="isRequired()"
|
|
417
|
+
[loading]="loading()"
|
|
418
|
+
[errorMessage]="errorMessage()"
|
|
419
|
+
>
|
|
367
420
|
<div class="nmf-input-wrapper nmf-input-prefix">
|
|
368
421
|
@if (displayValue() != null) {
|
|
369
422
|
<span
|
|
@@ -396,19 +449,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
396
449
|
(keydown)="handleKeyDown($event)"
|
|
397
450
|
/>
|
|
398
451
|
</div>
|
|
399
|
-
|
|
400
|
-
<ng-content></ng-content>
|
|
401
|
-
|
|
402
|
-
@if (loading()) {
|
|
403
|
-
<div class="nmf-loading">
|
|
404
|
-
<span class="nmf-spinner"></span>
|
|
405
|
-
</div>
|
|
406
|
-
}
|
|
407
|
-
|
|
408
|
-
<p class="nmf-error">
|
|
409
|
-
{{ errorMessage() }}
|
|
410
|
-
</p>
|
|
411
|
-
</div>
|
|
452
|
+
</nmf-form-field>
|
|
412
453
|
`,
|
|
413
454
|
}]
|
|
414
455
|
}] });
|
|
@@ -445,17 +486,13 @@ class InputDatepickerComponent extends FormControlBase {
|
|
|
445
486
|
this.onChange(parsed);
|
|
446
487
|
}
|
|
447
488
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputDatepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
448
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
449
|
-
<
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
}
|
|
456
|
-
</label>
|
|
457
|
-
}
|
|
458
|
-
|
|
489
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: InputDatepickerComponent, isStandalone: true, selector: "nmf-datepicker", inputs: { minDate: { classPropertyName: "minDate", publicName: "minDate", isSignal: true, isRequired: false, transformFunction: null }, maxDate: { classPropertyName: "maxDate", publicName: "maxDate", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
490
|
+
<nmf-form-field
|
|
491
|
+
[label]="label()"
|
|
492
|
+
[isRequired]="isRequired()"
|
|
493
|
+
[loading]="loading()"
|
|
494
|
+
[errorMessage]="errorMessage()"
|
|
495
|
+
>
|
|
459
496
|
<input
|
|
460
497
|
type="date"
|
|
461
498
|
class="nmf-input"
|
|
@@ -473,39 +510,23 @@ class InputDatepickerComponent extends FormControlBase {
|
|
|
473
510
|
(blur)="onTouched()"
|
|
474
511
|
(input)="onInput($event)"
|
|
475
512
|
/>
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
@if (loading()) {
|
|
480
|
-
<div class="nmf-loading">
|
|
481
|
-
<span class="nmf-spinner"></span>
|
|
482
|
-
</div>
|
|
483
|
-
}
|
|
484
|
-
|
|
485
|
-
<p class="nmf-error">
|
|
486
|
-
{{ errorMessage() }}
|
|
487
|
-
</p>
|
|
488
|
-
</div>
|
|
489
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
513
|
+
</nmf-form-field>
|
|
514
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
490
515
|
}
|
|
491
516
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputDatepickerComponent, decorators: [{
|
|
492
517
|
type: Component,
|
|
493
518
|
args: [{
|
|
494
519
|
selector: 'nmf-datepicker',
|
|
495
520
|
standalone: true,
|
|
496
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
521
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
497
522
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
498
523
|
template: `
|
|
499
|
-
<
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
}
|
|
506
|
-
</label>
|
|
507
|
-
}
|
|
508
|
-
|
|
524
|
+
<nmf-form-field
|
|
525
|
+
[label]="label()"
|
|
526
|
+
[isRequired]="isRequired()"
|
|
527
|
+
[loading]="loading()"
|
|
528
|
+
[errorMessage]="errorMessage()"
|
|
529
|
+
>
|
|
509
530
|
<input
|
|
510
531
|
type="date"
|
|
511
532
|
class="nmf-input"
|
|
@@ -523,25 +544,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
523
544
|
(blur)="onTouched()"
|
|
524
545
|
(input)="onInput($event)"
|
|
525
546
|
/>
|
|
526
|
-
|
|
527
|
-
<ng-content></ng-content>
|
|
528
|
-
|
|
529
|
-
@if (loading()) {
|
|
530
|
-
<div class="nmf-loading">
|
|
531
|
-
<span class="nmf-spinner"></span>
|
|
532
|
-
</div>
|
|
533
|
-
}
|
|
534
|
-
|
|
535
|
-
<p class="nmf-error">
|
|
536
|
-
{{ errorMessage() }}
|
|
537
|
-
</p>
|
|
538
|
-
</div>
|
|
547
|
+
</nmf-form-field>
|
|
539
548
|
`,
|
|
540
549
|
}]
|
|
541
550
|
}] });
|
|
542
551
|
|
|
543
552
|
class InputNumberComponent extends FormControlBase {
|
|
544
|
-
|
|
553
|
+
formatValue = input(false);
|
|
545
554
|
displayValue = signal('');
|
|
546
555
|
behavior = new TextBehavior();
|
|
547
556
|
currencyBehavior = new CurrencyBehavior();
|
|
@@ -561,7 +570,7 @@ class InputNumberComponent extends FormControlBase {
|
|
|
561
570
|
this.onChange(parsed);
|
|
562
571
|
}
|
|
563
572
|
updateDisplayValue(value) {
|
|
564
|
-
if (this.
|
|
573
|
+
if (this.formatValue() && value != null) {
|
|
565
574
|
this.displayValue.set(formatNumber(value) ?? '');
|
|
566
575
|
}
|
|
567
576
|
else {
|
|
@@ -569,17 +578,13 @@ class InputNumberComponent extends FormControlBase {
|
|
|
569
578
|
}
|
|
570
579
|
}
|
|
571
580
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputNumberComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
572
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
573
|
-
<
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
|
|
578
|
-
|
|
579
|
-
}
|
|
580
|
-
</label>
|
|
581
|
-
}
|
|
582
|
-
|
|
581
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: InputNumberComponent, isStandalone: true, selector: "nmf-number", inputs: { formatValue: { classPropertyName: "formatValue", publicName: "formatValue", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
582
|
+
<nmf-form-field
|
|
583
|
+
[label]="label()"
|
|
584
|
+
[isRequired]="isRequired()"
|
|
585
|
+
[loading]="loading()"
|
|
586
|
+
[errorMessage]="errorMessage()"
|
|
587
|
+
>
|
|
583
588
|
<input
|
|
584
589
|
autocomplete="off"
|
|
585
590
|
class="nmf-input"
|
|
@@ -588,7 +593,7 @@ class InputNumberComponent extends FormControlBase {
|
|
|
588
593
|
[class.disabled]="disabled()"
|
|
589
594
|
[id]="id()"
|
|
590
595
|
[name]="name()"
|
|
591
|
-
[type]="
|
|
596
|
+
[type]="formatValue() ? 'text' : 'number'"
|
|
592
597
|
[value]="displayValue()"
|
|
593
598
|
[disabled]="disabled()"
|
|
594
599
|
[required]="isRequired()"
|
|
@@ -597,39 +602,23 @@ class InputNumberComponent extends FormControlBase {
|
|
|
597
602
|
(input)="onInput($event)"
|
|
598
603
|
(keydown)="handleKeyDown($event)"
|
|
599
604
|
/>
|
|
600
|
-
|
|
601
|
-
|
|
602
|
-
|
|
603
|
-
<p class="nmf-error">
|
|
604
|
-
{{ errorMessage() }}
|
|
605
|
-
</p>
|
|
606
|
-
|
|
607
|
-
@if (loading()) {
|
|
608
|
-
<div class="nmf-loading">
|
|
609
|
-
<span class="nmf-spinner"></span>
|
|
610
|
-
</div>
|
|
611
|
-
}
|
|
612
|
-
</div>
|
|
613
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
605
|
+
</nmf-form-field>
|
|
606
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
614
607
|
}
|
|
615
608
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputNumberComponent, decorators: [{
|
|
616
609
|
type: Component,
|
|
617
610
|
args: [{
|
|
618
611
|
selector: 'nmf-number',
|
|
619
612
|
standalone: true,
|
|
620
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
613
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
621
614
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
622
615
|
template: `
|
|
623
|
-
<
|
|
624
|
-
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
}
|
|
630
|
-
</label>
|
|
631
|
-
}
|
|
632
|
-
|
|
616
|
+
<nmf-form-field
|
|
617
|
+
[label]="label()"
|
|
618
|
+
[isRequired]="isRequired()"
|
|
619
|
+
[loading]="loading()"
|
|
620
|
+
[errorMessage]="errorMessage()"
|
|
621
|
+
>
|
|
633
622
|
<input
|
|
634
623
|
autocomplete="off"
|
|
635
624
|
class="nmf-input"
|
|
@@ -638,7 +627,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
638
627
|
[class.disabled]="disabled()"
|
|
639
628
|
[id]="id()"
|
|
640
629
|
[name]="name()"
|
|
641
|
-
[type]="
|
|
630
|
+
[type]="formatValue() ? 'text' : 'number'"
|
|
642
631
|
[value]="displayValue()"
|
|
643
632
|
[disabled]="disabled()"
|
|
644
633
|
[required]="isRequired()"
|
|
@@ -647,19 +636,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
647
636
|
(input)="onInput($event)"
|
|
648
637
|
(keydown)="handleKeyDown($event)"
|
|
649
638
|
/>
|
|
650
|
-
|
|
651
|
-
<ng-content></ng-content>
|
|
652
|
-
|
|
653
|
-
<p class="nmf-error">
|
|
654
|
-
{{ errorMessage() }}
|
|
655
|
-
</p>
|
|
656
|
-
|
|
657
|
-
@if (loading()) {
|
|
658
|
-
<div class="nmf-loading">
|
|
659
|
-
<span class="nmf-spinner"></span>
|
|
660
|
-
</div>
|
|
661
|
-
}
|
|
662
|
-
</div>
|
|
639
|
+
</nmf-form-field>
|
|
663
640
|
`,
|
|
664
641
|
}]
|
|
665
642
|
}] });
|
|
@@ -670,15 +647,12 @@ class InputSelectComponent extends FormControlBase {
|
|
|
670
647
|
clearOptionLabel = input('Clear selection');
|
|
671
648
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputSelectComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
672
649
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: InputSelectComponent, isStandalone: true, selector: "nmf-select", inputs: { options: { classPropertyName: "options", publicName: "options", isSignal: true, isRequired: false, transformFunction: null }, emptyOptionLabel: { classPropertyName: "emptyOptionLabel", publicName: "emptyOptionLabel", isSignal: true, isRequired: false, transformFunction: null }, clearOptionLabel: { classPropertyName: "clearOptionLabel", publicName: "clearOptionLabel", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
673
|
-
<
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
}
|
|
680
|
-
</label>
|
|
681
|
-
}
|
|
650
|
+
<nmf-form-field
|
|
651
|
+
[label]="label()"
|
|
652
|
+
[isRequired]="isRequired()"
|
|
653
|
+
[loading]="loading()"
|
|
654
|
+
[errorMessage]="errorMessage()"
|
|
655
|
+
>
|
|
682
656
|
<div class="select-wrapper" [class.disabled]="disabled()">
|
|
683
657
|
<select
|
|
684
658
|
class="nmf-input"
|
|
@@ -709,36 +683,23 @@ class InputSelectComponent extends FormControlBase {
|
|
|
709
683
|
}
|
|
710
684
|
</select>
|
|
711
685
|
</div>
|
|
712
|
-
|
|
713
|
-
|
|
714
|
-
<div class="nmf-loading">
|
|
715
|
-
<span class="nmf-spinner"></span>
|
|
716
|
-
</div>
|
|
717
|
-
}
|
|
718
|
-
|
|
719
|
-
<p class="nmf-error">
|
|
720
|
-
{{ errorMessage() }}
|
|
721
|
-
</p>
|
|
722
|
-
</div>
|
|
723
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
686
|
+
</nmf-form-field>
|
|
687
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i2.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
724
688
|
}
|
|
725
689
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputSelectComponent, decorators: [{
|
|
726
690
|
type: Component,
|
|
727
691
|
args: [{
|
|
728
692
|
selector: 'nmf-select',
|
|
729
693
|
standalone: true,
|
|
730
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
694
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
731
695
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
732
696
|
template: `
|
|
733
|
-
<
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
|
|
737
|
-
|
|
738
|
-
|
|
739
|
-
}
|
|
740
|
-
</label>
|
|
741
|
-
}
|
|
697
|
+
<nmf-form-field
|
|
698
|
+
[label]="label()"
|
|
699
|
+
[isRequired]="isRequired()"
|
|
700
|
+
[loading]="loading()"
|
|
701
|
+
[errorMessage]="errorMessage()"
|
|
702
|
+
>
|
|
742
703
|
<div class="select-wrapper" [class.disabled]="disabled()">
|
|
743
704
|
<select
|
|
744
705
|
class="nmf-input"
|
|
@@ -769,17 +730,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
769
730
|
}
|
|
770
731
|
</select>
|
|
771
732
|
</div>
|
|
772
|
-
|
|
773
|
-
@if (loading()) {
|
|
774
|
-
<div class="nmf-loading">
|
|
775
|
-
<span class="nmf-spinner"></span>
|
|
776
|
-
</div>
|
|
777
|
-
}
|
|
778
|
-
|
|
779
|
-
<p class="nmf-error">
|
|
780
|
-
{{ errorMessage() }}
|
|
781
|
-
</p>
|
|
782
|
-
</div>
|
|
733
|
+
</nmf-form-field>
|
|
783
734
|
`,
|
|
784
735
|
}]
|
|
785
736
|
}] });
|
|
@@ -792,16 +743,12 @@ class InputTextComponent extends FormControlBase {
|
|
|
792
743
|
: this.type());
|
|
793
744
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTextComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
794
745
|
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.21", type: InputTextComponent, isStandalone: true, selector: "nmf-text", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
795
|
-
<
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
|
|
801
|
-
}
|
|
802
|
-
</label>
|
|
803
|
-
}
|
|
804
|
-
|
|
746
|
+
<nmf-form-field
|
|
747
|
+
[label]="label()"
|
|
748
|
+
[isRequired]="isRequired()"
|
|
749
|
+
[loading]="loading()"
|
|
750
|
+
[errorMessage]="errorMessage()"
|
|
751
|
+
>
|
|
805
752
|
<div class="nmf-input-wrapper">
|
|
806
753
|
<input
|
|
807
754
|
class="nmf-input"
|
|
@@ -832,19 +779,7 @@ class InputTextComponent extends FormControlBase {
|
|
|
832
779
|
</button>
|
|
833
780
|
}
|
|
834
781
|
</div>
|
|
835
|
-
|
|
836
|
-
<ng-content></ng-content>
|
|
837
|
-
|
|
838
|
-
<p class="nmf-error">
|
|
839
|
-
{{ errorMessage() }}
|
|
840
|
-
</p>
|
|
841
|
-
|
|
842
|
-
@if (loading()) {
|
|
843
|
-
<div class="nmf-loading">
|
|
844
|
-
<span class="nmf-spinner"></span>
|
|
845
|
-
</div>
|
|
846
|
-
}
|
|
847
|
-
</div>
|
|
782
|
+
</nmf-form-field>
|
|
848
783
|
|
|
849
784
|
<ng-template #eyeIcon>
|
|
850
785
|
<svg
|
|
@@ -880,26 +815,22 @@ class InputTextComponent extends FormControlBase {
|
|
|
880
815
|
/>
|
|
881
816
|
</svg>
|
|
882
817
|
</ng-template>
|
|
883
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
818
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
884
819
|
}
|
|
885
820
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTextComponent, decorators: [{
|
|
886
821
|
type: Component,
|
|
887
822
|
args: [{
|
|
888
823
|
selector: 'nmf-text',
|
|
889
824
|
standalone: true,
|
|
890
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
825
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
891
826
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
892
827
|
template: `
|
|
893
|
-
<
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
|
|
899
|
-
}
|
|
900
|
-
</label>
|
|
901
|
-
}
|
|
902
|
-
|
|
828
|
+
<nmf-form-field
|
|
829
|
+
[label]="label()"
|
|
830
|
+
[isRequired]="isRequired()"
|
|
831
|
+
[loading]="loading()"
|
|
832
|
+
[errorMessage]="errorMessage()"
|
|
833
|
+
>
|
|
903
834
|
<div class="nmf-input-wrapper">
|
|
904
835
|
<input
|
|
905
836
|
class="nmf-input"
|
|
@@ -930,19 +861,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
930
861
|
</button>
|
|
931
862
|
}
|
|
932
863
|
</div>
|
|
933
|
-
|
|
934
|
-
<ng-content></ng-content>
|
|
935
|
-
|
|
936
|
-
<p class="nmf-error">
|
|
937
|
-
{{ errorMessage() }}
|
|
938
|
-
</p>
|
|
939
|
-
|
|
940
|
-
@if (loading()) {
|
|
941
|
-
<div class="nmf-loading">
|
|
942
|
-
<span class="nmf-spinner"></span>
|
|
943
|
-
</div>
|
|
944
|
-
}
|
|
945
|
-
</div>
|
|
864
|
+
</nmf-form-field>
|
|
946
865
|
|
|
947
866
|
<ng-template #eyeIcon>
|
|
948
867
|
<svg
|
|
@@ -986,17 +905,13 @@ class InputTextareaComponent extends FormControlBase {
|
|
|
986
905
|
rows = input(5);
|
|
987
906
|
cols = input(5);
|
|
988
907
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTextareaComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
989
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
990
|
-
<
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
}
|
|
997
|
-
</label>
|
|
998
|
-
}
|
|
999
|
-
|
|
908
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: InputTextareaComponent, isStandalone: true, selector: "nmf-textarea", inputs: { rows: { classPropertyName: "rows", publicName: "rows", isSignal: true, isRequired: false, transformFunction: null }, cols: { classPropertyName: "cols", publicName: "cols", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
909
|
+
<nmf-form-field
|
|
910
|
+
[label]="label()"
|
|
911
|
+
[isRequired]="isRequired()"
|
|
912
|
+
[loading]="loading()"
|
|
913
|
+
[errorMessage]="errorMessage()"
|
|
914
|
+
>
|
|
1000
915
|
<textarea
|
|
1001
916
|
class="nmf-input"
|
|
1002
917
|
[ngClass]="classList()"
|
|
@@ -1010,37 +925,23 @@ class InputTextareaComponent extends FormControlBase {
|
|
|
1010
925
|
[formControl]="formControl"
|
|
1011
926
|
(blur)="onTouched()"
|
|
1012
927
|
></textarea>
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
{{ errorMessage() }}
|
|
1016
|
-
</p>
|
|
1017
|
-
|
|
1018
|
-
@if (loading()) {
|
|
1019
|
-
<div class="nmf-loading">
|
|
1020
|
-
<span class="nmf-spinner"></span>
|
|
1021
|
-
</div>
|
|
1022
|
-
}
|
|
1023
|
-
</div>
|
|
1024
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
928
|
+
</nmf-form-field>
|
|
929
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.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: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1025
930
|
}
|
|
1026
931
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTextareaComponent, decorators: [{
|
|
1027
932
|
type: Component,
|
|
1028
933
|
args: [{
|
|
1029
934
|
selector: 'nmf-textarea',
|
|
1030
935
|
standalone: true,
|
|
1031
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
936
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
1032
937
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1033
938
|
template: `
|
|
1034
|
-
<
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
}
|
|
1041
|
-
</label>
|
|
1042
|
-
}
|
|
1043
|
-
|
|
939
|
+
<nmf-form-field
|
|
940
|
+
[label]="label()"
|
|
941
|
+
[isRequired]="isRequired()"
|
|
942
|
+
[loading]="loading()"
|
|
943
|
+
[errorMessage]="errorMessage()"
|
|
944
|
+
>
|
|
1044
945
|
<textarea
|
|
1045
946
|
class="nmf-input"
|
|
1046
947
|
[ngClass]="classList()"
|
|
@@ -1054,17 +955,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1054
955
|
[formControl]="formControl"
|
|
1055
956
|
(blur)="onTouched()"
|
|
1056
957
|
></textarea>
|
|
1057
|
-
|
|
1058
|
-
<p class="nmf-error">
|
|
1059
|
-
{{ errorMessage() }}
|
|
1060
|
-
</p>
|
|
1061
|
-
|
|
1062
|
-
@if (loading()) {
|
|
1063
|
-
<div class="nmf-loading">
|
|
1064
|
-
<span class="nmf-spinner"></span>
|
|
1065
|
-
</div>
|
|
1066
|
-
}
|
|
1067
|
-
</div>
|
|
958
|
+
</nmf-form-field>
|
|
1068
959
|
`,
|
|
1069
960
|
}]
|
|
1070
961
|
}] });
|
|
@@ -1102,17 +993,13 @@ class InputTimepickerComponent extends FormControlBase {
|
|
|
1102
993
|
this.onChange(parsed);
|
|
1103
994
|
}
|
|
1104
995
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTimepickerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1105
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
1106
|
-
<
|
|
1107
|
-
|
|
1108
|
-
|
|
1109
|
-
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
}
|
|
1113
|
-
</label>
|
|
1114
|
-
}
|
|
1115
|
-
|
|
996
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "19.2.21", type: InputTimepickerComponent, isStandalone: true, selector: "nmf-timepicker", inputs: { step: { classPropertyName: "step", publicName: "step", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, ngImport: i0, template: `
|
|
997
|
+
<nmf-form-field
|
|
998
|
+
[label]="label()"
|
|
999
|
+
[isRequired]="isRequired()"
|
|
1000
|
+
[loading]="loading()"
|
|
1001
|
+
[errorMessage]="errorMessage()"
|
|
1002
|
+
>
|
|
1116
1003
|
<input
|
|
1117
1004
|
type="time"
|
|
1118
1005
|
autocomplete="off"
|
|
@@ -1130,39 +1017,23 @@ class InputTimepickerComponent extends FormControlBase {
|
|
|
1130
1017
|
(blur)="onTouched()"
|
|
1131
1018
|
(input)="onInput($event)"
|
|
1132
1019
|
/>
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
@if (loading()) {
|
|
1137
|
-
<div class="nmf-loading">
|
|
1138
|
-
<span class="nmf-spinner"></span>
|
|
1139
|
-
</div>
|
|
1140
|
-
}
|
|
1141
|
-
|
|
1142
|
-
<p class="nmf-error">
|
|
1143
|
-
{{ errorMessage() }}
|
|
1144
|
-
</p>
|
|
1145
|
-
</div>
|
|
1146
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1020
|
+
</nmf-form-field>
|
|
1021
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: FormFieldComponent, selector: "nmf-form-field", inputs: ["label", "isRequired", "loading", "errorMessage"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
1147
1022
|
}
|
|
1148
1023
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImport: i0, type: InputTimepickerComponent, decorators: [{
|
|
1149
1024
|
type: Component,
|
|
1150
1025
|
args: [{
|
|
1151
1026
|
selector: 'nmf-timepicker',
|
|
1152
1027
|
standalone: true,
|
|
1153
|
-
imports: [CommonModule, ReactiveFormsModule],
|
|
1028
|
+
imports: [CommonModule, ReactiveFormsModule, FormFieldComponent],
|
|
1154
1029
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
1155
1030
|
template: `
|
|
1156
|
-
<
|
|
1157
|
-
|
|
1158
|
-
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
}
|
|
1163
|
-
</label>
|
|
1164
|
-
}
|
|
1165
|
-
|
|
1031
|
+
<nmf-form-field
|
|
1032
|
+
[label]="label()"
|
|
1033
|
+
[isRequired]="isRequired()"
|
|
1034
|
+
[loading]="loading()"
|
|
1035
|
+
[errorMessage]="errorMessage()"
|
|
1036
|
+
>
|
|
1166
1037
|
<input
|
|
1167
1038
|
type="time"
|
|
1168
1039
|
autocomplete="off"
|
|
@@ -1180,19 +1051,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1180
1051
|
(blur)="onTouched()"
|
|
1181
1052
|
(input)="onInput($event)"
|
|
1182
1053
|
/>
|
|
1183
|
-
|
|
1184
|
-
<ng-content></ng-content>
|
|
1185
|
-
|
|
1186
|
-
@if (loading()) {
|
|
1187
|
-
<div class="nmf-loading">
|
|
1188
|
-
<span class="nmf-spinner"></span>
|
|
1189
|
-
</div>
|
|
1190
|
-
}
|
|
1191
|
-
|
|
1192
|
-
<p class="nmf-error">
|
|
1193
|
-
{{ errorMessage() }}
|
|
1194
|
-
</p>
|
|
1195
|
-
</div>
|
|
1054
|
+
</nmf-form-field>
|
|
1196
1055
|
`,
|
|
1197
1056
|
}]
|
|
1198
1057
|
}] });
|
|
@@ -1232,14 +1091,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.21", ngImpo
|
|
|
1232
1091
|
}] });
|
|
1233
1092
|
|
|
1234
1093
|
class FormSerializer {
|
|
1235
|
-
toRequest(form, registry = {}) {
|
|
1094
|
+
toRequest(form, registry = {}, options) {
|
|
1236
1095
|
const result = {};
|
|
1237
1096
|
Object.entries(form.controls).forEach(([key, control]) => {
|
|
1238
1097
|
const mapFn = registry[key]?.toRequest;
|
|
1239
1098
|
if (control instanceof FormGroup) {
|
|
1240
1099
|
result[key] = mapFn
|
|
1241
|
-
? mapFn(control.value)
|
|
1242
|
-
: this.toRequest(control, registry);
|
|
1100
|
+
? mapFn(control.value, options)
|
|
1101
|
+
: this.toRequest(control, registry, options);
|
|
1243
1102
|
return;
|
|
1244
1103
|
}
|
|
1245
1104
|
result[key] = control.value;
|
|
@@ -1311,7 +1170,7 @@ class FormOrchestrator extends FormMapperBase {
|
|
|
1311
1170
|
if (!(key in model))
|
|
1312
1171
|
return;
|
|
1313
1172
|
const mapper = registry[key];
|
|
1314
|
-
const value = model
|
|
1173
|
+
const value = model[key];
|
|
1315
1174
|
if (control instanceof FormGroup) {
|
|
1316
1175
|
const mapped = mapper ? mapper.fromModel(value) : value;
|
|
1317
1176
|
if (isRecord(mapped)) {
|
|
@@ -1320,8 +1179,8 @@ class FormOrchestrator extends FormMapperBase {
|
|
|
1320
1179
|
}
|
|
1321
1180
|
});
|
|
1322
1181
|
}
|
|
1323
|
-
buildRequest() {
|
|
1324
|
-
return this.serializer.toRequest(this.form(), this.mapperRegistry());
|
|
1182
|
+
buildRequest(options) {
|
|
1183
|
+
return this.serializer.toRequest(this.form(), this.mapperRegistry(), options);
|
|
1325
1184
|
}
|
|
1326
1185
|
ngOnDestroy() {
|
|
1327
1186
|
this._logicSubscription.unsubscribe();
|