@rxap/config 18.2.3-dev.0 → 19.0.0-dev.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +8 -0
- package/README.md +1 -1
- package/compodoc/changelog.html +32 -0
- package/compodoc/dependencies.html +6 -6
- package/compodoc/index.html +1 -1
- package/compodoc/injectables/ConfigService.html +199 -31
- package/compodoc/interfaces/AppsNavigationConfig.html +5 -0
- package/compodoc/interfaces/Config.html +50 -0
- package/compodoc/interfaces/ConfigLoadOptions.html +36 -0
- package/compodoc/interfaces/LogoConfig.html +5 -0
- package/compodoc/interfaces/NavigationConfig.html +5 -0
- package/compodoc/interfaces/Oauth2Config.html +333 -0
- package/compodoc/interfaces/i18nConfig.html +5 -0
- package/compodoc/js/menu-wc.js +3 -0
- package/compodoc/js/menu-wc_es5.js +2 -2
- package/compodoc/js/search/search_index.js +2 -2
- package/compodoc/overview.html +1 -1
- package/compodoc/properties.html +1 -1
- package/docs/assets/navigation.js +1 -1
- package/docs/assets/search.js +1 -1
- package/docs/classes/ConfigLoaderService.html +2 -2
- package/docs/classes/ConfigService.html +6 -6
- package/docs/classes/ConfigTestingService.html +2 -2
- package/docs/documentation.json +288 -205
- package/docs/functions/ProvideConfig.html +1 -1
- package/docs/index.html +1 -1
- package/docs/interfaces/AppsNavigationConfig.html +2 -2
- package/docs/interfaces/Config.html +3 -2
- package/docs/interfaces/ConfigLoadOptions.html +3 -3
- package/docs/interfaces/LogoConfig.html +2 -2
- package/docs/interfaces/NavigationConfig.html +2 -2
- package/docs/interfaces/Oauth2Config.html +2 -0
- package/docs/interfaces/i18nConfig.html +2 -2
- package/docs/modules.html +1 -0
- package/docs/types/AnySchema.html +1 -1
- package/docs/types/Join.html +1 -1
- package/docs/types/LanguagesConfig.html +1 -1
- package/docs/types/Leaves.html +1 -1
- package/docs/types/NoInferType.html +1 -1
- package/docs/types/Paths.html +1 -1
- package/docs/variables/RXAP_CONFIG.html +1 -1
- package/fesm2022/rxap-config.mjs +9 -9
- package/fesm2022/rxap-config.mjs.map +1 -1
- package/package.json +11 -14
- package/theme.css +72 -1
- package/esm2022/index.mjs +0 -10
- package/esm2022/lib/config-loader.service.mjs +0 -34
- package/esm2022/lib/config-testing-service.mjs +0 -33
- package/esm2022/lib/config.mjs +0 -2
- package/esm2022/lib/config.service.mjs +0 -294
- package/esm2022/lib/provide-config.mjs +0 -8
- package/esm2022/lib/tokens.mjs +0 -3
- package/esm2022/lib/types.mjs +0 -2
- package/esm2022/rxap-config.mjs +0 -5
|
@@ -398,6 +398,7 @@ import {
|
|
|
398
398
|
deepMerge,
|
|
399
399
|
SetObjectValue,
|
|
400
400
|
} from '@rxap/utilities';
|
|
401
|
+
import { ReplaySubject } from 'rxjs';
|
|
401
402
|
import { RXAP_CONFIG } from './tokens';
|
|
402
403
|
import { NoInferType } from './types';
|
|
403
404
|
|
|
@@ -419,6 +420,12 @@ export interface ConfigLoadOptions {
|
|
|
419
420
|
})
|
|
420
421
|
export class ConfigService<Config extends Record<string, any> = Record<string, any>> {
|
|
421
422
|
|
|
423
|
+
public static onError = new ReplaySubject<unknown>(1);
|
|
424
|
+
public static onRequestError = new ReplaySubject<Response>(1);
|
|
425
|
+
|
|
426
|
+
public static onErrorFnc: Array<(error: any) => void> = [];
|
|
427
|
+
public static onRequestErrorFnc: Array<(response: Response) => void> = [];
|
|
428
|
+
|
|
422
429
|
public static Config: any = null;
|
|
423
430
|
|
|
424
431
|
/**
|
|
@@ -519,6 +526,28 @@ export class ConfigService<Config extends Record<string, any> = Re
|
|
|
519
526
|
this.Config = config;
|
|
520
527
|
}
|
|
521
528
|
|
|
529
|
+
private static handleError(error: any) {
|
|
530
|
+
this.onError.next(error);
|
|
531
|
+
for (const fnc of this.onErrorFnc) {
|
|
532
|
+
try {
|
|
533
|
+
fnc(error);
|
|
534
|
+
} catch (e: any) {
|
|
535
|
+
console.error('Error in onErrorFnc', e);
|
|
536
|
+
}
|
|
537
|
+
}
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
private static handleRequestError(response: Response) {
|
|
541
|
+
this.onRequestError.next(response);
|
|
542
|
+
for (const fnc of this.onRequestErrorFnc) {
|
|
543
|
+
try {
|
|
544
|
+
fnc(response);
|
|
545
|
+
} catch (e: any) {
|
|
546
|
+
console.error('Error in onRequestErrorFnc', e);
|
|
547
|
+
}
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
|
|
522
551
|
private static async loadConfig<T = any>(url: string, required?: boolean, schema?: AnySchema): Promise<T | null> {
|
|
523
552
|
|
|
524
553
|
let config: any;
|
|
@@ -529,6 +558,7 @@ export class ConfigService<Config extends Record<string, any> = Re
|
|
|
529
558
|
} catch (error: any) {
|
|
530
559
|
const message = `Could not fetch config from '${ url }': ${ error.message }`;
|
|
531
560
|
if (required) {
|
|
561
|
+
this.handleError(error);
|
|
532
562
|
this.showError(message);
|
|
533
563
|
throw new Error(message);
|
|
534
564
|
} else {
|
|
@@ -546,8 +576,12 @@ export class ConfigService<Config extends Record<string, any> = Re
|
|
|
546
576
|
case 405:
|
|
547
577
|
message = `Config service is not started yet. Wait 30s and try again.`;
|
|
548
578
|
break;
|
|
579
|
+
case 401:
|
|
580
|
+
message = `Unauthorized to fetch config from '${ url }'`;
|
|
581
|
+
break;
|
|
549
582
|
}
|
|
550
583
|
if (required) {
|
|
584
|
+
this.handleRequestError(response);
|
|
551
585
|
this.showError(message);
|
|
552
586
|
throw new Error(message);
|
|
553
587
|
} else {
|
|
@@ -561,6 +595,7 @@ export class ConfigService<Config extends Record<string, any> = Re
|
|
|
561
595
|
} catch (error: any) {
|
|
562
596
|
const message = `Could not parse config from '${ url }' to a json object: ${ error.message }`;
|
|
563
597
|
if (required) {
|
|
598
|
+
this.handleError(error);
|
|
564
599
|
this.showError(message);
|
|
565
600
|
throw new Error(message);
|
|
566
601
|
} else {
|
|
@@ -575,6 +610,7 @@ export class ConfigService<Config extends Record<string, any> = Re
|
|
|
575
610
|
} catch (error: any) {
|
|
576
611
|
const message = `Config from '${ url }' is not valid: ${ error.message }`;
|
|
577
612
|
if (required) {
|
|
613
|
+
this.handleError(error);
|
|
578
614
|
this.showError(message);
|
|
579
615
|
throw new Error(message);
|
|
580
616
|
} else {
|
|
@@ -328,10 +328,15 @@ export interface i18nConfig {
|
|
|
328
328
|
defaultLanguage?: string;
|
|
329
329
|
}
|
|
330
330
|
|
|
331
|
+
export interface Oauth2Config {
|
|
332
|
+
profileUrl?: string;
|
|
333
|
+
}
|
|
334
|
+
|
|
331
335
|
export interface Config {
|
|
332
336
|
navigation?: NavigationConfig;
|
|
333
337
|
logo?: LogoConfig;
|
|
334
338
|
i18n?: i18nConfig;
|
|
339
|
+
oauth2?: Oauth2Config;
|
|
335
340
|
}
|
|
336
341
|
</code></pre>
|
|
337
342
|
</div>
|
|
@@ -463,10 +463,15 @@ export interface i18nConfig {
|
|
|
463
463
|
defaultLanguage?: string;
|
|
464
464
|
}
|
|
465
465
|
|
|
466
|
+
export interface Oauth2Config {
|
|
467
|
+
profileUrl?: string;
|
|
468
|
+
}
|
|
469
|
+
|
|
466
470
|
export interface Config {
|
|
467
471
|
navigation?: NavigationConfig;
|
|
468
472
|
logo?: LogoConfig;
|
|
469
473
|
i18n?: i18nConfig;
|
|
474
|
+
oauth2?: Oauth2Config;
|
|
470
475
|
}
|
|
471
476
|
</code></pre>
|
|
472
477
|
</div>
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html class="no-js" lang="">
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="utf-8">
|
|
5
|
+
<meta http-equiv="x-ua-compatible" content="ie=edge">
|
|
6
|
+
<title>angular-config</title>
|
|
7
|
+
<meta name="description" content="">
|
|
8
|
+
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
+
|
|
10
|
+
<link rel="icon" type="image/x-icon" href="../images/favicon.ico">
|
|
11
|
+
<link rel="stylesheet" href="../styles/style.css">
|
|
12
|
+
<link rel="stylesheet" href="../styles/dark.css">
|
|
13
|
+
</head>
|
|
14
|
+
<body>
|
|
15
|
+
<script>
|
|
16
|
+
// Blocking script to avoid flickering dark mode
|
|
17
|
+
// Dark mode toggle button
|
|
18
|
+
var useDark = window.matchMedia('(prefers-color-scheme: dark)');
|
|
19
|
+
var darkModeState = useDark.matches;
|
|
20
|
+
var $darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
|
|
21
|
+
var $darkModeToggles = document.querySelectorAll('.dark-mode-switch');
|
|
22
|
+
var darkModeStateLocal = localStorage.getItem('compodoc_darkmode-state');
|
|
23
|
+
|
|
24
|
+
function checkToggle(check) {
|
|
25
|
+
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
|
|
26
|
+
$darkModeToggleSwitchers[i].checked = check;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
function toggleDarkMode(state) {
|
|
31
|
+
if (window.localStorage) {
|
|
32
|
+
localStorage.setItem('compodoc_darkmode-state', state);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
checkToggle(state);
|
|
36
|
+
|
|
37
|
+
const hasClass = document.body.classList.contains('dark');
|
|
38
|
+
|
|
39
|
+
if (state) {
|
|
40
|
+
for (var i = 0; i < $darkModeToggles.length; i++) {
|
|
41
|
+
$darkModeToggles[i].classList.add('dark');
|
|
42
|
+
}
|
|
43
|
+
if (!hasClass) {
|
|
44
|
+
document.body.classList.add('dark');
|
|
45
|
+
}
|
|
46
|
+
} else {
|
|
47
|
+
for (var i = 0; i < $darkModeToggles.length; i++) {
|
|
48
|
+
$darkModeToggles[i].classList.remove('dark');
|
|
49
|
+
}
|
|
50
|
+
if (hasClass) {
|
|
51
|
+
document.body.classList.remove('dark');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
useDark.addEventListener('change', function (evt) {
|
|
57
|
+
toggleDarkMode(evt.matches);
|
|
58
|
+
});
|
|
59
|
+
if (darkModeStateLocal) {
|
|
60
|
+
darkModeState = darkModeStateLocal === 'true';
|
|
61
|
+
}
|
|
62
|
+
toggleDarkMode(darkModeState);
|
|
63
|
+
</script>
|
|
64
|
+
|
|
65
|
+
<div class="navbar navbar-default navbar-fixed-top d-md-none p-0">
|
|
66
|
+
<div class="d-flex">
|
|
67
|
+
<a href="../" class="navbar-brand">angular-config</a>
|
|
68
|
+
<button type="button" class="btn btn-default btn-menu ion-ios-menu" id="btn-menu"></button>
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div class="xs-menu menu" id="mobile-menu">
|
|
73
|
+
<div id="book-search-input" role="search"><input type="text" placeholder="Type to search"></div> <compodoc-menu></compodoc-menu>
|
|
74
|
+
</div>
|
|
75
|
+
|
|
76
|
+
<div class="container-fluid main">
|
|
77
|
+
<div class="row main">
|
|
78
|
+
<div class="d-none d-md-block menu">
|
|
79
|
+
<compodoc-menu mode="normal"></compodoc-menu>
|
|
80
|
+
</div>
|
|
81
|
+
<!-- START CONTENT -->
|
|
82
|
+
<div class="content interface">
|
|
83
|
+
<div class="content-data">
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
<ol class="breadcrumb">
|
|
98
|
+
<li class="breadcrumb-item">Interfaces</li>
|
|
99
|
+
<li class="breadcrumb-item"
|
|
100
|
+
>
|
|
101
|
+
Oauth2Config</li>
|
|
102
|
+
</ol>
|
|
103
|
+
|
|
104
|
+
<ul class="nav nav-tabs" role="tablist">
|
|
105
|
+
<li class="nav-item">
|
|
106
|
+
<a href="#info"
|
|
107
|
+
class="nav-link"
|
|
108
|
+
class="nav-link active"
|
|
109
|
+
role="tab" id="info-tab" data-bs-toggle="tab" data-link="info">Info</a>
|
|
110
|
+
</li>
|
|
111
|
+
<li class="nav-item">
|
|
112
|
+
<a href="#source"
|
|
113
|
+
class="nav-link"
|
|
114
|
+
|
|
115
|
+
role="tab" id="source-tab" data-bs-toggle="tab" data-link="source">Source</a>
|
|
116
|
+
</li>
|
|
117
|
+
</ul>
|
|
118
|
+
|
|
119
|
+
<div class="tab-content">
|
|
120
|
+
<div class="tab-pane fade active in" id="info">
|
|
121
|
+
<p class="comment">
|
|
122
|
+
<h3>File</h3>
|
|
123
|
+
</p>
|
|
124
|
+
<p class="comment">
|
|
125
|
+
<code>src/lib/config.ts</code>
|
|
126
|
+
</p>
|
|
127
|
+
|
|
128
|
+
|
|
129
|
+
|
|
130
|
+
|
|
131
|
+
<section data-compodoc="block-index">
|
|
132
|
+
<h3 id="index">Index</h3>
|
|
133
|
+
<table class="table table-sm table-bordered index-table">
|
|
134
|
+
<tbody>
|
|
135
|
+
<tr>
|
|
136
|
+
<td class="col-md-4">
|
|
137
|
+
<h6><b>Properties</b></h6>
|
|
138
|
+
</td>
|
|
139
|
+
</tr>
|
|
140
|
+
<tr>
|
|
141
|
+
<td class="col-md-4">
|
|
142
|
+
<ul class="index-list">
|
|
143
|
+
<li>
|
|
144
|
+
<span class="modifier">Optional</span>
|
|
145
|
+
<a href="#profileUrl"
|
|
146
|
+
>
|
|
147
|
+
profileUrl
|
|
148
|
+
</a>
|
|
149
|
+
</li>
|
|
150
|
+
</ul>
|
|
151
|
+
</td>
|
|
152
|
+
</tr>
|
|
153
|
+
</tbody>
|
|
154
|
+
</table>
|
|
155
|
+
</section>
|
|
156
|
+
|
|
157
|
+
|
|
158
|
+
|
|
159
|
+
<section data-compodoc="block-properties">
|
|
160
|
+
<h3 id="inputs">Properties</h3>
|
|
161
|
+
<table class="table table-sm table-bordered">
|
|
162
|
+
<tbody>
|
|
163
|
+
<tr>
|
|
164
|
+
<td class="col-md-4">
|
|
165
|
+
<a name="profileUrl"></a>
|
|
166
|
+
<span class="name "><b>profileUrl</b>
|
|
167
|
+
<a href="#profileUrl">
|
|
168
|
+
<span class="icon ion-ios-link"></span>
|
|
169
|
+
</a>
|
|
170
|
+
</span>
|
|
171
|
+
</td>
|
|
172
|
+
</tr>
|
|
173
|
+
<tr>
|
|
174
|
+
<td class="col-md-4">
|
|
175
|
+
<code>profileUrl: <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
|
|
176
|
+
</code>
|
|
177
|
+
</td>
|
|
178
|
+
</tr>
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
<tr>
|
|
182
|
+
<td class="col-md-4">
|
|
183
|
+
<i>Type : </i> <code><a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/string" target="_blank" >string</a></code>
|
|
184
|
+
|
|
185
|
+
</td>
|
|
186
|
+
</tr>
|
|
187
|
+
|
|
188
|
+
<tr>
|
|
189
|
+
<td class="col-md-4">
|
|
190
|
+
<i>Optional</i>
|
|
191
|
+
</td>
|
|
192
|
+
</tr>
|
|
193
|
+
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
|
|
197
|
+
</tbody>
|
|
198
|
+
</table>
|
|
199
|
+
</section>
|
|
200
|
+
</div>
|
|
201
|
+
|
|
202
|
+
|
|
203
|
+
<div class="tab-pane fade tab-source-code" id="source">
|
|
204
|
+
<pre class="line-numbers compodoc-sourcecode"><code class="language-typescript">import { IconConfig } from '@rxap/utilities';
|
|
205
|
+
|
|
206
|
+
export interface AppsNavigationConfig {
|
|
207
|
+
target?: string;
|
|
208
|
+
image?: string;
|
|
209
|
+
label: string;
|
|
210
|
+
href?: string;
|
|
211
|
+
routerLink?: string[];
|
|
212
|
+
empty?: false;
|
|
213
|
+
hidden?: boolean;
|
|
214
|
+
id?: string;
|
|
215
|
+
permissions?: string[];
|
|
216
|
+
icon?: IconConfig;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
export interface LogoConfig {
|
|
220
|
+
src?: string;
|
|
221
|
+
width?: number;
|
|
222
|
+
height?: number;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
export interface NavigationConfig {
|
|
226
|
+
apps?: AppsNavigationConfig[];
|
|
227
|
+
collapsable?: boolean;
|
|
228
|
+
pinned?: boolean;
|
|
229
|
+
mode?: 'side' | 'over';
|
|
230
|
+
opened?: boolean;
|
|
231
|
+
fixedInViewport?: boolean;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
export type LanguagesConfig = Record<string, string>;
|
|
235
|
+
|
|
236
|
+
export interface i18nConfig {
|
|
237
|
+
languages?: LanguagesConfig;
|
|
238
|
+
defaultLanguage?: string;
|
|
239
|
+
}
|
|
240
|
+
|
|
241
|
+
export interface Oauth2Config {
|
|
242
|
+
profileUrl?: string;
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
export interface Config {
|
|
246
|
+
navigation?: NavigationConfig;
|
|
247
|
+
logo?: LogoConfig;
|
|
248
|
+
i18n?: i18nConfig;
|
|
249
|
+
oauth2?: Oauth2Config;
|
|
250
|
+
}
|
|
251
|
+
</code></pre>
|
|
252
|
+
</div>
|
|
253
|
+
</div>
|
|
254
|
+
|
|
255
|
+
|
|
256
|
+
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
</div><div class="search-results">
|
|
263
|
+
<div class="has-results">
|
|
264
|
+
<h1 class="search-results-title"><span class='search-results-count'></span> results matching "<span class='search-query'></span>"</h1>
|
|
265
|
+
<ul class="search-results-list"></ul>
|
|
266
|
+
</div>
|
|
267
|
+
<div class="no-results">
|
|
268
|
+
<h1 class="search-results-title">No results matching "<span class='search-query'></span>"</h1>
|
|
269
|
+
</div>
|
|
270
|
+
</div>
|
|
271
|
+
</div>
|
|
272
|
+
<!-- END CONTENT -->
|
|
273
|
+
</div>
|
|
274
|
+
</div>
|
|
275
|
+
|
|
276
|
+
<label class="dark-mode-switch">
|
|
277
|
+
<input type="checkbox">
|
|
278
|
+
<span class="slider">
|
|
279
|
+
<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">
|
|
280
|
+
<path d="M21 12.79A9 9 0 1111.21 3 7 7 0 0021 12.79z"></path>
|
|
281
|
+
</svg>
|
|
282
|
+
</span>
|
|
283
|
+
</label>
|
|
284
|
+
|
|
285
|
+
<script>
|
|
286
|
+
var COMPODOC_CURRENT_PAGE_DEPTH = 1;
|
|
287
|
+
var COMPODOC_CURRENT_PAGE_CONTEXT = 'interface';
|
|
288
|
+
var COMPODOC_CURRENT_PAGE_URL = 'Oauth2Config.html';
|
|
289
|
+
var MAX_SEARCH_RESULTS = 15;
|
|
290
|
+
</script>
|
|
291
|
+
|
|
292
|
+
<script>
|
|
293
|
+
$darkModeToggleSwitchers = document.querySelectorAll('.dark-mode-switch input');
|
|
294
|
+
checkToggle(darkModeState);
|
|
295
|
+
if ($darkModeToggleSwitchers.length > 0) {
|
|
296
|
+
for (var i = 0; i < $darkModeToggleSwitchers.length; i++) {
|
|
297
|
+
$darkModeToggleSwitchers[i].addEventListener('change', function (event) {
|
|
298
|
+
darkModeState = !darkModeState;
|
|
299
|
+
toggleDarkMode(darkModeState);
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
</script>
|
|
304
|
+
|
|
305
|
+
<script src="../js/libs/custom-elements.min.js"></script>
|
|
306
|
+
<script src="../js/libs/lit-html.js"></script>
|
|
307
|
+
|
|
308
|
+
<script src="../js/menu-wc.js" defer></script>
|
|
309
|
+
<script nomodule src="../js/menu-wc_es5.js" defer></script>
|
|
310
|
+
|
|
311
|
+
<script src="../js/libs/bootstrap-native.js"></script>
|
|
312
|
+
|
|
313
|
+
<script src="../js/libs/es6-shim.min.js"></script>
|
|
314
|
+
<script src="../js/libs/EventDispatcher.js"></script>
|
|
315
|
+
<script src="../js/libs/promise.min.js"></script>
|
|
316
|
+
<script src="../js/libs/zepto.min.js"></script>
|
|
317
|
+
|
|
318
|
+
<script src="../js/compodoc.js"></script>
|
|
319
|
+
|
|
320
|
+
<script src="../js/tabs.js"></script>
|
|
321
|
+
<script src="../js/menu.js"></script>
|
|
322
|
+
<script src="../js/libs/clipboard.min.js"></script>
|
|
323
|
+
<script src="../js/libs/prism.js"></script>
|
|
324
|
+
<script src="../js/sourceCode.js"></script>
|
|
325
|
+
<script src="../js/search/search.js"></script>
|
|
326
|
+
<script src="../js/search/lunr.min.js"></script>
|
|
327
|
+
<script src="../js/search/search-lunr.js"></script>
|
|
328
|
+
<script src="../js/search/search_index.js"></script>
|
|
329
|
+
<script src="../js/lazy-load-graphs.js"></script>
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
</body>
|
|
333
|
+
</html>
|
|
@@ -283,10 +283,15 @@ export interface i18nConfig {
|
|
|
283
283
|
defaultLanguage?: string;
|
|
284
284
|
}
|
|
285
285
|
|
|
286
|
+
export interface Oauth2Config {
|
|
287
|
+
profileUrl?: string;
|
|
288
|
+
}
|
|
289
|
+
|
|
286
290
|
export interface Config {
|
|
287
291
|
navigation?: NavigationConfig;
|
|
288
292
|
logo?: LogoConfig;
|
|
289
293
|
i18n?: i18nConfig;
|
|
294
|
+
oauth2?: Oauth2Config;
|
|
290
295
|
}
|
|
291
296
|
</code></pre>
|
|
292
297
|
</div>
|
package/compodoc/js/menu-wc.js
CHANGED
|
@@ -100,6 +100,9 @@ customElements.define('compodoc-menu', class extends HTMLElement {
|
|
|
100
100
|
<li class="link">
|
|
101
101
|
<a href="interfaces/NavigationConfig.html" data-type="entity-link" >NavigationConfig</a>
|
|
102
102
|
</li>
|
|
103
|
+
<li class="link">
|
|
104
|
+
<a href="interfaces/Oauth2Config.html" data-type="entity-link" >Oauth2Config</a>
|
|
105
|
+
</li>
|
|
103
106
|
</ul>
|
|
104
107
|
</li>
|
|
105
108
|
<li class="chapter">
|
|
@@ -33,8 +33,8 @@ customElements.define('compodoc-menu', /*#__PURE__*/function (_HTMLElement) {
|
|
|
33
33
|
}, {
|
|
34
34
|
key: "render",
|
|
35
35
|
value: function render(isNormalMode) {
|
|
36
|
-
var tp = lithtml.html("\n <nav>\n <ul class=\"list\">\n <li class=\"title\">\n <a href=\"index.html\" data-type=\"index-link\">angular-config</a>\n </li>\n\n <li class=\"divider\"></li>\n ".concat(isNormalMode ? "<div id=\"book-search-input\" role=\"search\"><input type=\"text\" placeholder=\"Type to search\"></div>" : '', "\n <li class=\"chapter\">\n <a data-type=\"chapter-link\" href=\"index.html\"><span class=\"icon ion-ios-home\"></span>Getting started</a>\n <ul class=\"links\">\n <li class=\"link\">\n <a href=\"overview.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-keypad\"></span>Overview\n </a>\n </li>\n <li class=\"link\">\n <a href=\"index.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>README\n </a>\n </li>\n <li class=\"link\">\n <a href=\"changelog.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>CHANGELOG\n </a>\n </li>\n <li class=\"link\">\n <a href=\"license.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>LICENSE\n </a>\n </li>\n <li class=\"link\">\n <a href=\"dependencies.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-list\"></span>Dependencies\n </a>\n </li>\n <li class=\"link\">\n <a href=\"properties.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-apps\"></span>Properties\n </a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#injectables-links"' : 'data-bs-target="#xs-injectables-links"', ">\n <span class=\"icon ion-md-arrow-round-down\"></span>\n <span>Injectables</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? 'id="injectables-links"' : 'id="xs-injectables-links"', ">\n <li class=\"link\">\n <a href=\"injectables/ConfigLoaderService.html\" data-type=\"entity-link\" >ConfigLoaderService</a>\n </li>\n <li class=\"link\">\n <a href=\"injectables/ConfigService.html\" data-type=\"entity-link\" >ConfigService</a>\n </li>\n <li class=\"link\">\n <a href=\"injectables/ConfigTestingService.html\" data-type=\"entity-link\" >ConfigTestingService</a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#interfaces-links"' : 'data-bs-target="#xs-interfaces-links"', ">\n <span class=\"icon ion-md-information-circle-outline\"></span>\n <span>Interfaces</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? ' id="interfaces-links"' : 'id="xs-interfaces-links"', ">\n <li class=\"link\">\n <a href=\"interfaces/AppsNavigationConfig.html\" data-type=\"entity-link\" >AppsNavigationConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/Config.html\" data-type=\"entity-link\" >Config</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/ConfigLoadOptions.html\" data-type=\"entity-link\" >ConfigLoadOptions</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/i18nConfig.html\" data-type=\"entity-link\" >i18nConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/LogoConfig.html\" data-type=\"entity-link\" >LogoConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/NavigationConfig.html\" data-type=\"entity-link\" >NavigationConfig</a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#miscellaneous-links"' : 'data-bs-target="#xs-miscellaneous-links"', ">\n <span class=\"icon ion-ios-cube\"></span>\n <span>Miscellaneous</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? 'id="miscellaneous-links"' : 'id="xs-miscellaneous-links"', ">\n <li class=\"link\">\n <a href=\"miscellaneous/functions.html\" data-type=\"entity-link\">Functions</a>\n </li>\n <li class=\"link\">\n <a href=\"miscellaneous/typealiases.html\" data-type=\"entity-link\">Type aliases</a>\n </li>\n <li class=\"link\">\n <a href=\"miscellaneous/variables.html\" data-type=\"entity-link\">Variables</a>\n </li>\n </ul>\n </li>\n <li class=\"divider\"></li>\n <li class=\"copyright\">\n Documentation generated using <a href=\"https://compodoc.app/\" target=\"_blank\" rel=\"noopener noreferrer\">\n <img data-src=\"images/compodoc-vectorise.png\" class=\"img-responsive\" data-type=\"compodoc-logo\">\n </a>\n </li>\n </ul>\n </nav>\n "));
|
|
36
|
+
var tp = lithtml.html("\n <nav>\n <ul class=\"list\">\n <li class=\"title\">\n <a href=\"index.html\" data-type=\"index-link\">angular-config</a>\n </li>\n\n <li class=\"divider\"></li>\n ".concat(isNormalMode ? "<div id=\"book-search-input\" role=\"search\"><input type=\"text\" placeholder=\"Type to search\"></div>" : '', "\n <li class=\"chapter\">\n <a data-type=\"chapter-link\" href=\"index.html\"><span class=\"icon ion-ios-home\"></span>Getting started</a>\n <ul class=\"links\">\n <li class=\"link\">\n <a href=\"overview.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-keypad\"></span>Overview\n </a>\n </li>\n <li class=\"link\">\n <a href=\"index.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>README\n </a>\n </li>\n <li class=\"link\">\n <a href=\"changelog.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>CHANGELOG\n </a>\n </li>\n <li class=\"link\">\n <a href=\"license.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-paper\"></span>LICENSE\n </a>\n </li>\n <li class=\"link\">\n <a href=\"dependencies.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-list\"></span>Dependencies\n </a>\n </li>\n <li class=\"link\">\n <a href=\"properties.html\" data-type=\"chapter-link\">\n <span class=\"icon ion-ios-apps\"></span>Properties\n </a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#injectables-links"' : 'data-bs-target="#xs-injectables-links"', ">\n <span class=\"icon ion-md-arrow-round-down\"></span>\n <span>Injectables</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? 'id="injectables-links"' : 'id="xs-injectables-links"', ">\n <li class=\"link\">\n <a href=\"injectables/ConfigLoaderService.html\" data-type=\"entity-link\" >ConfigLoaderService</a>\n </li>\n <li class=\"link\">\n <a href=\"injectables/ConfigService.html\" data-type=\"entity-link\" >ConfigService</a>\n </li>\n <li class=\"link\">\n <a href=\"injectables/ConfigTestingService.html\" data-type=\"entity-link\" >ConfigTestingService</a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#interfaces-links"' : 'data-bs-target="#xs-interfaces-links"', ">\n <span class=\"icon ion-md-information-circle-outline\"></span>\n <span>Interfaces</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? ' id="interfaces-links"' : 'id="xs-interfaces-links"', ">\n <li class=\"link\">\n <a href=\"interfaces/AppsNavigationConfig.html\" data-type=\"entity-link\" >AppsNavigationConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/Config.html\" data-type=\"entity-link\" >Config</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/ConfigLoadOptions.html\" data-type=\"entity-link\" >ConfigLoadOptions</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/i18nConfig.html\" data-type=\"entity-link\" >i18nConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/LogoConfig.html\" data-type=\"entity-link\" >LogoConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/NavigationConfig.html\" data-type=\"entity-link\" >NavigationConfig</a>\n </li>\n <li class=\"link\">\n <a href=\"interfaces/Oauth2Config.html\" data-type=\"entity-link\" >Oauth2Config</a>\n </li>\n </ul>\n </li>\n <li class=\"chapter\">\n <div class=\"simple menu-toggler\" data-bs-toggle=\"collapse\" ").concat(isNormalMode ? 'data-bs-target="#miscellaneous-links"' : 'data-bs-target="#xs-miscellaneous-links"', ">\n <span class=\"icon ion-ios-cube\"></span>\n <span>Miscellaneous</span>\n <span class=\"icon ion-ios-arrow-down\"></span>\n </div>\n <ul class=\"links collapse \" ").concat(isNormalMode ? 'id="miscellaneous-links"' : 'id="xs-miscellaneous-links"', ">\n <li class=\"link\">\n <a href=\"miscellaneous/functions.html\" data-type=\"entity-link\">Functions</a>\n </li>\n <li class=\"link\">\n <a href=\"miscellaneous/typealiases.html\" data-type=\"entity-link\">Type aliases</a>\n </li>\n <li class=\"link\">\n <a href=\"miscellaneous/variables.html\" data-type=\"entity-link\">Variables</a>\n </li>\n </ul>\n </li>\n <li class=\"divider\"></li>\n <li class=\"copyright\">\n Documentation generated using <a href=\"https://compodoc.app/\" target=\"_blank\" rel=\"noopener noreferrer\">\n <img data-src=\"images/compodoc-vectorise.png\" class=\"img-responsive\" data-type=\"compodoc-logo\">\n </a>\n </li>\n </ul>\n </nav>\n "));
|
|
37
37
|
this.innerHTML = tp.strings;
|
|
38
38
|
}
|
|
39
39
|
}]);
|
|
40
|
-
}(
|
|
40
|
+
}(/*#__PURE__*/_wrapNativeSuper(HTMLElement)));
|