oip-common 0.0.4 → 0.0.5

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 (95) hide show
  1. package/fesm2022/oip-common.mjs +4267 -0
  2. package/fesm2022/oip-common.mjs.map +1 -0
  3. package/index.d.ts +1028 -0
  4. package/package.json +17 -5
  5. package/ng-package.json +0 -19
  6. package/src/api/FolderModule.ts +0 -124
  7. package/src/api/Menu.ts +0 -134
  8. package/src/api/Module.ts +0 -92
  9. package/src/api/Security.ts +0 -40
  10. package/src/api/Service.ts +0 -57
  11. package/src/api/data-contracts.ts +0 -186
  12. package/src/api/http-client.ts +0 -276
  13. package/src/components/app-configurator.component.ts +0 -491
  14. package/src/components/app-floating-configurator.component.ts +0 -47
  15. package/src/components/app-modules.component.ts +0 -144
  16. package/src/components/app.layout.component.ts +0 -130
  17. package/src/components/auth/access/access.component.ts +0 -42
  18. package/src/components/auth/error/error.component.ts +0 -42
  19. package/src/components/auth/login/login.component.ts +0 -120
  20. package/src/components/auth/unauthorized/unauthorized.component.ts +0 -51
  21. package/src/components/base-module.component.ts +0 -258
  22. package/src/components/config.component.ts +0 -131
  23. package/src/components/db-migration/db-migration.component.ts +0 -164
  24. package/src/components/db-migration.component.ts +0 -155
  25. package/src/components/footer.component.ts +0 -17
  26. package/src/components/logo.component.ts +0 -34
  27. package/src/components/menu/menu-item-create-dialog.component.ts +0 -119
  28. package/src/components/menu/menu-item-edit-dialog.component.ts +0 -124
  29. package/src/components/menu/menu-item.component.ts +0 -295
  30. package/src/components/menu/menu.component.ts +0 -85
  31. package/src/components/notfound.component.ts +0 -31
  32. package/src/components/profile.component.ts +0 -44
  33. package/src/components/security.component.ts +0 -102
  34. package/src/components/sidebar.component.ts +0 -12
  35. package/src/components/top-bar.component.ts +0 -147
  36. package/src/dtos/context-menu-item.dto.ts +0 -23
  37. package/src/dtos/edit-module-instance.dto.ts +0 -8
  38. package/src/dtos/no-settings.dto.ts +0 -4
  39. package/src/dtos/put-security.dto.ts +0 -6
  40. package/src/dtos/security.dto.ts +0 -6
  41. package/src/dtos/top-bar.dto.ts +0 -13
  42. package/src/events/menu-change.event.ts +0 -23
  43. package/src/helpers/date.helper.ts +0 -94
  44. package/src/intercepts/i18n-intercept.service.ts +0 -13
  45. package/src/modules/http-loader.factory.ts +0 -40
  46. package/src/modules/secure.pipe.ts +0 -19
  47. package/src/public-api.ts +0 -42
  48. package/src/services/app-title.service.ts +0 -22
  49. package/src/services/app.layout.service.ts +0 -236
  50. package/src/services/app.menu.service.ts +0 -64
  51. package/src/services/auth.service.ts +0 -58
  52. package/src/services/base-data.service.ts +0 -74
  53. package/src/services/l10n.service.ts +0 -71
  54. package/src/services/msg.service.ts +0 -76
  55. package/src/services/security-data.service.ts +0 -19
  56. package/src/services/security-storage.service.ts +0 -21
  57. package/src/services/security.service.ts +0 -116
  58. package/src/services/top-bar.service.ts +0 -44
  59. package/src/services/user.service.ts +0 -77
  60. package/src/test.ts +0 -11
  61. package/src/user-api/UserProfile.ts +0 -85
  62. package/src/user-api/data-contracts.ts +0 -42
  63. package/src/user-api/http-client.ts +0 -253
  64. package/tsconfig.lib.json +0 -12
  65. package/tsconfig.lib.prod.json +0 -10
  66. package/tsconfig.spec.json +0 -9
  67. /package/{src/assets → assets}/demo/code.scss +0 -0
  68. /package/{src/assets → assets}/demo/demo.scss +0 -0
  69. /package/{src/assets → assets}/demo/flags/flags.scss +0 -0
  70. /package/{src/assets → assets}/demo/flags/flags_responsive.png +0 -0
  71. /package/{src/assets → assets}/demo/images/access/asset-access.svg +0 -0
  72. /package/{src/assets → assets}/demo/images/error/asset-error.svg +0 -0
  73. /package/{src/assets → assets}/demo/images/flag/flag_placeholder.png +0 -0
  74. /package/{src/assets → assets}/favicon.svg +0 -0
  75. /package/{src/assets → assets}/i18n/app-modules.en.json +0 -0
  76. /package/{src/assets → assets}/i18n/app-modules.ru.json +0 -0
  77. /package/{src/assets → assets}/i18n/config.en.json +0 -0
  78. /package/{src/assets → assets}/i18n/config.ru.json +0 -0
  79. /package/{src/assets → assets}/layout/_core.scss +0 -0
  80. /package/{src/assets → assets}/layout/_footer.scss +0 -0
  81. /package/{src/assets → assets}/layout/_logo.scss +0 -0
  82. /package/{src/assets → assets}/layout/_main.scss +0 -0
  83. /package/{src/assets → assets}/layout/_menu.scss +0 -0
  84. /package/{src/assets → assets}/layout/_mixins.scss +0 -0
  85. /package/{src/assets → assets}/layout/_preloading.scss +0 -0
  86. /package/{src/assets → assets}/layout/_responsive.scss +0 -0
  87. /package/{src/assets → assets}/layout/_topbar.scss +0 -0
  88. /package/{src/assets → assets}/layout/_typography.scss +0 -0
  89. /package/{src/assets → assets}/layout/_utils.scss +0 -0
  90. /package/{src/assets → assets}/layout/layout.scss +0 -0
  91. /package/{src/assets → assets}/layout/variables/_common.scss +0 -0
  92. /package/{src/assets → assets}/layout/variables/_dark.scss +0 -0
  93. /package/{src/assets → assets}/layout/variables/_light.scss +0 -0
  94. /package/{src/assets → assets}/oip-common.scss +0 -0
  95. /package/{src/assets → assets}/tailwind.css +0 -0
