@rxap/forms
Version:
This package provides a set of tools and directives to simplify working with Angular forms, including reactive forms, custom validators, and form directives for handling loading, submitting, and error states. It offers decorators for defining forms and co
3,575 lines • 147 kB
HTML
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>angular-forms</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
<link rel="stylesheet" href="../styles/style.css">
<link rel="stylesheet" href="../styles/dark.css">
</head>
<body>
<script>
// Blocking script to avoid flickering dark mode
// Dark mode toggle button
var useDark = window.matchMedia('(prefers-color-scheme: dark)');
var darkModeState = useDark.matches;
var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
function checkToggle(check) {
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
$darkModeToggleSwitchers[i].checked = check;
}
}
function toggleDarkMode(state) {
if (window.localStorage) {
localStorage.setItem('compodoc_darkmode-state', state);
}
checkToggle(state);
const hasClass = document.body.classList.contains('dark');
if (state) {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.add('dark');
}
if (!hasClass) {
document.body.classList.add('dark');
}
} else {
for (var i = 0; i < $darkModeToggles.length; i++) {
$darkModeToggles[i].classList.remove('dark');
}
if (hasClass) {
document.body.classList.remove('dark');
}
}
}
useDark.addEventListener('change', function (evt) {
toggleDarkMode(evt.matches);
});
if (darkModeStateLocal) {
darkModeState = darkModeStateLocal === 'true';
}
toggleDarkMode(darkModeState);
</script>
<div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
<div class="d-flex">
<a href="../" class="navbar-brand">angular-forms</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</div>
</div>
<div class="xs-menu menu" id="mobile-menu">
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
</div>
<div class="container-fluid main">
<div class="row main">
<div class="d-none d-md-block menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content class">
<div class="content-data">
<ol class="breadcrumb">
<li class="breadcrumb-item">Classes</li>
<li class="breadcrumb-item" >RxapFormControl</li>
</ol>
<ul class="nav nav-tabs" role="tablist">
<li class="nav-item">
<a href="#info"
class="nav-link"
class="nav-link active"
role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
</li>
<li class="nav-item">
<a href="#source"
class="nav-link"
role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane fade active in" id="info">
<p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>src/lib/form-control.ts</code>
</p>
<p class="comment">
<h3>Extends</h3>
</p>
<p class="comment">
<code>UntypedFormControl</code>
</p>
<section data-compodoc="block-index">
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>
<tr>
<td class="col-md-4">
<h6><b>Properties</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Readonly</span>
<a href="#controlId" >controlId</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#dirty$" >dirty$</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#disabled$" >disabled$</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#enabled$" >enabled$</a>
</li>
<li>
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<a href="#errors" >errors</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#errors$" >errors$</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#initialState" >initialState</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#readonly$" >readonly$</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#stateChanges" >stateChanges</a>
</li>
<li>
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<a href="#status" >status</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#status$" >status$</a>
</li>
<li>
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<a href="#statusChanges" >statusChanges</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#touch$" >touch$</a>
</li>
<li>
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<a href="#value" >value</a>
</li>
<li>
<span class="modifier">Readonly</span>
<a href="#value$" >value$</a>
</li>
<li>
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<a href="#valueChanges" >valueChanges</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<span class="modifier">Public</span>
<a href="#disabledWhile" >disabledWhile</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#enabledWhile" >enabledWhile</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#getError" >getError</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#hasError" >hasError</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#hasErrorAndDirty" >hasErrorAndDirty</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#hasErrorAndTouched" >hasErrorAndTouched</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#markAllAsDirty" >markAllAsDirty</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#markAsDirty" >markAsDirty</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#markAsPristine" >markAsPristine</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#markAsTouched" >markAsTouched</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#markAsUntouched" >markAsUntouched</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#mergeAsyncValidators" >mergeAsyncValidators</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#mergeValidators" >mergeValidators</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#patchValue" >patchValue</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#patchValue" >patchValue</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#patchValue" >patchValue</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#registerOnSetValue" >registerOnSetValue</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#reset" >reset</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setAsyncValidators" >setAsyncValidators</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#setDisable" >setDisable</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#setEnable" >setEnable</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#setError" >setError</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setErrors" >setErrors</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setValidators" >setValidators</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setValue" >setValue</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setValue" >setValue</a>
</li>
<li>
<span class="modifier">Public</span>
<span class="modifier"></span>
<a href="#setValue" >setValue</a>
</li>
<li>
<span class="modifier">Public</span>
<a href="#validateOn" >validateOn</a>
</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<h6><b>Accessors</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#readonly" >readonly</a>
</li>
<li>
<a href="#controlPath" >controlPath</a>
</li>
<li>
<a href="#fullControlPath" >fullControlPath</a>
</li>
</ul>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-constructor">
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(formState: <a href="../interfaces/BoxedValue.html" target="_self">OrBoxedValue<T></a>, options)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="124" class="link-to-prism">src/lib/form-control.ts:124</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div>
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>formState</td>
<td>
<code><a href="../interfaces/BoxedValue.html" target="_self" >OrBoxedValue<T></a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-properties">
<h3 id="inputs">
Properties
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="controlId"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>controlId</b></span>
<a href="#controlId"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="95" class="link-to-prism">src/lib/form-control.ts:95</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="dirty$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>dirty$</b></span>
<a href="#dirty$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.dirtyChanges
.asObservable()
.pipe(distinctUntilChanged())</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="75" class="link-to-prism">src/lib/form-control.ts:75</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="disabled$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>disabled$</b></span>
<a href="#disabled$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlDisabled$<T>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="80" class="link-to-prism">src/lib/form-control.ts:80</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="enabled$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>enabled$</b></span>
<a href="#enabled$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlEnabled$<T>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="81" class="link-to-prism">src/lib/form-control.ts:81</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="errors"></a>
<span class="name">
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<span ><b>errors</b></span>
<a href="#errors"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>E | null</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="59" class="link-to-prism">src/lib/form-control.ts:59</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="errors$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>errors$</b></span>
<a href="#errors$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlErrorChanges$<E>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="93" class="link-to-prism">src/lib/form-control.ts:93</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="initialState"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>initialState</b></span>
<a href="#initialState"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../interfaces/BoxedValue.html" target="_self" >OrBoxedValue<T></a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="66" class="link-to-prism">src/lib/form-control.ts:66</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="readonly$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>readonly$</b></span>
<a href="#readonly$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlReadonly$<T>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="100" class="link-to-prism">src/lib/form-control.ts:100</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="stateChanges"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>stateChanges</b></span>
<a href="#stateChanges"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>new Subject<void>()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="99" class="link-to-prism">src/lib/form-control.ts:99</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="status"></a>
<span class="name">
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<span ><b>status</b></span>
<a href="#status"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../miscellaneous/typealiases.html#ControlState" target="_self" >ControlState</a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="64" class="link-to-prism">src/lib/form-control.ts:64</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="status$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>status$</b></span>
<a href="#status$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlStatusChanges$<T>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="92" class="link-to-prism">src/lib/form-control.ts:92</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="statusChanges"></a>
<span class="name">
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<span ><b>statusChanges</b></span>
<a href="#statusChanges"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code><a href="../miscellaneous/typealiases.html#ControlState" target="_self" >Observable<ControlState></a></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="65" class="link-to-prism">src/lib/form-control.ts:65</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="touch$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>touch$</b></span>
<a href="#touch$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>this.touchChanges
.asObservable()
.pipe(distinctUntilChanged())</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="72" class="link-to-prism">src/lib/form-control.ts:72</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="value"></a>
<span class="name">
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<span ><b>value</b></span>
<a href="#value"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>T</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="58" class="link-to-prism">src/lib/form-control.ts:58</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="value$"></a>
<span class="name">
<span class="modifier">Readonly</span>
<span ><b>value$</b></span>
<a href="#value$"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Observable<T></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Default value : </i><code>controlValueChanges$<T>(this)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="79" class="link-to-prism">src/lib/form-control.ts:79</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="valueChanges"></a>
<span class="name">
<span class="modifier"></span>
<span class="modifier">Readonly</span>
<span ><b>valueChanges</b></span>
<a href="#valueChanges"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<i>Type : </i> <code>Observable<T></code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="62" class="link-to-prism">src/lib/form-control.ts:62</a></div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-methods">
<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="disabledWhile"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>disabledWhile</b></span>
<a href="#disabledWhile"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>disabledWhile(observable: Observable<boolean>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="181"
class="link-to-prism">src/lib/form-control.ts:181</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>observable</td>
<td>
<code>Observable<boolean></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="enabledWhile"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>enabledWhile</b></span>
<a href="#enabledWhile"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>enabledWhile(observable: Observable<boolean>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="188"
class="link-to-prism">src/lib/form-control.ts:188</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>observable</td>
<td>
<code>Observable<boolean></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="getError"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>getError</b></span>
<a href="#getError"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>getError(errorCode: K)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="269"
class="link-to-prism">src/lib/form-control.ts:269</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Type parameters :</b>
<ul class="type-parameters">
<li>K</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>errorCode</td>
<td>
<code>K</code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code> | null</code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="hasError"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>hasError</b></span>
<a href="#hasError"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>hasError(errorCode: K)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="273"
class="link-to-prism">src/lib/form-control.ts:273</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<b>Type parameters :</b>
<ul class="type-parameters">
<li>K</li>
</ul>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>errorCode</td>
<td>
<code>K</code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="hasErrorAndDirty"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>hasErrorAndDirty</b></span>
<a href="#hasErrorAndDirty"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>hasErrorAndDirty(error: <a href="../undefineds/ExtractStrings.html" target="_self">ExtractStrings<E></a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="289"
class="link-to-prism">src/lib/form-control.ts:289</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>
<code><a href="../miscellaneous/typealiases.html#ExtractStrings" target="_self" >ExtractStrings<E></a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="hasErrorAndTouched"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>hasErrorAndTouched</b></span>
<a href="#hasErrorAndTouched"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>hasErrorAndTouched(error: <a href="../undefineds/ExtractStrings.html" target="_self">ExtractStrings<E></a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="285"
class="link-to-prism">src/lib/form-control.ts:285</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>error</td>
<td>
<code><a href="../miscellaneous/typealiases.html#ExtractStrings" target="_self" >ExtractStrings<E></a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="markAllAsDirty"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>markAllAsDirty</b></span>
<a href="#markAllAsDirty"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>markAllAsDirty()</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="228"
class="link-to-prism">src/lib/form-control.ts:228</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="markAsDirty"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>markAsDirty</b></span>
<a href="#markAsDirty"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>markAsDirty(opts?: <a href="../undefineds/OnlySelf.html" target="_self">OnlySelf</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="223"
class="link-to-prism">src/lib/form-control.ts:223</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#OnlySelf" target="_self" >OnlySelf</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="markAsPristine"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>markAsPristine</b></span>
<a href="#markAsPristine"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>markAsPristine(opts?: <a href="../undefineds/OnlySelf.html" target="_self">OnlySelf</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="218"
class="link-to-prism">src/lib/form-control.ts:218</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#OnlySelf" target="_self" >OnlySelf</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="markAsTouched"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>markAsTouched</b></span>
<a href="#markAsTouched"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>markAsTouched(opts?: <a href="../undefineds/OnlySelf.html" target="_self">OnlySelf</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="208"
class="link-to-prism">src/lib/form-control.ts:208</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#OnlySelf" target="_self" >OnlySelf</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="markAsUntouched"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>markAsUntouched</b></span>
<a href="#markAsUntouched"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>markAsUntouched(opts?: <a href="../undefineds/OnlySelf.html" target="_self">OnlySelf</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="213"
class="link-to-prism">src/lib/form-control.ts:213</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#OnlySelf" target="_self" >OnlySelf</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="mergeAsyncValidators"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>mergeAsyncValidators</b></span>
<a href="#mergeAsyncValidators"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>mergeAsyncValidators(validators: <a href="../undefineds/AsyncValidator.html" target="_self">AsyncValidator</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="199"
class="link-to-prism">src/lib/form-control.ts:199</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>validators</td>
<td>
<code><a href="../miscellaneous/typealiases.html#AsyncValidator" target="_self" >AsyncValidator</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="mergeValidators"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>mergeValidators</b></span>
<a href="#mergeValidators"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>mergeValidators(validators: <a href="../undefineds/Validator.html" target="_self">Validator</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="195"
class="link-to-prism">src/lib/form-control.ts:195</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>validators</td>
<td>
<code><a href="../miscellaneous/typealiases.html#Validator" target="_self" >Validator</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="patchValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>patchValue</b></span>
<a href="#patchValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>patchValue(valueOrObservable: Observable<T>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="163"
class="link-to-prism">src/lib/form-control.ts:163</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code>Observable<T></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code>Subscription</code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="patchValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>patchValue</b></span>
<a href="#patchValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>patchValue(valueOrObservable: T, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="167"
class="link-to-prism">src/lib/form-control.ts:167</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code>T</code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="patchValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>patchValue</b></span>
<a href="#patchValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>patchValue(valueOrObservable: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="168"
class="link-to-prism">src/lib/form-control.ts:168</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code>Subscription | void</code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="registerOnSetValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>registerOnSetValue</b></span>
<a href="#registerOnSetValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>registerOnSetValue(setValueFn: <a href="../undefineds/SetValueFn.html" target="_self">SetValueFn<T></a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="301"
class="link-to-prism">src/lib/form-control.ts:301</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>setValueFn</td>
<td>
<code><a href="../miscellaneous/typealiases.html#SetValueFn" target="_self" >SetValueFn<T></a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="reset"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>reset</b></span>
<a href="#reset"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>reset(formState?: <a href="../interfaces/BoxedValue.html" target="_self">OrBoxedValue<T></a>, options?: <a href="../undefineds/ControlEventOptions.html" target="_self">ControlEventOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="232"
class="link-to-prism">src/lib/form-control.ts:232</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>formState</td>
<td>
<code><a href="../interfaces/BoxedValue.html" target="_self" >OrBoxedValue<T></a></code>
</td>
<td>
Yes
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../miscellaneous/typealiases.html#ControlEventOptions" target="_self" >ControlEventOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setAsyncValidators"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setAsyncValidators</b></span>
<a href="#setAsyncValidators"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setAsyncValidators(newValidator: <a href="../undefineds/AsyncValidator.html" target="_self">AsyncValidator</a>, updateValueAndValidity)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="255"
class="link-to-prism">src/lib/form-control.ts:255</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>newValidator</td>
<td>
<code><a href="../miscellaneous/typealiases.html#AsyncValidator" target="_self" >AsyncValidator</a></code>
</td>
<td>
No
</td>
<td>
</td>
</tr>
<tr>
<td>updateValueAndValidity</td>
<td>
</td>
<td>
No
</td>
<td>
<code>true</code>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setDisable"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>setDisable</b></span>
<a href="#setDisable"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setDisable(disable, opts?: <a href="../undefineds/ControlEventOptions.html" target="_self">ControlEventOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="297"
class="link-to-prism">src/lib/form-control.ts:297</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>disable</td>
<td>
</td>
<td>
No
</td>
<td>
<code>true</code>
</td>
</tr>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#ControlEventOptions" target="_self" >ControlEventOptions</a></code>
</td>
<td>
Yes
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setEnable"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>setEnable</b></span>
<a href="#setEnable"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setEnable(enable, opts?: <a href="../undefineds/ControlEventOptions.html" target="_self">ControlEventOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="293"
class="link-to-prism">src/lib/form-control.ts:293</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>enable</td>
<td>
</td>
<td>
No
</td>
<td>
<code>true</code>
</td>
</tr>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#ControlEventOptions" target="_self" >ControlEventOptions</a></code>
</td>
<td>
Yes
</td>
<td>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setError"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>setError</b></span>
<a href="#setError"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setError(key: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank">string</a>, value: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>, opts: <a href="../undefineds/EmitEvent.html" target="_self">EmitEvent</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="281"
class="link-to-prism">src/lib/form-control.ts:281</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>key</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
</td>
<td>
No
</td>
<td>
</td>
</tr>
<tr>
<td>value</td>
<td>
<code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
<td>
No
</td>
<td>
</td>
</tr>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#EmitEvent" target="_self" >EmitEvent</a></code>
</td>
<td>
No
</td>
<td>
<code>{}</code>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setErrors"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setErrors</b></span>
<a href="#setErrors"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setErrors(errors: Partial<E> | null, opts: <a href="../undefineds/EmitEvent.html" target="_self">EmitEvent</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="277"
class="link-to-prism">src/lib/form-control.ts:277</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>errors</td>
<td>
<code>Partial<E> | null</code>
</td>
<td>
No
</td>
<td>
</td>
</tr>
<tr>
<td>opts</td>
<td>
<code><a href="../miscellaneous/typealiases.html#EmitEvent" target="_self" >EmitEvent</a></code>
</td>
<td>
No
</td>
<td>
<code>{}</code>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setValidators"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setValidators</b></span>
<a href="#setValidators"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setValidators(newValidator: <a href="../undefineds/Validator.html" target="_self">Validator</a>, updateValueAndValidity)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="245"
class="link-to-prism">src/lib/form-control.ts:245</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
<td>Default value</td>
</tr>
</thead>
<tbody>
<tr>
<td>newValidator</td>
<td>
<code><a href="../miscellaneous/typealiases.html#Validator" target="_self" >Validator</a></code>
</td>
<td>
No
</td>
<td>
</td>
</tr>
<tr>
<td>updateValueAndValidity</td>
<td>
</td>
<td>
No
</td>
<td>
<code>true</code>
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setValue</b></span>
<a href="#setValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setValue(valueOrObservable: Observable<T>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="141"
class="link-to-prism">src/lib/form-control.ts:141</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code>Observable<T></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code>Subscription</code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setValue</b></span>
<a href="#setValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setValue(valueOrObservable: T, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="145"
class="link-to-prism">src/lib/form-control.ts:145</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code>T</code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="setValue"></a>
<span class="name">
<span class="modifier">Public</span>
<span class="modifier"></span>
<span ><b>setValue</b></span>
<a href="#setValue"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>setValue(valueOrObservable: <a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank">any</a>, options?: <a href="../interfaces/ControlOptions.html" target="_self">ControlOptions</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="146"
class="link-to-prism">src/lib/form-control.ts:146</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>valueOrObservable</td>
<td>
<code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</td>
<td>
No
</td>
</tr>
<tr>
<td>options</td>
<td>
<code><a href="../interfaces/ControlOptions.html" target="_self" >ControlOptions</a></code>
</td>
<td>
Yes
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code>Subscription | void</code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="validateOn"></a>
<span class="name">
<span class="modifier">Public</span>
<span ><b>validateOn</b></span>
<a href="#validateOn"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="modifier-icon icon ion-ios-reset"></span>
<code>validateOn(observableValidation: Observable<null | object>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="265"
class="link-to-prism">src/lib/form-control.ts:265</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>observableValidation</td>
<td>
<code>Observable<null | object></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >any</a></code>
</div>
<div class="io-description">
</div>
</td>
</tr>
</tbody>
</table>
</section>
<section data-compodoc="block-accessors">
<h3 id="accessors">
Accessors
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="readonly"></a>
<span class="name"><b>readonly</b><a href="#readonly"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>readonly()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="83" class="link-to-prism">src/lib/form-control.ts:83</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>set</b><code>readonly(value: <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank">boolean</a>)</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="87" class="link-to-prism">src/lib/form-control.ts:87</a></div>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-description">
<b>Parameters :</b>
<table class="params">
<thead>
<tr>
<td>Name</td>
<td>Type</td>
<td>Optional</td>
</tr>
</thead>
<tbody>
<tr>
<td>value</td>
<td>
<code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/boolean" target="_blank" >boolean</a></code>
</td>
<td>
No
</td>
</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code><a href="https://www.typescriptlang.org/docs/handbook/basic-types.html" target="_blank" >void</a></code>
</div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="controlPath"></a>
<span class="name"><b>controlPath</b><a href="#controlPath"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>controlPath()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="102" class="link-to-prism">src/lib/form-control.ts:102</a></div>
</td>
</tr>
</tbody>
</table>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="fullControlPath"></a>
<span class="name"><b>fullControlPath</b><a href="#fullControlPath"><span class="icon ion-ios-link"></span></a></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<span class="accessor"><b>get</b><code>fullControlPath()</code></span>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="116" class="link-to-prism">src/lib/form-control.ts:116</a></div>
</td>
</tr>
</tbody>
</table>
</section>
</div>
<div class="tab-pane fade tab-source-code" id="source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { UntypedFormControl } from '@angular/forms';
import { coerceArray } from '@rxap/utilities';
import {
isObservable,
Observable,
Subject,
Subscription,
} from 'rxjs';
import { distinctUntilChanged } from 'rxjs/operators';
import {
controlDisabled$,
controlDisabledWhile,
controlEnabled$,
controlEnabledWhile,
controlErrorChanges$,
controlReadonly$,
controlStatusChanges$,
controlValueChanges$,
disableControl,
enableControl,
hasErrorAndDirty,
hasErrorAndTouched,
mergeControlValidators,
validateControlOn,
} from './control-actions';
import {
FormDefinition,
FormType,
RxapAbstractControlOptions,
SetValueFn,
} from './model';
import {
AsyncValidator,
ControlEventOptions,
ControlOptions,
ControlState,
EmitEvent,
ExtractStrings,
OnlySelf,
OrBoxedValue,
Validator,
} from './types';
export class RxapFormControl<
T = any,
E extends object = any,
Parent extends object = any
> extends UntypedFormControl {
/**
* @internal
*/
public get rxapFormDefinition():
| (FormType<Parent> & FormDefinition<Parent>)
| undefined {
return (this.parent as any).rxapFormDefinition;
}
override readonly value!: T;
override readonly errors!: E | null;
// TODO : find solution to only overwrite the type with out impl the getter or setter logic
// readonly asyncValidator!: AsyncValidatorFn<T>;
override readonly valueChanges!: Observable<T>;
// @ts-expect-error overwrite the public type
override readonly status!: ControlState;
override readonly statusChanges!: Observable<ControlState>;
readonly initialState!: OrBoxedValue<T>;
private _readonly = false;
private touchChanges = new Subject<boolean>();
private dirtyChanges = new Subject<boolean>();
readonly touch$ = this.touchChanges
.asObservable()
.pipe(distinctUntilChanged());
readonly dirty$ = this.dirtyChanges
.asObservable()
.pipe(distinctUntilChanged());
readonly value$: Observable<T> = controlValueChanges$<T>(this);
readonly disabled$ = controlDisabled$<T>(this);
readonly enabled$ = controlEnabled$<T>(this);
public get readonly(): boolean {
return (this.parent as any)?.readonly ?? this._readonly;
}
public set readonly(value: boolean) {
this._readonly = value;
this.stateChanges.next();
}
readonly status$ = controlStatusChanges$<T>(this);
readonly errors$ = controlErrorChanges$<E>(this);
readonly controlId: string;
private readonly _onSetValue: SetValueFn<T>[] = [];
readonly stateChanges = new Subject<void>();
readonly readonly$ = controlReadonly$<T>(this);
public get controlPath(): string {
const parent: any = this.parent;
if (parent) {
if (parent.controlPath) {
if (parent === this.root) {
return this.controlId;
} else {
return [ parent.controlPath, this.controlId ].join('.');
}
}
}
return this.controlId;
}
public get fullControlPath(): string {
const parent: any = this.parent;
if (parent) {
if (parent.fullControlPath) {
return [ parent.fullControlPath, this.controlId ].join('.');
}
}
return this.controlId;
}
constructor(
formState: OrBoxedValue<T>,
options: RxapAbstractControlOptions & { controlId: string },
) {
super(formState, options);
this.controlId = options.controlId;
if (options.disabled) {
this.disable({ emitEvent: false });
}
if (options.readonly) {
this.readonly = true;
}
this.initialState = formState;
}
public override setValue(
valueOrObservable: Observable<T>,
options?: ControlOptions,
): Subscription;
public override setValue(valueOrObservable: T, options?: ControlOptions): void;
public override setValue(
valueOrObservable: any,
options?: ControlOptions,
): Subscription | void {
if (isObservable(valueOrObservable)) {
return (valueOrObservable as Observable<T>).subscribe((value) => {
super.setValue(value, options);
this._onSetValue.forEach((setValueFn) => setValueFn(value, options));
});
}
super.setValue(valueOrObservable, options);
this._onSetValue.forEach((setValueFn) =>
setValueFn(valueOrObservable, options),
);
}
public override patchValue(
valueOrObservable: Observable<T>,
options?: ControlOptions,
): Subscription;
public override patchValue(valueOrObservable: T, options?: ControlOptions): void;
public override patchValue(
valueOrObservable: any,
options?: ControlOptions,
): Subscription | void {
if (isObservable(valueOrObservable)) {
return valueOrObservable.subscribe((value) =>
super.patchValue(value, options),
);
}
super.patchValue(valueOrObservable, options);
}
public disabledWhile(
observable: Observable<boolean>,
options?: ControlOptions,
) {
return controlDisabledWhile(this, observable, options);
}
public enabledWhile(
observable: Observable<boolean>,
options?: ControlOptions,
) {
return controlEnabledWhile(this, observable, options);
}
public mergeValidators(validators: Validator) {
mergeControlValidators(this, validators);
}
public mergeAsyncValidators(validators: AsyncValidator) {
this.setAsyncValidators([
// TODO : remove 'as any' if solution for the type overwrite issue is found (above)
this.asyncValidator as any,
...coerceArray(validators),
]);
this.updateValueAndValidity();
}
public override markAsTouched(opts?: OnlySelf): void {
super.markAsTouched(opts);
this.touchChanges.next(true);
}
public override markAsUntouched(opts?: OnlySelf): void {
super.markAsUntouched(opts);
this.touchChanges.next(false);
}
public override markAsPristine(opts?: OnlySelf): void {
super.markAsPristine(opts);
this.dirtyChanges.next(false);
}
public override markAsDirty(opts?: OnlySelf): void {
super.markAsDirty(opts);
this.dirtyChanges.next(true);
}
public markAllAsDirty(): void {
this.markAsDirty({ onlySelf: true });
}
public override reset(
formState?: OrBoxedValue<T>,
options?: ControlEventOptions,
): void {
const newState = formState ?? this.initialState;
if (typeof newState === 'function') {
super.reset((newState as any)(), options);
} else {
super.reset(newState, options);
}
}
public override setValidators(
newValidator: Validator,
updateValueAndValidity = true,
): void {
super.setValidators(newValidator);
if (updateValueAndValidity) {
super.updateValueAndValidity();
}
}
public override setAsyncValidators(
newValidator: AsyncValidator,
updateValueAndValidity = true,
): void {
super.setAsyncValidators(newValidator);
if (updateValueAndValidity) {
super.updateValueAndValidity();
}
}
public validateOn(observableValidation: Observable<null | object>) {
return validateControlOn(this, observableValidation);
}
public override getError<K extends ExtractStrings<E>>(errorCode: K): E[K] | null {
return super.getError(errorCode) as E[K] | null;
}
public override hasError<K extends ExtractStrings<E>>(errorCode: K) {
return super.hasError(errorCode);
}
public override setErrors(errors: Partial<E> | null, opts: EmitEvent = {}) {
return super.setErrors(errors, opts);
}
public setError(key: string, value: any, opts: EmitEvent = {}): void {
super.setErrors({ [key]: value }, opts);
}
public hasErrorAndTouched(error: ExtractStrings<E>): boolean {
return hasErrorAndTouched(this, error);
}
public hasErrorAndDirty(error: ExtractStrings<E>): boolean {
return hasErrorAndDirty(this, error);
}
public setEnable(enable = true, opts?: ControlEventOptions) {
enableControl(this, enable, opts);
}
public setDisable(disable = true, opts?: ControlEventOptions) {
disableControl(this, disable, opts);
}
public registerOnSetValue(setValueFn: SetValueFn<T>) {
this._onSetValue.push(setValueFn);
}
}
</code></pre>
</div>
</div>
</div><div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
<ul class="search-results-list"></ul>
</div>
<div class="no-results">
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
</div>
</div>
</div>
<!-- END CONTENT -->
</div>
</div>
<label class="dark-mode-switch">
<input type="checkbox">
<span class="slider">
<svg class="slider-icon" viewBox="0 0 24 24" fill="none" height="20" stroke="#000" stroke-linecap="round" stroke-linejoin="round" stroke-width="2" width="20" xmlns="http://www.w3.org/2000/svg">
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
</svg>
</span>
</label>
<script>
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
var COMPODOC_CURRENT_PAGE_CONTEXT = 'class';
var COMPODOC_CURRENT_PAGE_URL = 'RxapFormControl.html';
var MAX_SEARCH_RESULTS = 15;
</script>
<script>
$darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
checkToggle(darkModeState);
if ($darkModeToggleSwitchers.length > 0) {
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
$darkModeToggleSwitchers[i].addEventListener('change', function (event) {
darkModeState = !darkModeState;
toggleDarkMode(darkModeState);
});
}
}
</script>
<script src="../js/libs/custom-elements.min.js"></script>
<script src="../js/libs/lit-html.js"></script>
<script src="../js/menu-wc.js" defer></script>
<script nomodule src="../js/menu-wc_es5.js" defer></script>
<script src="../js/libs/bootstrap-native.js"></script>
<script src="../js/libs/es6-shim.min.js"></script>
<script src="../js/libs/EventDispatcher.js"></script>
<script src="../js/libs/promise.min.js"></script>
<script src="../js/libs/zepto.min.js"></script>
<script src="../js/compodoc.js"></script>
<script src="../js/tabs.js"></script>
<script src="../js/menu.js"></script>
<script src="../js/libs/clipboard.min.js"></script>
<script src="../js/libs/prism.js"></script>
<script src="../js/sourceCode.js"></script>
<script src="../js/search/search.js"></script>
<script src="../js/search/lunr.min.js"></script>
<script src="../js/search/search-lunr.js"></script>
<script src="../js/search/search_index.js"></script>
<script src="../js/lazy-load-graphs.js"></script>
</body>
</html>