Skip to content

Commit

Permalink
Update docs
Browse files Browse the repository at this point in the history
  • Loading branch information
robisim74 committed Mar 1, 2020
1 parent 9f7d0a9 commit 33b174b
Show file tree
Hide file tree
Showing 7 changed files with 430 additions and 34 deletions.
315 changes: 315 additions & 0 deletions docs/guards/L10nResolver.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,315 @@
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="x-ua-compatible" content="ie=edge">
<title>Angular l10n Specification</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">
</head>
<body>

<div class="navbar navbar-default navbar-fixed-top visible-xs">
<a href="../" class="navbar-brand">Angular l10n Specification</a>
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
</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="hidden-xs menu">
<compodoc-menu mode="normal"></compodoc-menu>
</div>
<!-- START CONTENT -->
<div class="content guard">
<div class="content-data">









<ol class="breadcrumb">
<li>Guards</li>
<li>L10nResolver</li>
</ol>

<ul class="nav nav-tabs" role="tablist">
<li class="active">
<a href="#info" role="tab" id="info-tab" data-toggle="tab" data-link="info">Info</a>
</li>
<li >
<a href="#source" role="tab" id="source-tab" data-toggle="tab" data-link="source">Source</a>
</li>
</ul>

<div class="tab-content">
<div class="tab-pane fade active in" id="c-info">
<p class="comment">
<h3>File</h3>
</p>
<p class="comment">
<code>projects/angular-l10n/src/lib/services/l10n-resolver.ts</code>
</p>





<section>
<h3 id="index">Index</h3>
<table class="table table-sm table-bordered index-table">
<tbody>

<tr>
<td class="col-md-4">
<h6><b>Methods</b></h6>
</td>
</tr>
<tr>
<td class="col-md-4">
<ul class="index-list">
<li>
<a href="#resolve">resolve</a>
</li>
</ul>
</td>
</tr>





</tbody>
</table>
</section>

<section>
<h3 id="constructor">Constructor</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<code>constructor(translation: <a href="../injectables/L10nTranslationService.html">L10nTranslationService</a>)</code>
</td>
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="9" class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-resolver.ts:9</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>translation</td>

<td>
<code><a href="../injectables/L10nTranslationService.html" target="_self" >L10nTranslationService</a></code>
</td>

<td>
No
</td>

</tr>
</tbody>
</table>
</div>
</td>
</tr>
</tbody>
</table>
</section>

<section>

<h3 id="methods">
Methods
</h3>
<table class="table table-sm table-bordered">
<tbody>
<tr>
<td class="col-md-4">
<a name="resolve"></a>
<span class="name">
<b>
resolve
</b>
<a href="#resolve"><span class="icon ion-ios-link"></span></a>
</span>
</td>
</tr>
<tr>
<td class="col-md-4">
<code>resolve(route: <a href="https://angular.io/api/router/ActivatedRouteSnapshot" target="_blank">ActivatedRouteSnapshot</a>, state: <a href="https://angular.io/api/router/RouterStateSnapshot" target="_blank">RouterStateSnapshot</a>)</code>
</td>
</tr>


<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="13"
class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-resolver.ts:13</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>route</td>
<td>
<code><a href="https://angular.io/api/router/ActivatedRouteSnapshot" target="_blank" >ActivatedRouteSnapshot</a></code>
</td>

<td>
No
</td>


</tr>
<tr>
<td>state</td>
<td>
<code><a href="https://angular.io/api/router/RouterStateSnapshot" target="_blank" >RouterStateSnapshot</a></code>
</td>

<td>
No
</td>


</tr>
</tbody>
</table>
</div>
<div>
</div>
<div class="io-description">
<b>Returns : </b> <code>Promise&lt;void&gt;</code>

</div>
<div class="io-description">

</div>
</td>
</tr>
</tbody>
</table>
</section>
</div>


<div class="tab-pane fade tab-source-code" id="c-source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Injectable } from &#x27;@angular/core&#x27;;
import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot } from &#x27;@angular/router&#x27;;

import { L10nTranslationService } from &#x27;./l10n-translation.service&#x27;;