package/index.d.ts ADDED
@@ -0,0 +1,1028 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, OnDestroy, WritableSignal, EventEmitter, Renderer2, PipeTransform } from '@angular/core';
3
+ import { MessageService, ToastMessageOptions, MenuItem, SelectItem, ConfirmationService } from 'primeng/api';
4
+ import { ActivatedRoute, QueryParamsHandling, IsActiveMatchOptions, Params, Router, UrlTree } from '@angular/router';
5
+ import { TranslateService } from '@ngx-translate/core';
6
+ import * as rxjs from 'rxjs';
7
+ import { Subject, BehaviorSubject, Observable, Subscription } from 'rxjs';
8
+ import { OidcSecurityService, LoginResponse, LogoutAuthOptions, AbstractSecurityStorage, StsConfigHttpLoader } from 'angular-auth-oidc-client';
9
+ import { ContextMenu } from 'primeng/contextmenu';
10
+ import { HttpInterceptorFn, HttpClient as HttpClient$1 } from '@angular/common/http';
11
+ import { SafeUrl } from '@angular/platform-browser';
12
+
13
+ interface TopBarDto {
14
+ id: 'content' | 'settings' | 'security';
15
+ icon: string;
16
+ caption: string;
17
+ claims?: string[];
18
+ click?(): void;
19
+ }
20
+
21
+ declare class TopBarService {
22
+ topBarItems: TopBarDto[];
23
+ private _activeId;
24
+ get availableTopBarItems(): TopBarDto[];
25
+ get activeTopBarItem(): TopBarDto | undefined;
26
+ get activeId(): string | undefined;
27
+ set activeId(value: string | undefined);
28
+ constructor();
29
+ setTopBarItems(items: TopBarDto[]): void;
30
+ checkId(id: string): boolean;
31
+ static ɵfac: i0.ɵɵFactoryDeclaration<TopBarService, never>;
32
+ static ɵprov: i0.ɵɵInjectableDeclaration<TopBarService>;
33
+ }
34
+
35
+ declare class MsgService {
36
+ protected readonly messageService: MessageService;
37
+ private readonly translate;
38
+ private readonly lifetime;
39
+ add(msg: ToastMessageOptions): void;
40
+ success(detail: any, summary?: any, life?: number): void;
41
+ info(detail: any, summary?: any, life?: number): void;
42
+ warn(detail: any, summary?: any, life?: number): void;
43
+ error(detail: any, summary?: any, life?: number): void;
44
+ contrast(detail: any, summary?: any, life?: number): void;
45
+ secondary(detail: any, summary?: any, life?: number): void;
46
+ static ɵfac: i0.ɵɵFactoryDeclaration<MsgService, never>;
47
+ static ɵprov: i0.ɵɵInjectableDeclaration<MsgService>;
48
+ }
49
+
50
+ /**
51
+ * BaseDataService provides a unified interface for sending HTTP requests
52
+ * using Angular's HttpClient. It supports standard HTTP methods and automatic
53
+ * credential handling.
54
+ */
55
+ declare class BaseDataService {
56
+ private readonly http;
57
+ /**
58
+ * Gets the base URL of the application from the HTML <base> tag.
59
+ */
60
+ get baseUrl(): string;
61
+ /**
62
+ * Sends an HTTP request with the specified method and data.
63
+ *
64
+ * @template TResponse - Expected response type.
65
+ * @param url - The target URL for the HTTP request.
66
+ * @param method - The HTTP method to use (GET, PUT, POST, DELETE). Default is 'GET'.
67
+ * @param data - An object containing request parameters or payload.
68
+ * @returns A promise that resolves to the response of type TResponse.
69
+ */
70
+ sendRequest<TResponse>(url: string, method?: 'GET' | 'PUT' | 'POST' | 'DELETE', data?: any): Promise<TResponse>;
71
+ /**
72
+ * Sends a GET request and retrieves a response as a Blob.
73
+ *
74
+ * @param url - The target URL for the GET request.
75
+ * @returns A promise that resolves to a Object response.
76
+ */
77
+ getBlob(url: string): Promise<object>;
78
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseDataService, never>;
79
+ static ɵprov: i0.ɵɵInjectableDeclaration<BaseDataService>;
80
+ }
81
+
82
+ /**
83
+ * Service to manage the application title.
84
+ */
85
+ declare class AppTitleService {
86
+ private readonly title;
87
+ private titleSubject;
88
+ title$: rxjs.Observable<string>;
89
+ /**
90
+ * Set the title of the current HTML document.
91
+ * @param newTitle
92
+ */
93
+ setTitle(newTitle: string): void;
94
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppTitleService, never>;
95
+ static ɵprov: i0.ɵɵInjectableDeclaration<AppTitleService>;
96
+ }
97
+
98
+ declare abstract class BaseModuleComponent<TBackendStoreSettings, TLocalStoreSettings> implements OnInit, OnDestroy {
99
+ /**
100
+ * Provides access to topbar related functionality, such as managing visibility and content.
101
+ * @type {TopBarService}
102
+ */
103
+ readonly topBarService: TopBarService;
104
+ /**
105
+ * Provides access to information about the current route.
106
+ * This includes route parameters, data, and the route's path.
107
+ */
108
+ readonly route: ActivatedRoute;
109
+ /**
110
+ * Provides access to messaging services.
111
+ */
112
+ readonly msgService: MsgService;
113
+ /**
114
+ * Provides access to base data service functionality.
115
+ * @deprecated The method should not be used
116
+ */
117
+ readonly baseDataService: BaseDataService;
118
+ /**
119
+ * Provides access to translation functionality.
120
+ */
121
+ readonly translateService: TranslateService;
122
+ /**
123
+ * Provides access to the application's title service.
124
+ */
125
+ readonly appTitleService: AppTitleService;
126
+ /**
127
+ * Reference to the ChangeDetector. Used to trigger change detection manually.
128
+ */
129
+ private changeDetectorRef;
130
+ /**
131
+ * Represents a subscription to an observable.
132
+ * Manages the lifecycle of receiving data from the observable and allows unsubscribing to stop receiving data.
133
+ * @type {Subscription}
134
+ */
135
+ private subscriptions;
136
+ /**
137
+ * Configuration object for backend storage
138
+ * @type {TBackendStoreSettings}
139
+ */
140
+ settings: TBackendStoreSettings;
141
+ /**
142
+ * Configuration object for local storage.
143
+ * @type {TLocalStoreSettings}
144
+ */
145
+ _localSettings: TLocalStoreSettings;
146
+ /**
147
+ * A signal representing the local application settings. Changes to this signal
148
+ * propagate updates to the underlying local store settings.
149
+ * @type {WritableSignal<TLocalStoreSettings>}
150
+ */
151
+ localSettings: WritableSignal<TLocalStoreSettings>;
152
+ /**
153
+ * A Subject emitting updates to local store settings. Observables can subscribe to this Subject to react to changes in local settings.
154
+ * @type {Subject<TLocalStoreSettings>}
155
+ */
156
+ localSettingsUpdate: Subject<TLocalStoreSettings>;
157
+ /**
158
+ * The title of the component. Get from Title in ngOnInit
159
+ * @type {string}
160
+ */
161
+ title: string;
162
+ /**
163
+ * Updates local settings and persists them to local storage.
164
+ * @return {void}
165
+ */
166
+ private onConfigUpdate;
167
+ private getLocalStorageSettings;
168
+ /**
169
+ * A unique numerical identifier for the module.
170
+ * @type {number}
171
+ */
172
+ id: number | undefined;
173
+ /**
174
+ * The name of the controller currently handling the request.
175
+ * @type {string}
176
+ */
177
+ controller: string;
178
+ /**
179
+ * Checks if the content ID is present.
180
+ * @returns {boolean} True if the content ID is present, false otherwise.
181
+ */
182
+ get isContent(): boolean;
183
+ /**
184
+ * Checks if the settings ID is present.
185
+ * @returns {boolean} True if the settings ID is present, false otherwise.
186
+ */
187
+ get isSettings(): boolean;
188
+ /**
189
+ * Checks if the security ID is present.
190
+ * @returns {boolean} True if the security ID is present, false otherwise.
191
+ */
192
+ get isSecurity(): boolean;
193
+ /**
194
+ * Defines the top bar items.
195
+ */
196
+ topBarItems: TopBarDto[];
197
+ /**
198
+ * Initializes the component and subscribes to local settings updates.
199
+ */
200
+ constructor();
201
+ /**
202
+ * Lifecycle hook that is called when a component is destroyed.
203
+ * Unsubscribes from all subscriptions to prevent memory leaks,
204
+ * resets the top bar items to an empty array, and sets the active ID
205
+ * to the ID of the first top bar item (if available).
206
+ */
207
+ ngOnDestroy(): void;
208
+ /**
209
+ * Initializes the component. Subscribes to translation service to set captions for top bar items,
210
+ * sets the top bar items via the top bar service, sets the active ID,
211
+ * subscribes to route parameters to get the ID, and retrieves settings.
212
+ * @return {Promise<void>} A promise that resolves when the initialization is complete.
213
+ */
214
+ ngOnInit(): Promise<void>;
215
+ /**
216
+ * Retrieves module instance settings.
217
+ * @return {Promise<void>} A promise that resolves when settings are retrieved.
218
+ */
219
+ getSettings(): Promise<void>;
220
+ /**
221
+ * Saves the provided settings to the backend.
222
+ * @param {TLocalStoreSettings} settings - The settings object to save.
223
+ * @return {Promise<void>} A promise that resolves when the settings are saved. Reject if an error occurs.
224
+ */
225
+ saveSettings(settings: TBackendStoreSettings): Promise<void>;
226
+ static ɵfac: i0.ɵɵFactoryDeclaration<BaseModuleComponent<any, any>, never>;
227
+ static ɵcmp: i0.ɵɵComponentDeclaration<BaseModuleComponent<any, any>, "ng-component", never, {}, {}, never, never, true, never>;
228
+ }
229
+
230
+ declare class SecurityComponent implements OnInit, OnDestroy {
231
+ private readonly msgService;
232
+ private readonly dataService;
233
+ private readonly translateService;
234
+ securityData: any[];
235
+ id: number;
236
+ controller: string;
237
+ roles: string[];
238
+ ngOnDestroy(): void;
239
+ ngOnInit(): void;
240
+ saveClick(): void;
241
+ saveKeyDown($event: KeyboardEvent): void;
242
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecurityComponent, never>;
243
+ static ɵcmp: i0.ɵɵComponentDeclaration<SecurityComponent, "security", never, { "id": { "alias": "id"; "required": false; }; "controller": { "alias": "controller"; "required": false; }; }, {}, never, never, true, never>;
244
+ }
245
+
246
+ interface AppConfig {
247
+ preset?: string;
248
+ primary?: string;
249
+ surface?: string | null;
250
+ darkTheme?: boolean;
251
+ menuMode?: string;
252
+ language?: string;
253
+ dateFormat: string;
254
+ timeFormat: string;
255
+ dateTimeFormat: string;
256
+ timeZone: string;
257
+ }
258
+ interface LayoutState {
259
+ staticMenuDesktopInactive?: boolean;
260
+ overlayMenuActive?: boolean;
261
+ configSidebarVisible?: boolean;
262
+ staticMenuMobileActive?: boolean;
263
+ menuHoverActive?: boolean;
264
+ }
265
+ interface MenuChangeEvent$1 {
266
+ key: string;
267
+ routeEvent?: boolean;
268
+ }
269
+ declare class LayoutService {
270
+ _config: AppConfig;
271
+ _state: LayoutState;
272
+ layoutConfig: i0.WritableSignal<AppConfig>;
273
+ layoutState: i0.WritableSignal<LayoutState>;
274
+ private readonly configUpdate;
275
+ private readonly overlayOpen;
276
+ private readonly menuSource;
277
+ private readonly resetSource;
278
+ menuSource$: rxjs.Observable<MenuChangeEvent$1>;
279
+ resetSource$: rxjs.Observable<unknown>;
280
+ configUpdate$: rxjs.Observable<AppConfig>;
281
+ overlayOpen$: rxjs.Observable<any>;
282
+ theme: i0.Signal<"light" | "dark">;
283
+ isSidebarActive: i0.Signal<boolean>;
284
+ isDarkTheme: i0.Signal<boolean>;
285
+ getPrimary: i0.Signal<string>;
286
+ getSurface: i0.Signal<string>;
287
+ isOverlay: i0.Signal<boolean>;
288
+ language: i0.Signal<string>;
289
+ dateFormat: i0.Signal<string>;
290
+ primeNgDateFormat: i0.Signal<string>;
291
+ timeFormat: i0.Signal<string>;
292
+ dateTimeFormat: i0.Signal<string>;
293
+ monthFormat: i0.Signal<string>;
294
+ timeZone: i0.Signal<string>;
295
+ transitionComplete: i0.WritableSignal<boolean>;
296
+ private initialized;
297
+ constructor();
298
+ /**
299
+ * Get application settings from browser storage
300
+ * @returns AppConfig
301
+ */
302
+ private getAppConfigFromStorage;
303
+ private handleDarkModeTransition;
304
+ private startViewTransition;
305
+ toggleDarkMode(config?: AppConfig): void;
306
+ private onTransitionEnd;
307
+ onMenuToggle(): void;
308
+ isDesktop(): boolean;
309
+ isMobile(): boolean;
310
+ onConfigUpdate(): void;
311
+ onMenuStateChange(event: MenuChangeEvent$1): void;
312
+ reset(): void;
313
+ static ɵfac: i0.ɵɵFactoryDeclaration<LayoutService, never>;
314
+ static ɵprov: i0.ɵɵInjectableDeclaration<LayoutService>;
315
+ }
316
+
317
+ /**
318
+ * SecurityService extends OidcSecurityService to manage authentication,
319
+ * token handling, and user role access in an Angular application.
320
+ *
321
+ * It provides helper methods for checking authentication, managing tokens,
322
+ * determining user roles, and performing logout and refresh operations.
323
+ */
324
+ declare class SecurityService extends OidcSecurityService implements OnDestroy {
325
+ /**
326
+ * Handles angular OIDC events.
327
+ */
328
+ private readonly publicEventsService;
329
+ /**
330
+ * Stores the latest login response from checkAuth().
331
+ */
332
+ loginResponse: BehaviorSubject<LoginResponse>;
333
+ /**
334
+ * Stores the decoded access token payload.
335
+ */
336
+ payload: BehaviorSubject<any>;
337
+ /**
338
+ * Stores user-specific data from the login response.
339
+ */
340
+ userData: any;
341
+ /**
342
+ * Initializes service and subscribes to authentication events.
343
+ * When a 'NewAuthenticationResult' event is received, the `auth` method is called.
344
+ */
345
+ constructor();
346
+ /**
347
+ * Returns the ID token for the sign-in.
348
+ * @returns A string with the id token.
349
+ */
350
+ getAccessToken(): Observable<string>;
351
+ /**
352
+ * Indicates whether the current user has the 'admin' role.
353
+ *
354
+ * @returns {boolean} True if the user is an admin, false otherwise.
355
+ */
356
+ get isAdmin(): boolean;
357
+ /**
358
+ * Initiates authentication check and updates login response, user data,
359
+ * and decoded token payload if authenticated.
360
+ */
361
+ auth(): void;
362
+ /**
363
+ * Performs logout and clears the local token payload.
364
+ *
365
+ * @param {string} [configId] Optional configuration ID for logout.
366
+ * @param {LogoutAuthOptions} [logoutAuthOptions] Optional logout options.
367
+ */
368
+ logout(configId?: string, logoutAuthOptions?: LogoutAuthOptions): void;
369
+ /**
370
+ * Completes the BehaviorSubjects when the service is destroyed to avoid memory leaks.
371
+ */
372
+ ngOnDestroy(): void;
373
+ /**
374
+ * Checks whether the current access token is expired based on the 'exp' claim.
375
+ *
376
+ * @returns {Observable<boolean>} Observable that emits true if the token is expired.
377
+ */
378
+ isTokenExpired(): Observable<boolean>;
379
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecurityService, never>;
380
+ static ɵprov: i0.ɵɵInjectableDeclaration<SecurityService>;
381
+ }
382
+
383
+ /**
384
+ * UserService is responsible for retrieving and handling user-related data,
385
+ * including the user's photo and short label for avatar display.
386
+ */
387
+ declare class UserService {
388
+ private readonly securityService;
389
+ private readonly baseDataService;
390
+ constructor();
391
+ /**
392
+ * Stores the user's photo as a data URL or binary blob, depending on how it's processed.
393
+ */
394
+ photo: any;
395
+ /**
396
+ * Indicates whether the user photo has finished loading.
397
+ */
398
+ photoLoaded: boolean;
399
+ /**
400
+ * Returns a short label composed of the user's initials.
401
+ * Typically used for avatar display when a photo is unavailable.
402
+ */
403
+ get shortLabel(): string;
404
+ get userName(): string;
405
+ /**
406
+ * Initiates an HTTP request to fetch the user's photo based on their email,
407
+ * and updates the `photo` and `photoLoaded` properties accordingly.
408
+ */
409
+ getUserPhoto(): void;
410
+ /**
411
+ * Converts a Blob image into a Base64 data URL and stores it in the `photo` property.
412
+ *
413
+ * @param image - The image Blob to be converted.
414
+ */
415
+ private createImageFromBlob;
416
+ static ɵfac: i0.ɵɵFactoryDeclaration<UserService, never>;
417
+ static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
418
+ }
419
+
420
+ declare class AppTopbar {
421
+ layoutService: LayoutService;
422
+ items: MenuItem[];
423
+ securityService: SecurityService;
424
+ topBarService: TopBarService;
425
+ userService: UserService;
426
+ constructor(layoutService: LayoutService);
427
+ toggleDarkMode(): void;
428
+ logoutKeyDown($event: KeyboardEvent): void;
429
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppTopbar, never>;
430
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppTopbar, "app-topbar", never, {}, {}, never, never, true, never>;
431
+ }
432
+
433
+ declare class FooterComponent {
434
+ constructor();
435
+ static ɵfac: i0.ɵɵFactoryDeclaration<FooterComponent, never>;
436
+ static ɵcmp: i0.ɵɵComponentDeclaration<FooterComponent, "app-footer", never, {}, {}, never, never, true, never>;
437
+ }
438
+
439
+ /** Data Transfer Object for creating a new module instance */
440
+ interface AddModuleInstanceDto {
441
+ /** The identifier of the module to create an instance of */
442
+ moduleId?: number;
443
+ /** The display label for the module instance */
444
+ label?: string | null;
445
+ /** The icon identifier for the module instance (optional) */
446
+ icon?: string | null;
447
+ /** The parent module instance identifier (optional) */
448
+ parentId?: number | null;
449
+ /** Array of role identifiers that can view this module instance (optional) */
450
+ viewRoles?: string[] | null;
451
+ }
452
+ /** Data Transfer Object for editing an existing module instance */
453
+ interface EditModuleInstanceDto$1 {
454
+ /** The identifier of the module instance to edit */
455
+ moduleInstanceId?: number;
456
+ /** The updated display label for the module instance */
457
+ label?: string | null;
458
+ /** The updated icon identifier for the module instance (optional) */
459
+ icon?: string | null;
460
+ /** The updated parent module instance identifier (optional) */
461
+ parentId?: number | null;
462
+ /** Updated array of role identifiers that can view this module instance (optional) */
463
+ viewRoles?: string[] | null;
464
+ }
465
+ /** Represents a key-value pair where the key is an integer and the value is a string. */
466
+ interface IntKeyValueDto {
467
+ key?: number;
468
+ value?: string | null;
469
+ }
470
+ /** It module in app */
471
+ interface ModuleDto {
472
+ /** Id */
473
+ moduleId?: number;
474
+ /** Name */
475
+ name?: string | null;
476
+ /** Settings */
477
+ settings?: string | null;
478
+ /** Securities */
479
+ moduleSecurities?: ModuleSecurityDto[] | null;
480
+ }
481
+ /** Module Instance Dto */
482
+ interface ModuleInstanceDto {
483
+ /** Unique identifier for the module instance. */
484
+ moduleInstanceId?: number;
485
+ /** Identifier for the module. */
486
+ moduleId?: number;
487
+ /** The label for the module instance. */
488
+ label?: string | null;
489
+ /** Icon associated with the module instance. see https://primeng.org/icons */
490
+ icon?: string | null;
491
+ /** Route link. */
492
+ routerLink?: string[] | null;
493
+ /** URL for the module instance. */
494
+ url?: string | null;
495
+ /** The target. */
496
+ target?: string | null;
497
+ /** Configuration settings for the module instance. */
498
+ settings?: string | null;
499
+ /** Child module instances. */
500
+ items?: ModuleInstanceDto[] | null;
501
+ /** Securities */
502
+ securities?: string[] | null;
503
+ }
504
+ /** Module security DTO */
505
+ interface ModuleSecurityDto {
506
+ /** Right */
507
+ right?: string | null;
508
+ /** Role */
509
+ role?: string | null;
510
+ }
511
+ interface MenuDeleteModuleInstanceParams {
512
+ /** The unique identifier of the module instance to delete. */
513
+ id?: number;
514
+ }
515
+
516
+ interface ContextMenuItemDto {
517
+ url: any;
518
+ class: string | string[] | Set<string> | {
519
+ [p: string]: any;
520
+ } | null | undefined;
521
+ command: any;
522
+ disabled: boolean;
523
+ fragment: string | undefined;
524
+ icon: string | string[] | Set<string> | {
525
+ [p: string]: any;
526
+ } | null | undefined;
527
+ items: ContextMenuItemDto[];
528
+ label: string;
529
+ preserveFragment: unknown;
530
+ queryParamsHandling: QueryParamsHandling | null | undefined;
531
+ routerLink: string;
532
+ routerLinkActiveOptions: {
533
+ exact: boolean;
534
+ } | IsActiveMatchOptions;
535
+ visible: boolean;
536
+ skipLocationChange: unknown;
537
+ queryParams: Params | null | undefined;
538
+ target: string;
539
+ state: {
540
+ [p: string]: any;
541
+ } | undefined;
542
+ replaceUrl: unknown;
543
+ badgeClass: string;
544
+ }
545
+
546
+ /**
547
+ * Represents an event triggered when a menu item is clicked.
548
+ * @interface MenuChangeEvent
549
+ * @class
550
+ */
551
+ interface MenuChangeEvent {
552
+ /**
553
+ * A string representing a key, used for identification or access.
554
+ */
555
+ key: string;
556
+ /**
557
+ * Indicates whether a route event has occurred.
558
+ * @type {boolean}
559
+ */
560
+ routeEvent?: boolean;
561
+ /**
562
+ * Represents a single item within a context menu. Contains data necessary to display the item
563
+ * and execute its associated action.
564
+ */
565
+ item: ContextMenuItemDto;
566
+ }
567
+
568
+ interface EditModuleInstanceDto {
569
+ moduleInstanceId: number;
570
+ moduleId: number;
571
+ parentId: number;
572
+ label: string;
573
+ icon: string;
574
+ viewRoles: string[];
575
+ }
576
+
577
+ declare class MenuService extends BaseDataService {
578
+ private readonly menuSource;
579
+ private readonly resetSource;
580
+ private readonly titleService;
581
+ private readonly menuDataService;
582
+ menuSource$: rxjs.Observable<MenuChangeEvent>;
583
+ resetSource$: rxjs.Observable<unknown>;
584
+ contextMenuItem: any;
585
+ menu: ModuleInstanceDto[];
586
+ adminMode: boolean;
587
+ loadMenu(): Promise<void>;
588
+ /**
589
+ * Handles changes in the menu state.
590
+ * @param {MenuChangeEvent} event - The event containing information about the menu state change.
591
+ * @return {void}
592
+ */
593
+ onMenuStateChange(event: MenuChangeEvent): void;
594
+ reset(): void;
595
+ getMenu(): Promise<ModuleInstanceDto[]>;
596
+ getAdminMenu(): Promise<ModuleInstanceDto[]>;
597
+ getModules(): Promise<IntKeyValueDto[]>;
598
+ addModuleInstance(addModuleInstance: AddModuleInstanceDto): Promise<void>;
599
+ deleteItem(moduleInstanceId: number): Promise<unknown>;
600
+ editModuleInstance(item: EditModuleInstanceDto): Promise<unknown>;
601
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuService, never>;
602
+ static ɵprov: i0.ɵɵInjectableDeclaration<MenuService>;
603
+ }
604
+
605
+ type QueryParamsType = Record<string | number, any>;
606
+ type ResponseFormat = keyof Omit<Body, "body" | "bodyUsed">;
607
+ interface FullRequestParams extends Omit<RequestInit, "body"> {
608
+ /** set parameter to `true` for call `securityWorker` for this request */
609
+ secure?: boolean;
610
+ /** request path */
611
+ path: string;
612
+ /** content type of request body */
613
+ type?: ContentType;
614
+ /** query params */
615
+ query?: QueryParamsType;
616
+ /** format of response (i.e. response.json() -> format: "json") */
617
+ format?: ResponseFormat;
618
+ /** request body */
619
+ body?: unknown;
620
+ /** base url */
621
+ baseUrl?: string;
622
+ /** request cancellation token */
623
+ cancelToken?: CancelToken;
624
+ }
625
+ type RequestParams = Omit<FullRequestParams, "body" | "method" | "query" | "path">;
626
+ type CancelToken = Symbol | string | number;
627
+ declare enum ContentType {
628
+ Json = "application/json",
629
+ FormData = "multipart/form-data",
630
+ UrlEncoded = "application/x-www-form-urlencoded",
631
+ Text = "text/plain"
632
+ }
633
+ declare class HttpClient<SecurityDataType = unknown> {
634
+ protected securityService: SecurityService;
635
+ protected layoutService: LayoutService;
636
+ baseUrl: string;
637
+ private securityData;
638
+ private securityWorker?;
639
+ private abortControllers;
640
+ private customFetch;
641
+ private baseApiParams;
642
+ constructor();
643
+ setSecurityData: (data: SecurityDataType | null) => void;
644
+ protected encodeQueryParam(key: string, value: any): string;
645
+ protected addQueryParam(query: QueryParamsType, key: string): string;
646
+ protected addArrayQueryParam(query: QueryParamsType, key: string): any;
647
+ protected toQueryString(rawQuery?: QueryParamsType): string;
648
+ protected addQueryParams(rawQuery?: QueryParamsType): string;
649
+ private contentFormatters;
650
+ protected mergeRequestParams(params1: RequestParams, params2?: RequestParams): RequestParams;
651
+ protected createAbortSignal: (cancelToken: CancelToken) => AbortSignal | undefined;
652
+ abortRequest: (cancelToken: CancelToken) => void;
653
+ request: <T = any, E = any>({ body, secure, path, type, query, format, baseUrl, cancelToken, ...params }: FullRequestParams) => Promise<T>;
654
+ static ɵfac: i0.ɵɵFactoryDeclaration<HttpClient<any>, never>;
655
+ static ɵprov: i0.ɵɵInjectableDeclaration<HttpClient<any>>;
656
+ }
657
+
658
+ declare class Menu<SecurityDataType = unknown> extends HttpClient<SecurityDataType> {
659
+ /**
660
+ * @description Retrieves the menu available to the current authenticated user.
661
+ *
662
+ * @tags Menu
663
+ * @name menuGet
664
+ * @request GET:/api/menu/get
665
+ * @secure
666
+ */
667
+ menuGet: (params?: RequestParams) => Promise<ModuleInstanceDto[]>;
668
+ /**
669
+ * @description Retrieves the admin-specific menu.
670
+ *
671
+ * @tags Menu
672
+ * @name menuGetAdminMenu
673
+ * @request GET:/api/menu/get-admin-menu
674
+ * @secure
675
+ */
676
+ menuGetAdminMenu: (params?: RequestParams) => Promise<ModuleInstanceDto[]>;
677
+ /**
678
+ * @description Retrieves all available modules in the system.
679
+ *
680
+ * @tags Menu
681
+ * @name menuGetModules
682
+ * @request GET:/api/menu/get-modules
683
+ * @secure
684
+ */
685
+ menuGetModules: (params?: RequestParams) => Promise<IntKeyValueDto[]>;
686
+ /**
687
+ * @description Adds a new module instance to the system.
688
+ *
689
+ * @tags Menu
690
+ * @name menuAddModuleInstance
691
+ * @request POST:/api/menu/add-module-instance
692
+ * @secure
693
+ */
694
+ menuAddModuleInstance: (data: AddModuleInstanceDto, params?: RequestParams) => Promise<void>;
695
+ /**
696
+ * @description Edits an existing module instance.
697
+ *
698
+ * @tags Menu
699
+ * @name menuEditModuleInstance
700
+ * @request POST:/api/menu/edit-module-instance
701
+ * @secure
702
+ */
703
+ menuEditModuleInstance: (data: EditModuleInstanceDto$1, params?: RequestParams) => Promise<void>;
704
+ /**
705
+ * @description Deletes a module instance by its identifier.
706
+ *
707
+ * @tags Menu
708
+ * @name menuDeleteModuleInstance
709
+ * @request DELETE:/api/menu/delete-module-instance
710
+ * @secure
711
+ */
712
+ menuDeleteModuleInstance: (query: MenuDeleteModuleInstanceParams, params?: RequestParams) => Promise<void>;
713
+ static ɵfac: i0.ɵɵFactoryDeclaration<Menu<any>, never>;
714
+ static ɵprov: i0.ɵɵInjectableDeclaration<Menu<any>>;
715
+ }
716
+
717
+ declare class MenuItemCreateDialogComponent implements OnInit {
718
+ menuService: MenuService;
719
+ protected readonly menu: Menu<any>;
720
+ visible: boolean;
721
+ visibleChange: EventEmitter<boolean>;
722
+ modules: IntKeyValueDto[];
723
+ selectModule: any;
724
+ label: string;
725
+ selectIcon: string;
726
+ ngOnInit(): Promise<void>;
727
+ changeVisible(): void;
728
+ save(): Promise<void>;
729
+ hide(): void;
730
+ showDialog(): void;
731
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemCreateDialogComponent, never>;
732
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemCreateDialogComponent, "menu-item-create-dialog", never, { "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, never, true, never>;
733
+ }
734
+
735
+ declare class MenuItemEditDialogComponent {
736
+ private readonly menuService;
737
+ private readonly securityDataService;
738
+ visible: boolean;
739
+ visibleChange: EventEmitter<boolean>;
740
+ modules: any[];
741
+ roles: string[];
742
+ item: EditModuleInstanceDto;
743
+ changeVisible(): void;
744
+ save(): Promise<void>;
745
+ hide(): void;
746
+ showDialog(): Promise<void>;
747
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuItemEditDialogComponent, never>;
748
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuItemEditDialogComponent, "menu-item-edit-dialog", never, { "visible": { "alias": "visible"; "required": false; }; }, { "visibleChange": "visibleChange"; }, never, never, true, never>;
749
+ }
750
+
751
+ declare class MenuComponent implements OnInit {
752
+ readonly menuService: MenuService;
753
+ readonly securityService: SecurityService;
754
+ readonly translateService: TranslateService;
755
+ menuItemCreateDialogComponent: MenuItemCreateDialogComponent;
756
+ menuItemEditDialogComponent: MenuItemEditDialogComponent;
757
+ contextMenu: ContextMenu;
758
+ ngOnInit(): void;
759
+ private newClick;
760
+ onContextMenu($event: MouseEvent): void;
761
+ static ɵfac: i0.ɵɵFactoryDeclaration<MenuComponent, never>;
762
+ static ɵcmp: i0.ɵɵComponentDeclaration<MenuComponent, "app-menu", never, {}, {}, never, never, true, never>;
763
+ }
764
+
765
+ declare class SidebarComponent {
766
+ constructor();
767
+ static ɵfac: i0.ɵɵFactoryDeclaration<SidebarComponent, never>;
768
+ static ɵcmp: i0.ɵɵComponentDeclaration<SidebarComponent, "app-sidebar", never, {}, {}, never, never, true, never>;
769
+ }
770
+
771
+ declare class AppLayoutComponent implements OnDestroy {
772
+ protected layoutService: LayoutService;
773
+ protected router: Router;
774
+ protected renderer: Renderer2;
775
+ overlayMenuOpenSubscription: Subscription;
776
+ menuOutsideClickListener: () => void;
777
+ appSidebar: SidebarComponent;
778
+ appTopBar: AppTopbar;
779
+ constructor();
780
+ isOutsideClicked(event: MouseEvent): boolean;
781
+ hideMenu(): void;
782
+ blockBodyScroll(): void;
783
+ unblockBodyScroll(): void;
784
+ get containerClass(): {
785
+ 'layout-overlay': boolean;
786
+ 'layout-static': boolean;
787
+ 'layout-static-inactive': boolean;
788
+ 'layout-overlay-active': boolean;
789
+ 'layout-mobile-active': boolean;
790
+ };
791
+ ngOnDestroy(): void;
792
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppLayoutComponent, never>;
793
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppLayoutComponent, "app-layout", never, {}, {}, never, never, true, never>;
794
+ }
795
+
796
+ declare class LogoComponent {
797
+ width: number;
798
+ height: number;
799
+ static ɵfac: i0.ɵɵFactoryDeclaration<LogoComponent, never>;
800
+ static ɵcmp: i0.ɵɵComponentDeclaration<LogoComponent, "logo", never, { "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; }, {}, never, never, true, never>;
801
+ }
802
+
803
+ declare class NotfoundComponent {
804
+ static ɵfac: i0.ɵɵFactoryDeclaration<NotfoundComponent, never>;
805
+ static ɵcmp: i0.ɵɵComponentDeclaration<NotfoundComponent, "app-notfound", never, {}, {}, never, never, true, never>;
806
+ }
807
+
808
+ declare class UnauthorizedComponent {
809
+ protected readonly securityService: SecurityService;
810
+ static ɵfac: i0.ɵɵFactoryDeclaration<UnauthorizedComponent, never>;
811
+ static ɵcmp: i0.ɵɵComponentDeclaration<UnauthorizedComponent, "ng-component", never, {}, {}, never, never, true, never>;
812
+ }
813
+
814
+ declare class ErrorComponent {
815
+ static ɵfac: i0.ɵɵFactoryDeclaration<ErrorComponent, never>;
816
+ static ɵcmp: i0.ɵɵComponentDeclaration<ErrorComponent, "app-error", never, {}, {}, never, never, true, never>;
817
+ }
818
+
819
+ declare class ProfileComponent {
820
+ readonly userService: UserService;
821
+ readonly msgService: MsgService;
822
+ readonly translateService: TranslateService;
823
+ onBasicUploadAuto($event: any): void;
824
+ static ɵfac: i0.ɵɵFactoryDeclaration<ProfileComponent, never>;
825
+ static ɵcmp: i0.ɵɵComponentDeclaration<ProfileComponent, "user-profile", never, {}, {}, never, never, true, never>;
826
+ }
827
+
828
+ interface L10n$1 {
829
+ menu: string;
830
+ all: string;
831
+ profile: string;
832
+ photo: string;
833
+ usePhoto256x256Pixel: string;
834
+ selectLanguage: string;
835
+ moduleManagement: string;
836
+ localization: string;
837
+ goTo: string;
838
+ }
839
+ declare class ConfigComponent implements OnInit {
840
+ private readonly layoutService;
841
+ private readonly l10nService;
842
+ protected readonly userService: UserService;
843
+ protected readonly securityService: SecurityService;
844
+ protected readonly menuService: MenuService;
845
+ protected l10n: L10n$1;
846
+ selectedLanguage: string;
847
+ languages: SelectItem<string>[];
848
+ constructor();
849
+ ngOnInit(): Promise<void>;
850
+ /**
851
+ * Changes the application's language.
852
+ * @return {void}
853
+ */
854
+ changeLanguage(): void;
855
+ onSwitchChange(): Promise<void>;
856
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigComponent, never>;
857
+ static ɵcmp: i0.ɵɵComponentDeclaration<ConfigComponent, "app-config", never, {}, {}, never, never, true, never>;
858
+ }
859
+
860
+ /**
861
+ * A data transfer object indicating the absence of settings.
862
+ */
863
+ interface NoSettingsDto {
864
+ }
865
+
866
+ interface MigrationDto {
867
+ name: string;
868
+ applied: boolean;
869
+ pending: boolean;
870
+ exist: boolean;
871
+ }
872
+ interface ApplyMigrationRequest {
873
+ name: string;
874
+ }
875
+ declare class DbMigrationComponent extends BaseModuleComponent<NoSettingsDto, NoSettingsDto> implements OnInit, OnDestroy {
876
+ data: MigrationDto[];
877
+ ngOnInit(): Promise<void>;
878
+ refreshAction(): Promise<void>;
879
+ getData(): Promise<MigrationDto[]>;
880
+ applyMigration(rowData: MigrationDto): Promise<unknown>;
881
+ static ɵfac: i0.ɵɵFactoryDeclaration<DbMigrationComponent, never>;
882
+ static ɵcmp: i0.ɵɵComponentDeclaration<DbMigrationComponent, "db-migration", never, {}, {}, never, never, true, never>;
883
+ }
884
+
885
+ /**
886
+ * Service for managing translation loading in the application
887
+ */
888
+ declare class L10nService {
889
+ private loadedTranslations;
890
+ private httpClient;
891
+ private translateService;
892
+ /**
893
+ * Loads translations for a specific component
894
+ * @param component - Name of the component to load translations for
895
+ */
896
+ loadComponentTranslations(component: string): Promise<void>;
897
+ /**
898
+ * Gets the translated value of a key (or an array of keys)
899
+ * @returns the translated key, or an object of translated keys
900
+ */
901
+ get(key: string): Promise<rxjs.Observable<any>>;
902
+ /**
903
+ * Internal method to load translations from JSON files
904
+ * @param component - Component or translation namespace
905
+ * @param lang - Language code to load translations for
906
+ */
907
+ private loadTranslations;
908
+ /**
909
+ * Changes the lang currently used
910
+ */
911
+ use(selectedLanguage: string): void;
912
+ static ɵfac: i0.ɵɵFactoryDeclaration<L10nService, never>;
913
+ static ɵprov: i0.ɵɵInjectableDeclaration<L10nService>;
914
+ }
915
+
916
+ interface L10n {
917
+ confirm: {
918
+ header: string;
919
+ message: string;
920
+ cancel: string;
921
+ delete: string;
922
+ };
923
+ title: string;
924
+ messages: {
925
+ deleteSuccess: string;
926
+ };
927
+ table: {
928
+ deleteTooltip: string;
929
+ currentlyLoaded: string;
930
+ yes: string;
931
+ no: string;
932
+ name: string;
933
+ moduleId: string;
934
+ };
935
+ refreshTooltip: string;
936
+ }
937
+ declare class AppModulesComponent implements OnInit {
938
+ protected dataService: BaseDataService;
939
+ protected modules: ModuleDto[];
940
+ protected msgService: MsgService;
941
+ protected confirmationService: ConfirmationService;
942
+ protected l10nService: L10nService;
943
+ protected l10n: L10n;
944
+ protected titleService: AppTitleService;
945
+ private moduleService;
946
+ ngOnInit(): Promise<void>;
947
+ refreshAction(): Promise<void>;
948
+ deleteModule(module: ModuleDto): void;
949
+ static ɵfac: i0.ɵɵFactoryDeclaration<AppModulesComponent, never>;
950
+ static ɵcmp: i0.ɵɵComponentDeclaration<AppModulesComponent, "app-modules", never, {}, {}, never, never, true, never>;
951
+ }
952
+
953
+ interface SecurityDto {
954
+ code: string;
955
+ name: string;
956
+ description: string;
957
+ roles: string[];
958
+ }
959
+
960
+ interface PutSecurityDto {
961
+ id: number;
962
+ securities: SecurityDto[];
963
+ }
964
+
965
+ declare class SecurityDataService extends BaseDataService {
966
+ getSecurity(controller: string, id: number): Promise<SecurityDto[]>;
967
+ saveSecurity(controller: string, request: PutSecurityDto): Promise<any>;
968
+ getRealmRoles(): Promise<string[]>;
969
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecurityDataService, never>;
970
+ static ɵprov: i0.ɵɵInjectableDeclaration<SecurityDataService>;
971
+ }
972
+
973
+ /**
974
+ * A route guard that ensures the user is authenticated and has a valid access token.
975
+ * If the access token is expired, it attempts to refresh the session.
976
+ * If authentication fails or refresh is unsuccessful, redirects to the unauthorized page.
977
+ */
978
+ declare class AuthGuardService {
979
+ private readonly oidcSecurityService;
980
+ private readonly router;
981
+ /**
982
+ * Checks whether the route can be activated.
983
+ * - Returns `true` if the user is authenticated and the token is valid.
984
+ * - Attempts to refresh the token if expired.
985
+ * - Redirects to `/unauthorized` if not authenticated or refresh fails.
986
+ *
987
+ * @returns {Observable<boolean | UrlTree>} A stream resolving to true (allow), or UrlTree (redirect).
988
+ */
989
+ canActivate(): Observable<boolean | UrlTree>;
990
+ /**
991
+ * Attempts to refresh the session using the refresh token.
992
+ * If successful, allows route activation; otherwise, redirects to `/unauthorized`.
993
+ *
994
+ * @returns {boolean | UrlTree} A stream resolving to true or redirect UrlTree.
995
+ */
996
+ tryRefreshToken(): Observable<boolean | UrlTree>;
997
+ static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuardService, never>;
998
+ static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuardService>;
999
+ }
1000
+
1001
+ declare class SecurityStorageService implements AbstractSecurityStorage {
1002
+ read(key: string): string;
1003
+ write(key: string, value: any): void;
1004
+ remove(key: string): void;
1005
+ clear(): void;
1006
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecurityStorageService, never>;
1007
+ static ɵprov: i0.ɵɵInjectableDeclaration<SecurityStorageService>;
1008
+ }
1009
+
1010
+ declare const langIntercept: HttpInterceptorFn;
1011
+
1012
+ declare class SecurePipe implements PipeTransform {
1013
+ private readonly http;
1014
+ private readonly sanitizer;
1015
+ transform(url: any): Observable<SafeUrl>;
1016
+ static ɵfac: i0.ɵɵFactoryDeclaration<SecurePipe, never>;
1017
+ static ɵpipe: i0.ɵɵPipeDeclaration<SecurePipe, "secure", true>;
1018
+ }
1019
+
1020
+ /**
1021
+ * Load keycloak settings from backend and save to sessionStorage
1022
+ * @param httpClient
1023
+ * @returns StsConfigHttpLoader
1024
+ */
1025
+ declare const httpLoaderAuthFactory: (httpClient: HttpClient$1) => StsConfigHttpLoader;
1026
+
1027
+ export { AppLayoutComponent, AppModulesComponent, AppTopbar, AuthGuardService, BaseDataService, BaseModuleComponent, ConfigComponent, DbMigrationComponent, ErrorComponent, FooterComponent, LayoutService, LogoComponent, MenuComponent, MenuService, MsgService, NotfoundComponent, ProfileComponent, SecurePipe, SecurityComponent, SecurityDataService, SecurityService, SecurityStorageService, SidebarComponent, TopBarService, UnauthorizedComponent, UserService, httpLoaderAuthFactory, langIntercept };
1028
+ export type { AppConfig, ApplyMigrationRequest, MenuChangeEvent, MigrationDto, NoSettingsDto, PutSecurityDto, SecurityDto, TopBarDto };