@web-atoms/core-docs
Version:
773 lines • 43.7 kB
HTML
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>AtomViewModel | @web-atoms/core</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.js" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<a href="../index.html" class="title">@web-atoms/core</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../globals.html">Globals</a>
</li>
<li>
<a href="../modules/_view_model_atomviewmodel_.html">"view-model/AtomViewModel"</a>
</li>
<li>
<a href="_view_model_atomviewmodel_.atomviewmodel.html">AtomViewModel</a>
</li>
</ul>
<h1>Class AtomViewModel</h1>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-8 col-content">
<section class="tsd-panel tsd-comment">
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>ViewModel class supports initialization and supports <a href="../interfaces/_core_types_.idisposable.html">IDisposable</a> dispose pattern.</p>
</div>
<dl class="tsd-comment-tags">
<dt>export</dt>
<dd></dd>
<dt>class</dt>
<dd><p>AtomViewModel</p>
</dd>
</dl>
</div>
</section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">AtomViewModel</span>
<ul class="tsd-hierarchy">
<li>
<a href="_view_model_atomwindowviewmodel_.atomwindowviewmodel.html" class="tsd-signature-type">AtomWindowViewModel</a>
</li>
<li>
<a href="_web_samples_demo_views_movielistviewmodel_.movielistviewmodel.html" class="tsd-signature-type">MovieListViewModel</a>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<h2>Index</h2>
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Properties</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#app" class="tsd-kind-icon">app</a></li>
<li class="tsd-kind-property tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#postinit" class="tsd-kind-icon">post<wbr>Init</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Accessors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#errors" class="tsd-kind-icon">errors</a></li>
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#isready" class="tsd-kind-icon">is<wbr>Ready</a></li>
<li class="tsd-kind-get-signature tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#isvalid" class="tsd-kind-icon">is<wbr>Valid</a></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#parent" class="tsd-kind-icon">parent</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#dispose" class="tsd-kind-icon">dispose</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#init" class="tsd-kind-icon">init</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="_view_model_atomviewmodel_.atomviewmodel.html#onpropertychanged" class="tsd-kind-icon">on<wbr>Property<wbr>Changed</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="_view_model_atomviewmodel_.atomviewmodel.html#onready" class="tsd-kind-icon">on<wbr>Ready</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#refresh" class="tsd-kind-icon">refresh</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="_view_model_atomviewmodel_.atomviewmodel.html#registerdisposable" class="tsd-kind-icon">register<wbr>Disposable</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#resetvalidations" class="tsd-kind-icon">reset<wbr>Validations</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="_view_model_atomviewmodel_.atomviewmodel.html#runafterinit" class="tsd-kind-icon">run<wbr>After<wbr>Init</a></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><a href="_view_model_atomviewmodel_.atomviewmodel.html#setupwatch" class="tsd-kind-icon">setup<wbr>Watch</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Atom<wbr>View<wbr>Model<span class="tsd-signature-symbol">(</span>app<span class="tsd-signature-symbol">: </span><a href="_app_.app.html" class="tsd-signature-type">App</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L158">src/view-model/AtomViewModel.ts:158</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>app: <a href="_app_.app.html" class="tsd-signature-type">App</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Properties</h2>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="app" class="tsd-anchor"></a>
<h3>app</h3>
<div class="tsd-signature tsd-kind-icon">app<span class="tsd-signature-symbol">:</span> <a href="_app_.app.html" class="tsd-signature-type">App</a></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L160">src/view-model/AtomViewModel.ts:160</a></li>
</ul>
</aside>
</section>
<section class="tsd-panel tsd-member tsd-kind-property tsd-parent-kind-class">
<a name="postinit" class="tsd-anchor"></a>
<h3>post<wbr>Init</h3>
<div class="tsd-signature tsd-kind-icon">post<wbr>Init<span class="tsd-signature-symbol">:</span> <span class="tsd-signature-type">Function</span><span class="tsd-signature-symbol">[]</span></div>
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L68">src/view-model/AtomViewModel.ts:68</a></li>
</ul>
</aside>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Accessors</h2>
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
<a name="errors" class="tsd-anchor"></a>
<h3>errors</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> errors<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L83">src/view-model/AtomViewModel.ts:83</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Array</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">object</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
<a name="isready" class="tsd-anchor"></a>
<h3>is<wbr>Ready</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> isReady<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L79">src/view-model/AtomViewModel.ts:79</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>If it returns true, it means all pending initializations have finished</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-get-signature tsd-parent-kind-class">
<a name="isvalid" class="tsd-anchor"></a>
<h3>is<wbr>Valid</h3>
<ul class="tsd-signatures tsd-kind-get-signature tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> isValid<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">boolean</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L133">src/view-model/AtomViewModel.ts:133</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns true if all validations didn't return any error. All validations
are decorated with @<a href="../modules/_view_model_atomviewmodel_.html#validate">Validate</a> decorator.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">boolean</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-accessor tsd-parent-kind-class">
<a name="parent" class="tsd-anchor"></a>
<h3>parent</h3>
<ul class="tsd-signatures tsd-kind-accessor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">get</span> parent<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a></li>
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">set</span> parent<span class="tsd-signature-symbol">(</span>v<span class="tsd-signature-symbol">: </span><a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L110">src/view-model/AtomViewModel.ts:110</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns parent AtomViewModel if it was initialized with one. This property is also
useful when you open an popup or window. Whenever a popup/window is opened, ViewModel
associated with the UI element that opened this popup/window becomes parent of ViewModel
of popup/window.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a></h4>
</li>
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L113">src/view-model/AtomViewModel.ts:113</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Returns parent AtomViewModel if it was initialized with one. This property is also
useful when you open an popup or window. Whenever a popup/window is opened, ViewModel
associated with the UI element that opened this popup/window becomes parent of ViewModel
of popup/window.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>v: <a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-signature-type">AtomViewModel</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="dispose" class="tsd-anchor"></a>
<h3>dispose</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">dispose<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L239">src/view-model/AtomViewModel.ts:239</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>dispose method will be called when attached view will be disposed or
when a new view model will be assigned to view, old view model will be disposed.</p>
</div>
<dl class="tsd-comment-tags">
<dt>memberof</dt>
<dd><p>AtomViewModel</p>
</dd>
</dl>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="init" class="tsd-anchor"></a>
<h3>init</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">init<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L230">src/view-model/AtomViewModel.ts:230</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Put your asynchronous initialization here</p>
</div>
<dl class="tsd-comment-tags">
<dt>memberof</dt>
<dd><p>AtomViewModel</p>
</dd>
</dl>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol"><</span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">></span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="onpropertychanged" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> on<wbr>Property<wbr>Changed</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">on<wbr>Property<wbr>Changed<span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L307">src/view-model/AtomViewModel.ts:307</a></li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>name: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="onready" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> on<wbr>Ready</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">on<wbr>Ready<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L269">src/view-model/AtomViewModel.ts:269</a></li>
</ul>
</aside>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="refresh" class="tsd-anchor"></a>
<h3>refresh</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">refresh<span class="tsd-signature-symbol">(</span>name<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L219">src/view-model/AtomViewModel.ts:219</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Refreshes bindings associated with given property name</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>name: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography">
<p>name of property</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="registerdisposable" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> register<wbr>Disposable</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">register<wbr>Disposable<span class="tsd-signature-symbol">(</span>d<span class="tsd-signature-symbol">: </span><a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L263">src/view-model/AtomViewModel.ts:263</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Register a disposable to be disposed when view model will be disposed.</p>
</div>
<dl class="tsd-comment-tags">
<dt>memberof</dt>
<dd><p>AtomViewModel</p>
</dd>
</dl>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>d: <a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="resetvalidations" class="tsd-anchor"></a>
<h3>reset<wbr>Validations</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">reset<wbr>Validations<span class="tsd-signature-symbol">(</span>resetChildren<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L168">src/view-model/AtomViewModel.ts:168</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Resets validations and all errors are removed.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> resetChildren: <span class="tsd-signature-type">boolean</span><span class="tsd-signature-symbol"> = true</span></h5>
<div class="tsd-comment tsd-typography">
<p>reset child view models as well. Default is true.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="runafterinit" class="tsd-anchor"></a>
<h3>run<wbr>After<wbr>Init</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">run<wbr>After<wbr>Init<span class="tsd-signature-symbol">(</span>f<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L184">src/view-model/AtomViewModel.ts:184</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Runs function after initialization is complete.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>f: <span class="tsd-signature-type">function</span></h5>
<div class="tsd-comment tsd-typography">
<p>function to execute</p>
</div>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a name="setupwatch" class="tsd-anchor"></a>
<h3><span class="tsd-flag ts-flagProtected">Protected</span> setup<wbr>Watch</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<li class="tsd-signature tsd-kind-icon">setup<wbr>Watch<span class="tsd-signature-symbol">(</span>ft<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">function</span>, proxy<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">function</span>, forValidation<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">boolean</span>, name<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in <a href="https://github.com/web-atoms/core/blob/8e9453e/src/view-model/AtomViewModel.ts#L289">src/view-model/AtomViewModel.ts:289</a></li>
</ul>
</aside>
<div class="tsd-comment tsd-typography">
<div class="lead">
<p>Execute given expression whenever any bindable expression changes
in the expression.</p>
</div>
<p>For correct generic type resolution, target must always be <code>this</code>.</p>
<pre><code> <span class="hljs-keyword">this</span>.setupWatch(() => {
<span class="hljs-keyword">if</span>(!<span class="hljs-keyword">this</span>.<span class="hljs-keyword">data</span>.fullName){
<span class="hljs-keyword">this</span>.<span class="hljs-keyword">data</span>.fullName = `${<span class="hljs-keyword">this</span>.<span class="hljs-keyword">data</span>.firstName} ${<span class="hljs-keyword">this</span>.<span class="hljs-keyword">data</span>.lastName}`;
}
});</code></pre>
<dl class="tsd-comment-tags">
<dt>template</dt>
<dd><p>T</p>
</dd>
<dt>memberof</dt>
<dd><p>AtomViewModel</p>
</dd>
</dl>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>ft: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">function</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> proxy: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal tsd-is-not-exported">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">...</span>v<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagRest">Rest</span> <span class="tsd-signature-symbol">...</span>v: <span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">[]</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> forValidation: <span class="tsd-signature-type">boolean</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> name: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="../interfaces/_core_types_.idisposable.html" class="tsd-signature-type">IDisposable</a></h4>
</li>
</ul>
</section>
</section>
</div>
<div class="col-4 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation primary">
<ul>
<li class="globals ">
<a href="../globals.html"><em>Globals</em></a>
</li>
<li class="current tsd-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html">"view-<wbr>model/<wbr>Atom<wbr>View<wbr>Model"</a>
</li>
</ul>
</nav>
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-external-module">
<a href="_view_model_atomviewmodel_.atomviewmodel.html" class="tsd-kind-icon">Atom<wbr>View<wbr>Model</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#app" class="tsd-kind-icon">app</a>
</li>
<li class=" tsd-kind-property tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#postinit" class="tsd-kind-icon">post<wbr>Init</a>
</li>
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#errors" class="tsd-kind-icon">errors</a>
</li>
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#isready" class="tsd-kind-icon">is<wbr>Ready</a>
</li>
<li class=" tsd-kind-get-signature tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#isvalid" class="tsd-kind-icon">is<wbr>Valid</a>
</li>
<li class=" tsd-kind-accessor tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#parent" class="tsd-kind-icon">parent</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#dispose" class="tsd-kind-icon">dispose</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#init" class="tsd-kind-icon">init</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#onpropertychanged" class="tsd-kind-icon">on<wbr>Property<wbr>Changed</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#onready" class="tsd-kind-icon">on<wbr>Ready</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#refresh" class="tsd-kind-icon">refresh</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#registerdisposable" class="tsd-kind-icon">register<wbr>Disposable</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#resetvalidations" class="tsd-kind-icon">reset<wbr>Validations</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#runafterinit" class="tsd-kind-icon">run<wbr>After<wbr>Init</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class tsd-is-protected">
<a href="_view_model_atomviewmodel_.atomviewmodel.html#setupwatch" class="tsd-kind-icon">setup<wbr>Watch</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#bindablebroadcast" class="tsd-kind-icon">Bindable<wbr>Broadcast</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#bindablereceive" class="tsd-kind-icon">Bindable<wbr>Receive</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#cachedwatch" class="tsd-kind-icon">Cached<wbr>Watch</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#receive" class="tsd-kind-icon">Receive</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#validate" class="tsd-kind-icon">Validate</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#watch" class="tsd-kind-icon">Watch</a>
</li>
<li class=" tsd-kind-function tsd-parent-kind-external-module">
<a href="../modules/_view_model_atomviewmodel_.html#waitforready" class="tsd-kind-icon">wait<wbr>For<wbr>Ready</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
<div class="container">
<h2>Legend</h2>
<div class="tsd-legend-group">
<ul class="tsd-legend">
<li class="tsd-kind-module"><span class="tsd-kind-icon">Module</span></li>
<li class="tsd-kind-object-literal"><span class="tsd-kind-icon">Object literal</span></li>
<li class="tsd-kind-variable"><span class="tsd-kind-icon">Variable</span></li>
<li class="tsd-kind-function"><span class="tsd-kind-icon">Function</span></li>
<li class="tsd-kind-function tsd-has-type-parameter"><span class="tsd-kind-icon">Function with type parameter</span></li>
<li class="tsd-kind-index-signature"><span class="tsd-kind-icon">Index signature</span></li>
<li class="tsd-kind-type-alias"><span class="tsd-kind-icon">Type alias</span></li>
<li class="tsd-kind-type-alias tsd-has-type-parameter"><span class="tsd-kind-icon">Type alias with type parameter</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-enum"><span class="tsd-kind-icon">Enumeration</span></li>
<li class="tsd-kind-enum-member"><span class="tsd-kind-icon">Enumeration member</span></li>
<li class="tsd-kind-property tsd-parent-kind-enum"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-enum"><span class="tsd-kind-icon">Method</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-interface"><span class="tsd-kind-icon">Interface</span></li>
<li class="tsd-kind-interface tsd-has-type-parameter"><span class="tsd-kind-icon">Interface with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-interface"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-interface"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-interface"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-interface"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-class"><span class="tsd-kind-icon">Class</span></li>
<li class="tsd-kind-class tsd-has-type-parameter"><span class="tsd-kind-icon">Class with type parameter</span></li>
<li class="tsd-kind-constructor tsd-parent-kind-class"><span class="tsd-kind-icon">Constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class"><span class="tsd-kind-icon">Property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class"><span class="tsd-kind-icon">Method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class"><span class="tsd-kind-icon">Accessor</span></li>
<li class="tsd-kind-index-signature tsd-parent-kind-class"><span class="tsd-kind-icon">Index signature</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited constructor</span></li>
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-inherited"><span class="tsd-kind-icon">Inherited accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-protected"><span class="tsd-kind-icon">Protected accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private property</span></li>
<li class="tsd-kind-method tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private method</span></li>
<li class="tsd-kind-accessor tsd-parent-kind-class tsd-is-private"><span class="tsd-kind-icon">Private accessor</span></li>
</ul>
<ul class="tsd-legend">
<li class="tsd-kind-property tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static property</span></li>
<li class="tsd-kind-call-signature tsd-parent-kind-class tsd-is-static"><span class="tsd-kind-icon">Static method</span></li>
</ul>
</div>
</div>
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="https://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
<script>if (location.protocol == 'file:') document.write('<script src="../assets/js/search.js"><' + '/script>');</script>
</body>
</html>