taon-ui 19.0.3 → 19.0.6

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.
Files changed (84) hide show
  1. package/assets/shared/logo-header-admin-mode.png +0 -0
  2. package/browser/fesm2022/taon-ui.mjs +54 -54
  3. package/browser/fesm2022/taon-ui.mjs.map +1 -1
  4. package/browser/package.json +1 -1
  5. package/client/package.json +1 -1
  6. package/lib/build-info._auto-generated_.d.ts +1 -1
  7. package/lib/build-info._auto-generated_.js +1 -1
  8. package/{client/lib/ui → lib}/directives/index.d.ts +0 -1
  9. package/lib/directives/index.js +5 -0
  10. package/lib/directives/index.js.map +1 -0
  11. package/{client/lib/ui → lib}/directives/safe.pipe.d.ts +0 -4
  12. package/lib/directives/taon-inject-html.directive.d.ts +6 -0
  13. package/{client/lib/ui → lib}/directives/taon-long-press.directive.d.ts +1 -5
  14. package/lib/directives/view-mode.d.ts +5 -0
  15. package/lib/directives/view-mode.js +10 -0
  16. package/lib/directives/view-mode.js.map +1 -0
  17. package/lib/env/env.angular-node-app.d.ts +13 -0
  18. package/lib/env/env.angular-node-app.js +19 -0
  19. package/lib/env/env.angular-node-app.js.map +1 -0
  20. package/lib/env/env.electron-app.d.ts +13 -0
  21. package/lib/env/env.electron-app.js +19 -0
  22. package/lib/env/env.electron-app.js.map +1 -0
  23. package/lib/env/env.mobile-app.d.ts +13 -0
  24. package/lib/env/env.mobile-app.js +19 -0
  25. package/lib/env/env.mobile-app.js.map +1 -0
  26. package/lib/env/env.npm-lib-and-cli-tool.d.ts +13 -0
  27. package/lib/env/env.npm-lib-and-cli-tool.js +19 -0
  28. package/lib/env/env.npm-lib-and-cli-tool.js.map +1 -0
  29. package/lib/env/env.vscode-plugin.d.ts +13 -0
  30. package/lib/env/env.vscode-plugin.js +19 -0
  31. package/lib/env/env.vscode-plugin.js.map +1 -0
  32. package/lib/env/index.d.ts +5 -0
  33. package/lib/env/index.js +22 -0
  34. package/lib/env/index.js.map +1 -0
  35. package/lib/index.js +2 -2
  36. package/lib/layouts/taon-bootstrap-navbar/index.js +2 -2
  37. package/lib/ui/directives/index.js +2 -2
  38. package/lib/ui/index.js +2 -2
  39. package/lib/ui/taon-admin-mode-configuration/taon-admin.service.d.ts +21 -0
  40. package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
  41. package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
  42. package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
  43. package/lib/ui/taon-progress-bar/index.js +2 -2
  44. package/lib/ui/taon-session-passcode/index.js +2 -2
  45. package/lib/ui/taon-table/index.js +2 -2
  46. package/package.json +1 -1
  47. package/scss/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.scss +1 -1
  48. package/scss/vars.scss +7 -0
  49. package/tmp-environment.json +4 -8
  50. package/websql/fesm2022/taon-ui.mjs +54 -54
  51. package/websql/fesm2022/taon-ui.mjs.map +1 -1
  52. package/websql/package.json +1 -1
  53. package/client/README.md +0 -24
  54. package/client/fesm2022/taon-ui.mjs +0 -1232
  55. package/client/fesm2022/taon-ui.mjs.map +0 -1
  56. package/client/index.d.ts +0 -6
  57. package/client/lib/index.d.ts +0 -4
  58. package/client/lib/layouts/index.d.ts +0 -2
  59. package/client/lib/layouts/taon-bootstrap-navbar/index.d.ts +0 -2
  60. package/client/lib/layouts/taon-bootstrap-navbar/taon-bootstrap-navbar.component.d.ts +0 -10
  61. package/client/lib/taon.models.d.ts +0 -12
  62. package/client/lib/ui/directives/taon-inject-html.directive.d.ts +0 -10
  63. package/client/lib/ui/index.d.ts +0 -10
  64. package/client/lib/ui/taon-admin-mode-configuration/index.d.ts +0 -3
  65. package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +0 -47
  66. package/client/lib/ui/taon-admin-mode-configuration/taon-admin.models.d.ts +0 -6
  67. package/client/lib/ui/taon-full-material.module.d.ts +0 -50
  68. package/client/lib/ui/taon-github-fork-me-corner/index.d.ts +0 -3
  69. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.component.d.ts +0 -7
  70. package/client/lib/ui/taon-github-fork-me-corner/taon-github-fork-me-corner.module.d.ts +0 -9
  71. package/client/lib/ui/taon-notifications/index.d.ts +0 -5
  72. package/client/lib/ui/taon-notifications/taon-notifications.component.d.ts +0 -13
  73. package/client/lib/ui/taon-notifications/taon-notifications.models.d.ts +0 -7
  74. package/client/lib/ui/taon-notifications/taon-notifications.module.d.ts +0 -8
  75. package/client/lib/ui/taon-notifications/taon-notifications.service.d.ts +0 -15
  76. package/client/lib/ui/taon-progress-bar/index.d.ts +0 -3
  77. package/client/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +0 -17
  78. package/client/lib/ui/taon-progress-bar/taon-progress-bar.module.d.ts +0 -9
  79. package/client/lib/ui/taon-session-passcode/index.d.ts +0 -2
  80. package/client/lib/ui/taon-session-passcode/taon-session-passcode.component.d.ts +0 -39
  81. package/client/lib/ui/taon-table/index.d.ts +0 -3
  82. package/client/lib/ui/taon-table/taon-table.component.d.ts +0 -38
  83. package/client/lib/ui/taon-table/taon-table.module.d.ts +0 -17
  84. package/client/public-api.d.ts +0 -2