@Injectable({
providedIn: &#x27;root&#x27;
})
export class L10nResolver implements Resolve&lt;Promise&lt;void&gt;&gt; {

constructor(private translation: L10nTranslationService) { }

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise&lt;void&gt; {
return this.translation.loadTranslation(route.data.l10nProviders);
}
}
</code></pre>
</div>
</div>










</div><div class="search-results">
<div class="has-results">
<h1 class="search-results-title"><span class='search-results-count'></span> result-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>

<script>
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
var COMPODOC_CURRENT_PAGE_CONTEXT = 'guard';
var COMPODOC_CURRENT_PAGE_URL = 'L10nResolver.html';
var MAX_SEARCH_RESULTS = 15;
</script>

<script src="../js/libs/custom-elements.min.js"></script>
<script src="../js/libs/lit-html.js"></script>
<!-- Required to polyfill modern browsers as code is ES5 for IE... -->
<script src="../js/libs/custom-elements-es5-adapter.js" charset="utf-8" defer></script>
<script src="../js/menu-wc.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>
17 changes: 17 additions & 0 deletions docs/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -244,6 +244,23 @@ <h3 id="validation">Validation</h3>
<div><pre class="line-numbers"><code class="language-TypeScript">export const l10nConfig: L10nConfig = {
...
defaultRouting: true
};</code></pre></div><h3 id="lazy-loading">Lazy loading</h3>
<p>If you want to add new providers to a lazy loaded module, you can use <code>L10nResolver</code> in your routing module:</p>
<div><pre class="line-numbers"><code class="language-TypeScript">const routes: Routes = [
...
{
path: &#39;lazy&#39;,
loadChildren: () =&gt; import(&#39;./lazy/lazy.module&#39;).then(m =&gt; m.LazyModule),
resolve: { l10n: L10nResolver },
data: {
l10nProviders: [{ name: &#39;lazy&#39;, asset: &#39;./assets/i18n/lazy&#39;, options: { version: &#39;9.0.0&#39; } }]
}
}
];</code></pre></div><h3 id="caching">Caching</h3>
<p>Enable caching during configuration if you want to prevent reloading of the already loaded translation data:</p>
<div><pre class="line-numbers"><code class="language-TypeScript">export const l10nConfig: L10nConfig = {
...
cache: true
};</code></pre></div><h2 id="types">Types</h2>
<p>Angular l10n types that it is useful to know:</p>
<ul>
Expand Down
21 changes: 8 additions & 13 deletions docs/injectables/L10nCache.html
Original file line number Diff line number Diff line change
Expand Up @@ -136,8 +136,8 @@ <h3 id="methods">

<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="9"
class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-cache.ts:9</a></div>
<div class="io-line">Defined in <a href="" data-line="8"
class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-cache.ts:8</a></div>
</td>
</tr>

Expand Down Expand Up @@ -228,7 +228,7 @@ <h3 id="inputs">
</tr>
<tr>
<td class="col-md-4">
<div class="io-line">Defined in <a href="" data-line="7" class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-cache.ts:7</a></div>
<div class="io-line">Defined in <a href="" data-line="6" class="link-to-prism">projects/angular-l10n/src/lib/services/l10n-cache.ts:6</a></div>
</td>
</tr>

Expand All @@ -242,22 +242,17 @@ <h3 id="inputs">

<div class="tab-pane fade tab-source-code" id="c-source">
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { Injectable } from &#x27;@angular/core&#x27;;
import { Observable } from &#x27;rxjs&#x27;;
import { shareReplay } from &#x27;rxjs/operators&#x27;;
import { Observable, EMPTY } from &#x27;rxjs&#x27;;

@Injectable() export class L10nCache {

private cache: { [key: string]: Observable&lt;any&gt; } &#x3D; {};
private cache: { [key: string]: boolean } &#x3D; {};

public read(key: string, request: Observable&lt;any&gt;): Observable&lt;any&gt; {
if (this.cache[key]) return this.cache[key];
if (this.cache[key]) return EMPTY;

const response &#x3D; request.pipe(
shareReplay(1)
);

this.cache[key] &#x3D; response;
return response;
this.cache[key] &#x3D; true;
return request;
}

}
Expand Down
Loading

0 comments on commit 33b174b

Please sign in to comment.