@angular/forms 18.0.0-next.2 → 18.0.0-next.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/src/directives/abstract_form_group_directive.mjs +3 -3
- package/esm2022/src/directives/checkbox_value_accessor.mjs +3 -3
- package/esm2022/src/directives/control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/default_value_accessor.mjs +3 -3
- package/esm2022/src/directives/ng_control_status.mjs +6 -6
- package/esm2022/src/directives/ng_form.mjs +3 -3
- package/esm2022/src/directives/ng_model.mjs +3 -3
- package/esm2022/src/directives/ng_model_group.mjs +3 -3
- package/esm2022/src/directives/ng_no_validate_directive.mjs +3 -3
- package/esm2022/src/directives/number_value_accessor.mjs +3 -3
- package/esm2022/src/directives/radio_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/range_value_accessor.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_control_directive.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_control_name.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_group_directive.mjs +3 -3
- package/esm2022/src/directives/reactive_directives/form_group_name.mjs +6 -6
- package/esm2022/src/directives/select_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/select_multiple_control_value_accessor.mjs +6 -6
- package/esm2022/src/directives/validators.mjs +27 -27
- package/esm2022/src/directives.mjs +4 -4
- package/esm2022/src/form_builder.mjs +9 -9
- package/esm2022/src/form_providers.mjs +8 -8
- package/esm2022/src/forms.mjs +2 -2
- package/esm2022/src/model/abstract_model.mjs +137 -129
- package/esm2022/src/model/form_array.mjs +3 -3
- package/esm2022/src/model/form_group.mjs +3 -3
- package/esm2022/src/version.mjs +1 -1
- package/fesm2022/forms.mjs +263 -256
- package/fesm2022/forms.mjs.map +1 -1
- package/index.d.ts +86 -2
- package/package.json +4 -4
package/fesm2022/forms.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license Angular v18.0.0-next.
|
|
2
|
+
* @license Angular v18.0.0-next.3
|
|
3
3
|
* (c) 2010-2022 Google LLC. https://angular.io/
|
|
4
4
|
* License: MIT
|
|
5
5
|
*/
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
import * as i0 from '@angular/core';
|
|
8
8
|
import { Directive, InjectionToken, forwardRef, Optional, Inject, ɵisPromise, ɵisSubscribable, ɵRuntimeError, Self, EventEmitter, Input, Host, SkipSelf, booleanAttribute, ChangeDetectorRef, Output, Injectable, inject, NgModule, Version } from '@angular/core';
|
|
9
9
|
import { ɵgetDOM } from '@angular/common';
|
|
10
|
-
import { from, forkJoin } from 'rxjs';
|
|
10
|
+
import { from, forkJoin, Subject } from 'rxjs';
|
|
11
11
|
import { map } from 'rxjs/operators';
|
|
12
12
|
|
|
13
13
|
/**
|
|
@@ -62,10 +62,10 @@ class BaseControlValueAccessor {
|
|
|
62
62
|
setDisabledState(isDisabled) {
|
|
63
63
|
this.setProperty('disabled', isDisabled);
|
|
64
64
|
}
|
|
65
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
66
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
65
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: BaseControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
66
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: BaseControlValueAccessor, ngImport: i0 }); }
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: BaseControlValueAccessor, decorators: [{
|
|
69
69
|
type: Directive
|
|
70
70
|
}], ctorParameters: () => [{ type: i0.Renderer2 }, { type: i0.ElementRef }] });
|
|
71
71
|
/**
|
|
@@ -78,10 +78,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
|
|
|
78
78
|
* applications code.
|
|
79
79
|
*/
|
|
80
80
|
class BuiltInControlValueAccessor extends BaseControlValueAccessor {
|
|
81
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
82
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
81
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: BuiltInControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
82
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: BuiltInControlValueAccessor, usesInheritance: true, ngImport: i0 }); }
|
|
83
83
|
}
|
|
84
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
84
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: BuiltInControlValueAccessor, decorators: [{
|
|
85
85
|
type: Directive
|
|
86
86
|
}] });
|
|
87
87
|
/**
|
|
@@ -129,10 +129,10 @@ class CheckboxControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
129
129
|
writeValue(value) {
|
|
130
130
|
this.setProperty('checked', value);
|
|
131
131
|
}
|
|
132
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
133
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
132
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: CheckboxControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
133
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: CheckboxControlValueAccessor, selector: "input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]", host: { listeners: { "change": "onChange($event.target.checked)", "blur": "onTouched()" } }, providers: [CHECKBOX_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
134
134
|
}
|
|
135
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
135
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: CheckboxControlValueAccessor, decorators: [{
|
|
136
136
|
type: Directive,
|
|
137
137
|
args: [{
|
|
138
138
|
selector: 'input[type=checkbox][formControlName],input[type=checkbox][formControl],input[type=checkbox][ngModel]',
|
|
@@ -229,10 +229,10 @@ class DefaultValueAccessor extends BaseControlValueAccessor {
|
|
|
229
229
|
this._composing = false;
|
|
230
230
|
this._compositionMode && this.onChange(value);
|
|
231
231
|
}
|
|
232
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
233
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
232
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: DefaultValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: COMPOSITION_BUFFER_MODE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
233
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]", host: { listeners: { "input": "$any(this)._handleInput($event.target.value)", "blur": "onTouched()", "compositionstart": "$any(this)._compositionStart()", "compositionend": "$any(this)._compositionEnd($event.target.value)" } }, providers: [DEFAULT_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
234
234
|
}
|
|
235
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
235
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: DefaultValueAccessor, decorators: [{
|
|
236
236
|
type: Directive,
|
|
237
237
|
args: [{
|
|
238
238
|
selector: 'input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]',
|
|
@@ -1322,10 +1322,10 @@ class NgControlStatus extends AbstractControlStatus {
|
|
|
1322
1322
|
constructor(cd) {
|
|
1323
1323
|
super(cd);
|
|
1324
1324
|
}
|
|
1325
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
1326
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
1325
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgControlStatus, deps: [{ token: NgControl, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1326
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgControlStatus, selector: "[formControlName],[ngModel],[formControl]", host: { properties: { "class.ng-untouched": "isUntouched", "class.ng-touched": "isTouched", "class.ng-pristine": "isPristine", "class.ng-dirty": "isDirty", "class.ng-valid": "isValid", "class.ng-invalid": "isInvalid", "class.ng-pending": "isPending" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1327
1327
|
}
|
|
1328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
1328
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgControlStatus, decorators: [{
|
|
1329
1329
|
type: Directive,
|
|
1330
1330
|
args: [{ selector: '[formControlName],[ngModel],[formControl]', host: ngControlStatusHost }]
|
|
1331
1331
|
}], ctorParameters: () => [{ type: NgControl, decorators: [{
|
|
@@ -1347,10 +1347,10 @@ class NgControlStatusGroup extends AbstractControlStatus {
|
|
|
1347
1347
|
constructor(cd) {
|
|
1348
1348
|
super(cd);
|
|
1349
1349
|
}
|
|
1350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
1351
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
1350
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgControlStatusGroup, deps: [{ token: ControlContainer, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1351
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]", host: { properties: { "class.ng-untouched": "isUntouched", "class.ng-touched": "isTouched", "class.ng-pristine": "isPristine", "class.ng-dirty": "isDirty", "class.ng-valid": "isValid", "class.ng-invalid": "isInvalid", "class.ng-pending": "isPending", "class.ng-submitted": "isSubmitted" } }, usesInheritance: true, ngImport: i0 }); }
|
|
1352
1352
|
}
|
|
1353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
1353
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgControlStatusGroup, decorators: [{
|
|
1354
1354
|
type: Directive,
|
|
1355
1355
|
args: [{
|
|
1356
1356
|
selector: '[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]',
|
|
@@ -1541,6 +1541,61 @@ const PENDING = 'PENDING';
|
|
|
1541
1541
|
* @see {@link status}
|
|
1542
1542
|
*/
|
|
1543
1543
|
const DISABLED = 'DISABLED';
|
|
1544
|
+
/**
|
|
1545
|
+
* Base class for every event sent by `AbstractControl.events()`
|
|
1546
|
+
*
|
|
1547
|
+
* @publicApi
|
|
1548
|
+
*/
|
|
1549
|
+
class ControlEvent {
|
|
1550
|
+
}
|
|
1551
|
+
/**
|
|
1552
|
+
* Event fired when the value of a control changes.
|
|
1553
|
+
*
|
|
1554
|
+
* @publicApi
|
|
1555
|
+
*/
|
|
1556
|
+
class ValueChangeEvent extends ControlEvent {
|
|
1557
|
+
constructor(value, source) {
|
|
1558
|
+
super();
|
|
1559
|
+
this.value = value;
|
|
1560
|
+
this.source = source;
|
|
1561
|
+
}
|
|
1562
|
+
}
|
|
1563
|
+
/**
|
|
1564
|
+
* Event fired when the control's pristine state changes (pristine <=> dirty).
|
|
1565
|
+
*
|
|
1566
|
+
* @publicApi
|
|
1567
|
+
*/
|
|
1568
|
+
class PristineChangeEvent extends ControlEvent {
|
|
1569
|
+
constructor(pristine, source) {
|
|
1570
|
+
super();
|
|
1571
|
+
this.pristine = pristine;
|
|
1572
|
+
this.source = source;
|
|
1573
|
+
}
|
|
1574
|
+
}
|
|
1575
|
+
/**
|
|
1576
|
+
* Event fired when the control's touched status changes (touched <=> untouched).
|
|
1577
|
+
*
|
|
1578
|
+
* @publicApi
|
|
1579
|
+
*/
|
|
1580
|
+
class TouchedChangeEvent extends ControlEvent {
|
|
1581
|
+
constructor(touched, source) {
|
|
1582
|
+
super();
|
|
1583
|
+
this.touched = touched;
|
|
1584
|
+
this.source = source;
|
|
1585
|
+
}
|
|
1586
|
+
}
|
|
1587
|
+
/**
|
|
1588
|
+
* Event fired when the control's status changes.
|
|
1589
|
+
*
|
|
1590
|
+
* @publicApi
|
|
1591
|
+
*/
|
|
1592
|
+
class StatusChangeEvent extends ControlEvent {
|
|
1593
|
+
constructor(status, source) {
|
|
1594
|
+
super();
|
|
1595
|
+
this.status = status;
|
|
1596
|
+
this.source = source;
|
|
1597
|
+
}
|
|
1598
|
+
}
|
|
1544
1599
|
/**
|
|
1545
1600
|
* Gets validators from either an options object or given validators.
|
|
1546
1601
|
*/
|
|
@@ -1649,6 +1704,25 @@ class AbstractControl {
|
|
|
1649
1704
|
* a `blur` event on it.
|
|
1650
1705
|
*/
|
|
1651
1706
|
this.touched = false;
|
|
1707
|
+
/**
|
|
1708
|
+
* Exposed as observable, see below.
|
|
1709
|
+
*
|
|
1710
|
+
* @internal
|
|
1711
|
+
*/
|
|
1712
|
+
this._events = new Subject();
|
|
1713
|
+
/**
|
|
1714
|
+
* A multicasting observable that emits an event every time the state of the control changes.
|
|
1715
|
+
* It emits for value, status, pristine or touched changes.
|
|
1716
|
+
*
|
|
1717
|
+
* **Note**: On value change, the emit happens right after a value of this control is updated. The
|
|
1718
|
+
* value of a parent control (for example if this FormControl is a part of a FormGroup) is updated
|
|
1719
|
+
* later, so accessing a value of a parent control (using the `value` property) from the callback
|
|
1720
|
+
* of this event might result in getting a value that has not been updated yet. Subscribe to the
|
|
1721
|
+
* `events` of the parent control instead.
|
|
1722
|
+
* For other event types, the events are emitted after the parent control has been updated.
|
|
1723
|
+
*
|
|
1724
|
+
*/
|
|
1725
|
+
this.events = this._events.asObservable();
|
|
1652
1726
|
/** @internal */
|
|
1653
1727
|
this._onDisabledChange = [];
|
|
1654
1728
|
this._assignValidators(validators);
|
|
@@ -1927,145 +2001,78 @@ class AbstractControl {
|
|
|
1927
2001
|
clearAsyncValidators() {
|
|
1928
2002
|
this.asyncValidator = null;
|
|
1929
2003
|
}
|
|
1930
|
-
/**
|
|
1931
|
-
* Marks the control as `touched`. A control is touched by focus and
|
|
1932
|
-
* blur events that do not change the value.
|
|
1933
|
-
*
|
|
1934
|
-
* @see {@link markAsUntouched()}
|
|
1935
|
-
* @see {@link markAsDirty()}
|
|
1936
|
-
* @see {@link markAsPristine()}
|
|
1937
|
-
*
|
|
1938
|
-
* @param opts Configuration options that determine how the control propagates changes
|
|
1939
|
-
* and emits events after marking is applied.
|
|
1940
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
1941
|
-
* marks all direct ancestors. Default is false.
|
|
1942
|
-
*/
|
|
1943
2004
|
markAsTouched(opts = {}) {
|
|
2005
|
+
const changed = this.touched === false;
|
|
1944
2006
|
this.touched = true;
|
|
2007
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
1945
2008
|
if (this._parent && !opts.onlySelf) {
|
|
1946
|
-
this._parent.markAsTouched(opts);
|
|
2009
|
+
this._parent.markAsTouched({ ...opts, sourceControl });
|
|
2010
|
+
}
|
|
2011
|
+
if (changed && opts.emitEvent !== false) {
|
|
2012
|
+
this._events.next(new TouchedChangeEvent(true, sourceControl));
|
|
1947
2013
|
}
|
|
1948
2014
|
}
|
|
1949
2015
|
/**
|
|
1950
2016
|
* Marks the control and all its descendant controls as `touched`.
|
|
1951
2017
|
* @see {@link markAsTouched()}
|
|
1952
2018
|
*/
|
|
1953
|
-
markAllAsTouched() {
|
|
1954
|
-
this.markAsTouched({ onlySelf: true });
|
|
1955
|
-
this._forEachChild((control) => control.markAllAsTouched());
|
|
2019
|
+
markAllAsTouched(opts = {}) {
|
|
2020
|
+
this.markAsTouched({ onlySelf: true, emitEvent: opts.emitEvent, sourceControl: this });
|
|
2021
|
+
this._forEachChild((control) => control.markAllAsTouched(opts));
|
|
1956
2022
|
}
|
|
1957
|
-
/**
|
|
1958
|
-
* Marks the control as `untouched`.
|
|
1959
|
-
*
|
|
1960
|
-
* If the control has any children, also marks all children as `untouched`
|
|
1961
|
-
* and recalculates the `touched` status of all parent controls.
|
|
1962
|
-
*
|
|
1963
|
-
* @see {@link markAsTouched()}
|
|
1964
|
-
* @see {@link markAsDirty()}
|
|
1965
|
-
* @see {@link markAsPristine()}
|
|
1966
|
-
*
|
|
1967
|
-
* @param opts Configuration options that determine how the control propagates changes
|
|
1968
|
-
* and emits events after the marking is applied.
|
|
1969
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
1970
|
-
* marks all direct ancestors. Default is false.
|
|
1971
|
-
*/
|
|
1972
2023
|
markAsUntouched(opts = {}) {
|
|
2024
|
+
const changed = this.touched === true;
|
|
1973
2025
|
this.touched = false;
|
|
1974
2026
|
this._pendingTouched = false;
|
|
2027
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
1975
2028
|
this._forEachChild((control) => {
|
|
1976
|
-
control.markAsUntouched({ onlySelf: true });
|
|
2029
|
+
control.markAsUntouched({ onlySelf: true, emitEvent: opts.emitEvent, sourceControl });
|
|
1977
2030
|
});
|
|
1978
2031
|
if (this._parent && !opts.onlySelf) {
|
|
1979
|
-
this._parent._updateTouched(opts);
|
|
2032
|
+
this._parent._updateTouched(opts, sourceControl);
|
|
2033
|
+
}
|
|
2034
|
+
if (changed && opts.emitEvent !== false) {
|
|
2035
|
+
this._events.next(new TouchedChangeEvent(false, sourceControl));
|
|
1980
2036
|
}
|
|
1981
2037
|
}
|
|
1982
|
-
/**
|
|
1983
|
-
* Marks the control as `dirty`. A control becomes dirty when
|
|
1984
|
-
* the control's value is changed through the UI; compare `markAsTouched`.
|
|
1985
|
-
*
|
|
1986
|
-
* @see {@link markAsTouched()}
|
|
1987
|
-
* @see {@link markAsUntouched()}
|
|
1988
|
-
* @see {@link markAsPristine()}
|
|
1989
|
-
*
|
|
1990
|
-
* @param opts Configuration options that determine how the control propagates changes
|
|
1991
|
-
* and emits events after marking is applied.
|
|
1992
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
1993
|
-
* marks all direct ancestors. Default is false.
|
|
1994
|
-
*/
|
|
1995
2038
|
markAsDirty(opts = {}) {
|
|
2039
|
+
const changed = this.pristine === true;
|
|
1996
2040
|
this.pristine = false;
|
|
2041
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
1997
2042
|
if (this._parent && !opts.onlySelf) {
|
|
1998
|
-
this._parent.markAsDirty(opts);
|
|
2043
|
+
this._parent.markAsDirty({ ...opts, sourceControl });
|
|
2044
|
+
}
|
|
2045
|
+
if (changed && opts.emitEvent !== false) {
|
|
2046
|
+
this._events.next(new PristineChangeEvent(false, sourceControl));
|
|
1999
2047
|
}
|
|
2000
2048
|
}
|
|
2001
|
-
/**
|
|
2002
|
-
* Marks the control as `pristine`.
|
|
2003
|
-
*
|
|
2004
|
-
* If the control has any children, marks all children as `pristine`,
|
|
2005
|
-
* and recalculates the `pristine` status of all parent
|
|
2006
|
-
* controls.
|
|
2007
|
-
*
|
|
2008
|
-
* @see {@link markAsTouched()}
|
|
2009
|
-
* @see {@link markAsUntouched()}
|
|
2010
|
-
* @see {@link markAsDirty()}
|
|
2011
|
-
*
|
|
2012
|
-
* @param opts Configuration options that determine how the control emits events after
|
|
2013
|
-
* marking is applied.
|
|
2014
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
2015
|
-
* marks all direct ancestors. Default is false.
|
|
2016
|
-
*/
|
|
2017
2049
|
markAsPristine(opts = {}) {
|
|
2050
|
+
const changed = this.pristine === false;
|
|
2018
2051
|
this.pristine = true;
|
|
2019
2052
|
this._pendingDirty = false;
|
|
2053
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
2020
2054
|
this._forEachChild((control) => {
|
|
2021
|
-
control
|
|
2055
|
+
/** We don't propagate the source control downwards */
|
|
2056
|
+
control.markAsPristine({ onlySelf: true, emitEvent: opts.emitEvent });
|
|
2022
2057
|
});
|
|
2023
2058
|
if (this._parent && !opts.onlySelf) {
|
|
2024
|
-
this._parent._updatePristine(opts);
|
|
2059
|
+
this._parent._updatePristine(opts, sourceControl);
|
|
2060
|
+
}
|
|
2061
|
+
if (changed && opts.emitEvent !== false) {
|
|
2062
|
+
this._events.next(new PristineChangeEvent(true, sourceControl));
|
|
2025
2063
|
}
|
|
2026
2064
|
}
|
|
2027
|
-
/**
|
|
2028
|
-
* Marks the control as `pending`.
|
|
2029
|
-
*
|
|
2030
|
-
* A control is pending while the control performs async validation.
|
|
2031
|
-
*
|
|
2032
|
-
* @see {@link AbstractControl.status}
|
|
2033
|
-
*
|
|
2034
|
-
* @param opts Configuration options that determine how the control propagates changes and
|
|
2035
|
-
* emits events after marking is applied.
|
|
2036
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
2037
|
-
* marks all direct ancestors. Default is false.
|
|
2038
|
-
* * `emitEvent`: When true or not supplied (the default), the `statusChanges`
|
|
2039
|
-
* observable emits an event with the latest status the control is marked pending.
|
|
2040
|
-
* When false, no events are emitted.
|
|
2041
|
-
*
|
|
2042
|
-
*/
|
|
2043
2065
|
markAsPending(opts = {}) {
|
|
2044
2066
|
this.status = PENDING;
|
|
2067
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
2045
2068
|
if (opts.emitEvent !== false) {
|
|
2069
|
+
this._events.next(new StatusChangeEvent(this.status, sourceControl));
|
|
2046
2070
|
this.statusChanges.emit(this.status);
|
|
2047
2071
|
}
|
|
2048
2072
|
if (this._parent && !opts.onlySelf) {
|
|
2049
|
-
this._parent.markAsPending(opts);
|
|
2073
|
+
this._parent.markAsPending({ ...opts, sourceControl });
|
|
2050
2074
|
}
|
|
2051
2075
|
}
|
|
2052
|
-
/**
|
|
2053
|
-
* Disables the control. This means the control is exempt from validation checks and
|
|
2054
|
-
* excluded from the aggregate value of any parent. Its status is `DISABLED`.
|
|
2055
|
-
*
|
|
2056
|
-
* If the control has children, all children are also disabled.
|
|
2057
|
-
*
|
|
2058
|
-
* @see {@link AbstractControl.status}
|
|
2059
|
-
*
|
|
2060
|
-
* @param opts Configuration options that determine how the control propagates
|
|
2061
|
-
* changes and emits events after the control is disabled.
|
|
2062
|
-
* * `onlySelf`: When true, mark only this control. When false or not supplied,
|
|
2063
|
-
* marks all direct ancestors. Default is false.
|
|
2064
|
-
* * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
|
|
2065
|
-
* `valueChanges`
|
|
2066
|
-
* observables emit events with the latest status and value when the control is disabled.
|
|
2067
|
-
* When false, no events are emitted.
|
|
2068
|
-
*/
|
|
2069
2076
|
disable(opts = {}) {
|
|
2070
2077
|
// If parent has been marked artificially dirty we don't want to re-calculate the
|
|
2071
2078
|
// parent's dirtiness based on the children.
|
|
@@ -2073,14 +2080,18 @@ class AbstractControl {
|
|
|
2073
2080
|
this.status = DISABLED;
|
|
2074
2081
|
this.errors = null;
|
|
2075
2082
|
this._forEachChild((control) => {
|
|
2083
|
+
/** We don't propagate the source control downwards */
|
|
2076
2084
|
control.disable({ ...opts, onlySelf: true });
|
|
2077
2085
|
});
|
|
2078
2086
|
this._updateValue();
|
|
2087
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
2079
2088
|
if (opts.emitEvent !== false) {
|
|
2089
|
+
this._events.next(new StatusChangeEvent(this.status, sourceControl));
|
|
2090
|
+
this._events.next(new ValueChangeEvent(this.value, sourceControl));
|
|
2080
2091
|
this.valueChanges.emit(this.value);
|
|
2081
2092
|
this.statusChanges.emit(this.status);
|
|
2082
2093
|
}
|
|
2083
|
-
this._updateAncestors({ ...opts, skipPristineCheck });
|
|
2094
|
+
this._updateAncestors({ ...opts, skipPristineCheck }, this);
|
|
2084
2095
|
this._onDisabledChange.forEach((changeFn) => changeFn(true));
|
|
2085
2096
|
}
|
|
2086
2097
|
/**
|
|
@@ -2110,16 +2121,16 @@ class AbstractControl {
|
|
|
2110
2121
|
control.enable({ ...opts, onlySelf: true });
|
|
2111
2122
|
});
|
|
2112
2123
|
this.updateValueAndValidity({ onlySelf: true, emitEvent: opts.emitEvent });
|
|
2113
|
-
this._updateAncestors({ ...opts, skipPristineCheck });
|
|
2124
|
+
this._updateAncestors({ ...opts, skipPristineCheck }, this);
|
|
2114
2125
|
this._onDisabledChange.forEach((changeFn) => changeFn(false));
|
|
2115
2126
|
}
|
|
2116
|
-
_updateAncestors(opts) {
|
|
2127
|
+
_updateAncestors(opts, sourceControl) {
|
|
2117
2128
|
if (this._parent && !opts.onlySelf) {
|
|
2118
2129
|
this._parent.updateValueAndValidity(opts);
|
|
2119
2130
|
if (!opts.skipPristineCheck) {
|
|
2120
|
-
this._parent._updatePristine();
|
|
2131
|
+
this._parent._updatePristine({}, sourceControl);
|
|
2121
2132
|
}
|
|
2122
|
-
this._parent._updateTouched();
|
|
2133
|
+
this._parent._updateTouched({}, sourceControl);
|
|
2123
2134
|
}
|
|
2124
2135
|
}
|
|
2125
2136
|
/**
|
|
@@ -2137,20 +2148,6 @@ class AbstractControl {
|
|
|
2137
2148
|
getRawValue() {
|
|
2138
2149
|
return this.value;
|
|
2139
2150
|
}
|
|
2140
|
-
/**
|
|
2141
|
-
* Recalculates the value and validation status of the control.
|
|
2142
|
-
*
|
|
2143
|
-
* By default, it also updates the value and validity of its ancestors.
|
|
2144
|
-
*
|
|
2145
|
-
* @param opts Configuration options determine how the control propagates changes and emits events
|
|
2146
|
-
* after updates and validity checks are applied.
|
|
2147
|
-
* * `onlySelf`: When true, only update this control. When false or not supplied,
|
|
2148
|
-
* update all direct ancestors. Default is false.
|
|
2149
|
-
* * `emitEvent`: When true or not supplied (the default), both the `statusChanges` and
|
|
2150
|
-
* `valueChanges`
|
|
2151
|
-
* observables emit events with the latest status and value when the control is updated.
|
|
2152
|
-
* When false, no events are emitted.
|
|
2153
|
-
*/
|
|
2154
2151
|
updateValueAndValidity(opts = {}) {
|
|
2155
2152
|
this._setInitialStatus();
|
|
2156
2153
|
this._updateValue();
|
|
@@ -2162,12 +2159,15 @@ class AbstractControl {
|
|
|
2162
2159
|
this._runAsyncValidator(opts.emitEvent);
|
|
2163
2160
|
}
|
|
2164
2161
|
}
|
|
2162
|
+
const sourceControl = opts.sourceControl ?? this;
|
|
2165
2163
|
if (opts.emitEvent !== false) {
|
|
2164
|
+
this._events.next(new ValueChangeEvent(this.value, sourceControl));
|
|
2165
|
+
this._events.next(new StatusChangeEvent(this.status, sourceControl));
|
|
2166
2166
|
this.valueChanges.emit(this.value);
|
|
2167
2167
|
this.statusChanges.emit(this.status);
|
|
2168
2168
|
}
|
|
2169
2169
|
if (this._parent && !opts.onlySelf) {
|
|
2170
|
-
this._parent.updateValueAndValidity(opts);
|
|
2170
|
+
this._parent.updateValueAndValidity({ ...opts, sourceControl });
|
|
2171
2171
|
}
|
|
2172
2172
|
}
|
|
2173
2173
|
/** @internal */
|
|
@@ -2231,7 +2231,7 @@ class AbstractControl {
|
|
|
2231
2231
|
*/
|
|
2232
2232
|
setErrors(errors, opts = {}) {
|
|
2233
2233
|
this.errors = errors;
|
|
2234
|
-
this._updateControlsErrors(opts.emitEvent !== false);
|
|
2234
|
+
this._updateControlsErrors(opts.emitEvent !== false, this);
|
|
2235
2235
|
}
|
|
2236
2236
|
/**
|
|
2237
2237
|
* Retrieves a child control given the control's name or path.
|
|
@@ -2348,13 +2348,14 @@ class AbstractControl {
|
|
|
2348
2348
|
return x;
|
|
2349
2349
|
}
|
|
2350
2350
|
/** @internal */
|
|
2351
|
-
_updateControlsErrors(emitEvent) {
|
|
2351
|
+
_updateControlsErrors(emitEvent, changedControl) {
|
|
2352
2352
|
this.status = this._calculateStatus();
|
|
2353
2353
|
if (emitEvent) {
|
|
2354
2354
|
this.statusChanges.emit(this.status);
|
|
2355
|
+
this._events.next(new StatusChangeEvent(this.status, changedControl));
|
|
2355
2356
|
}
|
|
2356
2357
|
if (this._parent) {
|
|
2357
|
-
this._parent._updateControlsErrors(emitEvent);
|
|
2358
|
+
this._parent._updateControlsErrors(emitEvent, changedControl);
|
|
2358
2359
|
}
|
|
2359
2360
|
}
|
|
2360
2361
|
/** @internal */
|
|
@@ -2386,17 +2387,23 @@ class AbstractControl {
|
|
|
2386
2387
|
return this._anyControls((control) => control.touched);
|
|
2387
2388
|
}
|
|
2388
2389
|
/** @internal */
|
|
2389
|
-
_updatePristine(opts
|
|
2390
|
-
|
|
2390
|
+
_updatePristine(opts, changedControl) {
|
|
2391
|
+
const newPristine = !this._anyControlsDirty();
|
|
2392
|
+
const changed = this.pristine !== newPristine;
|
|
2393
|
+
this.pristine = newPristine;
|
|
2391
2394
|
if (this._parent && !opts.onlySelf) {
|
|
2392
|
-
this._parent._updatePristine(opts);
|
|
2395
|
+
this._parent._updatePristine(opts, changedControl);
|
|
2396
|
+
}
|
|
2397
|
+
if (changed) {
|
|
2398
|
+
this._events.next(new PristineChangeEvent(this.pristine, changedControl));
|
|
2393
2399
|
}
|
|
2394
2400
|
}
|
|
2395
2401
|
/** @internal */
|
|
2396
|
-
_updateTouched(opts = {}) {
|
|
2402
|
+
_updateTouched(opts = {}, changedControl) {
|
|
2397
2403
|
this.touched = this._anyControlsTouched();
|
|
2404
|
+
this._events.next(new TouchedChangeEvent(this.touched, changedControl));
|
|
2398
2405
|
if (this._parent && !opts.onlySelf) {
|
|
2399
|
-
this._parent._updateTouched(opts);
|
|
2406
|
+
this._parent._updateTouched(opts, changedControl);
|
|
2400
2407
|
}
|
|
2401
2408
|
}
|
|
2402
2409
|
/** @internal */
|
|
@@ -2782,8 +2789,8 @@ class FormGroup extends AbstractControl {
|
|
|
2782
2789
|
this._forEachChild((control, name) => {
|
|
2783
2790
|
control.reset(value ? value[name] : null, { onlySelf: true, emitEvent: options.emitEvent });
|
|
2784
2791
|
});
|
|
2785
|
-
this._updatePristine(options);
|
|
2786
|
-
this._updateTouched(options);
|
|
2792
|
+
this._updatePristine(options, this);
|
|
2793
|
+
this._updateTouched(options, this);
|
|
2787
2794
|
this.updateValueAndValidity(options);
|
|
2788
2795
|
}
|
|
2789
2796
|
/**
|
|
@@ -3514,10 +3521,10 @@ class NgForm extends ControlContainer {
|
|
|
3514
3521
|
path.pop();
|
|
3515
3522
|
return path.length ? this.form.get(path) : this.form;
|
|
3516
3523
|
}
|
|
3517
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3518
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
3524
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgForm, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3525
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: { options: ["ngFormOptions", "options"] }, outputs: { ngSubmit: "ngSubmit" }, host: { listeners: { "submit": "onSubmit($event)", "reset": "onReset()" } }, providers: [formDirectiveProvider$1], exportAs: ["ngForm"], usesInheritance: true, ngImport: i0 }); }
|
|
3519
3526
|
}
|
|
3520
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3527
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgForm, decorators: [{
|
|
3521
3528
|
type: Directive,
|
|
3522
3529
|
args: [{
|
|
3523
3530
|
selector: 'form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]',
|
|
@@ -3712,10 +3719,10 @@ class AbstractFormGroupDirective extends ControlContainer {
|
|
|
3712
3719
|
}
|
|
3713
3720
|
/** @internal */
|
|
3714
3721
|
_checkParentType() { }
|
|
3715
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3716
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
3722
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: AbstractFormGroupDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3723
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: AbstractFormGroupDirective, usesInheritance: true, ngImport: i0 }); }
|
|
3717
3724
|
}
|
|
3718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3725
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: AbstractFormGroupDirective, decorators: [{
|
|
3719
3726
|
type: Directive
|
|
3720
3727
|
}] });
|
|
3721
3728
|
|
|
@@ -3814,10 +3821,10 @@ class NgModelGroup extends AbstractFormGroupDirective {
|
|
|
3814
3821
|
throw modelGroupParentException();
|
|
3815
3822
|
}
|
|
3816
3823
|
}
|
|
3817
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3818
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
3824
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgModelGroup, deps: [{ token: ControlContainer, host: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
3825
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgModelGroup, selector: "[ngModelGroup]", inputs: { name: ["ngModelGroup", "name"] }, providers: [modelGroupProvider], exportAs: ["ngModelGroup"], usesInheritance: true, ngImport: i0 }); }
|
|
3819
3826
|
}
|
|
3820
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
3827
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgModelGroup, decorators: [{
|
|
3821
3828
|
type: Directive,
|
|
3822
3829
|
args: [{ selector: '[ngModelGroup]', providers: [modelGroupProvider], exportAs: 'ngModelGroup' }]
|
|
3823
3830
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -4093,10 +4100,10 @@ class NgModel extends NgControl {
|
|
|
4093
4100
|
_getPath(controlName) {
|
|
4094
4101
|
return this._parent ? controlPath(controlName, this._parent) : [controlName];
|
|
4095
4102
|
}
|
|
4096
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4097
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgModel, deps: [{ token: ControlContainer, host: true, optional: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: ChangeDetectorRef, optional: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4104
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: { name: "name", isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"], options: ["ngModelOptions", "options"] }, outputs: { update: "ngModelChange" }, providers: [formControlBinding$1], exportAs: ["ngModel"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4098
4105
|
}
|
|
4099
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4106
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgModel, decorators: [{
|
|
4100
4107
|
type: Directive,
|
|
4101
4108
|
args: [{
|
|
4102
4109
|
selector: '[ngModel]:not([formControlName]):not([formControl])',
|
|
@@ -4172,10 +4179,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
|
|
|
4172
4179
|
* @ngModule FormsModule
|
|
4173
4180
|
*/
|
|
4174
4181
|
class ɵNgNoValidate {
|
|
4175
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4176
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4182
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵNgNoValidate, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4183
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])", host: { attributes: { "novalidate": "" } }, ngImport: i0 }); }
|
|
4177
4184
|
}
|
|
4178
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4185
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵNgNoValidate, decorators: [{
|
|
4179
4186
|
type: Directive,
|
|
4180
4187
|
args: [{
|
|
4181
4188
|
selector: 'form:not([ngNoForm]):not([ngNativeValidate])',
|
|
@@ -4231,10 +4238,10 @@ class NumberValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4231
4238
|
fn(value == '' ? null : parseFloat(value));
|
|
4232
4239
|
};
|
|
4233
4240
|
}
|
|
4234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4235
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4241
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NumberValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4242
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]", host: { listeners: { "input": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [NUMBER_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4236
4243
|
}
|
|
4237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4244
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NumberValueAccessor, decorators: [{
|
|
4238
4245
|
type: Directive,
|
|
4239
4246
|
args: [{
|
|
4240
4247
|
selector: 'input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]',
|
|
@@ -4298,10 +4305,10 @@ class RadioControlRegistry {
|
|
|
4298
4305
|
return controlPair[0]._parent === accessor._control._parent &&
|
|
4299
4306
|
controlPair[1].name === accessor.name;
|
|
4300
4307
|
}
|
|
4301
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4302
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4308
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RadioControlRegistry, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
4309
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RadioControlRegistry, providedIn: 'root' }); }
|
|
4303
4310
|
}
|
|
4304
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RadioControlRegistry, decorators: [{
|
|
4305
4312
|
type: Injectable,
|
|
4306
4313
|
args: [{ providedIn: 'root' }]
|
|
4307
4314
|
}] });
|
|
@@ -4412,10 +4419,10 @@ class RadioControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4412
4419
|
if (!this.name && this.formControlName)
|
|
4413
4420
|
this.name = this.formControlName;
|
|
4414
4421
|
}
|
|
4415
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4416
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4422
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RadioControlValueAccessor, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: RadioControlRegistry }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4423
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: RadioControlValueAccessor, selector: "input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]", inputs: { name: "name", formControlName: "formControlName", value: "value" }, host: { listeners: { "change": "onChange()", "blur": "onTouched()" } }, providers: [RADIO_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4417
4424
|
}
|
|
4418
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RadioControlValueAccessor, decorators: [{
|
|
4419
4426
|
type: Directive,
|
|
4420
4427
|
args: [{
|
|
4421
4428
|
selector: 'input[type=radio][formControlName],input[type=radio][formControl],input[type=radio][ngModel]',
|
|
@@ -4476,10 +4483,10 @@ class RangeValueAccessor extends BuiltInControlValueAccessor {
|
|
|
4476
4483
|
fn(value == '' ? null : parseFloat(value));
|
|
4477
4484
|
};
|
|
4478
4485
|
}
|
|
4479
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4480
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4486
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RangeValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4487
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: RangeValueAccessor, selector: "input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]", host: { listeners: { "change": "onChange($event.target.value)", "input": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [RANGE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
4481
4488
|
}
|
|
4482
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4489
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RangeValueAccessor, decorators: [{
|
|
4483
4490
|
type: Directive,
|
|
4484
4491
|
args: [{
|
|
4485
4492
|
selector: 'input[type=range][formControlName],input[type=range][formControl],input[type=range][ngModel]',
|
|
@@ -4610,10 +4617,10 @@ class FormControlDirective extends NgControl {
|
|
|
4610
4617
|
_isControlChanged(changes) {
|
|
4611
4618
|
return changes.hasOwnProperty('form');
|
|
4612
4619
|
}
|
|
4613
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4614
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4620
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormControlDirective, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: NG_MODEL_WITH_FORM_CONTROL_WARNING, optional: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4621
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: FormControlDirective, selector: "[formControl]", inputs: { form: ["formControl", "form"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, providers: [formControlBinding], exportAs: ["ngForm"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4615
4622
|
}
|
|
4616
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4623
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormControlDirective, decorators: [{
|
|
4617
4624
|
type: Directive,
|
|
4618
4625
|
args: [{ selector: '[formControl]', providers: [formControlBinding], exportAs: 'ngForm' }]
|
|
4619
4626
|
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
@@ -4956,10 +4963,10 @@ class FormGroupDirective extends ControlContainer {
|
|
|
4956
4963
|
throw missingFormException();
|
|
4957
4964
|
}
|
|
4958
4965
|
}
|
|
4959
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4960
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
4966
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormGroupDirective, deps: [{ token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: CALL_SET_DISABLED_STATE, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4967
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: FormGroupDirective, selector: "[formGroup]", inputs: { form: ["formGroup", "form"] }, outputs: { ngSubmit: "ngSubmit" }, host: { listeners: { "submit": "onSubmit($event)", "reset": "onReset()" } }, providers: [formDirectiveProvider], exportAs: ["ngForm"], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
4961
4968
|
}
|
|
4962
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
4969
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormGroupDirective, decorators: [{
|
|
4963
4970
|
type: Directive,
|
|
4964
4971
|
args: [{
|
|
4965
4972
|
selector: '[formGroup]',
|
|
@@ -5067,10 +5074,10 @@ class FormGroupName extends AbstractFormGroupDirective {
|
|
|
5067
5074
|
throw groupParentException();
|
|
5068
5075
|
}
|
|
5069
5076
|
}
|
|
5070
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5071
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5077
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormGroupName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5078
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: FormGroupName, selector: "[formGroupName]", inputs: { name: ["formGroupName", "name"] }, providers: [formGroupNameProvider], usesInheritance: true, ngImport: i0 }); }
|
|
5072
5079
|
}
|
|
5073
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5080
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormGroupName, decorators: [{
|
|
5074
5081
|
type: Directive,
|
|
5075
5082
|
args: [{ selector: '[formGroupName]', providers: [formGroupNameProvider] }]
|
|
5076
5083
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5187,10 +5194,10 @@ class FormArrayName extends ControlContainer {
|
|
|
5187
5194
|
throw arrayParentException();
|
|
5188
5195
|
}
|
|
5189
5196
|
}
|
|
5190
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5191
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5197
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormArrayName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5198
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: FormArrayName, selector: "[formArrayName]", inputs: { name: ["formArrayName", "name"] }, providers: [formArrayNameProvider], usesInheritance: true, ngImport: i0 }); }
|
|
5192
5199
|
}
|
|
5193
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5200
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormArrayName, decorators: [{
|
|
5194
5201
|
type: Directive,
|
|
5195
5202
|
args: [{ selector: '[formArrayName]', providers: [formArrayNameProvider] }]
|
|
5196
5203
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5368,10 +5375,10 @@ class FormControlName extends NgControl {
|
|
|
5368
5375
|
this.control = this.formDirective.addControl(this);
|
|
5369
5376
|
this._added = true;
|
|
5370
5377
|
}
|
|
5371
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5372
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5378
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormControlName, deps: [{ token: ControlContainer, host: true, optional: true, skipSelf: true }, { token: NG_VALIDATORS, optional: true, self: true }, { token: NG_ASYNC_VALIDATORS, optional: true, self: true }, { token: NG_VALUE_ACCESSOR, optional: true, self: true }, { token: NG_MODEL_WITH_FORM_CONTROL_WARNING, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5379
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: FormControlName, selector: "[formControlName]", inputs: { name: ["formControlName", "name"], isDisabled: ["disabled", "isDisabled"], model: ["ngModel", "model"] }, outputs: { update: "ngModelChange" }, providers: [controlNameBinding], usesInheritance: true, usesOnChanges: true, ngImport: i0 }); }
|
|
5373
5380
|
}
|
|
5374
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5381
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormControlName, decorators: [{
|
|
5375
5382
|
type: Directive,
|
|
5376
5383
|
args: [{ selector: '[formControlName]', providers: [controlNameBinding] }]
|
|
5377
5384
|
}], ctorParameters: () => [{ type: ControlContainer, decorators: [{
|
|
@@ -5548,10 +5555,10 @@ class SelectControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
5548
5555
|
const id = _extractId$1(valueString);
|
|
5549
5556
|
return this._optionMap.has(id) ? this._optionMap.get(id) : valueString;
|
|
5550
5557
|
}
|
|
5551
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5552
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5558
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: SelectControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5559
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "onChange($event.target.value)", "blur": "onTouched()" } }, providers: [SELECT_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
5553
5560
|
}
|
|
5554
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5561
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: SelectControlValueAccessor, decorators: [{
|
|
5555
5562
|
type: Directive,
|
|
5556
5563
|
args: [{
|
|
5557
5564
|
selector: 'select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',
|
|
@@ -5612,10 +5619,10 @@ class NgSelectOption {
|
|
|
5612
5619
|
this._select.writeValue(this._select.value);
|
|
5613
5620
|
}
|
|
5614
5621
|
}
|
|
5615
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5616
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5622
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgSelectOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5623
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: NgSelectOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
|
|
5617
5624
|
}
|
|
5618
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5625
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NgSelectOption, decorators: [{
|
|
5619
5626
|
type: Directive,
|
|
5620
5627
|
args: [{ selector: 'option' }]
|
|
5621
5628
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectControlValueAccessor, decorators: [{
|
|
@@ -5779,10 +5786,10 @@ class SelectMultipleControlValueAccessor extends BuiltInControlValueAccessor {
|
|
|
5779
5786
|
const id = _extractId(valueString);
|
|
5780
5787
|
return this._optionMap.has(id) ? this._optionMap.get(id)._value : valueString;
|
|
5781
5788
|
}
|
|
5782
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5783
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5789
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: SelectMultipleControlValueAccessor, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5790
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: SelectMultipleControlValueAccessor, selector: "select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]", inputs: { compareWith: "compareWith" }, host: { listeners: { "change": "onChange($event.target)", "blur": "onTouched()" } }, providers: [SELECT_MULTIPLE_VALUE_ACCESSOR], usesInheritance: true, ngImport: i0 }); }
|
|
5784
5791
|
}
|
|
5785
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5792
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: SelectMultipleControlValueAccessor, decorators: [{
|
|
5786
5793
|
type: Directive,
|
|
5787
5794
|
args: [{
|
|
5788
5795
|
selector: 'select[multiple][formControlName],select[multiple][formControl],select[multiple][ngModel]',
|
|
@@ -5853,10 +5860,10 @@ class ɵNgSelectMultipleOption {
|
|
|
5853
5860
|
this._select.writeValue(this._select.value);
|
|
5854
5861
|
}
|
|
5855
5862
|
}
|
|
5856
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5857
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5863
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵNgSelectMultipleOption, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: SelectMultipleControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5864
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: ɵNgSelectMultipleOption, selector: "option", inputs: { ngValue: "ngValue", value: "value" }, ngImport: i0 }); }
|
|
5858
5865
|
}
|
|
5859
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5866
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵNgSelectMultipleOption, decorators: [{
|
|
5860
5867
|
type: Directive,
|
|
5861
5868
|
args: [{ selector: 'option' }]
|
|
5862
5869
|
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }, { type: SelectMultipleControlValueAccessor, decorators: [{
|
|
@@ -5928,10 +5935,10 @@ class AbstractValidatorDirective {
|
|
|
5928
5935
|
enabled(input) {
|
|
5929
5936
|
return input != null /* both `null` and `undefined` */;
|
|
5930
5937
|
}
|
|
5931
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5932
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5938
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: AbstractValidatorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5939
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: AbstractValidatorDirective, usesOnChanges: true, ngImport: i0 }); }
|
|
5933
5940
|
}
|
|
5934
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5941
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: AbstractValidatorDirective, decorators: [{
|
|
5935
5942
|
type: Directive
|
|
5936
5943
|
}] });
|
|
5937
5944
|
/**
|
|
@@ -5974,10 +5981,10 @@ class MaxValidator extends AbstractValidatorDirective {
|
|
|
5974
5981
|
/** @internal */
|
|
5975
5982
|
this.createValidator = (max) => maxValidator(max);
|
|
5976
5983
|
}
|
|
5977
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5978
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
5984
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MaxValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
5985
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: MaxValidator, selector: "input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]", inputs: { max: "max" }, host: { properties: { "attr.max": "_enabled ? max : null" } }, providers: [MAX_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
5979
5986
|
}
|
|
5980
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
5987
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MaxValidator, decorators: [{
|
|
5981
5988
|
type: Directive,
|
|
5982
5989
|
args: [{
|
|
5983
5990
|
selector: 'input[type=number][max][formControlName],input[type=number][max][formControl],input[type=number][max][ngModel]',
|
|
@@ -6027,10 +6034,10 @@ class MinValidator extends AbstractValidatorDirective {
|
|
|
6027
6034
|
/** @internal */
|
|
6028
6035
|
this.createValidator = (min) => minValidator(min);
|
|
6029
6036
|
}
|
|
6030
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6031
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6037
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MinValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6038
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: MinValidator, selector: "input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]", inputs: { min: "min" }, host: { properties: { "attr.min": "_enabled ? min : null" } }, providers: [MIN_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6032
6039
|
}
|
|
6033
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6040
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MinValidator, decorators: [{
|
|
6034
6041
|
type: Directive,
|
|
6035
6042
|
args: [{
|
|
6036
6043
|
selector: 'input[type=number][min][formControlName],input[type=number][min][formControl],input[type=number][min][ngModel]',
|
|
@@ -6091,10 +6098,10 @@ class RequiredValidator extends AbstractValidatorDirective {
|
|
|
6091
6098
|
enabled(input) {
|
|
6092
6099
|
return input;
|
|
6093
6100
|
}
|
|
6094
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6095
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6101
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6102
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: { required: "required" }, host: { properties: { "attr.required": "_enabled ? \"\" : null" } }, providers: [REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6096
6103
|
}
|
|
6097
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6104
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: RequiredValidator, decorators: [{
|
|
6098
6105
|
type: Directive,
|
|
6099
6106
|
args: [{
|
|
6100
6107
|
selector: ':not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]',
|
|
@@ -6131,10 +6138,10 @@ class CheckboxRequiredValidator extends RequiredValidator {
|
|
|
6131
6138
|
/** @internal */
|
|
6132
6139
|
this.createValidator = (input) => requiredTrueValidator;
|
|
6133
6140
|
}
|
|
6134
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6135
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6141
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: CheckboxRequiredValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6142
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: CheckboxRequiredValidator, selector: "input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]", host: { properties: { "attr.required": "_enabled ? \"\" : null" } }, providers: [CHECKBOX_REQUIRED_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6136
6143
|
}
|
|
6137
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6144
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: CheckboxRequiredValidator, decorators: [{
|
|
6138
6145
|
type: Directive,
|
|
6139
6146
|
args: [{
|
|
6140
6147
|
selector: 'input[type=checkbox][required][formControlName],input[type=checkbox][required][formControl],input[type=checkbox][required][ngModel]',
|
|
@@ -6192,10 +6199,10 @@ class EmailValidator extends AbstractValidatorDirective {
|
|
|
6192
6199
|
enabled(input) {
|
|
6193
6200
|
return input;
|
|
6194
6201
|
}
|
|
6195
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6196
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6202
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EmailValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6203
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: EmailValidator, selector: "[email][formControlName],[email][formControl],[email][ngModel]", inputs: { email: "email" }, providers: [EMAIL_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6197
6204
|
}
|
|
6198
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6205
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: EmailValidator, decorators: [{
|
|
6199
6206
|
type: Directive,
|
|
6200
6207
|
args: [{
|
|
6201
6208
|
selector: '[email][formControlName],[email][formControl],[email][ngModel]',
|
|
@@ -6244,10 +6251,10 @@ class MinLengthValidator extends AbstractValidatorDirective {
|
|
|
6244
6251
|
/** @internal */
|
|
6245
6252
|
this.createValidator = (minlength) => minLengthValidator(minlength);
|
|
6246
6253
|
}
|
|
6247
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6248
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MinLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6255
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: MinLengthValidator, selector: "[minlength][formControlName],[minlength][formControl],[minlength][ngModel]", inputs: { minlength: "minlength" }, host: { properties: { "attr.minlength": "_enabled ? minlength : null" } }, providers: [MIN_LENGTH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6249
6256
|
}
|
|
6250
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MinLengthValidator, decorators: [{
|
|
6251
6258
|
type: Directive,
|
|
6252
6259
|
args: [{
|
|
6253
6260
|
selector: '[minlength][formControlName],[minlength][formControl],[minlength][ngModel]',
|
|
@@ -6297,10 +6304,10 @@ class MaxLengthValidator extends AbstractValidatorDirective {
|
|
|
6297
6304
|
/** @internal */
|
|
6298
6305
|
this.createValidator = (maxlength) => maxLengthValidator(maxlength);
|
|
6299
6306
|
}
|
|
6300
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6301
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6307
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MaxLengthValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6308
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: { maxlength: "maxlength" }, host: { properties: { "attr.maxlength": "_enabled ? maxlength : null" } }, providers: [MAX_LENGTH_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6302
6309
|
}
|
|
6303
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6310
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: MaxLengthValidator, decorators: [{
|
|
6304
6311
|
type: Directive,
|
|
6305
6312
|
args: [{
|
|
6306
6313
|
selector: '[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]',
|
|
@@ -6352,10 +6359,10 @@ class PatternValidator extends AbstractValidatorDirective {
|
|
|
6352
6359
|
/** @internal */
|
|
6353
6360
|
this.createValidator = (input) => patternValidator(input);
|
|
6354
6361
|
}
|
|
6355
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6356
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6362
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: PatternValidator, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6363
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.0-next.3", type: PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: { pattern: "pattern" }, host: { properties: { "attr.pattern": "_enabled ? pattern : null" } }, providers: [PATTERN_VALIDATOR], usesInheritance: true, ngImport: i0 }); }
|
|
6357
6364
|
}
|
|
6358
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: PatternValidator, decorators: [{
|
|
6359
6366
|
type: Directive,
|
|
6360
6367
|
args: [{
|
|
6361
6368
|
selector: '[pattern][formControlName],[pattern][formControl],[pattern][ngModel]',
|
|
@@ -6394,8 +6401,8 @@ const REACTIVE_DRIVEN_DIRECTIVES = [FormControlDirective, FormGroupDirective, Fo
|
|
|
6394
6401
|
* Internal module used for sharing directives between FormsModule and ReactiveFormsModule
|
|
6395
6402
|
*/
|
|
6396
6403
|
class ɵInternalFormsSharedModule {
|
|
6397
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6398
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
6404
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
6405
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, declarations: [ɵNgNoValidate,
|
|
6399
6406
|
NgSelectOption,
|
|
6400
6407
|
ɵNgSelectMultipleOption,
|
|
6401
6408
|
DefaultValueAccessor,
|
|
@@ -6434,9 +6441,9 @@ class ɵInternalFormsSharedModule {
|
|
|
6434
6441
|
EmailValidator,
|
|
6435
6442
|
MinValidator,
|
|
6436
6443
|
MaxValidator] }); }
|
|
6437
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6444
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule }); }
|
|
6438
6445
|
}
|
|
6439
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
6446
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ɵInternalFormsSharedModule, decorators: [{
|
|
6440
6447
|
type: NgModule,
|
|
6441
6448
|
args: [{
|
|
6442
6449
|
declarations: SHARED_FORM_DIRECTIVES,
|
|
@@ -6779,8 +6786,8 @@ class FormArray extends AbstractControl {
|
|
|
6779
6786
|
this._forEachChild((control, index) => {
|
|
6780
6787
|
control.reset(value[index], { onlySelf: true, emitEvent: options.emitEvent });
|
|
6781
6788
|
});
|
|
6782
|
-
this._updatePristine(options);
|
|
6783
|
-
this._updateTouched(options);
|
|
6789
|
+
this._updatePristine(options, this);
|
|
6790
|
+
this._updateTouched(options, this);
|
|
6784
6791
|
this.updateValueAndValidity(options);
|
|
6785
6792
|
}
|
|
6786
6793
|
/**
|
|
@@ -7088,10 +7095,10 @@ class FormBuilder {
|
|
|
7088
7095
|
return this.control(controls);
|
|
7089
7096
|
}
|
|
7090
7097
|
}
|
|
7091
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7092
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7098
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7099
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormBuilder, providedIn: 'root' }); }
|
|
7093
7100
|
}
|
|
7094
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7101
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormBuilder, decorators: [{
|
|
7095
7102
|
type: Injectable,
|
|
7096
7103
|
args: [{ providedIn: 'root' }]
|
|
7097
7104
|
}] });
|
|
@@ -7103,10 +7110,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
|
|
|
7103
7110
|
* @publicApi
|
|
7104
7111
|
*/
|
|
7105
7112
|
class NonNullableFormBuilder {
|
|
7106
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7107
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7113
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NonNullableFormBuilder, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7114
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NonNullableFormBuilder, providedIn: 'root', useFactory: () => inject(FormBuilder).nonNullable }); }
|
|
7108
7115
|
}
|
|
7109
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7116
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: NonNullableFormBuilder, decorators: [{
|
|
7110
7117
|
type: Injectable,
|
|
7111
7118
|
args: [{
|
|
7112
7119
|
providedIn: 'root',
|
|
@@ -7132,10 +7139,10 @@ class UntypedFormBuilder extends FormBuilder {
|
|
|
7132
7139
|
array(controlsConfig, validatorOrOpts, asyncValidator) {
|
|
7133
7140
|
return super.array(controlsConfig, validatorOrOpts, asyncValidator);
|
|
7134
7141
|
}
|
|
7135
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7136
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7142
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: UntypedFormBuilder, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7143
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: UntypedFormBuilder, providedIn: 'root' }); }
|
|
7137
7144
|
}
|
|
7138
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7145
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: UntypedFormBuilder, decorators: [{
|
|
7139
7146
|
type: Injectable,
|
|
7140
7147
|
args: [{ providedIn: 'root' }]
|
|
7141
7148
|
}] });
|
|
@@ -7148,7 +7155,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
|
|
|
7148
7155
|
/**
|
|
7149
7156
|
* @publicApi
|
|
7150
7157
|
*/
|
|
7151
|
-
const VERSION = new Version('18.0.0-next.
|
|
7158
|
+
const VERSION = new Version('18.0.0-next.3');
|
|
7152
7159
|
|
|
7153
7160
|
/**
|
|
7154
7161
|
* Exports the required providers and directives for template-driven forms,
|
|
@@ -7177,11 +7184,11 @@ class FormsModule {
|
|
|
7177
7184
|
}]
|
|
7178
7185
|
};
|
|
7179
7186
|
}
|
|
7180
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7181
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
7182
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7187
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7188
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormsModule, declarations: [NgModel, NgModelGroup, NgForm], exports: [ɵInternalFormsSharedModule, NgModel, NgModelGroup, NgForm] }); }
|
|
7189
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormsModule, imports: [ɵInternalFormsSharedModule] }); }
|
|
7183
7190
|
}
|
|
7184
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7191
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: FormsModule, decorators: [{
|
|
7185
7192
|
type: NgModule,
|
|
7186
7193
|
args: [{
|
|
7187
7194
|
declarations: TEMPLATE_DRIVEN_DIRECTIVES,
|
|
@@ -7223,11 +7230,11 @@ class ReactiveFormsModule {
|
|
|
7223
7230
|
]
|
|
7224
7231
|
};
|
|
7225
7232
|
}
|
|
7226
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7227
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.
|
|
7228
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7233
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ReactiveFormsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
7234
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.0-next.3", ngImport: i0, type: ReactiveFormsModule, declarations: [FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName], exports: [ɵInternalFormsSharedModule, FormControlDirective, FormGroupDirective, FormControlName, FormGroupName, FormArrayName] }); }
|
|
7235
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ReactiveFormsModule, imports: [ɵInternalFormsSharedModule] }); }
|
|
7229
7236
|
}
|
|
7230
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.
|
|
7237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.3", ngImport: i0, type: ReactiveFormsModule, decorators: [{
|
|
7231
7238
|
type: NgModule,
|
|
7232
7239
|
args: [{
|
|
7233
7240
|
declarations: [REACTIVE_DRIVEN_DIRECTIVES],
|
|
@@ -7259,5 +7266,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.0-next.2",
|
|
|
7259
7266
|
* Generated bundle index. Do not edit.
|
|
7260
7267
|
*/
|
|
7261
7268
|
|
|
7262
|
-
export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, DefaultValueAccessor, EmailValidator, FormArray, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
|
|
7269
|
+
export { AbstractControl, AbstractControlDirective, AbstractFormGroupDirective, COMPOSITION_BUFFER_MODE, CheckboxControlValueAccessor, CheckboxRequiredValidator, ControlContainer, ControlEvent, DefaultValueAccessor, EmailValidator, FormArray, FormArrayName, FormBuilder, FormControl, FormControlDirective, FormControlName, FormGroup, FormGroupDirective, FormGroupName, FormRecord, FormsModule, MaxLengthValidator, MaxValidator, MinLengthValidator, MinValidator, NG_ASYNC_VALIDATORS, NG_VALIDATORS, NG_VALUE_ACCESSOR, NgControl, NgControlStatus, NgControlStatusGroup, NgForm, NgModel, NgModelGroup, NgSelectOption, NonNullableFormBuilder, NumberValueAccessor, PatternValidator, PristineChangeEvent as PristineEvent, RadioControlValueAccessor, RangeValueAccessor, ReactiveFormsModule, RequiredValidator, SelectControlValueAccessor, SelectMultipleControlValueAccessor, StatusChangeEvent as StatusEvent, TouchedChangeEvent as TouchedEvent, UntypedFormArray, UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, VERSION, Validators, ValueChangeEvent, isFormArray, isFormControl, isFormGroup, isFormRecord, ɵInternalFormsSharedModule, ɵNgNoValidate, ɵNgSelectMultipleOption };
|
|
7263
7270
|
//# sourceMappingURL=forms.mjs.map
|