@@ -1,1232 +0,0 @@
1
- import * as i0 from '@angular/core';
2
- import { EventEmitter, HostListener, HostBinding, Output, Input, Directive, Pipe, NgModule, Component, Injectable, inject, DestroyRef, Self, ViewChild, ChangeDetectorRef, ChangeDetectionStrategy } from '@angular/core';
3
- import { _, json5, Helpers } from 'tnp-core/browser';
4
- import { Log, Level } from 'ng2-logger/browser';
5
- import * as i1 from '@angular/platform-browser';
6
- import { A11yModule } from '@angular/cdk/a11y';
7
- import * as i5$1 from '@angular/cdk/drag-drop';
8
- import { DragDropModule } from '@angular/cdk/drag-drop';
9
- import { ScrollingModule } from '@angular/cdk/scrolling';
10
- import { CdkStepperModule } from '@angular/cdk/stepper';
11
- import { CdkTableModule } from '@angular/cdk/table';
12
- import { CdkTreeModule } from '@angular/cdk/tree';
13
- import { MatAutocompleteModule } from '@angular/material/autocomplete';
14
- import { MatBadgeModule } from '@angular/material/badge';
15
- import { MatBottomSheetModule } from '@angular/material/bottom-sheet';
16
- import * as i6 from '@angular/material/button';
17
- import { MatButtonModule } from '@angular/material/button';
18
- import * as i7 from '@angular/material/card';
19
- import { MatCardModule } from '@angular/material/card';
20
- import * as i8 from '@angular/material/checkbox';
21
- import { MatCheckboxModule } from '@angular/material/checkbox';
22
- import { MatButtonToggleModule } from '@angular/material/button-toggle';
23
- import { MatStepperModule } from '@angular/material/stepper';
24
- import { MatDialogModule } from '@angular/material/dialog';
25
- import { MatExpansionModule } from '@angular/material/expansion';
26
- import { MatGridListModule } from '@angular/material/grid-list';
27
- import * as i5 from '@angular/material/icon';
28
- import { MatIconModule } from '@angular/material/icon';
29
- import { MatListModule } from '@angular/material/list';
30
- import { MatDatepickerModule } from '@angular/material/datepicker';
31
- import { MatPaginatorModule } from '@angular/material/paginator';
32
- import { MatProgressBarModule } from '@angular/material/progress-bar';
33
- import { MatChipsModule } from '@angular/material/chips';
34
- import { MatDividerModule } from '@angular/material/divider';
35
- import * as i2$2 from '@angular/material/input';
36
- import { MatInputModule } from '@angular/material/input';
37
- import { MatMenuModule } from '@angular/material/menu';
38
- import { MatNativeDateModule, MatRippleModule } from '@angular/material/core';
39
- import { MatProgressSpinnerModule } from '@angular/material/progress-spinner';
40
- import { MatRadioModule } from '@angular/material/radio';
41
- import { MatSelectModule } from '@angular/material/select';
42
- import * as i10 from '@angular/material/sidenav';
43
- import { MatSidenavModule } from '@angular/material/sidenav';
44
- import { MatSliderModule } from '@angular/material/slider';
45
- import { MatSlideToggleModule } from '@angular/material/slide-toggle';
46
- import { MatSnackBarModule } from '@angular/material/snack-bar';
47
- import { MatSortModule } from '@angular/material/sort';
48
- import { MatTableModule } from '@angular/material/table';
49
- import * as i11 from '@angular/material/tabs';
50
- import { MatTabsModule } from '@angular/material/tabs';
51
- import { MatToolbarModule } from '@angular/material/toolbar';
52
- import { MatTooltipModule } from '@angular/material/tooltip';
53
- import { MatTreeModule } from '@angular/material/tree';
54
- import * as i2$1 from '@angular/common';
55
- import { CommonModule } from '@angular/common';
56
- import { Resource } from 'ng2-rest/browser';
57
- import * as i1$1 from '@ngneat/hot-toast';
58
- import { __decorate, __metadata } from 'tslib';
59
- import * as i2 from '@angular/forms';
60
- import { FormGroup, FormControl, ReactiveFormsModule, FormsModule } from '@angular/forms';
61
- import { PasswordModule } from 'primeng/password';
62
- import { Stor } from 'taon-storage/browser';
63
- import { interval, tap, Subscription, defer, fromEvent, map, debounceTime, distinctUntilChanged, share, Subject, takeUntil } from 'rxjs';
64
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
65
- import axios from 'axios';
66
- import { Taon, TaonAdminService } from 'taon/browser';
67
- import { CLASS } from 'typescript-class-helpers/browser';
68
- import * as i3 from '@ng-matero/extensions/grid';
69
- import { MtxGridModule } from '@ng-matero/extensions/grid';
70
- import * as i1$2 from 'static-columns/browser';
71
- import { StaticColumnsModule } from 'static-columns/browser';
72
- import { MatFormFieldModule } from '@angular/material/form-field';
73
- import * as i4 from 'ngx-scrollbar';
74
- import { NgScrollbarModule } from 'ngx-scrollbar';
75
- import * as i2$3 from '@ng-bootstrap/ng-bootstrap';
76
- import { NgbCollapseModule } from '@ng-bootstrap/ng-bootstrap';
77
- import { ModalModule } from 'ngx-bootstrap/modal';
78
-
79
- const log$1 = Log.create(`[taon-helpers] long-press`, Level.__NOTHING);
80
- class TaonLongPress {
81
- constructor() {
82
- this.pressDuration = 1000;
83
- this.onLongPress = new EventEmitter();
84
- this.onLongPressing = new EventEmitter();
85
- this.onLongPressEnd = new EventEmitter();
86
- this.mouseX = 0;
87
- this.mouseY = 0;
88
- this.allowTrigger = false;
89
- this.triggerEnd = _.debounce(() => {
90
- this.endPress();
91
- }, 500);
92
- }
93
- get press() {
94
- return this.pressing;
95
- }
96
- get longPress() {
97
- return this.longPressing;
98
- }
99
- onMouseDown(event) {
100
- // don't do right/middle clicks
101
- log$1.d(`MOUSE DOWN `);
102
- if (event.which !== 1)
103
- return;
104
- this.allowTrigger = true;
105
- this.mouseX = event.clientX;
106
- this.mouseY = event.clientY;
107
- this.pressing = true;
108
- this.longPressing = false;
109
- this.timeout = setTimeout(() => {
110
- if (this.allowTrigger) {
111
- this.longPressing = true;
112
- log$1.d(`long pressing start pressDuration:${this.pressDuration} `);
113
- this.onLongPress.emit(event);
114
- this.loop(event);
115
- }
116
- }, this.pressDuration);
117
- this.loop(event);
118
- }
119
- onMouseMove(event) {
120
- if (this.pressing && !this.longPressing) {
121
- const xThres = event.clientX - this.mouseX > 10;
122
- const yThres = event.clientY - this.mouseY > 10;
123
- if (xThres || yThres) {
124
- this.endPress();
125
- }
126
- }
127
- }
128
- loop(event) {
129
- if (this.longPressing) {
130
- this.timeout = setTimeout(() => {
131
- log$1.d(`emil longpressing`);
132
- this.triggerEnd();
133
- this.onLongPressing.emit(event);
134
- this.loop(event);
135
- }, 50);
136
- }
137
- }
138
- endPress(emit = true) {
139
- this.allowTrigger = false;
140
- clearTimeout(this.timeout);
141
- this.longPressing = false;
142
- this.pressing = false;
143
- if (emit) {
144
- log$1.d(`EMIT END`);
145
- this.onLongPressEnd.emit(true);
146
- }
147
- else {
148
- log$1.d(`NOT EMIT END`);
149
- }
150
- }
151
- onMouseUp() {
152
- this.endPress(false);
153
- }
154
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonLongPress, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
155
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: TaonLongPress, isStandalone: true, selector: "[taonLongPress]", inputs: { pressDuration: "pressDuration" }, outputs: { onLongPress: "onLongPress", onLongPressing: "onLongPressing", onLongPressEnd: "onLongPressEnd" }, host: { listeners: { "mousedown": "onMouseDown($event)", "mousemove": "onMouseMove($event)", "mouseup": "onMouseUp()" }, properties: { "class.press": "this.press", "class.longpress": "this.longPress" } }, ngImport: i0 }); }
156
- }
157
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonLongPress, decorators: [{
158
- type: Directive,
159
- args: [{
160
- selector: '[taonLongPress]',
161
- standalone: true,
162
- }]
163
- }], propDecorators: { pressDuration: [{
164
- type: Input
165
- }], onLongPress: [{
166
- type: Output
167
- }], onLongPressing: [{
168
- type: Output
169
- }], onLongPressEnd: [{
170
- type: Output
171
- }], press: [{
172
- type: HostBinding,
173
- args: ['class.press']
174
- }], longPress: [{
175
- type: HostBinding,
176
- args: ['class.longpress']
177
- }], onMouseDown: [{
178
- type: HostListener,
179
- args: ['mousedown', ['$event']]
180
- }], onMouseMove: [{
181
- type: HostListener,
182
- args: ['mousemove', ['$event']]
183
- }], onMouseUp: [{
184
- type: HostListener,
185
- args: ['mouseup']
186
- }] } });
187
-
188
- class TaonInjectHTMLDirective {
189
- set taonInjectHTML(content) {
190
- this.host.nativeElement.innerHTML = content;
191
- }
192
- constructor(host) {
193
- this.host = host;
194
- }
195
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonInjectHTMLDirective, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
196
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.12", type: TaonInjectHTMLDirective, isStandalone: true, selector: "[taonInjectHTML]", inputs: { taonInjectHTML: "taonInjectHTML" }, ngImport: i0 }); }
197
- }
198
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonInjectHTMLDirective, decorators: [{
199
- type: Directive,
200
- args: [{
201
- selector: '[taonInjectHTML]',
202
- standalone: true,
203
- }]
204
- }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { taonInjectHTML: [{
205
- type: Input
206
- }] } });
207
-
208
- class SafePipe {
209
- constructor(sanitizer) {
210
- this.sanitizer = sanitizer;
211
- }
212
- transform(value, type) {
213
- switch (type) {
214
- case 'html':
215
- return this.sanitizer.bypassSecurityTrustHtml(value);
216
- case 'style':
217
- return this.sanitizer.bypassSecurityTrustStyle(value);
218
- case 'script':
219
- return this.sanitizer.bypassSecurityTrustScript(value);
220
- case 'url':
221
- return this.sanitizer.bypassSecurityTrustUrl(value);
222
- case 'resourceUrl':
223
- return this.sanitizer.bypassSecurityTrustResourceUrl(value);
224
- default:
225
- throw new Error(`Invalid safe type specified: ${type}`);
226
- }
227
- }
228
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, deps: [{ token: i1.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
229
- static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, isStandalone: true, name: "safe" }); }
230
- }
231
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: SafePipe, decorators: [{
232
- type: Pipe,
233
- args: [{
234
- name: 'safe',
235
- standalone: true,
236
- }]
237
- }], ctorParameters: () => [{ type: i1.DomSanitizer }] });
238
-
239
- //#region @browser
240
- //#endregion
241
-
242
- //#region @browser
243
- /**
244
- * @deprecated too heavy!
245
- */
246
- class TaonFullMaterialModule {
247
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
248
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, exports: [A11yModule,
249
- CdkStepperModule,
250
- CdkTableModule,
251
- CdkTreeModule,
252
- DragDropModule,
253
- MatAutocompleteModule,
254
- MatBadgeModule,
255
- MatBottomSheetModule,
256
- MatButtonModule,
257
- MatButtonToggleModule,
258
- MatCardModule,
259
- MatCheckboxModule,
260
- MatChipsModule,
261
- MatStepperModule,
262
- MatDatepickerModule,
263
- MatDialogModule,
264
- MatDividerModule,
265
- MatExpansionModule,
266
- MatGridListModule,
267
- MatIconModule,
268
- MatInputModule,
269
- MatListModule,
270
- MatMenuModule,
271
- MatNativeDateModule,
272
- MatPaginatorModule,
273
- MatProgressBarModule,
274
- MatProgressSpinnerModule,
275
- MatRadioModule,
276
- MatRippleModule,
277
- MatSelectModule,
278
- MatSidenavModule,
279
- MatSliderModule,
280
- MatSlideToggleModule,
281
- MatSnackBarModule,
282
- MatSortModule,
283
- MatTableModule,
284
- MatTabsModule,
285
- MatToolbarModule,
286
- MatTooltipModule,
287
- MatTreeModule,
288
- ScrollingModule] }); }
289
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, imports: [A11yModule,
290
- CdkStepperModule,
291
- CdkTableModule,
292
- CdkTreeModule,
293
- DragDropModule,
294
- MatAutocompleteModule,
295
- MatBadgeModule,
296
- MatBottomSheetModule,
297
- MatButtonModule,
298
- MatButtonToggleModule,
299
- MatCardModule,
300
- MatCheckboxModule,
301
- MatChipsModule,
302
- MatStepperModule,
303
- MatDatepickerModule,
304
- MatDialogModule,
305
- MatDividerModule,
306
- MatExpansionModule,
307
- MatGridListModule,
308
- MatIconModule,
309
- MatInputModule,
310
- MatListModule,
311
- MatMenuModule,
312
- MatNativeDateModule,
313
- MatPaginatorModule,
314
- MatProgressBarModule,
315
- MatProgressSpinnerModule,
316
- MatRadioModule,
317
- MatRippleModule,
318
- MatSelectModule,
319
- MatSidenavModule,
320
- MatSliderModule,
321
- MatSlideToggleModule,
322
- MatSnackBarModule,
323
- MatSortModule,
324
- MatTableModule,
325
- MatTabsModule,
326
- MatToolbarModule,
327
- MatTooltipModule,
328
- MatTreeModule,
329
- ScrollingModule] }); }
330
- }
331
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonFullMaterialModule, decorators: [{
332
- type: NgModule,
333
- args: [{
334
- exports: [
335
- A11yModule,
336
- CdkStepperModule,
337
- CdkTableModule,
338
- CdkTreeModule,
339
- DragDropModule,
340
- MatAutocompleteModule,
341
- MatBadgeModule,
342
- MatBottomSheetModule,
343
- MatButtonModule,
344
- MatButtonToggleModule,
345
- MatCardModule,
346
- MatCheckboxModule,
347
- MatChipsModule,
348
- MatStepperModule,
349
- MatDatepickerModule,
350
- MatDialogModule,
351
- MatDividerModule,
352
- MatExpansionModule,
353
- MatGridListModule,
354
- MatIconModule,
355
- MatInputModule,
356
- MatListModule,
357
- MatMenuModule,
358
- MatNativeDateModule,
359
- MatPaginatorModule,
360
- MatProgressBarModule,
361
- MatProgressSpinnerModule,
362
- MatRadioModule,
363
- MatRippleModule,
364
- MatSelectModule,
365
- MatSidenavModule,
366
- MatSliderModule,
367
- MatSlideToggleModule,
368
- MatSnackBarModule,
369
- MatSortModule,
370
- MatTableModule,
371
- MatTabsModule,
372
- MatToolbarModule,
373
- MatTooltipModule,
374
- MatTreeModule,
375
- ScrollingModule,
376
- ],
377
- }]
378
- }] });
379
-
380
- //#region @browser
381
- class TaonGithubForkMeCornerComponent {
382
- constructor() {
383
- this.url = 'https://github.com';
384
- }
385
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
386
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonGithubForkMeCornerComponent, isStandalone: false, selector: "taon-github-fork-me-corner", inputs: { url: "url" }, ngImport: i0, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }); }
387
- }
388
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerComponent, decorators: [{
389
- type: Component,
390
- args: [{ selector: 'taon-github-fork-me-corner', standalone: false, template: "<a href=\"{{ url }}\" class=\"github-corner\" aria-label=\"View source on GitHub\"\n ><svg\n width=\"80\"\n height=\"80\"\n viewBox=\"0 0 250 250\"\n style=\"\n fill: #151513;\n color: #fff;\n position: absolute;\n top: 0;\n border: 0;\n right: 0;\n \"\n aria-hidden=\"true\">\n <path d=\"M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z\"></path>\n <path\n d=\"M128.3,109.0 C113.8,99.7 119.0,89.6 119.0,89.6 C122.0,82.7 120.5,78.6 120.5,78.6 C119.2,72.0 123.4,76.3 123.4,76.3 C127.3,80.9 125.5,87.3 125.5,87.3 C122.9,97.6 130.6,101.9 134.4,103.2\"\n fill=\"currentColor\"\n style=\"transform-origin: 130px 106px\"\n class=\"octo-arm\"></path>\n <path\n d=\"M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z\"\n fill=\"currentColor\"\n class=\"octo-body\"></path>\n </svg>\n</a>", styles: ["a{opacity:.7}a:hover{opacity:1}.github-corner:hover .octo-arm{opacity:1;animation:octocat-wave .56s ease-in-out}@keyframes octocat-wave{0%,to{transform:rotate(0)}20%,60%{transform:rotate(-25deg)}40%,80%{transform:rotate(10deg)}}@media (max-width: 500px){.github-corner:hover .octo-arm{animation:none}.github-corner .octo-arm{animation:octocat-wave .56s ease-in-out}}\n"] }]
391
- }], propDecorators: { url: [{
392
- type: Input
393
- }] } });
394
-
395
- //#region @browser
396
- class TaonGithubForkMeCornerModule {
397
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
398
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, declarations: [TaonGithubForkMeCornerComponent], imports: [CommonModule], exports: [TaonGithubForkMeCornerComponent] }); }
399
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, imports: [CommonModule] }); }
400
- }
401
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonGithubForkMeCornerModule, decorators: [{
402
- type: NgModule,
403
- args: [{
404
- imports: [CommonModule],
405
- exports: [TaonGithubForkMeCornerComponent],
406
- declarations: [TaonGithubForkMeCornerComponent],
407
- providers: [],
408
- }]
409
- }] });
410
-
411
- //#region @browser
412
- //#endregion
413
-
414
- //#region @browser
415
- class TaonNotificationsService {
416
- constructor(toast) {
417
- this.toast = toast;
418
- }
419
- options(type, options) {
420
- if (_.isString(options)) {
421
- options = {
422
- // @ts-ignore
423
- title: options,
424
- };
425
- }
426
- return options;
427
- }
428
- success(options) {
429
- const opt = this.options('success', options);
430
- return this.toast.success(opt.title);
431
- }
432
- error(options) {
433
- const opt = this.options('error', options);
434
- return this.toast.error(opt.title);
435
- }
436
- warn(options) {
437
- const opt = this.options('warning', options);
438
- return this.toast.warning(opt.title);
439
- }
440
- info(options) {
441
- const opt = this.options('info', options);
442
- return this.toast.info(opt.title);
443
- }
444
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, deps: [{ token: i1$1.HotToastService }], target: i0.ɵɵFactoryTarget.Injectable }); }
445
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, providedIn: 'root' }); }
446
- }
447
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsService, decorators: [{
448
- type: Injectable,
449
- args: [{
450
- providedIn: 'root',
451
- }]
452
- }], ctorParameters: () => [{ type: i1$1.HotToastService }] });
453
-
454
- //#region @browser
455
- class TaonNotificationsComponent {
456
- constructor(notification) {
457
- this.notification = notification;
458
- }
459
- ngOnInit() { }
460
- init(subscribtionsArray, template, callback) {
461
- subscribtionsArray.push(Resource.listenErrors.subscribe(err => {
462
- this.notification.error(err.msg);
463
- // subscribtionsArray.push(notify.onTap.subscribe(() => {
464
- // callback(err);
465
- // this.modal.open(template);
466
- // }) as any);
467
- }));
468
- }
469
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsComponent, deps: [{ token: TaonNotificationsService }], target: i0.ɵɵFactoryTarget.Component }); }
470
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonNotificationsComponent, isStandalone: false, selector: "taon-notifications", ngImport: i0, template: "<!-- <p>\n notyfications works!\n</p> -->", styles: [":host{position:absolute;width:0px;height:0px}\n"] }); }
471
- }
472
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsComponent, decorators: [{
473
- type: Component,
474
- args: [{ selector: 'taon-notifications', standalone: false, template: "<!-- <p>\n notyfications works!\n</p> -->", styles: [":host{position:absolute;width:0px;height:0px}\n"] }]
475
- }], ctorParameters: () => [{ type: TaonNotificationsService }] });
476
-
477
- class TaonNotificationOptions {
478
- }
479
- //#endregion
480
-
481
- //#region @browser
482
- class TaonNotificationsModule {
483
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
484
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, declarations: [TaonNotificationsComponent], exports: [TaonNotificationsComponent] }); }
485
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, providers: [TaonNotificationsService] }); }
486
- }
487
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonNotificationsModule, decorators: [{
488
- type: NgModule,
489
- args: [{
490
- imports: [
491
- // CommonModule,
492
- // BrowserAnimationsModule, // required animations module
493
- // HotToastModule.forRoot({
494
- // position: 'top-right',
495
- // }),
496
- ],
497
- exports: [TaonNotificationsComponent],
498
- declarations: [TaonNotificationsComponent],
499
- providers: [TaonNotificationsService],
500
- }]
501
- }] });
502
-
503
- //#region @browser
504
- //#endregion
505
-
506
- class TaonSessionPasscodeComponent {
507
- constructor(element, domSanitizer, cdr) {
508
- this.element = element;
509
- this.domSanitizer = domSanitizer;
510
- this.cdr = cdr;
511
- this.destroyRef = inject(DestroyRef);
512
- this.display = 'none';
513
- this.form = new FormGroup({
514
- passcode: new FormControl(),
515
- });
516
- }
517
- ngOnInit() {
518
- if (!this.passcode) {
519
- this.passcode = '123456';
520
- }
521
- if (!this.message) {
522
- this.message = `
523
- This website is only for testing purpose. Please type passcode bellow to see content.
524
-
525
- `;
526
- }
527
- // console.log({
528
- // 'lastPasscode': this.lastPasscode,
529
- // 'current passcode': this.passcode,
530
- // 'current message': this.message,
531
- // })
532
- // this.width = window.innerWidth;
533
- // this.height = window.innerHeight;
534
- this.safeMessage = this.domSanitizer.bypassSecurityTrustHtml(this.message);
535
- if (this.lastPasscode?.toString() === this.passcode?.toString()) {
536
- this.hide();
537
- }
538
- else {
539
- this.show();
540
- this.focus();
541
- }
542
- interval(1000)
543
- .pipe(takeUntilDestroyed(this.destroyRef), tap(() => {
544
- this.focus();
545
- }))
546
- .subscribe();
547
- }
548
- submit({ passcode }) {
549
- if (this.isPasscodeOK(passcode || '')) {
550
- this.hide();
551
- }
552
- else {
553
- this.clear();
554
- }
555
- }
556
- isPasscodeOK(passcode) {
557
- this.lastPasscode = passcode.toString();
558
- return this.passcode.toString() === passcode;
559
- }
560
- ngAfterViewInit() { }
561
- focus() {
562
- this.element.nativeElement.querySelector('input')?.focus();
563
- }
564
- hide() {
565
- this.display = 'none';
566
- }
567
- show() {
568
- this.display = 'block';
569
- }
570
- clear() {
571
- this.form.controls.passcode.setValue('');
572
- }
573
- onKeyup(event) {
574
- if (this.isPasscodeOK(event.target.value || '')) {
575
- this.hide();
576
- return;
577
- }
578
- const key = event.keyCode || event.charCode;
579
- if (key === 8 || key === 46 || this.lastPasscode?.length > 5) {
580
- this.clear();
581
- }
582
- }
583
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonSessionPasscodeComponent, deps: [{ token: i0.ElementRef, self: true }, { token: i1.DomSanitizer }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
584
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonSessionPasscodeComponent, isStandalone: true, selector: "taon-session-passcode", inputs: { passcode: "passcode", message: "message" }, host: { properties: { "style.display": "this.display" } }, ngImport: i0, template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"], dependencies: [{ kind: "ngmodule", type: PasswordModule }, { kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: FormsModule }] }); }
585
- }
586
- __decorate([
587
- (Stor.property.in.localstorage
588
- .for(TaonSessionPasscodeComponent)
589
- .withDefaultValue('')),
590
- __metadata("design:type", String)
591
- ], TaonSessionPasscodeComponent.prototype, "lastPasscode", void 0);
592
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonSessionPasscodeComponent, decorators: [{
593
- type: Component,
594
- args: [{ selector: 'taon-session-passcode', standalone: true, imports: [PasswordModule, CommonModule, ReactiveFormsModule, FormsModule], template: "<form\n [formGroup]=\"form\"\n content=\"notranslate\"\n autocomplete=\"off\"\n (click)=\"focus()\"\n (ngSubmit)=\"submit(form.value)\"\n class=\"flex flex-column align-items-center w-full h-full\">\n <div class=\"flex align-content-center w-full justify-content-center mt-8\">\n <p\n class=\"p-3\"\n style=\"max-width: 400px; min-height: 100px\"\n [innerHtml]=\"safeMessage\"></p>\n </div>\n <input\n type=\"password\"\n class=\"text-5xl md:text-8xl pointer-events-none\"\n #taonpasscode\n (keyup)=\"onKeyup($event)\"\n formControlName=\"passcode\" />\n <!-- placeholder=\"Enter passcode\" -->\n</form>", styles: [":host{position:fixed;background-color:#9f9f9f57;z-index:99999;-webkit-backdrop-filter:blur(50px);backdrop-filter:blur(50px);width:100%;height:100%;display:none}input{background:#fff;border-radius:6px;outline:0px;border:0px;color:gray;text-align:center;width:500px}\n"] }]
595
- }], ctorParameters: () => [{ type: i0.ElementRef, decorators: [{
596
- type: Self
597
- }] }, { type: i1.DomSanitizer }, { type: i0.ChangeDetectorRef }], propDecorators: { passcode: [{
598
- type: Input
599
- }], message: [{
600
- type: Input
601
- }], display: [{
602
- type: HostBinding,
603
- args: ['style.display']
604
- }] } });
605
-
606
- //#region @browser
607
- //#endregion
608
-
609
- //#region @browser
610
- // import { Models } from 'tnp-models';
611
- // import type { TaonAdmin } from '../taon-admin-mode-configuration';
612
- const calculatePercentage = (loaded, total) => Math.floor(loaded * 1.0) / total;
613
- class TaonProgressBarComponent {
614
- // options: NgProgressConfig = _.merge(
615
- // {
616
- // min: 8,
617
- // max: 100,
618
- // speed: 200,
619
- // trickleSpeed: 300,
620
- // debounceTime: 0,
621
- // ease: 'linear',
622
- // spinnerPosition: 'right',
623
- // direction: 'ltr+',
624
- // color: 'gray',
625
- // fixed: true,
626
- // meteor: true,
627
- // spinner: true,
628
- // thick: false,
629
- // },
630
- // _.get(ENV, `plugins['ngx-progressbar']`),
631
- // );
632
- constructor() {
633
- this.handlers = [];
634
- }
635
- ngOnInit() { }
636
- ngOnDestroy() {
637
- this.handlers.forEach(h => h.unsubscribe());
638
- }
639
- ngAfterViewInit() {
640
- // this.labProgress.set(20)
641
- this.loadProgressBar(void 0, axios);
642
- }
643
- loadProgressBar(config, instance = axios) {
644
- // let requestsCounter = 0;
645
- // const setupStartProgress = () => {
646
- // instance.interceptors.request.use(config => {
647
- // requestsCounter++;
648
- // this.labProgress.start();
649
- // return config;
650
- // });
651
- // };
652
- // const setupUpdateProgress = () => {
653
- // const update = e => {
654
- // // NProgress.inc(calculatePercentage(e.loaded, e.total))
655
- // const percentage = calculatePercentage(e.loaded, e.total) * 100;
656
- // // console.log(`loaded: ${e.loaded}, total: ${e.total} , pecent: ${percentage}`)
657
- // this.labProgress.inc(percentage);
658
- // };
659
- // instance.defaults.onDownloadProgress = update;
660
- // instance.defaults.onUploadProgress = update;
661
- // };
662
- // const setupStopProgress = () => {
663
- // const responseFunc = response => {
664
- // if (--requestsCounter === 0) {
665
- // this.labProgress.complete();
666
- // // NProgress.done()
667
- // }
668
- // return response;
669
- // };
670
- // const errorFunc = error => {
671
- // if (--requestsCounter === 0) {
672
- // this.labProgress.complete();
673
- // // NProgress.done()
674
- // }
675
- // return Promise.reject(error);
676
- // };
677
- // instance.interceptors.response.use(responseFunc, errorFunc);
678
- // };
679
- // setupStartProgress();
680
- // setupUpdateProgress();
681
- // setupStopProgress();
682
- /* */
683
- /* */
684
- /* */
685
- /* */
686
- /* */
687
- /* */
688
- /* */
689
- /* */
690
- /* */
691
- /* */
692
- /* */
693
- /* */
694
- /* */
695
- /* */
696
- /* */
697
- /* */
698
- /* */
699
- /* */
700
- /* */
701
- /* */
702
- /* */
703
- /* */
704
- /* */
705
- /* */
706
- /* */
707
- /* */
708
- /* */
709
- /* */
710
- /* */
711
- /* */
712
- /* */
713
- /* */
714
- /* */
715
- /* */
716
- /* */
717
- /* */
718
- /* */
719
- /* */
720
- /* */
721
- /* */
722
- /* */
723
- /* */
724
- /* */
725
- /* */
726
- /* */
727
- /* */
728
- /* */
729
- /* */
730
- }
731
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
732
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonProgressBarComponent, isStandalone: false, selector: "taon-progress-bar", inputs: { isDesktop: "isDesktop" }, viewQueries: [{ propertyName: "labProgress", first: true, predicate: ["labProgress"], descendants: true }], ngImport: i0, template: "<!-- <ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n(started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->", styles: [":host{display:block}\n"] }); }
733
- }
734
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarComponent, decorators: [{
735
- type: Component,
736
- args: [{ selector: 'taon-progress-bar', standalone: false, template: "<!-- <ng-progress\n #labProgress\n id=\"lab\"\n [meteor]=\"options.meteor\"\n [color]=\"options.color\"\n [min]=\"options.min\"\n [max]=\"options.max\"\n [speed]=\"options.speed\"\n [spinner]=\"\n options.spinner &&\n (!admin.adminPanelIsOpen ||\n (admin.adminPanelIsOpen && (admin.draggablePopupMode || !isDesktop)))\n \"\n [spinnerPosition]=\"options.spinnerPosition\"\n [direction]=\"options.direction\"\n [trickleSpeed]=\"options.trickleSpeed\"\n [debounceTime]=\"options.debounceTime\"\n [ease]=\"options.ease\"\n [thick]=\"options.thick\"\n [fixed]=\"options.fixed\">\n</ng-progress>\n(started)=\"onProgressStarted()\"\n (completed)=\"onProgressCompleted()\" -->", styles: [":host{display:block}\n"] }]
737
- }], ctorParameters: () => [], propDecorators: { labProgress: [{
738
- type: ViewChild,
739
- args: ['labProgress']
740
- }], isDesktop: [{
741
- type: Input
742
- }] } });
743
-
744
- //#region @browser
745
- // import { NgProgressConfig, NgProgressModule } from 'ngx-progressbar';
746
- class TaonProgressBarModule {
747
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
748
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, declarations: [TaonProgressBarComponent], imports: [CommonModule], exports: [TaonProgressBarComponent] }); }
749
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, imports: [CommonModule] }); }
750
- }
751
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonProgressBarModule, decorators: [{
752
- type: NgModule,
753
- args: [{
754
- imports: [CommonModule,
755
- // NgProgressModule.withConfig({})
756
- ],
757
- declarations: [TaonProgressBarComponent],
758
- exports: [TaonProgressBarComponent],
759
- }]
760
- }] });
761
-
762
- //#region @browser
763
- //#endregion
764
-
765
- //#region imports
766
- //#endregion
767
- //#region constants
768
- const log = Log.create('Table wrapper', Level.__NOTHING);
769
- const defaultColumns = [
770
- {
771
- header: 'ID',
772
- field: 'id',
773
- },
774
- {
775
- header: 'NAME',
776
- field: 'name',
777
- },
778
- ];
779
- //#endregion
780
- class TaonTableComponent {
781
- constructor() {
782
- //#region fields
783
- this.pageNumber = 1;
784
- this.pageSize = 5;
785
- this.allowedColumns = [];
786
- this.rows = _.times(20, id => {
787
- return {
788
- id,
789
- name: `Amazing ${id} row `,
790
- };
791
- });
792
- this.columns = defaultColumns;
793
- this.pageSizeOptions = [5, 10, 20];
794
- this.expansionChange = new EventEmitter();
795
- this.addingItem = new EventEmitter();
796
- this.expandable = false;
797
- this.showPaginator = true;
798
- this.isLoading = false;
799
- this.totalElements = 100;
800
- this.sub = new Subscription();
801
- }
802
- //#endregion
803
- get entity() {
804
- return this.entityCrudController?.entityClassResolveFn();
805
- }
806
- //#region hooks
807
- //#region hooks / on init
808
- async ngOnInit() {
809
- if (!this.hideSearch) {
810
- this.searchInputChange$ = defer(() => fromEvent(this.search?.nativeElement, 'keyup')).pipe(map(c => c.target['value']), debounceTime(500), distinctUntilChanged(), share(), tap(data => {
811
- console.log({ data });
812
- }));
813
- this.sub.add(this.searchInputChange$.subscribe());
814
- }
815
- const entityClass = this.entity;
816
- if (!!entityClass) {
817
- this.rows = [];
818
- }
819
- this.expandable = !!this.expansionTemplate;
820
- // this.arrayDataConfig.set.pagination.rowDisplayed(5);
821
- log.i('this.columns,', this.columns);
822
- const columnsConfigSameAsDefault = _.isEqual(this.columns, defaultColumns);
823
- // console.log({
824
- // columnsConfigSameAsDefault
825
- // })
826
- if (entityClass && columnsConfigSameAsDefault) {
827
- log.i('this.crud.entity', CLASS.describeProperites(entityClass));
828
- try {
829
- const props = CLASS.describeProperites(entityClass);
830
- let columns = props
831
- .filter(prop => this.allowedColumns.length > 0
832
- ? this.allowedColumns.includes(prop)
833
- : true)
834
- .map(prop => {
835
- return {
836
- header: _.upperCase(prop),
837
- field: prop,
838
- };
839
- });
840
- const extra = this.allowedColumns.filter(f => !props.includes(f));
841
- columns = [
842
- ...columns,
843
- ...extra.map(prop => {
844
- return {
845
- header: _.upperCase(prop),
846
- field: prop,
847
- };
848
- }),
849
- ];
850
- // console.log({
851
- // extra
852
- // });
853
- if (!this.expandable) {
854
- for (let index = 0; index < columns.length; index++) {
855
- const col = columns[index];
856
- delete col.showExpand;
857
- }
858
- }
859
- this.columns = columns;
860
- }
861
- catch (error) {
862
- console.error(error);
863
- }
864
- }
865
- else {
866
- }
867
- if (!this.entity) {
868
- this.showPaginator = false;
869
- }
870
- await this.getData();
871
- }
872
- //#endregion
873
- //#region hooks / on destroy
874
- ngOnDestroy() {
875
- this.sub.unsubscribe();
876
- }
877
- //#endregion
878
- //#endregion
879
- //#region methods
880
- //#region methods / get next page
881
- async getNextPage(e) {
882
- // console.log({
883
- // e
884
- // });
885
- this.pageNumber = e.pageIndex + 1;
886
- this.pageSize = e.pageSize;
887
- await this.getData();
888
- }
889
- //#endregion
890
- //#region methods / retrive data
891
- async getData() {
892
- if (!this.entity) {
893
- return;
894
- }
895
- this.isLoading = true;
896
- // console.log('PAGINTION FETCH DATA START!')
897
- const controller = this.entityCrudController;
898
- if (controller) {
899
- const data = await controller.pagination(this.pageNumber, this.pageSize)
900
- .received;
901
- // console.log('PAGINTION DATA', {
902
- // data,
903
- // });
904
- const totalElements = Number(data.headers.get(Taon.symbols.old.X_TOTAL_COUNT));
905
- const rows = data.body.json;
906
- // console.log('PAGINTION DATA', {
907
- // rows,
908
- // totalElements,
909
- // });
910
- this.totalElements = totalElements;
911
- this.rows = rows.map(d => {
912
- for (const key in d) {
913
- if (Object.prototype.hasOwnProperty.call(d, key)) {
914
- const elem = d[key];
915
- if (_.isObject(elem)) {
916
- d[key] = json5.stringify(d[key]);
917
- }
918
- }
919
- }
920
- // console.log({ d })
921
- return d;
922
- });
923
- }
924
- this.isLoading = false;
925
- }
926
- //#endregion
927
- //#region methods / expansion row
928
- expansionRow(e) {
929
- this.expansionChange.next(e);
930
- }
931
- //#endregion
932
- //#region methods / on table context menu
933
- onTableContextMenu(e) {
934
- // if (this.rowHref) {
935
- // this.router.navigateByUrl(this.rowHref)
936
- // }
937
- log.i('context menu event', e);
938
- }
939
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
940
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonTableComponent, isStandalone: false, selector: "taon-table", inputs: { pageNumber: "pageNumber", pageSize: "pageSize", allowedColumns: "allowedColumns", expansionTemplate: "expansionTemplate", rows: "rows", entityCrudController: "entityCrudController", columns: "columns", pageSizeOptions: "pageSizeOptions", hideSearch: "hideSearch" }, outputs: { expansionChange: "expansionChange", addingItem: "addingItem" }, viewQueries: [{ propertyName: "search", first: true, predicate: ["search"], descendants: true, static: true }], ngImport: i0, template: "<br />\n<columns-container *ngIf=\"!hideSearch\">\n <column grow>\n <mat-form-field class=\"search-input\">\n <input\n matInput\n placeholder=\"Type to search table...\"\n #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"], dependencies: [{ kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "component", type: i3.MtxGrid, selector: "mtx-grid", inputs: ["displayedColumns", "columns", "data", "length", "loading", "trackBy", "columnResizable", "emptyValuePlaceholder", "pageOnFront", "showPaginator", "pageDisabled", "showFirstLastButtons", "pageIndex", "pageSize", "pageSizeOptions", "hidePageSize", "paginationTemplate", "sortOnFront", "sortActive", "sortDirection", "sortDisableClear", "sortDisabled", "sortStart", "rowHover", "rowStriped", "expandable", "expansionTemplate", "multiSelectable", "multiSelectionWithClick", "rowSelectable", "hideRowSelectionCheckbox", "disableRowClickSelection", "rowSelectionFormatter", "rowClassFormatter", "rowSelected", "cellSelectable", "showToolbar", "toolbarTitle", "toolbarTemplate", "columnHideable", "columnHideableChecked", "columnSortable", "columnPinnable", "columnPinOptions", "showColumnMenuButton", "columnMenuButtonText", "columnMenuButtonType", "columnMenuButtonColor", "columnMenuButtonClass", "columnMenuButtonIcon", "columnMenuButtonFontIcon", "columnMenuButtonSvgIcon", "showColumnMenuHeader", "columnMenuHeaderText", "columnMenuHeaderTemplate", "showColumnMenuFooter", "columnMenuFooterText", "columnMenuFooterTemplate", "noResultText", "noResultTemplate", "headerTemplate", "headerExtraTemplate", "cellTemplate", "useContentRowTemplate", "useContentHeaderRowTemplate", "useContentFooterRowTemplate", "showSummary", "summaryTemplate", "showSidebar", "sidebarTemplate", "showStatusbar", "statusbarTemplate"], outputs: ["page", "sortChange", "rowClick", "rowContextMenu", "expansionChange", "rowSelectedChange", "cellSelectedChange", "columnChange"], exportAs: ["mtxGrid"] }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i1$2.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$2.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$2.DirectiveGrow, selector: "[grow]" }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }] }); }
941
- }
942
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableComponent, decorators: [{
943
- type: Component,
944
- args: [{ selector: 'taon-table', standalone: false, template: "<br />\n<columns-container *ngIf=\"!hideSearch\">\n <column grow>\n <mat-form-field class=\"search-input\">\n <input\n matInput\n placeholder=\"Type to search table...\"\n #search />\n </mat-form-field>\n </column>\n <column [width]=\"80\">\n <button\n mat-fab\n [ngClass]=\"{ 'half-opacity': !search.value }\"\n class=\"undo-button\"\n color=\"secondary\"\n (click)=\"search.value = ''\">\n <mat-icon>close </mat-icon>\n </button>\n </column>\n\n <column [width]=\"80\">\n <button\n mat-fab\n (click)=\"addingItem.next()\"\n class=\"undo-button\"\n color=\"primary\">\n <mat-icon>add</mat-icon>\n </button>\n </column>\n</columns-container>\n\n<mtx-grid\n *ngIf=\"rows && columns\"\n [data]=\"rows\"\n [columns]=\"columns\"\n [expandable]=\"expandable\"\n [expansionTemplate]=\"expansionTemplate\"\n (expansionChange)=\"expansionRow($event)\"\n [length]=\"totalElements\"\n [loading]=\"isLoading\"\n [pageOnFront]=\"false\"\n [pageIndex]=\"pageNumber - 1\"\n [pageSize]=\"pageSize\"\n [pageSizeOptions]=\"pageSizeOptions\"\n [showPaginator]=\"showPaginator\"\n (page)=\"getNextPage($event)\">\n</mtx-grid>", styles: [":host{min-height:250px}.search-input{width:100%}.undo-button{margin-left:10px}.half-opacity{opacity:.2}\n"] }]
945
- }], propDecorators: { pageNumber: [{
946
- type: Input
947
- }], pageSize: [{
948
- type: Input
949
- }], allowedColumns: [{
950
- type: Input
951
- }], expansionTemplate: [{
952
- type: Input
953
- }], rows: [{
954
- type: Input
955
- }], entityCrudController: [{
956
- type: Input
957
- }], columns: [{
958
- type: Input
959
- }], pageSizeOptions: [{
960
- type: Input
961
- }], hideSearch: [{
962
- type: Input
963
- }], expansionChange: [{
964
- type: Output
965
- }], addingItem: [{
966
- type: Output
967
- }], search: [{
968
- type: ViewChild,
969
- args: ['search', { static: true }]
970
- }] } });
971
-
972
- class TaonTableModule {
973
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
974
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, declarations: [TaonTableComponent], imports: [CommonModule,
975
- MatSelectModule,
976
- MtxGridModule,
977
- MatFormFieldModule,
978
- MatInputModule,
979
- StaticColumnsModule,
980
- MatIconModule,
981
- MatButtonModule,
982
- FormsModule,
983
- ReactiveFormsModule], exports: [TaonTableComponent] }); }
984
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, imports: [CommonModule,
985
- MatSelectModule,
986
- MtxGridModule,
987
- MatFormFieldModule,
988
- MatInputModule,
989
- StaticColumnsModule,
990
- MatIconModule,
991
- MatButtonModule,
992
- FormsModule,
993
- ReactiveFormsModule] }); }
994
- }
995
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonTableModule, decorators: [{
996
- type: NgModule,
997
- args: [{
998
- imports: [
999
- CommonModule,
1000
- MatSelectModule,
1001
- MtxGridModule,
1002
- MatFormFieldModule,
1003
- MatInputModule,
1004
- StaticColumnsModule,
1005
- MatIconModule,
1006
- MatButtonModule,
1007
- FormsModule,
1008
- ReactiveFormsModule,
1009
- ],
1010
- exports: [TaonTableComponent],
1011
- declarations: [TaonTableComponent],
1012
- }]
1013
- }] });
1014
-
1015
- //#region @browser
1016
- //#endregion
1017
-
1018
- class TaonAdminModeConfigurationComponent {
1019
- get opened() {
1020
- return !this.isIframe && this.taonAdminService.adminPanelIsOpen;
1021
- }
1022
- set opened(v) {
1023
- if (v && !this.openedOnce) {
1024
- this.openedOnce = true;
1025
- }
1026
- if (this.wasOpenDraggablePopup) {
1027
- this.wasOpenDraggablePopup = false;
1028
- this.taonAdminService.draggablePopupMode = true;
1029
- }
1030
- this.taonAdminService.adminPanelIsOpen = v;
1031
- }
1032
- //#endregion
1033
- //#region constructor
1034
- constructor(breakpointsService) {
1035
- this.breakpointsService = breakpointsService;
1036
- //#region fields & getters
1037
- this.$destroy = new Subject();
1038
- this.cdr = inject(ChangeDetectorRef);
1039
- this.taonAdminService = TaonAdminService.Instance;
1040
- this.isWebSQLMode = Helpers.isWebSQL;
1041
- this.hideTaonToolsInProduction = ENV.hideTaonToolsInProduction && ENV.angularProd;
1042
- this.isIframe = window.location !== window.parent.location;
1043
- this.height = 100;
1044
- this.openedOnce = false;
1045
- this.reloading = false;
1046
- this.showPasscode = _.isString(ENV.passcode) || _.isObject(ENV.passcode);
1047
- this.passcode = _.isString(ENV.passcode)
1048
- ? ENV.passcode
1049
- : _.isObject(ENV.passcode)
1050
- ? ENV.passcode.code
1051
- : '';
1052
- this.message = _.isObject(ENV.passcode)
1053
- ? ENV.passcode.message
1054
- : void 0;
1055
- this.dragPositionZero = { x: 0, y: 0 };
1056
- this.taonAdminModeConfigurationDataChanged = new EventEmitter();
1057
- this.taonAdminModeConfigurationData = {};
1058
- this.breakpointsService
1059
- .listenTo()
1060
- .pipe(takeUntil(this.$destroy))
1061
- .subscribe(breakpoint => {
1062
- // @ts-ignore
1063
- this.isDesktop = breakpoint === 'desktop';
1064
- });
1065
- }
1066
- //#endregion
1067
- //#region hooks
1068
- async ngOnInit() {
1069
- await Stor.awaitPendingOperatios();
1070
- // console.log('PENDING OPERATION AWAITED ', this.selectedIndex)
1071
- // console.log('draggablePopupModeFullScreen ', this.taonAdminService.draggablePopupModeFullScreen)
1072
- this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
1073
- this.openedOnce = this.opened;
1074
- // console.log('ONINIT',{
1075
- // 'this.openedOnce': this.openedOnce,
1076
- // 'this.dragPosition': this.dragPosition,
1077
- // this: this
1078
- // })
1079
- }
1080
- ngAfterViewInit() {
1081
- //Called after ngAfterContentInit when the component's view has been initialized. Applies to components only.
1082
- //Add 'implements AfterViewInit' to the class.
1083
- setTimeout(() => {
1084
- this.height = window.innerHeight;
1085
- // TODO QUICK_FIX for draggble popup proper first index load on tabs
1086
- if (this.taonAdminService.draggablePopupMode) {
1087
- this.reloadTabs();
1088
- }
1089
- // const tablist = (this.tabGroup?._tabHeader?._elementRef?.nativeElement as HTMLElement).querySelector('.mat-tab-list') as HTMLElement;
1090
- // if (tablist) {
1091
- // tablist.style.transform = 'translateX(0px)'; // TODO QUICK_FIX
1092
- // }
1093
- });
1094
- }
1095
- ngOnDestroy() {
1096
- this.$destroy.next(void 0);
1097
- this.$destroy.complete();
1098
- }
1099
- onResize(event) {
1100
- this.height = window.innerHeight;
1101
- }
1102
- //#endregion
1103
- //#region methods
1104
- async reloadTabs() {
1105
- return new Promise(resolve => {
1106
- this.reloading = true;
1107
- setTimeout(() => {
1108
- this.reloading = false;
1109
- console.log('reloading done');
1110
- resolve();
1111
- });
1112
- });
1113
- }
1114
- async toogle() {
1115
- // await stor.setItem(IS_OPEN_ADMIN, !this.opened);
1116
- this.opened = !this.opened;
1117
- }
1118
- async toogleFullScreen() {
1119
- this.taonAdminService.draggablePopupMode = true;
1120
- this.taonAdminService.draggablePopupModeFullScreen =
1121
- !this.taonAdminService.draggablePopupModeFullScreen;
1122
- this.resetDrag();
1123
- }
1124
- resetDrag() {
1125
- this.dragPositionX = 0;
1126
- this.dragPositionY = 0;
1127
- this.dragPosition = { x: this.dragPositionX, y: this.dragPositionY };
1128
- }
1129
- moved(c) {
1130
- this.dragPositionX += c.distance.x;
1131
- this.dragPositionY += c.distance.y;
1132
- }
1133
- scrollTabs(event) {
1134
- return;
1135
- // event?.stopPropagation();
1136
- // event?.stopImmediatePropagation(); // TODO not working
1137
- // const children = this.tabGroup._tabHeader._elementRef.nativeElement.children;
1138
- // const back = children[0];
1139
- // const forward = children[2];
1140
- // if (event.deltaY > 0) {
1141
- // forward.click();
1142
- // } else {
1143
- // back.click();
1144
- // }
1145
- }
1146
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonAdminModeConfigurationComponent, deps: [{ token: i1$2.BreakpointsService }], target: i0.ɵɵFactoryTarget.Component }); }
1147
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonAdminModeConfigurationComponent, isStandalone: true, selector: "taon-admin-mode-configuration", inputs: { taonAdminModeConfigurationData: "taonAdminModeConfigurationData" }, outputs: { taonAdminModeConfigurationDataChanged: "taonAdminModeConfigurationDataChanged" }, host: { listeners: { "window:resize": "onResize($event)" } }, viewQueries: [{ propertyName: "tabGroup", first: true, predicate: ["tabGroup"], descendants: true }], ngImport: i0, template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon-ui/assets/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: StaticColumnsModule }, { kind: "component", type: i1$2.ColumnsComponent, selector: "columns-container" }, { kind: "component", type: i1$2.ColumnComponent, selector: "column", inputs: ["width"] }, { kind: "directive", type: i1$2.DirectiveGrow, selector: "[grow]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: NgScrollbarModule }, { kind: "component", type: i4.NgScrollbar, selector: "ng-scrollbar:not([externalViewport])", exportAs: ["ngScrollbar"] }, { kind: "ngmodule", type: TaonProgressBarModule }, { kind: "ngmodule", type: TaonNotificationsModule }, { kind: "ngmodule", type: TaonFullMaterialModule }, { kind: "directive", type: i5$1.CdkDrag, selector: "[cdkDrag]", inputs: ["cdkDragData", "cdkDragLockAxis", "cdkDragRootElement", "cdkDragBoundary", "cdkDragStartDelay", "cdkDragFreeDragPosition", "cdkDragDisabled", "cdkDragConstrainPosition", "cdkDragPreviewClass", "cdkDragPreviewContainer", "cdkDragScale"], outputs: ["cdkDragStarted", "cdkDragReleased", "cdkDragEnded", "cdkDragEntered", "cdkDragExited", "cdkDragDropped", "cdkDragMoved"], exportAs: ["cdkDrag"] }, { kind: "component", type: i6.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "component", type: i7.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i7.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i7.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i7.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "component", type: i8.MatCheckbox, selector: "mat-checkbox", inputs: ["aria-label", "aria-labelledby", "aria-describedby", "aria-expanded", "aria-controls", "aria-owns", "id", "required", "labelPosition", "name", "value", "disableRipple", "tabIndex", "color", "disabledInteractive", "checked", "disabled", "indeterminate"], outputs: ["change", "indeterminateChange"], exportAs: ["matCheckbox"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i10.MatDrawer, selector: "mat-drawer", inputs: ["position", "mode", "disableClose", "autoFocus", "opened"], outputs: ["openedChange", "opened", "openedStart", "closed", "closedStart", "positionChanged"], exportAs: ["matDrawer"] }, { kind: "component", type: i10.MatDrawerContainer, selector: "mat-drawer-container", inputs: ["autosize", "hasBackdrop"], outputs: ["backdropClick"], exportAs: ["matDrawerContainer"] }, { kind: "component", type: i10.MatDrawerContent, selector: "mat-drawer-content" }, { kind: "component", type: i11.MatTab, selector: "mat-tab", inputs: ["disabled", "label", "aria-label", "aria-labelledby", "labelClass", "bodyClass", "id"], exportAs: ["matTab"] }, { kind: "component", type: i11.MatTabGroup, selector: "mat-tab-group", inputs: ["color", "fitInkBarToContent", "mat-stretch-tabs", "mat-align-tabs", "dynamicHeight", "selectedIndex", "headerPosition", "animationDuration", "contentTabIndex", "disablePagination", "disableRipple", "preserveContent", "backgroundColor", "aria-label", "aria-labelledby"], outputs: ["selectedIndexChange", "focusChange", "animationDone", "selectedTabChange"], exportAs: ["matTabGroup"] }, { kind: "component", type: // TODO import only partial things
1148
- // TaonDbAdminComponent,
1149
- TaonSessionPasscodeComponent, selector: "taon-session-passcode", inputs: ["passcode", "message"] }] }); }
1150
- }
1151
- __decorate([
1152
- (Stor.property.in.localstorage
1153
- .for(TaonAdminModeConfigurationComponent)
1154
- .withDefaultValue(0)),
1155
- __metadata("design:type", Number)
1156
- ], TaonAdminModeConfigurationComponent.prototype, "dragPositionX", void 0);
1157
- __decorate([
1158
- (Stor.property.in.localstorage
1159
- .for(TaonAdminModeConfigurationComponent)
1160
- .withDefaultValue(0)),
1161
- __metadata("design:type", Number)
1162
- ], TaonAdminModeConfigurationComponent.prototype, "dragPositionY", void 0);
1163
- __decorate([
1164
- (Stor.property.in.localstorage
1165
- .for(TaonAdminModeConfigurationComponent)
1166
- .withDefaultValue(0)),
1167
- __metadata("design:type", Number)
1168
- ], TaonAdminModeConfigurationComponent.prototype, "selectedIndex", void 0);
1169
- __decorate([
1170
- (Stor.property.in.localstorage
1171
- .for(TaonAdminModeConfigurationComponent)
1172
- .withDefaultValue(false)),
1173
- __metadata("design:type", Boolean)
1174
- ], TaonAdminModeConfigurationComponent.prototype, "wasOpenDraggablePopup", void 0);
1175
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonAdminModeConfigurationComponent, decorators: [{
1176
- type: Component,
1177
- args: [{ selector: 'taon-admin-mode-configuration', standalone: true, imports: [
1178
- CommonModule,
1179
- StaticColumnsModule,
1180
- FormsModule,
1181
- NgScrollbarModule,
1182
- TaonProgressBarModule,
1183
- TaonNotificationsModule,
1184
- TaonFullMaterialModule, // TODO import only partial things
1185
- // TaonDbAdminComponent,
1186
- TaonSessionPasscodeComponent,
1187
- ], template: "<!-- #region basic global components -->\n<taon-session-passcode\n *ngIf=\"showPasscode\"\n [passcode]=\"passcode\"\n [message]=\"message\" />\n<!-- <taon-progress-bar [isDesktop]=\"isDesktop\"></taon-progress-bar> -->\n<!-- <taon-notifications></taon-notifications> -->\n<button\n mat-fab\n class=\"fab-button\"\n color=\"accent\"\n aria-label=\"Taon Admin Mode\"\n *ngIf=\"\n !taonAdminService.draggablePopupMode &&\n isDesktop &&\n !isIframe &&\n !hideTaonToolsInProduction\n \"\n (click)=\"toogle()\">\n <mat-icon>build</mat-icon>\n</button>\n<!-- #endregion -->\n\n<!-- #region small hidden button -->\n<!-- <button class=\"admin-show-button\"\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop\"\n (click)=\"toogle()\"> Admin </button> -->\n<!-- #endregion -->\n\n<ng-template #contentNoScroll>\n <ng-content> </ng-content>\n</ng-template>\n\n<ng-template #content>\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"contentNoScroll\"></ng-container>\n </ng-scrollbar>\n</ng-template>\n\n<!-- #region admin tabs -->\n<ng-template #adminTabs>\n <!-- #region admin tabs / header -->\n <div class=\"taon-header-admin-wrapper\">\n <columns-container\n class=\"taon-header-admin\"\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column\n width=\"200\"\n class=\"logo-header\">\n <img\n *ngIf=\"openedOnce\"\n src=\"assets/assets-for/taon-ui/assets/shared/logo-header-admin-mode.png\" />\n </column>\n\n <column grow>\n <!-- <span>Super Admin Mode</span> -->\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"\n !taonAdminService.draggablePopupModeFullScreen &&\n !taonAdminService.draggablePopupMode\n \">\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"\n taonAdminService.draggablePopupMode = false;\n opened = false;\n wasOpenDraggablePopup = true\n \"\n class=\"admin-close-button\">\n <mat-icon>close </mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"toogle()\"\n class=\"admin-close-button\">\n <mat-icon>close</mat-icon>\n </button>\n </column>\n\n <column width=\"40\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>fullscreen</mat-icon>\n </button>\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupModeFullScreen\"\n class=\"admin-close-button\"\n (click)=\"toogleFullScreen()\">\n <mat-icon>close_fullscreen</mat-icon>\n </button>\n </column>\n\n <column\n width=\"40\"\n *ngIf=\"!taonAdminService.draggablePopupModeFullScreen\">\n <button\n mat-icon-button\n *ngIf=\"!taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = true\"\n class=\"admin-close-button\">\n <mat-icon>launch</mat-icon>\n </button>\n\n <button\n mat-icon-button\n *ngIf=\"taonAdminService.draggablePopupMode\"\n (click)=\"taonAdminService.draggablePopupMode = false; resetDrag()\"\n class=\"admin-close-button\">\n <mat-icon style=\"transform: rotate(180deg)\">login</mat-icon>\n </button>\n </column>\n </columns-container>\n </div>\n <!-- #endregion -->\n\n <columns-container\n [ngClass]=\"{ 'draggable-column': taonAdminService.draggablePopupMode }\">\n <column grow>\n <mat-tab-group\n dynamicHeight\n (wheel)=\"scrollTabs($event)\"\n #tabGroup\n [selectedIndex]=\"selectedIndex\"\n (selectedIndexChange)=\"selectedIndex = $event\">\n <mat-tab label=\"DB/Cache\">\n <section>\n <mat-card>\n <mat-card-header>\n <mat-card-subtitle>WEBSQL MODE</mat-card-subtitle>\n </mat-card-header>\n <mat-card-content>\n <mat-checkbox\n [disabled]=\"!isWebSQLMode\"\n [ngModel]=\"taonAdminService.keepWebsqlDbDataAfterReload\"\n (change)=\"\n taonAdminService.setKeepWebsqlDbDataAfterReload(\n $event.checked\n )\n \">\n Don't remove data when reloading\n </mat-checkbox>\n </mat-card-content>\n </mat-card>\n </section>\n <br />\n <taon-db-admin />\n </mat-tab>\n </mat-tab-group>\n </column>\n </columns-container>\n</ng-template>\n<!-- #endregion -->\n\n<!-- #region small/mobile draggable popup windows -->\n<div\n class=\"draggable-popup-mode-window\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n !taonAdminService.draggablePopupModeFullScreen &&\n !isIframe\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPosition\"\n (cdkDragEnded)=\"moved($event)\">\n <ng-scrollbar>\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </ng-scrollbar>\n</div>\n<!-- #endregion -->\n\n<!-- #region fullscreen draggable popup window -->\n<div\n class=\"draggable-popup-mode-window-full\"\n *ngIf=\"\n taonAdminService.draggablePopupMode &&\n taonAdminService.draggablePopupModeFullScreen &&\n !isIframe &&\n !reloading\n \"\n cdkDrag\n [cdkDragFreeDragPosition]=\"dragPositionZero\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region content when not in draggable (or fullscreen draggable) popup -->\n<div\n [style.height.px]=\"height\"\n *ngIf=\"\n (isIframe ||\n !isDesktop ||\n taonAdminService.draggablePopupMode ||\n taonAdminService.draggablePopupModeFullScreen) &&\n !reloading\n \"\n style=\"width: 100%; display: block\"\n class=\"content\">\n <ng-container\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n</div>\n<!-- #endregion -->\n\n<!-- #region draggable popup window -->\n<mat-drawer-container\n *ngIf=\"!taonAdminService.draggablePopupMode && isDesktop && !isIframe\"\n class=\"example-container\"\n [style.height.px]=\"height\"\n style=\"background-color: transparent\"\n (backdropClick)=\"opened = false\"\n [hasBackdrop]=\"false\">\n <mat-drawer\n #drawer\n style=\"width: 580px\"\n [opened]=\"opened\"\n [mode]=\"'side'\">\n <ng-container [ngTemplateOutlet]=\"adminTabs\"></ng-container>\n </mat-drawer>\n <mat-drawer-content style=\"overflow: hidden\">\n <ng-container\n *ngIf=\"!taonAdminService.draggablePopupMode && !reloading\"\n [ngTemplateOutlet]=\"\n taonAdminService.scrollableEnabled ? content : contentNoScroll\n \"></ng-container>\n </mat-drawer-content>\n</mat-drawer-container>\n<!-- #endregion -->", styles: ["section{display:block;padding:10px}section>*{margin-top:0!important;margin-bottom:10px!important}section>*:last-child{margin-bottom:0!important}:host{display:block}.draggable-column{display:block!important;width:100%!important}.admin-show-button{position:fixed;bottom:100px;left:-15px;z-index:2147483647;transform:rotate(90deg);border:0px;color:#fff;background:gray;opacity:.1;cursor:pointer}.admin-show-button:hover{opacity:1}.taon-ui-super-admin-mode{font-family:JosefinSans-Bold;text-align:right;margin-right:10px}mat-drawer{margin:0;background-color:#dcdcdc!important}.taon-header-admin-wrapper{overflow:hidden;width:100%;display:block}.taon-header-admin{background:#fff;box-shadow:0 -9px 6px 6px #000;height:47px}.taon-header-admin .logo-header img{height:18px;padding:8px;position:relative;float:left;top:7px;box-sizing:content-box;transform:scale(1.5);left:49px}.draggable-popup-mode-window{width:600px;height:500px;border:solid 1px #ccc;color:#000000de;cursor:move;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important;transition:box-shadow .2s cubic-bezier(0,0,.2,1);box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}.draggable-popup-mode-window:active{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.draggable-popup-mode-window-full{width:100%;height:100%;overflow:scroll;color:#000000de;justify-content:center;align-items:center;background:#fff;border-radius:4px;position:fixed;z-index:105;background-color:#dcdcdc!important}.admin-close-button{float:right}.fab-button{position:fixed;right:110px;bottom:100px;z-index:10;background-color:#dcdcdc;color:#8f8f8f}.full-tabs{padding:10px}.mat-drawer-container-full-screen{background-color:red}\n"] }]
1188
- }], ctorParameters: () => [{ type: i1$2.BreakpointsService }], propDecorators: { tabGroup: [{
1189
- type: ViewChild,
1190
- args: ['tabGroup']
1191
- }], taonAdminModeConfigurationDataChanged: [{
1192
- type: Output
1193
- }], taonAdminModeConfigurationData: [{
1194
- type: Input
1195
- }], onResize: [{
1196
- type: HostListener,
1197
- args: ['window:resize', ['$event']]
1198
- }] } });
1199
-
1200
- //#region @browser
1201
- //#endregion
1202
-
1203
- class TaonBootstrapNavbarComponent {
1204
- constructor() {
1205
- // @HostBinding('style.minHeight.px') @Input() height: number = 100;
1206
- // @Output() taonBootstrapNavbarDataChanged = new EventEmitter();
1207
- this.isLoggedIn = false;
1208
- this.isCollapsed = false;
1209
- }
1210
- ngOnInit() { }
1211
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonBootstrapNavbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1212
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.12", type: TaonBootstrapNavbarComponent, isStandalone: true, selector: "taon-bootstrap-navbar", inputs: { isLoggedIn: "isLoggedIn", isCollapsed: "isCollapsed" }, ngImport: i0, template: "<nav class=\"navbar navbar-expand-lg\">\n <div class=\"container-fluid\">\n <a\n class=\"navbar-brand\"\n routerLink=\"/home\"\n routerLinkActive=\"active\">\n Home</a\n >\n <button\n class=\"navbar-toggler\"\n type=\"button\"\n (click)=\"isCollapsed = !isCollapsed\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n\n <div\n [ngbCollapse]=\"isCollapsed\"\n class=\"navbar-collapse\">\n <ul class=\"navbar-nav ms-auto\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/about\"\n routerLinkActive=\"active\"\n >O szkole</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/courses\"\n routerLinkActive=\"active\"\n >Kursy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/opinions\"\n routerLinkActive=\"active\"\n >Opinie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/instructors\"\n routerLinkActive=\"active\"\n >Lektorzy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/contact\"\n routerLinkActive=\"active\"\n >Kontakt</a\n >\n </li>\n <ng-container *ngIf=\"isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/test\"\n routerLinkActive=\"active\"\n ><b>Test plasuj\u0105cy</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/grammar\"\n routerLinkActive=\"active\"\n >Gramatyka</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/vocabulary\"\n routerLinkActive=\"active\"\n >S\u0142ownictwo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/reading\"\n routerLinkActive=\"active\"\n >Czytanie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/movies\"\n routerLinkActive=\"active\"\n >Wideo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/curiosities\"\n routerLinkActive=\"active\"\n >Ciekawostki</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/logout\"\n routerLinkActive=\"active\"\n >Wyloguj</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/profile\"\n routerLinkActive=\"active\"\n >Profil</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/admin\"\n routerLinkActive=\"active\"\n >Admin</a\n >\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n (click)=\"modalLoginRegister()\">\n <span class=\"glyphicon glyphicon-hand-right\"></span> Rejestracja /\n <span class=\"glyphicon glyphicon-user\"></span> Logowanie\n </a>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</nav>\n<ng-content />", styles: [":host{display:block}nav{font-variant-caps:all-small-caps}.navbar-collapse.in{overflow:hidden;max-height:none!important;height:auto!important}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NgbCollapseModule }, { kind: "directive", type: i2$3.NgbCollapse, selector: "[ngbCollapse]", inputs: ["animation", "ngbCollapse", "horizontal"], outputs: ["ngbCollapseChange", "shown", "hidden"], exportAs: ["ngbCollapse"] }, { kind: "ngmodule", type: ModalModule }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1213
- }
1214
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.12", ngImport: i0, type: TaonBootstrapNavbarComponent, decorators: [{
1215
- type: Component,
1216
- args: [{ selector: 'taon-bootstrap-navbar', changeDetection: ChangeDetectionStrategy.OnPush, imports: [
1217
- CommonModule,
1218
- NgbCollapseModule,
1219
- ModalModule,
1220
- ], standalone: true, template: "<nav class=\"navbar navbar-expand-lg\">\n <div class=\"container-fluid\">\n <a\n class=\"navbar-brand\"\n routerLink=\"/home\"\n routerLinkActive=\"active\">\n Home</a\n >\n <button\n class=\"navbar-toggler\"\n type=\"button\"\n (click)=\"isCollapsed = !isCollapsed\">\n <span class=\"navbar-toggler-icon\"></span>\n </button>\n\n <div\n [ngbCollapse]=\"isCollapsed\"\n class=\"navbar-collapse\">\n <ul class=\"navbar-nav ms-auto\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/about\"\n routerLinkActive=\"active\"\n >O szkole</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/courses\"\n routerLinkActive=\"active\"\n >Kursy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/opinions\"\n routerLinkActive=\"active\"\n >Opinie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/instructors\"\n routerLinkActive=\"active\"\n >Lektorzy</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/contact\"\n routerLinkActive=\"active\"\n >Kontakt</a\n >\n </li>\n <ng-container *ngIf=\"isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/test\"\n routerLinkActive=\"active\"\n ><b>Test plasuj\u0105cy</b></a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/grammar\"\n routerLinkActive=\"active\"\n >Gramatyka</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/vocabulary\"\n routerLinkActive=\"active\"\n >S\u0142ownictwo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/reading\"\n routerLinkActive=\"active\"\n >Czytanie</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/movies\"\n routerLinkActive=\"active\"\n >Wideo</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/curiosities\"\n routerLinkActive=\"active\"\n >Ciekawostki</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/logout\"\n routerLinkActive=\"active\"\n >Wyloguj</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/profile\"\n routerLinkActive=\"active\"\n >Profil</a\n >\n </li>\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n routerLink=\"/admin\"\n routerLinkActive=\"active\"\n >Admin</a\n >\n </li>\n </ng-container>\n <ng-container *ngIf=\"!isLoggedIn\">\n <li class=\"nav-item\">\n <a\n class=\"nav-link\"\n href=\"javascript:void(0)\"\n (click)=\"modalLoginRegister()\">\n <span class=\"glyphicon glyphicon-hand-right\"></span> Rejestracja /\n <span class=\"glyphicon glyphicon-user\"></span> Logowanie\n </a>\n </li>\n </ng-container>\n </ul>\n </div>\n </div>\n</nav>\n<ng-content />", styles: [":host{display:block}nav{font-variant-caps:all-small-caps}.navbar-collapse.in{overflow:hidden;max-height:none!important;height:auto!important}\n"] }]
1221
- }], propDecorators: { isLoggedIn: [{
1222
- type: Input
1223
- }], isCollapsed: [{
1224
- type: Input
1225
- }] } });
1226
-
1227
- /**
1228
- * Generated bundle index. Do not edit.
1229
- */
1230
-
1231
- export { SafePipe, TaonAdminModeConfigurationComponent, TaonBootstrapNavbarComponent, TaonFullMaterialModule, TaonGithubForkMeCornerComponent, TaonGithubForkMeCornerModule, TaonInjectHTMLDirective, TaonLongPress, TaonNotificationOptions, TaonNotificationsComponent, TaonNotificationsModule, TaonNotificationsService, TaonProgressBarComponent, TaonProgressBarModule, TaonSessionPasscodeComponent, TaonTableComponent, TaonTableModule };
1232
- //# sourceMappingURL=taon-ui.mjs.map