@gloww/gloww 20.0.0-beta.4 → 20.0.0-beta.41

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.
@@ -0,0 +1,190 @@
1
+ @use 'sass:map';
2
+ @use '@angular/material' as mat;
3
+
4
+ .CodeMirror {
5
+ resize: both;
6
+ padding: 0;
7
+ margin: 0;
8
+ }
9
+
10
+ .sameSize {
11
+ padding: 0;
12
+ margin: 0;
13
+ border: 1px solid;
14
+ }
15
+
16
+ @mixin code-editor-component-theme($theme) {
17
+ $warn-color: mat.get-theme-color($theme, warn);
18
+
19
+ gloww-code-editor.ng-invalid .mainDiv {
20
+ border: 1px solid $warn-color;
21
+ }
22
+ }
23
+
24
+ .mainDiv {
25
+ display: flex;
26
+ flex-direction: column;
27
+ align-items: stretch;
28
+ width: 100%;
29
+ height: 100%;
30
+ min-height: 100%;
31
+ }
32
+
33
+ .snippet-header {
34
+ display: flex;
35
+ flex-direction: row;
36
+ align-items: center;
37
+ gap: 8px;
38
+ width: 100%;
39
+ }
40
+
41
+ .snippet-select {
42
+ flex: 1 1 auto;
43
+ }
44
+
45
+ .editor-full-width {
46
+ width: 100%;
47
+ }
48
+
49
+ @mixin menu-list-item-component-theme($theme) {
50
+ $color-map: map.get($theme, color);
51
+ $primary-palette: map.get($color-map, primary);
52
+ $primary-color: map.get($primary-palette, default);
53
+ $active-bg: map.get($primary-palette, 50);
54
+ $hover-bg: map.get($primary-palette, 100);
55
+
56
+ mat-nav-list mat-icon i {
57
+ color: $primary-color;
58
+ }
59
+
60
+ .thisMenu {
61
+ .menu-list-item.active {
62
+ background-color: $active-bg;
63
+ color: $primary-color;
64
+ }
65
+
66
+ &:hover,
67
+ &:focus {
68
+ .menu-list-item:not(.expanded) {
69
+ background-color: $hover-bg !important;
70
+ }
71
+ }
72
+ }
73
+ }
74
+
75
+ .thisMenu {
76
+ display: flex;
77
+ flex-direction: row;
78
+ align-items: center;
79
+ outline: none;
80
+ width: calc(100% - 20px);
81
+ margin: 10px;
82
+ cursor: pointer;
83
+ }
84
+
85
+ .menu-list-item {
86
+ display: flex;
87
+ align-items: center;
88
+ flex: 1;
89
+ padding: 8px 0;
90
+ text-decoration: none;
91
+ color: inherit;
92
+ min-width: 0;
93
+
94
+ .routeIcon {
95
+ margin-right: 20px;
96
+ flex-shrink: 0;
97
+ }
98
+
99
+ .menu-label {
100
+ white-space: nowrap;
101
+ overflow: hidden;
102
+ text-overflow: ellipsis;
103
+ }
104
+ }
105
+
106
+ .expand-container {
107
+ display: flex;
108
+ align-items: center;
109
+ justify-content: center;
110
+ flex-shrink: 0;
111
+ }
112
+
113
+ mat-icon {
114
+ height: 32px;
115
+ width: 40px;
116
+ display: flex;
117
+ align-items: center;
118
+ justify-content: center;
119
+ }
120
+
121
+ .expandIcon {
122
+ cursor: pointer;
123
+ }
124
+
125
+ :disabled,
126
+ .disabled {
127
+ color: lightgrey !important;
128
+ pointer-events: none;
129
+
130
+ mat-icon i {
131
+ color: lightgrey !important;
132
+ }
133
+ }
134
+
135
+ @mixin auto-complete-component-theme($theme) {
136
+ $warn-color: mat.get-theme-color($theme, warn);
137
+
138
+ gloww-auto-complete.ng-invalid .autocff .mat-form-field-underline {
139
+ background-color: $warn-color;
140
+ }
141
+
142
+ gloww-auto-complete.ng-invalid .autocff .mat-form-field-label {
143
+ color: $warn-color;
144
+ }
145
+ }
146
+
147
+ @mixin gloww-lib-theme($theme) {
148
+ @include code-editor-component-theme($theme);
149
+ @include menu-list-item-component-theme($theme);
150
+ @include auto-complete-component-theme($theme);
151
+
152
+ html,
153
+ body {
154
+ height: 100%;
155
+ }
156
+
157
+ body {
158
+ margin: 0;
159
+ font-family: Roboto, 'Helvetica Neue', sans-serif;
160
+ }
161
+
162
+ .cdk-overlay-pane {
163
+ width: unset !important;
164
+ height: unset !important;
165
+ max-width: 100% !important;
166
+ max-height: 90% !important;
167
+ }
168
+
169
+ .mat-mdc-dialog-container {
170
+ max-width: 100%;
171
+ max-height: 90% !important;
172
+ resize: both;
173
+ }
174
+
175
+ .dlg {
176
+ display: flex;
177
+ flex-direction: column;
178
+ height: 100%;
179
+ }
180
+
181
+ mat-dialog-content {
182
+ flex-grow: 1;
183
+ max-height: 80vh !important;
184
+ }
185
+
186
+ td.mat-mdc-cell {
187
+ padding-right: 10px !important;
188
+ padding-left: 10px !important;
189
+ }
190
+ }
package/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injector, PipeTransform, OnInit, AfterContentInit, QueryList, EventEmitter, AfterViewInit, OnChanges, TemplateRef, ChangeDetectorRef, SimpleChanges, ModuleWithProviders, ElementRef } from '@angular/core';
2
+ import { InjectionToken, Injector, OnChanges, PipeTransform, OnInit, AfterContentInit, QueryList, EventEmitter, AfterViewInit, TemplateRef, ChangeDetectorRef, SimpleChanges, ModuleWithProviders, EnvironmentProviders, ElementRef } from '@angular/core';
3
3
  import * as rxjs from 'rxjs';
4
4
  import { Subject, BehaviorSubject, Observable } from 'rxjs';
5
5
  import * as _angular_common_http from '@angular/common/http';
@@ -8,40 +8,41 @@ import * as i1 from '@angular/common';
8
8
  import { PlatformLocation, Location } from '@angular/common';
9
9
  import * as _angular_material_dialog from '@angular/material/dialog';
10
10
  import { MatDialogRef, MatDialog } from '@angular/material/dialog';
11
- import * as i12 from '@angular/router';
11
+ import * as i10 from '@angular/router';
12
12
  import { Router, ActivatedRoute, Data, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';
13
13
  import * as _angular_platform_browser from '@angular/platform-browser';
14
14
  import { DomSanitizer } from '@angular/platform-browser';
15
15
  import * as i2 from '@angular/forms';
16
- import { UntypedFormBuilder, UntypedFormGroup, ControlValueAccessor, UntypedFormControl, FormGroup, FormBuilder, AbstractControl } from '@angular/forms';
17
- import * as i8 from '@angular/material/input';
18
- import * as i7$1 from '@angular/material/icon';
19
- import * as i6 from '@angular/material/button';
20
- import * as i10 from '@angular/material/card';
21
- import * as i10$1 from '@angular/material/progress-spinner';
22
- import * as i11 from '@angular/material/progress-bar';
23
- import * as i12$1 from '@angular/material/table';
24
- import { MatColumnDef, MatTable, MatTableDataSource } from '@angular/material/table';
25
- import * as i13 from '@angular/material/select';
26
- import * as i14 from '@angular/material/paginator';
16
+ import { UntypedFormBuilder, UntypedFormGroup, ControlValueAccessor, UntypedFormControl, FormControl, FormGroup, FormBuilder, AbstractControl } from '@angular/forms';
17
+ import * as i18 from '@angular/material/datepicker';
18
+ import { MatDatepickerModule } from '@angular/material/datepicker';
19
+ import * as i19 from 'ngx-mat-datetime-picker-v2';
20
+ import { NgxMatDatetimePickerModule, NgxMatTimepickerComponent, NgxMatNativeDateModule } from 'ngx-mat-datetime-picker-v2';
21
+ import * as i13 from '@angular/material/paginator';
27
22
  import { MatPaginator } from '@angular/material/paginator';
28
- import * as i15 from '@angular/material/sort';
23
+ import * as i14 from '@angular/material/sort';
29
24
  import { MatSort, Sort } from '@angular/material/sort';
30
- import * as i16 from '@angular/material/autocomplete';
31
- import * as i17 from '@ctrl/ngx-codemirror';
25
+ import * as i11 from '@angular/material/table';
26
+ import { MatColumnDef, MatTable, MatTableDataSource } from '@angular/material/table';
27
+ import { TranslateService, TranslateDefaultParser } from '@ngx-translate/core';
28
+ import * as i16 from '@ctrl/ngx-codemirror';
32
29
  import { CodemirrorComponent } from '@ctrl/ngx-codemirror';
33
- import * as i18 from '@kolkov/angular-editor';
30
+ import * as i17 from '@kolkov/angular-editor';
34
31
  import { AngularEditorConfig } from '@kolkov/angular-editor';
35
- import * as i19 from '@angular/material/datepicker';
36
- import * as i20 from 'ngx-mat-datetime-picker-v2';
37
- import * as i21 from '@angular/cdk/drag-drop';
38
- import * as i22 from 'angular-resize-event';
32
+ import * as i21 from 'angular-resize-event';
39
33
  import { ResizedEvent } from 'angular-resize-event';
40
- import { TranslateDefaultParser } from '@ngx-translate/core';
41
- import * as i4 from '@angular/platform-browser/animations';
42
- import * as i5 from '@angular/material/toolbar';
43
- import * as i7 from '@angular/material/sidenav';
44
- import * as i9 from '@angular/material/form-field';
34
+ import * as i6 from '@angular/material/input';
35
+ import * as i6$1 from '@angular/material/icon';
36
+ import * as i4 from '@angular/material/button';
37
+ import * as i8 from '@angular/material/card';
38
+ import * as i9 from '@angular/material/progress-spinner';
39
+ import * as i10$1 from '@angular/material/progress-bar';
40
+ import * as i12 from '@angular/material/select';
41
+ import * as i15 from '@angular/material/autocomplete';
42
+ import * as i20 from '@angular/cdk/drag-drop';
43
+ import * as i3 from '@angular/material/toolbar';
44
+ import * as i5 from '@angular/material/sidenav';
45
+ import * as i7 from '@angular/material/form-field';
45
46
 
46
47
  declare const API_SERVER_URL: InjectionToken<string>;
47
48
  declare const GLOWW_APPLI: InjectionToken<string>;
@@ -134,11 +135,17 @@ declare class NavService {
134
135
  static ɵprov: i0.ɵɵInjectableDeclaration<NavService>;
135
136
  }
136
137
 
137
- declare class FolderServiceConfig {
138
- apiPath?: string;
139
- static Create(t?: any): FolderServiceConfig;
140
- static ɵfac: i0.ɵɵFactoryDeclaration<FolderServiceConfig, never>;
141
- static ɵprov: i0.ɵɵInjectableDeclaration<FolderServiceConfig>;
138
+ declare class SecureImgComponent implements OnChanges {
139
+ private httpClient;
140
+ private domSanitizer;
141
+ src: string;
142
+ private src$;
143
+ ngOnChanges(): void;
144
+ dataUrl$: Observable<any>;
145
+ constructor(httpClient: HttpClient, domSanitizer: DomSanitizer);
146
+ private loadImage;
147
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecureImgComponent, never>;
148
+ static ɵcmp: i0.ɵɵComponentDeclaration<SecureImgComponent, "secure-img", never, { "src": { "alias": "src"; "required": false; }; }, {}, never, never, true, never>;
142
149
  }
143
150
 
144
151
  declare class UploadDocComponent {
@@ -263,11 +270,22 @@ declare class AuthenticationService {
263
270
  static ɵprov: i0.ɵɵInjectableDeclaration<AuthenticationService>;
264
271
  }
265
272
 
273
+ declare class GlowwI18nService {
274
+ private readonly translate;
275
+ constructor(translate: TranslateService | null);
276
+ get langChanges$(): Observable<unknown>;
277
+ instant(key: string, fallback: string): string;
278
+ static ɵfac: i0.ɵɵFactoryDeclaration<GlowwI18nService, [{ optional: true; }]>;
279
+ static ɵprov: i0.ɵɵInjectableDeclaration<GlowwI18nService>;
280
+ }
281
+
266
282
  declare class FilterFormComponent implements OnInit {
283
+ private readonly i18n;
267
284
  filter: EventEmitter<any>;
268
- constructor();
285
+ constructor(i18n: GlowwI18nService);
269
286
  ngOnInit(): void;
270
287
  onFilter(): void;
288
+ get filterLabel(): string;
271
289
  static ɵfac: i0.ɵɵFactoryDeclaration<FilterFormComponent, never>;
272
290
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterFormComponent, "glw-filter-form", never, {}, { "filter": "filter"; }, never, ["*"], true, never>;
273
291
  }
@@ -286,6 +304,11 @@ declare class DisplayObjectsComponent<TObj> implements OnInit, AfterContentInit,
286
304
  private authenticationService;
287
305
  private formBuilder;
288
306
  private route;
307
+ private i18n;
308
+ private static readonly DISPLAY_PARAM;
309
+ private static readonly DISPLAY_FORM;
310
+ private static readonly DISPLAY_RESULT;
311
+ private static readonly INTERNAL_QUERY_KEYS;
289
312
  header: HeaderComponent;
290
313
  searchFormLayout: SearchFormComponent;
291
314
  filterFormLayout: FilterFormComponent;
@@ -326,22 +349,27 @@ declare class DisplayObjectsComponent<TObj> implements OnInit, AfterContentInit,
326
349
  data: object;
327
350
  routeParams: object;
328
351
  glowwService: GlowwService;
329
- constructor(glowwService: GlowwService, changeDetectorRef: ChangeDetectorRef, dialog: MatDialog, router: Router, location: Location, authenticationService: AuthenticationService, formBuilder: UntypedFormBuilder, route: ActivatedRoute);
352
+ private viewInitialized;
353
+ constructor(glowwService: GlowwService, changeDetectorRef: ChangeDetectorRef, dialog: MatDialog, router: Router, location: Location, authenticationService: AuthenticationService, formBuilder: UntypedFormBuilder, route: ActivatedRoute, i18n: GlowwI18nService);
330
354
  ngOnChanges(changes: SimpleChanges): void;
331
355
  InitRequest(): void;
332
356
  sortData(sort: Sort): void;
333
357
  getValue4Sort(item: any, header: string | object): string | number;
334
358
  ngAfterViewInit(): void;
335
359
  ngAfterContentInit(): void;
336
- private navSubscription;
337
360
  ngOnInit(): void;
338
361
  ngOnDestroy(): void;
362
+ t(key: string, fallback: string): string;
339
363
  Init(data?: Data): void;
364
+ hasSearchState(): boolean;
365
+ onBack(): void;
366
+ onRefresh(): void;
340
367
  currentFilter: (data: TObj, filter: string) => boolean;
341
368
  SetFilterPredicate(): void;
342
369
  Search(data?: Data): void;
343
370
  clean(obj: any): void;
344
371
  onSearch(): void;
372
+ private serializeQueryParamValue;
345
373
  onFilter(): void;
346
374
  UpdateDataSource(r: TObj[]): void;
347
375
  UpdateTable(): void;
@@ -358,6 +386,15 @@ declare class DisplayObjectsComponent<TObj> implements OnInit, AfterContentInit,
358
386
  DeleteObj(obj: any): void;
359
387
  _updateObj(current: any, newData: any): Observable<any>;
360
388
  EditObj(obj: TObj): void;
389
+ private toErrorMessage;
390
+ private applyRouteState;
391
+ private shouldDisplayForm;
392
+ private shouldDisplayResult;
393
+ private hasSearchQueryParams;
394
+ private syncFormWithQueryParams;
395
+ private buildSearchQueryParams;
396
+ private showForm;
397
+ private showResult;
361
398
  static ɵfac: i0.ɵɵFactoryDeclaration<DisplayObjectsComponent<any>, never>;
362
399
  static ɵcmp: i0.ɵɵComponentDeclaration<DisplayObjectsComponent<any>, "glw-display-objects", never, { "configuration": { "alias": "configuration"; "required": false; }; "displayObjLink": { "alias": "displayObjLink"; "required": false; }; "canDisplayObj": { "alias": "canDisplayObj"; "required": false; }; "canEdit": { "alias": "canEdit"; "required": false; }; "canDelete": { "alias": "canDelete"; "required": false; }; "canAdd": { "alias": "canAdd"; "required": false; }; "form": { "alias": "form"; "required": false; }; "SearchForm": { "alias": "SearchForm"; "required": false; }; "searchRequest": { "alias": "searchRequest"; "required": false; }; "postRequest": { "alias": "postRequest"; "required": false; }; "deleteRequest": { "alias": "deleteRequest"; "required": false; }; "putRequest": { "alias": "putRequest"; "required": false; }; "maxrows": { "alias": "maxrows"; "required": false; }; "mandatoryParams": { "alias": "mandatoryParams"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "dialogConfig": { "alias": "dialogConfig"; "required": false; }; "parent": { "alias": "parent"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "objectName": { "alias": "objectName"; "required": false; }; "primaryKey": { "alias": "primaryKey"; "required": false; }; "Editor": { "alias": "Editor"; "required": false; }; "AddEditor": { "alias": "AddEditor"; "required": false; }; }, {}, ["header", "searchFormLayout", "filterFormLayout", "resultLayout"], ["glw-header", "glw-search-form", "[filter]", "glw-result-table"], true, never>;
363
400
  }
@@ -393,19 +430,6 @@ declare class SecurePipe implements PipeTransform {
393
430
  static ɵpipe: i0.ɵɵPipeDeclaration<SecurePipe, "secure", true>;
394
431
  }
395
432
 
396
- declare class SecureImgComponent implements OnChanges {
397
- private httpClient;
398
- private domSanitizer;
399
- src: string;
400
- private src$;
401
- ngOnChanges(): void;
402
- dataUrl$: Observable<any>;
403
- constructor(httpClient: HttpClient, domSanitizer: DomSanitizer);
404
- private loadImage;
405
- static ɵfac: i0.ɵɵFactoryDeclaration<SecureImgComponent, never>;
406
- static ɵcmp: i0.ɵɵComponentDeclaration<SecureImgComponent, "secure-img", never, { "src": { "alias": "src"; "required": false; }; }, {}, never, never, true, never>;
407
- }
408
-
409
433
  interface NavItem {
410
434
  displayName: string;
411
435
  disabled?: boolean | (() => boolean) | (() => Promise<boolean>);
@@ -419,6 +443,7 @@ interface NavItem {
419
443
  declare class MenuListItemComponent implements OnInit, AfterViewInit {
420
444
  navService: NavService;
421
445
  router: Router;
446
+ private readonly i18n;
422
447
  private _expanded;
423
448
  get expanded(): boolean;
424
449
  set expanded(value: boolean);
@@ -428,12 +453,13 @@ declare class MenuListItemComponent implements OnInit, AfterViewInit {
428
453
  glowwService: GlowwService;
429
454
  _disabled: Promise<boolean>;
430
455
  _hidden: Promise<boolean>;
431
- constructor(glowwService: GlowwService, navService: NavService, router: Router);
456
+ constructor(glowwService: GlowwService, navService: NavService, router: Router, i18n: GlowwI18nService);
432
457
  ngAfterViewInit(): void;
433
458
  ngOnInit(): void;
434
459
  onItemSelected(item: NavItem): void;
435
460
  isActive(item: NavItem): boolean;
436
461
  routerLink(item: NavItem): string;
462
+ displayName(item: NavItem): string;
437
463
  falsePromise: Promise<boolean>;
438
464
  getDisabledPromise(): any;
439
465
  getHiddenPromise(): any;
@@ -531,6 +557,7 @@ declare class LoginComponent implements OnInit {
531
557
  name?: string;
532
558
  value?: string;
533
559
  constructor(formBuilder: UntypedFormBuilder, route: ActivatedRoute, router: Router, authenticationService: AuthenticationService, config?: AuthenticationServiceConfig);
560
+ private initializeForms;
534
561
  MatchPassword(fg: UntypedFormGroup): boolean;
535
562
  ngOnInit(): void;
536
563
  get f(): {
@@ -665,10 +692,12 @@ declare class AdministratorGuard {
665
692
  static ɵprov: i0.ɵɵInjectableDeclaration<AdministratorGuard>;
666
693
  }
667
694
 
695
+ declare const GLOWW_SECURITY_STANDALONE_DECLARATIONS: readonly [typeof LoginComponent, typeof ChangePasswordDlgComponent, typeof UserMenuComponent, typeof SocialNetworkDlgComponent, typeof SocialNetworkComponent];
696
+ declare function provideGlowwSecurity(authenticationServiceConfig: AuthenticationServiceConfig): EnvironmentProviders;
668
697
  declare class GlowwSecurityModule {
669
698
  static forRoot(authenticationServiceConfig: AuthenticationServiceConfig): ModuleWithProviders<GlowwSecurityModule>;
670
699
  static ɵfac: i0.ɵɵFactoryDeclaration<GlowwSecurityModule, never>;
671
- static ɵmod: i0.ɵɵNgModuleDeclaration<GlowwSecurityModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof _angular_platform_browser.BrowserModule, typeof i4.BrowserAnimationsModule, typeof i5.MatToolbarModule, typeof i6.MatButtonModule, typeof i7.MatSidenavModule, typeof i8.MatInputModule, typeof i9.MatFormFieldModule, typeof i10.MatCardModule, typeof _angular_material_dialog.MatDialogModule, typeof i12.RouterModule, typeof LoginComponent, typeof ChangePasswordDlgComponent, typeof UserMenuComponent, typeof SocialNetworkDlgComponent, typeof SocialNetworkComponent], [typeof LoginComponent, typeof i12.RouterModule, typeof UserMenuComponent]>;
700
+ static ɵmod: i0.ɵɵNgModuleDeclaration<GlowwSecurityModule, never, [typeof i1.CommonModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof i3.MatToolbarModule, typeof i4.MatButtonModule, typeof i5.MatSidenavModule, typeof i6.MatInputModule, typeof i7.MatFormFieldModule, typeof i8.MatCardModule, typeof _angular_material_dialog.MatDialogModule, typeof i10.RouterModule, typeof LoginComponent, typeof ChangePasswordDlgComponent, typeof UserMenuComponent, typeof SocialNetworkDlgComponent, typeof SocialNetworkComponent], [typeof LoginComponent, typeof ChangePasswordDlgComponent, typeof UserMenuComponent, typeof SocialNetworkDlgComponent, typeof SocialNetworkComponent, typeof i10.RouterModule]>;
672
701
  static ɵinj: i0.ɵɵInjectorDeclaration<GlowwSecurityModule>;
673
702
  }
674
703
 
@@ -785,6 +814,13 @@ declare class FileEditComponent implements OnInit {
785
814
  static ɵcmp: i0.ɵɵComponentDeclaration<FileEditComponent, "gloww-file-edit", never, {}, {}, never, never, true, never>;
786
815
  }
787
816
 
817
+ declare class FolderServiceConfig {
818
+ apiPath?: string;
819
+ static Create(t?: any): FolderServiceConfig;
820
+ static ɵfac: i0.ɵɵFactoryDeclaration<FolderServiceConfig, never>;
821
+ static ɵprov: i0.ɵɵInjectableDeclaration<FolderServiceConfig>;
822
+ }
823
+
788
824
  interface DirectoryContent {
789
825
  files: string[];
790
826
  directories: string[];
@@ -930,6 +966,7 @@ declare class AutoCompleteComponent implements ControlValueAccessor, OnInit, Aft
930
966
  glowwService: any;
931
967
  resultCtrl: UntypedFormControl;
932
968
  parser: TranslateDefaultParser;
969
+ private pendingExternalValue;
933
970
  constructor(glowwService: any, formBuilder: UntypedFormBuilder, ref: ChangeDetectorRef);
934
971
  ngAfterViewInit(): void;
935
972
  options: any[];
@@ -940,29 +977,100 @@ declare class AutoCompleteComponent implements ControlValueAccessor, OnInit, Aft
940
977
  propagateChange: (_: any) => void;
941
978
  setDisabledState?(isDisabled: boolean): void;
942
979
  displayObj(item: any): any;
980
+ private applyExternalValue;
943
981
  static ɵfac: i0.ɵɵFactoryDeclaration<AutoCompleteComponent, never>;
944
982
  static ɵcmp: i0.ɵɵComponentDeclaration<AutoCompleteComponent, "gloww-auto-complete", never, { "_value": { "alias": "value"; "required": false; }; "objectName": { "alias": "objectName"; "required": false; }; "searchField": { "alias": "searchField"; "required": false; }; "returnField": { "alias": "returnField"; "required": false; }; "displayField": { "alias": "displayField"; "required": false; }; "displayExpr": { "alias": "displayExpr"; "required": false; }; "displayFct": { "alias": "displayFct"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "data": { "alias": "data"; "required": false; }; "searchRequest": { "alias": "searchRequest"; "required": false; }; }, {}, never, never, true, never>;
945
983
  }
946
984
 
947
985
  declare class DatetimeComponent implements ControlValueAccessor {
948
- _value: any;
949
- display: any;
950
- placeHolder: any;
986
+ private readonly locale?;
987
+ private static readonly DATE_FORMATS;
988
+ private static readonly CLOCK_CENTER;
989
+ private static readonly CLOCK_OUTER_RADIUS;
990
+ private static readonly CLOCK_INNER_RADIUS;
991
+ private static readonly CLOCK_TICK_OUTER_RADIUS;
992
+ private static readonly CLOCK_TICK_INNER_RADIUS;
993
+ private static readonly CLOCK_TICK_LABEL_RADIUS;
994
+ private static readonly CLOCK_OUTER_HAND_HEIGHT;
995
+ private static readonly CLOCK_INNER_HAND_HEIGHT;
996
+ private static readonly CLOCK_MINUTE_HAND_HEIGHT;
997
+ _value: Date | null;
998
+ display: string | null;
999
+ placeHolder: string | null;
951
1000
  mode: string;
952
- showSpinners: boolean;
953
1001
  showSeconds: boolean;
954
- disableMinute: boolean;
955
- onChange: any;
956
- onTouched: any;
957
- constructor();
958
- get value(): any;
1002
+ readonly dateControl: FormControl<Date>;
1003
+ readonly hourControl: FormControl<string>;
1004
+ readonly minuteControl: FormControl<string>;
1005
+ readonly secondControl: FormControl<string>;
1006
+ readonly hourMarkers: ClockMarker[];
1007
+ readonly minuteTicks: ClockTick[];
1008
+ readonly secondTicks: ClockTick[];
1009
+ isDisabled: boolean;
1010
+ isClockOpen: boolean;
1011
+ clockStep: 'hour' | 'minute' | 'second';
1012
+ onChange: (value: Date | null) => void;
1013
+ onTouched: () => void;
1014
+ constructor(locale?: string);
1015
+ get isDateTime(): boolean;
1016
+ get value(): Date | null;
959
1017
  set value(val: any);
960
1018
  writeValue(obj: any): void;
961
1019
  registerOnChange(fn: any): void;
962
1020
  registerOnTouched(fn: any): void;
963
- setDisabledState?(isDisabled: boolean): void;
964
- static ɵfac: i0.ɵɵFactoryDeclaration<DatetimeComponent, never>;
965
- static ɵcmp: i0.ɵɵComponentDeclaration<DatetimeComponent, "gloww-datetime", never, { "_value": { "alias": "value"; "required": false; }; "display": { "alias": "display"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "showSpinners": { "alias": "showSpinners"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; "disableMinute": { "alias": "disableMinute"; "required": false; }; }, {}, never, never, true, never>;
1021
+ setDisabledState(isDisabled: boolean): void;
1022
+ clear(): void;
1023
+ markTouched(): void;
1024
+ get timeSummary(): string;
1025
+ get clockTitle(): string;
1026
+ openClock(): void;
1027
+ closeClock(): void;
1028
+ onTimePartInput(part: 'hour' | 'minute' | 'second'): void;
1029
+ onTimePartBlur(part: 'hour' | 'minute' | 'second'): void;
1030
+ selectClockHour(value: number, event?: MouseEvent): void;
1031
+ selectClockMinute(value: number, event?: MouseEvent): void;
1032
+ selectClockSecond(value: number, event?: MouseEvent): void;
1033
+ selectClockTick(value: number, event: MouseEvent): void;
1034
+ goToClockStep(step: 'hour' | 'minute' | 'second'): void;
1035
+ onClockFaceClick(event: MouseEvent): void;
1036
+ isHourSelected(value: number): boolean;
1037
+ isMinuteSelected(value: number): boolean;
1038
+ isSecondSelected(value: number): boolean;
1039
+ get clockHandTransform(): string;
1040
+ get clockHandHeight(): string;
1041
+ get hourHandTransform(): string;
1042
+ get hourHandHeight(): string;
1043
+ get minuteHandTransform(): string;
1044
+ get minuteHandHeight(): string;
1045
+ get selectedHourMarker(): ClockMarker;
1046
+ private setValueFromOutside;
1047
+ private emitCurrentValue;
1048
+ private toNumber;
1049
+ private getTimeControl;
1050
+ private getTimePartMax;
1051
+ private normalizeTimePartValue;
1052
+ private normalizeDateValue;
1053
+ private buildHourMarkers;
1054
+ private buildUnitTicks;
1055
+ private buildClockMarker;
1056
+ static ɵfac: i0.ɵɵFactoryDeclaration<DatetimeComponent, [{ optional: true; }]>;
1057
+ static ɵcmp: i0.ɵɵComponentDeclaration<DatetimeComponent, "gloww-datetime", never, { "_value": { "alias": "value"; "required": false; }; "display": { "alias": "display"; "required": false; }; "placeHolder": { "alias": "placeHolder"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; }, {}, never, never, true, never>;
1058
+ }
1059
+ interface ClockMarker {
1060
+ value: number;
1061
+ label: string;
1062
+ left: string;
1063
+ top: string;
1064
+ }
1065
+ interface ClockTick {
1066
+ value: number;
1067
+ label: string;
1068
+ x1: string;
1069
+ y1: string;
1070
+ x2: string;
1071
+ y2: string;
1072
+ labelLeft: string;
1073
+ labelTop: string;
966
1074
  }
967
1075
 
968
1076
  declare class RouteDirective {
@@ -975,6 +1083,12 @@ declare class RouteDirective {
975
1083
  static ɵdir: i0.ɵɵDirectiveDeclaration<RouteDirective, "[glowwRoute]", never, { "dlg": { "alias": "dlg"; "required": false; }; }, {}, never, never, true, never>;
976
1084
  }
977
1085
 
1086
+ declare class CallbackDirective {
1087
+ constructor();
1088
+ static ɵfac: i0.ɵɵFactoryDeclaration<CallbackDirective, never>;
1089
+ static ɵdir: i0.ɵɵDirectiveDeclaration<CallbackDirective, "[glowwCallback]", never, {}, {}, never, never, true, never>;
1090
+ }
1091
+
978
1092
  declare abstract class BaseCollectionComponent {
979
1093
  private _formBuilder;
980
1094
  filterform: FormGroup;
@@ -993,10 +1107,13 @@ declare class HasUnsavedDataGuard {
993
1107
  static ɵprov: i0.ɵɵInjectableDeclaration<HasUnsavedDataGuard>;
994
1108
  }
995
1109
 
1110
+ declare const GLOWW_STANDALONE_DECLARATIONS: readonly [typeof UploadDocComponent, typeof SafeHtmlPipe, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof UploadFileComponent, typeof FileSinkDirective, typeof FileEditComponent, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof RouteDirective, typeof CallbackDirective, typeof FilterFormComponent];
1111
+ declare const GLOWW_MODULE_EXPORTS: readonly [typeof UploadDocComponent, typeof SafeHtmlPipe, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof UploadFileComponent, typeof FileSinkDirective, typeof FileEditComponent, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof RouteDirective, typeof CallbackDirective, typeof FilterFormComponent, typeof MatDatepickerModule, typeof NgxMatDatetimePickerModule, typeof NgxMatTimepickerComponent, typeof NgxMatNativeDateModule];
1112
+ declare function provideGloww(folderServiceConfig?: FolderServiceConfig): EnvironmentProviders;
996
1113
  declare class GlowwModule {
997
1114
  static forRoot(folderServiceConfig?: FolderServiceConfig): ModuleWithProviders<GlowwModule>;
998
1115
  static ɵfac: i0.ɵɵFactoryDeclaration<GlowwModule, never>;
999
- static ɵmod: i0.ɵɵNgModuleDeclaration<GlowwModule, never, [typeof i1.CommonModule, typeof _angular_platform_browser.BrowserModule, typeof i12.RouterModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof _angular_material_dialog.MatDialogModule, typeof i8.MatInputModule, typeof i7$1.MatIconModule, typeof i6.MatButtonModule, typeof i10.MatCardModule, typeof i10$1.MatProgressSpinnerModule, typeof i11.MatProgressBarModule, typeof i12$1.MatTableModule, typeof i13.MatSelectModule, typeof i14.MatPaginatorModule, typeof i15.MatSortModule, typeof i10$1.MatProgressSpinnerModule, typeof i16.MatAutocompleteModule, typeof i17.CodemirrorModule, typeof i18.AngularEditorModule, typeof i19.MatDatepickerModule, typeof i20.NgxMatDatetimePickerModule, typeof i20.NgxMatTimepickerComponent, typeof i20.NgxMatNativeDateModule, typeof i21.DragDropModule, typeof i22.AngularResizeEventModule, typeof UploadDocComponent, typeof SafeHtmlPipe, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof UploadFileComponent, typeof FileSinkDirective, typeof FileEditComponent, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof RouteDirective, typeof FilterFormComponent], [typeof SafeHtmlPipe, typeof UploadDocComponent, typeof UploadFileComponent, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof i19.MatDatepickerModule, typeof i20.NgxMatDatetimePickerModule, typeof i20.NgxMatTimepickerComponent, typeof i20.NgxMatNativeDateModule, typeof FilterFormComponent]>;
1116
+ static ɵmod: i0.ɵɵNgModuleDeclaration<GlowwModule, never, [typeof i1.CommonModule, typeof i10.RouterModule, typeof i2.FormsModule, typeof i2.ReactiveFormsModule, typeof _angular_material_dialog.MatDialogModule, typeof i6.MatInputModule, typeof i6$1.MatIconModule, typeof i4.MatButtonModule, typeof i8.MatCardModule, typeof i9.MatProgressSpinnerModule, typeof i10$1.MatProgressBarModule, typeof i11.MatTableModule, typeof i12.MatSelectModule, typeof i13.MatPaginatorModule, typeof i14.MatSortModule, typeof i9.MatProgressSpinnerModule, typeof i15.MatAutocompleteModule, typeof i16.CodemirrorModule, typeof i17.AngularEditorModule, typeof i18.MatDatepickerModule, typeof i19.NgxMatDatetimePickerModule, typeof i19.NgxMatTimepickerComponent, typeof i19.NgxMatNativeDateModule, typeof i20.DragDropModule, typeof i21.AngularResizeEventModule, typeof UploadDocComponent, typeof SafeHtmlPipe, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof UploadFileComponent, typeof FileSinkDirective, typeof FileEditComponent, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof RouteDirective, typeof CallbackDirective, typeof FilterFormComponent], [typeof UploadDocComponent, typeof SafeHtmlPipe, typeof DisplayObjectsComponent, typeof HeaderComponent, typeof ResultTableComponent, typeof SearchFormComponent, typeof ConfirmationComponent, typeof PromptComponent, typeof SecurePipe, typeof SecureImgComponent, typeof MenuListItemComponent, typeof CodeEditorComponent, typeof HtmlEditorComponent, typeof HtmlFormatPipe, typeof UploadFileComponent, typeof FileSinkDirective, typeof FileEditComponent, typeof FoldersComponent, typeof DownloadProgressComponent, typeof SecureAComponent, typeof DummyComponent, typeof SelectComponent, typeof AutoCompleteComponent, typeof DatetimeComponent, typeof RouteDirective, typeof CallbackDirective, typeof FilterFormComponent, typeof i18.MatDatepickerModule, typeof i19.NgxMatDatetimePickerModule, typeof i19.NgxMatTimepickerComponent, typeof i19.NgxMatNativeDateModule]>;
1000
1117
  static ɵinj: i0.ɵɵInjectorDeclaration<GlowwModule>;
1001
1118
  }
1002
1119
 
@@ -1045,5 +1162,5 @@ declare class GlowwValidators {
1045
1162
  } | null;
1046
1163
  }
1047
1164
 
1048
- export { API_SERVER_URL, AdministratorGuard, AuthGuard, AuthenticationService, AuthenticationServiceConfig, AutoCompleteComponent, BaseCollectionComponent, ChangePasswordDlgComponent, CodeEditorComponent, ConfirmationComponent, ConfirmationModel, DatetimeComponent, DialogService, DisplayObjectsComponent, DownloadProgressComponent, DummyComponent, ErrorInterceptor, FilterFormComponent, FolderService, FolderServiceConfig, FoldersComponent, GLOWW_APPLI, GlowwModule, GlowwSecurityModule, GlowwSecurityService, GlowwService, GlowwValidators, HasUnsavedDataGuard, HeaderComponent, HtmlEditorComponent, HtmlFormatPipe, JwtInterceptor, LoginComponent, MenuListItemComponent, NavService, PromptComponent, PromptModel, ResultTableComponent, SafeHtmlPipe, SearchFormComponent, SecureAComponent, SecureImgComponent, SecurePipe, SelectComponent, StagingInterceptor, UploadDocComponent, UploadFileComponent, UserMenuComponent, VersionCheckService, VoiceRecognitionService };
1165
+ export { API_SERVER_URL, AdministratorGuard, AuthGuard, AuthenticationService, AuthenticationServiceConfig, AutoCompleteComponent, BaseCollectionComponent, CallbackDirective, ChangePasswordDlgComponent, CodeEditorComponent, ConfirmationComponent, ConfirmationModel, DatetimeComponent, DialogService, DisplayObjectsComponent, DownloadProgressComponent, DummyComponent, ErrorInterceptor, FileEditComponent, FileSinkDirective, FilterFormComponent, FolderService, FolderServiceConfig, FoldersComponent, GLOWW_APPLI, GLOWW_MODULE_EXPORTS, GLOWW_SECURITY_STANDALONE_DECLARATIONS, GLOWW_STANDALONE_DECLARATIONS, GlowwModule, GlowwSecurityModule, GlowwSecurityService, GlowwService, GlowwValidators, HasUnsavedDataGuard, HeaderComponent, HtmlEditorComponent, HtmlFormatPipe, JwtInterceptor, LoginComponent, MenuListItemComponent, NavService, PromptComponent, PromptModel, ResultTableComponent, RouteDirective, SafeHtmlPipe, SearchFormComponent, SecureAComponent, SecureImgComponent, SecurePipe, SelectComponent, SocialNetworkComponent, SocialNetworkDlgComponent, StagingInterceptor, UploadDocComponent, UploadFileComponent, UserMenuComponent, VersionCheckService, VoiceRecognitionService, provideGloww, provideGlowwSecurity };
1049
1166
  export type { Action, DirectoryContent, IHasUnsavedData, NavItem };