oip-common 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +68 -68
- package/assets/demo/code.scss +17 -17
- package/assets/demo/demo.scss +2 -2
- package/assets/demo/flags/flags.scss +984 -984
- package/assets/i18n/applications.en.json +46 -0
- package/assets/i18n/applications.ru.json +46 -0
- package/assets/i18n/config.en.json +18 -17
- package/assets/i18n/config.ru.json +18 -17
- package/assets/i18n/db-migration.en.json +19 -19
- package/assets/i18n/db-migration.ru.json +19 -19
- package/assets/i18n/en.json +2 -1
- package/assets/i18n/notfound.en.json +8 -8
- package/assets/i18n/notfound.ru.json +8 -8
- package/assets/i18n/ru.json +2 -1
- package/assets/layout/_core.scss +30 -30
- package/assets/layout/_footer.scss +8 -8
- package/assets/layout/_main.scss +12 -12
- package/assets/layout/_mixins.scss +15 -15
- package/assets/layout/_preloading.scss +49 -49
- package/assets/layout/_responsive.scss +108 -108
- package/assets/layout/_topbar.scss +168 -168
- package/assets/layout/_typography.scss +68 -68
- package/assets/layout/_utils.scss +25 -25
- package/assets/layout/layout.scss +13 -13
- package/assets/layout/variables/_common.scss +20 -20
- package/assets/layout/variables/_dark.scss +5 -5
- package/assets/layout/variables/_light.scss +5 -5
- package/assets/tailwind.css +3 -3
- package/fesm2022/oip-common.mjs +1473 -897
- package/fesm2022/oip-common.mjs.map +1 -1
- package/index.d.ts +119 -116
- package/package.json +1 -1
- package/scripts/generate-api.mjs +22 -2
package/fesm2022/oip-common.mjs
CHANGED
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { Injectable, inject, signal, computed, effect, DestroyRef, ChangeDetectorRef, Component, Input, InjectionToken, PLATFORM_ID, ViewChild, HostBinding, EventEmitter, Output, Renderer2, SecurityContext, ChangeDetectionStrategy, makeEnvironmentProviders, importProvidersFrom } from '@angular/core';
|
|
3
3
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
|
4
|
-
import * as i2$
|
|
4
|
+
import * as i2$2 from 'primeng/api';
|
|
5
5
|
import { MessageService, ConfirmationService, PrimeIcons, SharedModule } from 'primeng/api';
|
|
6
6
|
import { HttpErrorResponse, HttpClient as HttpClient$1, provideHttpClient, withInterceptors, withFetch } from '@angular/common/http';
|
|
7
|
-
import * as i2$
|
|
7
|
+
import * as i2$3 from '@ngx-translate/core';
|
|
8
8
|
import { TranslateService, TranslatePipe, TranslateModule, TranslateLoader } from '@ngx-translate/core';
|
|
9
|
-
import * as i1$
|
|
9
|
+
import * as i1$5 from '@angular/router';
|
|
10
10
|
import { ActivatedRoute, Router, RouterModule, NavigationEnd, RouterLinkActive, RouterLink } from '@angular/router';
|
|
11
|
-
import { BehaviorSubject, Subject, of, tap, shareReplay, ReplaySubject, firstValueFrom,
|
|
12
|
-
import { tap as tap$1, catchError, filter, distinctUntilChanged,
|
|
11
|
+
import { BehaviorSubject, Subject, of, tap, shareReplay, ReplaySubject, firstValueFrom, from, filter as filter$1 } from 'rxjs';
|
|
12
|
+
import { tap as tap$1, catchError, filter, distinctUntilChanged, switchMap, map, take } from 'rxjs/operators';
|
|
13
13
|
import { Title, DomSanitizer } from '@angular/platform-browser';
|
|
14
14
|
import { PrimeNG } from 'primeng/config';
|
|
15
|
-
import { OidcSecurityService, PublicEventsService, EventTypes } from 'angular-auth-oidc-client';
|
|
16
15
|
import * as i1 from 'primeng/multiselect';
|
|
17
16
|
import { MultiSelectModule } from 'primeng/multiselect';
|
|
18
17
|
import * as i2 from 'primeng/tooltip';
|
|
@@ -21,9 +20,9 @@ import * as i1$2 from 'primeng/button';
|
|
|
21
20
|
import { ButtonModule, Button } from 'primeng/button';
|
|
22
21
|
import * as i1$1 from '@angular/forms';
|
|
23
22
|
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
24
|
-
import * as
|
|
23
|
+
import * as i1$3 from '@angular/common';
|
|
25
24
|
import { isPlatformBrowser, CommonModule, NgComponentOutlet, NgClass, DatePipe, PathLocationStrategy, LocationStrategy } from '@angular/common';
|
|
26
|
-
import * as i3$
|
|
25
|
+
import * as i3$3 from 'primeng/styleclass';
|
|
27
26
|
import { StyleClassModule } from 'primeng/styleclass';
|
|
28
27
|
import { updatePreset, updateSurfacePalette, $t } from '@primeng/themes';
|
|
29
28
|
import Aura from '@primeng/themes/aura';
|
|
@@ -32,10 +31,10 @@ import Nora from '@primeng/themes/nora';
|
|
|
32
31
|
import * as i3 from 'primeng/selectbutton';
|
|
33
32
|
import { SelectButtonModule } from 'primeng/selectbutton';
|
|
34
33
|
import { Tabs, TabList, Tab } from 'primeng/tabs';
|
|
35
|
-
import * as i2$
|
|
34
|
+
import * as i2$1 from 'primeng/avatar';
|
|
36
35
|
import { AvatarModule } from 'primeng/avatar';
|
|
37
36
|
import { ConfirmDialog } from 'primeng/confirmdialog';
|
|
38
|
-
import * as i1$
|
|
37
|
+
import * as i1$4 from 'primeng/badge';
|
|
39
38
|
import { BadgeModule } from 'primeng/badge';
|
|
40
39
|
import * as i3$1 from 'primeng/paginator';
|
|
41
40
|
import { PaginatorModule } from 'primeng/paginator';
|
|
@@ -46,22 +45,24 @@ import { ProgressSpinnerModule } from 'primeng/progressspinner';
|
|
|
46
45
|
import * as i9 from 'primeng/tag';
|
|
47
46
|
import { Tag, TagModule } from 'primeng/tag';
|
|
48
47
|
import * as signalR from '@microsoft/signalr';
|
|
49
|
-
import * as
|
|
48
|
+
import * as i3$2 from 'primeng/menu';
|
|
49
|
+
import { MenuModule } from 'primeng/menu';
|
|
50
|
+
import * as i1$6 from 'primeng/contextmenu';
|
|
50
51
|
import { ContextMenuModule, ContextMenu } from 'primeng/contextmenu';
|
|
51
|
-
import * as i3$
|
|
52
|
+
import * as i3$5 from 'primeng/dialog';
|
|
52
53
|
import { DialogModule } from 'primeng/dialog';
|
|
53
54
|
import * as i4$1 from 'primeng/inputtext';
|
|
54
55
|
import { InputTextModule, InputText } from 'primeng/inputtext';
|
|
55
|
-
import * as i3$
|
|
56
|
+
import * as i3$4 from 'primeng/ripple';
|
|
56
57
|
import { RippleModule } from 'primeng/ripple';
|
|
57
58
|
import * as i5 from 'primeng/select';
|
|
58
59
|
import { SelectModule, Select } from 'primeng/select';
|
|
59
|
-
import * as i1$
|
|
60
|
+
import * as i1$7 from 'primeng/fileupload';
|
|
60
61
|
import { FileUploadModule } from 'primeng/fileupload';
|
|
61
62
|
import { ImageModule } from 'primeng/image';
|
|
62
|
-
import * as i1$
|
|
63
|
+
import * as i1$8 from 'primeng/table';
|
|
63
64
|
import { TableModule } from 'primeng/table';
|
|
64
|
-
import * as i2$
|
|
65
|
+
import * as i2$4 from 'primeng/toggleswitch';
|
|
65
66
|
import { ToggleSwitchModule } from 'primeng/toggleswitch';
|
|
66
67
|
import { TextareaModule, Textarea } from 'primeng/textarea';
|
|
67
68
|
import * as i4$2 from 'primeng/toolbar';
|
|
@@ -105,10 +106,10 @@ class TopBarService {
|
|
|
105
106
|
return false;
|
|
106
107
|
return this.activeTopBarItem.id == id;
|
|
107
108
|
}
|
|
108
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
109
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
109
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
110
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, providedIn: 'root' }); }
|
|
110
111
|
}
|
|
111
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TopBarService, decorators: [{
|
|
112
113
|
type: Injectable,
|
|
113
114
|
args: [{
|
|
114
115
|
providedIn: 'root'
|
|
@@ -231,10 +232,10 @@ class MsgService {
|
|
|
231
232
|
life: life
|
|
232
233
|
});
|
|
233
234
|
}
|
|
234
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
235
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
235
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
236
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, providedIn: 'root' }); }
|
|
236
237
|
}
|
|
237
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
238
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MsgService, decorators: [{
|
|
238
239
|
type: Injectable,
|
|
239
240
|
args: [{ providedIn: 'root' }]
|
|
240
241
|
}] });
|
|
@@ -256,10 +257,10 @@ class AppTitleService {
|
|
|
256
257
|
this.title.setTitle(newTitle);
|
|
257
258
|
this.titleSubject.next(newTitle);
|
|
258
259
|
}
|
|
259
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
260
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
260
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
261
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, providedIn: 'root' }); }
|
|
261
262
|
}
|
|
262
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
263
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTitleService, decorators: [{
|
|
263
264
|
type: Injectable,
|
|
264
265
|
args: [{ providedIn: 'root' }]
|
|
265
266
|
}] });
|
|
@@ -513,10 +514,10 @@ class LayoutService {
|
|
|
513
514
|
reset() {
|
|
514
515
|
this.resetSource.next(true);
|
|
515
516
|
}
|
|
516
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
517
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
518
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, providedIn: 'root' }); }
|
|
518
519
|
}
|
|
519
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
520
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LayoutService, decorators: [{
|
|
520
521
|
type: Injectable,
|
|
521
522
|
args: [{ providedIn: 'root' }]
|
|
522
523
|
}], ctorParameters: () => [] });
|
|
@@ -601,10 +602,10 @@ class L10nService {
|
|
|
601
602
|
instant(key, interpolateParams) {
|
|
602
603
|
return this.translateService.instant(key, interpolateParams);
|
|
603
604
|
}
|
|
604
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
605
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
605
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
606
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, providedIn: 'root' }); }
|
|
606
607
|
}
|
|
607
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
608
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: L10nService, decorators: [{
|
|
608
609
|
type: Injectable,
|
|
609
610
|
args: [{ providedIn: 'root' }]
|
|
610
611
|
}] });
|
|
@@ -728,308 +729,12 @@ class BffSecurityService {
|
|
|
728
729
|
const normalizedBase = baseUrl.endsWith('/') ? baseUrl : `${baseUrl}/`;
|
|
729
730
|
return `${normalizedBase}${path}`;
|
|
730
731
|
}
|
|
731
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
732
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
732
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
733
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService }); }
|
|
733
734
|
}
|
|
734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
735
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BffSecurityService, decorators: [{
|
|
735
736
|
type: Injectable
|
|
736
737
|
}] });
|
|
737
|
-
/**
|
|
738
|
-
* SecurityService extends OidcSecurityService to manage authentication,
|
|
739
|
-
* token handling, and user role access in an Angular application.
|
|
740
|
-
*
|
|
741
|
-
* It provides helper methods for checking authentication, managing tokens,
|
|
742
|
-
* determining user roles, and performing logout and refresh operations.
|
|
743
|
-
*/
|
|
744
|
-
class KeycloakSecurityService extends OidcSecurityService {
|
|
745
|
-
/**
|
|
746
|
-
* Initializes service and subscribes to authentication events.
|
|
747
|
-
* When a 'NewAuthenticationResult' event is received, the `auth` method is called.
|
|
748
|
-
*/
|
|
749
|
-
constructor() {
|
|
750
|
-
super();
|
|
751
|
-
this.refreshLockKeyPrefix = 'oip:keycloak-refresh-lock';
|
|
752
|
-
this.refreshResultKeyPrefix = 'oip:keycloak-refresh-result';
|
|
753
|
-
this.refreshLockTtlMs = 15000;
|
|
754
|
-
this.refreshWaitTimeoutMs = 10000;
|
|
755
|
-
this.refreshTabId = this.createRefreshTabId();
|
|
756
|
-
/**
|
|
757
|
-
* Handles angular OIDC events.
|
|
758
|
-
*/
|
|
759
|
-
this.publicEventsService = inject(PublicEventsService);
|
|
760
|
-
/**
|
|
761
|
-
* Stores the latest login response from checkAuth().
|
|
762
|
-
*/
|
|
763
|
-
this.loginResponse = new BehaviorSubject(null);
|
|
764
|
-
/**
|
|
765
|
-
* Stores the decoded access token payload.
|
|
766
|
-
*/
|
|
767
|
-
this.payload = new BehaviorSubject(null);
|
|
768
|
-
/**
|
|
769
|
-
* Stores user-specific data from the login response.
|
|
770
|
-
*/
|
|
771
|
-
this.currentUser = new BehaviorSubject(null);
|
|
772
|
-
/**
|
|
773
|
-
* Emits access token updates from initial auth check, manual refresh,
|
|
774
|
-
* and library authentication events.
|
|
775
|
-
*/
|
|
776
|
-
this.accessToken = new ReplaySubject(1);
|
|
777
|
-
this.publicEventsService
|
|
778
|
-
.registerForEvents()
|
|
779
|
-
.pipe(filter((event) => event.type === EventTypes.NewAuthenticationResult))
|
|
780
|
-
.subscribe(() => {
|
|
781
|
-
super.getAccessToken().subscribe(token => {
|
|
782
|
-
this.accessToken.next(token);
|
|
783
|
-
});
|
|
784
|
-
this.auth();
|
|
785
|
-
});
|
|
786
|
-
}
|
|
787
|
-
getCurrentUser() {
|
|
788
|
-
return this.currentUser.getValue();
|
|
789
|
-
}
|
|
790
|
-
getCurrentUser$() {
|
|
791
|
-
return this.currentUser.asObservable();
|
|
792
|
-
}
|
|
793
|
-
/**
|
|
794
|
-
* Returns the ID token for the sign-in.
|
|
795
|
-
* @returns A string with the id token.
|
|
796
|
-
*/
|
|
797
|
-
getAccessToken(configId) {
|
|
798
|
-
return merge(super.getAccessToken(configId), this.accessToken.asObservable()).pipe(distinctUntilChanged());
|
|
799
|
-
}
|
|
800
|
-
forceRefreshSession(customParams, configId) {
|
|
801
|
-
if (!this.refreshSession$) {
|
|
802
|
-
this.refreshSession$ = from(this.runSynchronizedRefresh(customParams, configId)).pipe(finalize(() => {
|
|
803
|
-
this.refreshSession$ = undefined;
|
|
804
|
-
}), shareReplay({ bufferSize: 1, refCount: false }));
|
|
805
|
-
}
|
|
806
|
-
return this.refreshSession$;
|
|
807
|
-
}
|
|
808
|
-
getCsrfToken() {
|
|
809
|
-
return of(null);
|
|
810
|
-
}
|
|
811
|
-
/**
|
|
812
|
-
* Indicates whether the current user has the 'admin' role.
|
|
813
|
-
*
|
|
814
|
-
* @returns {boolean} True if the user is an admin, false otherwise.
|
|
815
|
-
*/
|
|
816
|
-
isAdmin() {
|
|
817
|
-
return this.payload.getValue()?.realm_access?.roles?.includes('admin');
|
|
818
|
-
}
|
|
819
|
-
/**
|
|
820
|
-
* Initiates authentication check and updates login response, user data,
|
|
821
|
-
* and decoded token payload if authenticated.
|
|
822
|
-
*/
|
|
823
|
-
auth() {
|
|
824
|
-
super.checkAuth().subscribe((_response) => {
|
|
825
|
-
this.loginResponse.next(_response);
|
|
826
|
-
this.currentUser.next(_response.userData);
|
|
827
|
-
this.getPayloadFromAccessToken().subscribe((_token) => {
|
|
828
|
-
this.payload.next(_token);
|
|
829
|
-
});
|
|
830
|
-
});
|
|
831
|
-
}
|
|
832
|
-
/**
|
|
833
|
-
* Performs logout and clears the local token payload.
|
|
834
|
-
*
|
|
835
|
-
* @param {string} [configId] Optional configuration ID for logout.
|
|
836
|
-
* @param {LogoutAuthOptions} [logoutAuthOptions] Optional logout options.
|
|
837
|
-
*/
|
|
838
|
-
logout(configId, logoutAuthOptions) {
|
|
839
|
-
this.logoff(configId, logoutAuthOptions).subscribe((x) => this.payload.next(x));
|
|
840
|
-
}
|
|
841
|
-
/**
|
|
842
|
-
* Completes the BehaviorSubjects when the service is destroyed to avoid memory leaks.
|
|
843
|
-
*/
|
|
844
|
-
ngOnDestroy() {
|
|
845
|
-
this.loginResponse.complete();
|
|
846
|
-
this.payload.complete();
|
|
847
|
-
this.currentUser.complete();
|
|
848
|
-
}
|
|
849
|
-
/**
|
|
850
|
-
* Checks whether the current access token is expired based on the 'exp' claim.
|
|
851
|
-
*
|
|
852
|
-
* @returns {Observable<boolean>} Observable that emits true if the token is expired.
|
|
853
|
-
*/
|
|
854
|
-
isTokenExpired() {
|
|
855
|
-
return this.getPayloadFromAccessToken().pipe(map((payload) => {
|
|
856
|
-
return payload.exp < Math.floor(Date.now() / 1000);
|
|
857
|
-
}));
|
|
858
|
-
}
|
|
859
|
-
async runSynchronizedRefresh(customParams, configId) {
|
|
860
|
-
const webLocks = this.getWebLocks();
|
|
861
|
-
if (webLocks) {
|
|
862
|
-
return webLocks.request(this.getRefreshLockKey(configId), { mode: 'exclusive' }, async () => {
|
|
863
|
-
const currentState = await this.syncAuthState(configId);
|
|
864
|
-
if (!(await this.isCurrentAccessTokenExpired())) {
|
|
865
|
-
return currentState;
|
|
866
|
-
}
|
|
867
|
-
return this.refreshAsLockOwner(customParams, configId);
|
|
868
|
-
});
|
|
869
|
-
}
|
|
870
|
-
return this.runSynchronizedRefreshWithStorageLock(customParams, configId);
|
|
871
|
-
}
|
|
872
|
-
async runSynchronizedRefreshWithStorageLock(customParams, configId) {
|
|
873
|
-
const startedAt = Date.now();
|
|
874
|
-
if (this.tryAcquireRefreshLock(configId)) {
|
|
875
|
-
try {
|
|
876
|
-
const currentState = await this.syncAuthState(configId);
|
|
877
|
-
if (!(await this.isCurrentAccessTokenExpired())) {
|
|
878
|
-
return currentState;
|
|
879
|
-
}
|
|
880
|
-
return await this.refreshAsLockOwner(customParams, configId);
|
|
881
|
-
}
|
|
882
|
-
finally {
|
|
883
|
-
this.releaseRefreshLock(configId);
|
|
884
|
-
}
|
|
885
|
-
}
|
|
886
|
-
const waitResult = await this.waitForRefreshResult(startedAt, configId);
|
|
887
|
-
if (waitResult === 'success') {
|
|
888
|
-
return this.syncAuthState(configId);
|
|
889
|
-
}
|
|
890
|
-
if (waitResult === 'error') {
|
|
891
|
-
throw new Error('Token refresh failed in another tab.');
|
|
892
|
-
}
|
|
893
|
-
return this.runSynchronizedRefreshWithStorageLock(customParams, configId);
|
|
894
|
-
}
|
|
895
|
-
async refreshAsLockOwner(customParams, configId) {
|
|
896
|
-
try {
|
|
897
|
-
const response = await firstValueFrom(super.forceRefreshSession(customParams, configId));
|
|
898
|
-
await this.applyLoginResponse(response, configId);
|
|
899
|
-
this.publishRefreshResult('success', configId);
|
|
900
|
-
return response;
|
|
901
|
-
}
|
|
902
|
-
catch (error) {
|
|
903
|
-
this.publishRefreshResult('error', configId);
|
|
904
|
-
throw error;
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
async syncAuthState(configId) {
|
|
908
|
-
const response = await firstValueFrom(super.checkAuth(undefined, configId));
|
|
909
|
-
await this.applyLoginResponse(response, configId);
|
|
910
|
-
return response;
|
|
911
|
-
}
|
|
912
|
-
async applyLoginResponse(response, configId) {
|
|
913
|
-
this.loginResponse.next(response);
|
|
914
|
-
this.currentUser.next(response.userData);
|
|
915
|
-
const token = await firstValueFrom(super.getAccessToken(configId));
|
|
916
|
-
this.accessToken.next(token);
|
|
917
|
-
const payload = await firstValueFrom(this.getPayloadFromAccessToken());
|
|
918
|
-
this.payload.next(payload);
|
|
919
|
-
}
|
|
920
|
-
async isCurrentAccessTokenExpired() {
|
|
921
|
-
const payload = await firstValueFrom(this.getPayloadFromAccessToken());
|
|
922
|
-
return !payload?.exp || payload.exp < Math.floor(Date.now() / 1000);
|
|
923
|
-
}
|
|
924
|
-
tryAcquireRefreshLock(configId) {
|
|
925
|
-
const lockKey = this.getRefreshLockKey(configId);
|
|
926
|
-
const now = Date.now();
|
|
927
|
-
const currentLock = this.readRefreshLock(lockKey);
|
|
928
|
-
if (currentLock && currentLock.ownerId !== this.refreshTabId && currentLock.expiresAt > now) {
|
|
929
|
-
return false;
|
|
930
|
-
}
|
|
931
|
-
const nextLock = {
|
|
932
|
-
ownerId: this.refreshTabId,
|
|
933
|
-
expiresAt: now + this.refreshLockTtlMs
|
|
934
|
-
};
|
|
935
|
-
localStorage.setItem(lockKey, JSON.stringify(nextLock));
|
|
936
|
-
return this.readRefreshLock(lockKey)?.ownerId === this.refreshTabId;
|
|
937
|
-
}
|
|
938
|
-
releaseRefreshLock(configId) {
|
|
939
|
-
const lockKey = this.getRefreshLockKey(configId);
|
|
940
|
-
const currentLock = this.readRefreshLock(lockKey);
|
|
941
|
-
if (currentLock?.ownerId === this.refreshTabId) {
|
|
942
|
-
localStorage.removeItem(lockKey);
|
|
943
|
-
}
|
|
944
|
-
}
|
|
945
|
-
waitForRefreshResult(startedAt, configId) {
|
|
946
|
-
const resultKey = this.getRefreshResultKey(configId);
|
|
947
|
-
return new Promise((resolve) => {
|
|
948
|
-
const timeoutId = window.setTimeout(() => {
|
|
949
|
-
cleanup();
|
|
950
|
-
resolve('timeout');
|
|
951
|
-
}, this.refreshWaitTimeoutMs);
|
|
952
|
-
const intervalId = window.setInterval(() => {
|
|
953
|
-
const result = this.tryResolveRefreshResult(resultKey, startedAt, configId);
|
|
954
|
-
if (result) {
|
|
955
|
-
cleanup();
|
|
956
|
-
resolve(result);
|
|
957
|
-
}
|
|
958
|
-
}, 250);
|
|
959
|
-
const onStorage = (event) => {
|
|
960
|
-
if (event.key === resultKey) {
|
|
961
|
-
const result = this.tryResolveRefreshResult(resultKey, startedAt, configId);
|
|
962
|
-
if (result) {
|
|
963
|
-
cleanup();
|
|
964
|
-
resolve(result);
|
|
965
|
-
}
|
|
966
|
-
}
|
|
967
|
-
};
|
|
968
|
-
const cleanup = () => {
|
|
969
|
-
window.clearTimeout(timeoutId);
|
|
970
|
-
window.clearInterval(intervalId);
|
|
971
|
-
window.removeEventListener('storage', onStorage);
|
|
972
|
-
};
|
|
973
|
-
window.addEventListener('storage', onStorage);
|
|
974
|
-
const result = this.tryResolveRefreshResult(resultKey, startedAt, configId);
|
|
975
|
-
if (result) {
|
|
976
|
-
cleanup();
|
|
977
|
-
resolve(result);
|
|
978
|
-
}
|
|
979
|
-
});
|
|
980
|
-
}
|
|
981
|
-
tryResolveRefreshResult(resultKey, startedAt, configId) {
|
|
982
|
-
const result = this.readRefreshResult(resultKey);
|
|
983
|
-
if (!result || result.timestamp < startedAt || result.configId !== configId) {
|
|
984
|
-
return null;
|
|
985
|
-
}
|
|
986
|
-
return result.status;
|
|
987
|
-
}
|
|
988
|
-
publishRefreshResult(status, configId) {
|
|
989
|
-
const result = {
|
|
990
|
-
configId,
|
|
991
|
-
ownerId: this.refreshTabId,
|
|
992
|
-
status,
|
|
993
|
-
timestamp: Date.now()
|
|
994
|
-
};
|
|
995
|
-
localStorage.setItem(this.getRefreshResultKey(configId), JSON.stringify(result));
|
|
996
|
-
}
|
|
997
|
-
readRefreshLock(lockKey) {
|
|
998
|
-
try {
|
|
999
|
-
const value = localStorage.getItem(lockKey);
|
|
1000
|
-
return value ? JSON.parse(value) : null;
|
|
1001
|
-
}
|
|
1002
|
-
catch {
|
|
1003
|
-
return null;
|
|
1004
|
-
}
|
|
1005
|
-
}
|
|
1006
|
-
readRefreshResult(resultKey) {
|
|
1007
|
-
try {
|
|
1008
|
-
const value = localStorage.getItem(resultKey);
|
|
1009
|
-
return value ? JSON.parse(value) : null;
|
|
1010
|
-
}
|
|
1011
|
-
catch {
|
|
1012
|
-
return null;
|
|
1013
|
-
}
|
|
1014
|
-
}
|
|
1015
|
-
getRefreshLockKey(configId) {
|
|
1016
|
-
return `${this.refreshLockKeyPrefix}:${configId ?? 'default'}`;
|
|
1017
|
-
}
|
|
1018
|
-
getRefreshResultKey(configId) {
|
|
1019
|
-
return `${this.refreshResultKeyPrefix}:${configId ?? 'default'}`;
|
|
1020
|
-
}
|
|
1021
|
-
getWebLocks() {
|
|
1022
|
-
return navigator.locks ?? null;
|
|
1023
|
-
}
|
|
1024
|
-
createRefreshTabId() {
|
|
1025
|
-
return window.crypto?.randomUUID?.() ?? `${Date.now()}-${Math.random()}`;
|
|
1026
|
-
}
|
|
1027
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: KeycloakSecurityService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1028
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: KeycloakSecurityService }); }
|
|
1029
|
-
}
|
|
1030
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImport: i0, type: KeycloakSecurityService, decorators: [{
|
|
1031
|
-
type: Injectable
|
|
1032
|
-
}], ctorParameters: () => [] });
|
|
1033
738
|
|
|
1034
739
|
/* eslint-disable */
|
|
1035
740
|
/* tslint:disable */
|
|
@@ -1215,10 +920,10 @@ class HttpClient {
|
|
|
1215
920
|
? { headers: { [csrfToken.headerName]: csrfToken.token } }
|
|
1216
921
|
: {};
|
|
1217
922
|
}
|
|
1218
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1219
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
923
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
924
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, providedIn: "root" }); }
|
|
1220
925
|
}
|
|
1221
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
926
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: HttpClient, decorators: [{
|
|
1222
927
|
type: Injectable,
|
|
1223
928
|
args: [{ providedIn: "root" }]
|
|
1224
929
|
}] });
|
|
@@ -1582,10 +1287,10 @@ class BaseModuleComponent {
|
|
|
1582
1287
|
});
|
|
1583
1288
|
await this.moduleInstanceReloadPromise;
|
|
1584
1289
|
}
|
|
1585
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1586
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
1290
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BaseModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1291
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: BaseModuleComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: '', isInline: true }); }
|
|
1587
1292
|
}
|
|
1588
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1293
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: BaseModuleComponent, decorators: [{
|
|
1589
1294
|
type: Component,
|
|
1590
1295
|
args: [{ standalone: true, template: '' }]
|
|
1591
1296
|
}], ctorParameters: () => [] });
|
|
@@ -1622,13 +1327,6 @@ class SecurityApi extends HttpClient {
|
|
|
1622
1327
|
format: "json",
|
|
1623
1328
|
...params,
|
|
1624
1329
|
});
|
|
1625
|
-
this.getKeycloakClientSettings = (params = {}) => this.request({
|
|
1626
|
-
path: `/api/security/get-keycloak-client-settings`,
|
|
1627
|
-
method: "GET",
|
|
1628
|
-
secure: true,
|
|
1629
|
-
format: "json",
|
|
1630
|
-
...params,
|
|
1631
|
-
});
|
|
1632
1330
|
this.getRealmRoles = (params = {}) => this.request({
|
|
1633
1331
|
path: `/api/security/get-realm-roles`,
|
|
1634
1332
|
method: "GET",
|
|
@@ -1637,10 +1335,10 @@ class SecurityApi extends HttpClient {
|
|
|
1637
1335
|
...params,
|
|
1638
1336
|
});
|
|
1639
1337
|
}
|
|
1640
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1641
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
1338
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
1339
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi }); }
|
|
1642
1340
|
}
|
|
1643
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1341
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityApi, decorators: [{
|
|
1644
1342
|
type: Injectable
|
|
1645
1343
|
}] });
|
|
1646
1344
|
|
|
@@ -1727,8 +1425,8 @@ class SecurityComponent {
|
|
|
1727
1425
|
type: ContentType.Json
|
|
1728
1426
|
});
|
|
1729
1427
|
}
|
|
1730
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
1731
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
1428
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1429
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: SecurityComponent, isStandalone: true, selector: "security", inputs: { id: "id", controller: "controller" }, usesOnChanges: true, ngImport: i0, template: `
|
|
1732
1430
|
<div class="flex flex-col md:flex-row gap-8">
|
|
1733
1431
|
<div class="md:w-1/2">
|
|
1734
1432
|
<div class="card flex flex-col gap-4">
|
|
@@ -1762,7 +1460,7 @@ class SecurityComponent {
|
|
|
1762
1460
|
</div>
|
|
1763
1461
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i2.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
1764
1462
|
}
|
|
1765
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
1463
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SecurityComponent, decorators: [{
|
|
1766
1464
|
type: Component,
|
|
1767
1465
|
args: [{
|
|
1768
1466
|
selector: 'security',
|
|
@@ -2244,8 +1942,8 @@ class AppConfiguratorComponent {
|
|
|
2244
1942
|
menuMode: event
|
|
2245
1943
|
}));
|
|
2246
1944
|
}
|
|
2247
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2248
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
1945
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppConfiguratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1946
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppConfiguratorComponent, isStandalone: true, selector: "app-configurator", host: { classAttribute: "hidden absolute top-[3.25rem] right-0 w-72 p-4 bg-surface-0 dark:bg-surface-900 border border-surface rounded-border origin-top shadow-[0px_3px_5px_rgba(0,0,0,0.02),0px_0px_2px_rgba(0,0,0,0.05),0px_1px_4px_rgba(0,0,0,0.08)]" }, ngImport: i0, template: `
|
|
2249
1947
|
<div class="flex flex-col gap-4">
|
|
2250
1948
|
<div>
|
|
2251
1949
|
<span class="text-sm text-muted-color font-semibold">{{ 'app-configurator.primary' | translate }}</span>
|
|
@@ -2314,9 +2012,9 @@ class AppConfiguratorComponent {
|
|
|
2314
2012
|
</div>
|
|
2315
2013
|
}
|
|
2316
2014
|
</div>
|
|
2317
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
2015
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: SelectButtonModule }, { kind: "component", type: i3.SelectButton, selector: "p-selectButton, p-selectbutton, p-select-button", inputs: ["options", "optionLabel", "optionValue", "optionDisabled", "unselectable", "tabindex", "multiple", "allowEmpty", "styleClass", "ariaLabelledBy", "dataKey", "autofocus", "size", "fluid"], outputs: ["onOptionClick", "onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2318
2016
|
}
|
|
2319
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppConfiguratorComponent, decorators: [{
|
|
2320
2018
|
type: Component,
|
|
2321
2019
|
args: [{
|
|
2322
2020
|
selector: 'app-configurator',
|
|
@@ -2436,10 +2134,10 @@ class UserProfileApi extends HttpClient {
|
|
|
2436
2134
|
...params,
|
|
2437
2135
|
});
|
|
2438
2136
|
}
|
|
2439
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2440
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
2137
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2138
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi }); }
|
|
2441
2139
|
}
|
|
2442
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2140
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserProfileApi, decorators: [{
|
|
2443
2141
|
type: Injectable
|
|
2444
2142
|
}] });
|
|
2445
2143
|
|
|
@@ -2533,65 +2231,65 @@ class UserService {
|
|
|
2533
2231
|
.join('')
|
|
2534
2232
|
.toUpperCase() ?? '';
|
|
2535
2233
|
}
|
|
2536
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2537
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
2234
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2235
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService }); }
|
|
2538
2236
|
}
|
|
2539
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2237
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserService, decorators: [{
|
|
2540
2238
|
type: Injectable
|
|
2541
2239
|
}], ctorParameters: () => [] });
|
|
2542
2240
|
|
|
2543
2241
|
class LogoComponent {
|
|
2544
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2545
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
2546
|
-
<svg
|
|
2547
|
-
viewBox="0.8516 1.7159 60.0074 64.7142"
|
|
2548
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
2549
|
-
[attr.height]="height + 'px'"
|
|
2550
|
-
[attr.width]="width + 'px'">
|
|
2551
|
-
<path
|
|
2552
|
-
class="primary-logo-color"
|
|
2553
|
-
d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
|
|
2554
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2555
|
-
<path
|
|
2556
|
-
class="primary-logo-color"
|
|
2557
|
-
d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
|
|
2558
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2559
|
-
<path
|
|
2560
|
-
class="primary-logo-color"
|
|
2561
|
-
d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
|
|
2562
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2563
|
-
<path
|
|
2564
|
-
class="secondary-logo-color"
|
|
2565
|
-
d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
|
|
2566
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2567
|
-
</svg>
|
|
2242
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2243
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: LogoComponent, isStandalone: true, selector: "logo", inputs: { width: "width", height: "height" }, ngImport: i0, template: `
|
|
2244
|
+
<svg
|
|
2245
|
+
viewBox="0.8516 1.7159 60.0074 64.7142"
|
|
2246
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2247
|
+
[attr.height]="height + 'px'"
|
|
2248
|
+
[attr.width]="width + 'px'">
|
|
2249
|
+
<path
|
|
2250
|
+
class="primary-logo-color"
|
|
2251
|
+
d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
|
|
2252
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2253
|
+
<path
|
|
2254
|
+
class="primary-logo-color"
|
|
2255
|
+
d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
|
|
2256
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2257
|
+
<path
|
|
2258
|
+
class="primary-logo-color"
|
|
2259
|
+
d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
|
|
2260
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2261
|
+
<path
|
|
2262
|
+
class="secondary-logo-color"
|
|
2263
|
+
d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
|
|
2264
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2265
|
+
</svg>
|
|
2568
2266
|
`, isInline: true, styles: [".primary-logo-color{fill:var(--primary-color)}.secondary-logo-color{fill:var(--p-primary-600)}\n"] }); }
|
|
2569
2267
|
}
|
|
2570
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoComponent, decorators: [{
|
|
2571
2269
|
type: Component,
|
|
2572
|
-
args: [{ selector: 'logo', standalone: true, template: `
|
|
2573
|
-
<svg
|
|
2574
|
-
viewBox="0.8516 1.7159 60.0074 64.7142"
|
|
2575
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
2576
|
-
[attr.height]="height + 'px'"
|
|
2577
|
-
[attr.width]="width + 'px'">
|
|
2578
|
-
<path
|
|
2579
|
-
class="primary-logo-color"
|
|
2580
|
-
d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
|
|
2581
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2582
|
-
<path
|
|
2583
|
-
class="primary-logo-color"
|
|
2584
|
-
d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
|
|
2585
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2586
|
-
<path
|
|
2587
|
-
class="primary-logo-color"
|
|
2588
|
-
d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
|
|
2589
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2590
|
-
<path
|
|
2591
|
-
class="secondary-logo-color"
|
|
2592
|
-
d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
|
|
2593
|
-
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2594
|
-
</svg>
|
|
2270
|
+
args: [{ selector: 'logo', standalone: true, template: `
|
|
2271
|
+
<svg
|
|
2272
|
+
viewBox="0.8516 1.7159 60.0074 64.7142"
|
|
2273
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
2274
|
+
[attr.height]="height + 'px'"
|
|
2275
|
+
[attr.width]="width + 'px'">
|
|
2276
|
+
<path
|
|
2277
|
+
class="primary-logo-color"
|
|
2278
|
+
d="M -130.45 -104.78 C -130.45 -105.9 -130.43 -107.01 -130.45 -108.13 C -130.49 -108.52 -130.28 -108.9 -129.92 -109.07 C -125.87 -111.4 -121.82 -113.74 -117.77 -116.08 C -115.7 -117.26 -113.63 -118.45 -111.58 -119.67 C -111.26 -119.89 -110.83 -119.89 -110.51 -119.67 C -101.66 -114.53 -92.787 -109.41 -83.915 -104.29 C -83.752 -104.2 -83.479 -104.16 -83.475 -103.94 C -83.472 -103.72 -83.766 -103.65 -83.947 -103.54 C -86.326 -102.16 -88.716 -100.79 -91.092 -99.39 C -91.377 -99.18 -91.761 -99.18 -92.046 -99.39 C -98.211 -102.98 -104.38 -106.55 -110.56 -110.12 C -110.85 -110.33 -111.23 -110.33 -111.52 -110.12 C -114.88 -108.16 -118.25 -106.22 -121.63 -104.28 C -122.01 -104.11 -122.24 -103.71 -122.2 -103.3 C -122.18 -101.11 -122.2 -98.922 -122.2 -96.736 C -122.19 -95.98 -122.21 -95.98 -122.84 -96.335 C -125.2 -97.7 -127.57 -99.07 -129.93 -100.42 C -130.27 -100.57 -130.49 -100.92 -130.46 -101.3 C -130.43 -102.46 -130.45 -103.62 -130.45 -104.78 Z"
|
|
2279
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2280
|
+
<path
|
|
2281
|
+
class="primary-logo-color"
|
|
2282
|
+
d="M -70.504 -100.94 L -70.504 -90.438 C -70.447 -89.98 -70.692 -89.537 -71.11 -89.342 C -78.942 -84.839 -86.769 -80.325 -94.592 -75.8 C -95.635 -75.2 -96.684 -74.612 -97.713 -73.988 C -98.17 -73.708 -98.255 -73.846 -98.255 -74.314 L -98.255 -82.785 C -98.268 -83.116 -98.07 -83.419 -97.762 -83.541 C -92.003 -86.86 -86.269 -90.236 -80.468 -93.47 C -79.181 -94.179 -78.667 -94.934 -78.731 -96.441 C -78.869 -99.76 -78.791 -103.09 -78.755 -106.42 C -78.694 -107 -79.02 -107.56 -79.56 -107.8 C -81.436 -108.83 -83.28 -109.93 -85.138 -110.99 C -85.734 -111.34 -85.734 -111.34 -85.113 -111.7 C -82.748 -113.07 -80.379 -114.43 -78.021 -115.82 C -77.707 -116.05 -77.283 -116.06 -76.957 -115.84 C -74.962 -114.66 -72.953 -113.5 -70.929 -112.37 C -70.62 -112.19 -70.456 -111.84 -70.521 -111.49 C -70.514 -107.99 -70.508 -104.48 -70.504 -100.94 Z"
|
|
2283
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2284
|
+
<path
|
|
2285
|
+
class="primary-logo-color"
|
|
2286
|
+
d="M -108.68 -85.743 L -108.68 -75.169 C -108.72 -74.754 -108.5 -74.358 -108.12 -74.179 C -104.77 -72.267 -101.44 -70.339 -98.117 -68.396 C -97.762 -68.141 -97.284 -68.141 -96.929 -68.396 C -95.028 -69.527 -93.096 -70.598 -91.195 -71.725 C -90.667 -72.041 -90.581 -71.892 -90.581 -71.371 C -90.596 -68.591 -90.596 -65.811 -90.581 -63.03 C -90.551 -62.7 -90.729 -62.386 -91.028 -62.243 C -93.083 -61.073 -95.13 -59.891 -97.17 -58.697 C -97.436 -58.537 -97.775 -58.569 -98.007 -58.775 C -102.74 -61.517 -107.47 -64.254 -112.22 -66.984 C -113.63 -67.796 -115.01 -68.615 -116.42 -69.406 C -116.77 -69.561 -116.97 -69.913 -116.94 -70.286 C -116.93 -80.555 -116.93 -90.823 -116.94 -101.09 C -116.94 -101.63 -116.86 -101.75 -116.35 -101.44 C -113.98 -100.05 -111.59 -98.667 -109.19 -97.303 C -108.84 -97.135 -108.62 -96.76 -108.66 -96.367 C -108.68 -92.833 -108.69 -89.291 -108.68 -85.743 Z"
|
|
2287
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2288
|
+
<path
|
|
2289
|
+
class="secondary-logo-color"
|
|
2290
|
+
d="M -122.18 -85.807 L -122.18 -82.129 C -122.18 -81.637 -122.34 -81.615 -122.72 -81.839 C -125.16 -83.257 -127.6 -84.667 -130.05 -86.069 C -130.35 -86.219 -130.53 -86.535 -130.5 -86.867 L -130.5 -94.09 C -130.5 -94.64 -130.34 -94.679 -129.89 -94.417 C -127.49 -92.998 -125.09 -91.607 -122.67 -90.243 C -122.35 -90.103 -122.15 -89.772 -122.18 -89.42 C -122.21 -88.214 -122.18 -87.012 -122.18 -85.807 Z M -82.688 -119.15 C -83.954 -118.41 -85.17 -117.7 -86.365 -117.02 C -87.748 -116.22 -89.138 -115.44 -90.514 -114.63 C -90.761 -114.45 -91.093 -114.45 -91.34 -114.63 C -93.432 -115.86 -95.535 -117.07 -97.649 -118.27 C -98.053 -118.5 -98.191 -118.63 -97.67 -118.93 C -95.216 -120.32 -92.776 -121.74 -90.337 -123.15 C -90.134 -123.33 -89.845 -123.36 -89.61 -123.23 L -82.918 -119.33 C -82.862 -119.28 -82.812 -119.24 -82.688 -119.15 Z M -85.365 -65.616 L -85.365 -72.062 L -85.365 -74.622 C -85.403 -74.928 -85.24 -75.223 -84.961 -75.353 C -82.886 -76.534 -80.83 -77.736 -78.77 -78.931 C -78.174 -79.286 -78.135 -79.257 -78.135 -78.576 L -78.135 -70.303 C -78.135 -69.991 -78.135 -69.711 -78.468 -69.52 C -80.656 -68.275 -82.833 -67.013 -85.014 -65.761 C -85.127 -65.704 -85.245 -65.655 -85.365 -65.616 Z"
|
|
2291
|
+
transform="matrix(1, 0, 0, 1, 131.35482788085938, 125.0257797241211)" />
|
|
2292
|
+
</svg>
|
|
2595
2293
|
`, styles: [".primary-logo-color{fill:var(--primary-color)}.secondary-logo-color{fill:var(--p-primary-600)}\n"] }]
|
|
2596
2294
|
}], propDecorators: { width: [{
|
|
2597
2295
|
type: Input
|
|
@@ -2613,10 +2311,10 @@ class LogoService {
|
|
|
2613
2311
|
getLogoComponent() {
|
|
2614
2312
|
return this.customLogoComponent || LogoComponent;
|
|
2615
2313
|
}
|
|
2616
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2617
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
2314
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2315
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, providedIn: 'root' }); }
|
|
2618
2316
|
}
|
|
2619
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2317
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: LogoService, decorators: [{
|
|
2620
2318
|
type: Injectable,
|
|
2621
2319
|
args: [{ providedIn: 'root' }]
|
|
2622
2320
|
}] });
|
|
@@ -2657,10 +2355,10 @@ class NotificationApi extends HttpClient {
|
|
|
2657
2355
|
...params,
|
|
2658
2356
|
});
|
|
2659
2357
|
}
|
|
2660
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2661
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
2358
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2359
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi }); }
|
|
2662
2360
|
}
|
|
2663
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2361
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationApi, decorators: [{
|
|
2664
2362
|
type: Injectable
|
|
2665
2363
|
}] });
|
|
2666
2364
|
|
|
@@ -2712,10 +2410,10 @@ class NotificationService {
|
|
|
2712
2410
|
.then((response) => this.unreadNotificationCount.set(response.count ?? 0))
|
|
2713
2411
|
.catch((error) => console.error('Failed to load notification count', error));
|
|
2714
2412
|
}
|
|
2715
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2716
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
2413
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2414
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, providedIn: 'root' }); }
|
|
2717
2415
|
}
|
|
2718
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2416
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotificationService, decorators: [{
|
|
2719
2417
|
type: Injectable,
|
|
2720
2418
|
args: [{ providedIn: 'root' }]
|
|
2721
2419
|
}], ctorParameters: () => [] });
|
|
@@ -2798,8 +2496,8 @@ class UserNotificationsComponent {
|
|
|
2798
2496
|
return 'secondary';
|
|
2799
2497
|
}
|
|
2800
2498
|
}
|
|
2801
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
2802
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
2499
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserNotificationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2500
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: UserNotificationsComponent, isStandalone: true, selector: "app-user-notifications", viewQueries: [{ propertyName: "popover", first: true, predicate: ["popover"], descendants: true }], ngImport: i0, template: `
|
|
2803
2501
|
<button
|
|
2804
2502
|
class="layout-topbar-action relative"
|
|
2805
2503
|
id="oip-app-topbar-notification-button"
|
|
@@ -2886,9 +2584,9 @@ class UserNotificationsComponent {
|
|
|
2886
2584
|
(onPageChange)="onPageChange($event)"></p-paginator>
|
|
2887
2585
|
}
|
|
2888
2586
|
</p-popover>
|
|
2889
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i1$
|
|
2587
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: BadgeModule }, { kind: "component", type: i1$4.Badge, selector: "p-badge", inputs: ["styleClass", "badgeSize", "size", "severity", "value", "badgeDisabled"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: PaginatorModule }, { kind: "component", type: i3$1.Paginator, selector: "p-paginator", inputs: ["pageLinkSize", "styleClass", "alwaysShow", "dropdownAppendTo", "templateLeft", "templateRight", "dropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showFirstLastIcon", "totalRecords", "rows", "rowsPerPageOptions", "showJumpToPageDropdown", "showJumpToPageInput", "jumpToPageItemTemplate", "showPageLinks", "locale", "dropdownItemTemplate", "first", "appendTo"], outputs: ["onPageChange"] }, { kind: "component", type: Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: i1$3.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2890
2588
|
}
|
|
2891
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2589
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UserNotificationsComponent, decorators: [{
|
|
2892
2590
|
type: Component,
|
|
2893
2591
|
args: [{
|
|
2894
2592
|
selector: 'app-user-notifications',
|
|
@@ -2988,6 +2686,149 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
2988
2686
|
args: ['popover']
|
|
2989
2687
|
}] } });
|
|
2990
2688
|
|
|
2689
|
+
/* eslint-disable */
|
|
2690
|
+
/* tslint:disable */
|
|
2691
|
+
// @ts-nocheck
|
|
2692
|
+
class ApplicationsApi extends HttpClient {
|
|
2693
|
+
constructor() {
|
|
2694
|
+
super(...arguments);
|
|
2695
|
+
this.getApplicationRegistryItems = (params = {}) => this.request({
|
|
2696
|
+
path: `/api/applications/get-application-registry-items`,
|
|
2697
|
+
method: "GET",
|
|
2698
|
+
secure: true,
|
|
2699
|
+
format: "json",
|
|
2700
|
+
...params,
|
|
2701
|
+
});
|
|
2702
|
+
this.getApplicationRegistryItemByCode = ({ code, ...query }, params = {}) => this.request({
|
|
2703
|
+
path: `/api/applications/get-application-registry-item-by-code/${code}`,
|
|
2704
|
+
method: "GET",
|
|
2705
|
+
secure: true,
|
|
2706
|
+
...params,
|
|
2707
|
+
});
|
|
2708
|
+
this.createApplicationRegistryItem = (data, params = {}) => this.request({
|
|
2709
|
+
path: `/api/applications/create-application-registry-item`,
|
|
2710
|
+
method: "POST",
|
|
2711
|
+
body: data,
|
|
2712
|
+
secure: true,
|
|
2713
|
+
type: ContentType.Json,
|
|
2714
|
+
...params,
|
|
2715
|
+
});
|
|
2716
|
+
this.updateApplicationRegistryItem = ({ code, ...query }, data, params = {}) => this.request({
|
|
2717
|
+
path: `/api/applications/update-application-registry-item/${code}`,
|
|
2718
|
+
method: "PUT",
|
|
2719
|
+
body: data,
|
|
2720
|
+
secure: true,
|
|
2721
|
+
type: ContentType.Json,
|
|
2722
|
+
...params,
|
|
2723
|
+
});
|
|
2724
|
+
this.deleteApplicationRegistryItem = ({ code, ...query }, params = {}) => this.request({
|
|
2725
|
+
path: `/api/applications/delete-application-registry-item/${code}`,
|
|
2726
|
+
method: "DELETE",
|
|
2727
|
+
secure: true,
|
|
2728
|
+
...params,
|
|
2729
|
+
});
|
|
2730
|
+
}
|
|
2731
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2732
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi }); }
|
|
2733
|
+
}
|
|
2734
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsApi, decorators: [{
|
|
2735
|
+
type: Injectable
|
|
2736
|
+
}] });
|
|
2737
|
+
|
|
2738
|
+
class ApplicationRegistryService {
|
|
2739
|
+
constructor() {
|
|
2740
|
+
this.applicationsApi = inject(ApplicationsApi);
|
|
2741
|
+
this.applications = [];
|
|
2742
|
+
this.currentApplication = null;
|
|
2743
|
+
}
|
|
2744
|
+
async loadApplications() {
|
|
2745
|
+
this.applications = await this.applicationsApi.getApplicationRegistryItems();
|
|
2746
|
+
this.currentApplication = this.applications.find((application) => application.isCurrent) ?? null;
|
|
2747
|
+
}
|
|
2748
|
+
openApplication(application) {
|
|
2749
|
+
if (application.isCurrent || !application.baseUrl) {
|
|
2750
|
+
return;
|
|
2751
|
+
}
|
|
2752
|
+
window.location.href = application.baseUrl;
|
|
2753
|
+
}
|
|
2754
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
2755
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService }); }
|
|
2756
|
+
}
|
|
2757
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationRegistryService, decorators: [{
|
|
2758
|
+
type: Injectable
|
|
2759
|
+
}] });
|
|
2760
|
+
|
|
2761
|
+
class AppTopbarApplicationSwitcherComponent {
|
|
2762
|
+
constructor() {
|
|
2763
|
+
this.applicationMenuItems = [];
|
|
2764
|
+
this.applicationRegistryService = inject(ApplicationRegistryService);
|
|
2765
|
+
}
|
|
2766
|
+
async ngOnInit() {
|
|
2767
|
+
try {
|
|
2768
|
+
await this.applicationRegistryService.loadApplications();
|
|
2769
|
+
this.applicationMenuItems = this.applicationRegistryService.applications.map((application) => this.createApplicationMenuItem(application));
|
|
2770
|
+
}
|
|
2771
|
+
catch {
|
|
2772
|
+
this.applicationMenuItems = [];
|
|
2773
|
+
}
|
|
2774
|
+
}
|
|
2775
|
+
createApplicationMenuItem(application) {
|
|
2776
|
+
return {
|
|
2777
|
+
id: `oip-app-switcher-${application.code}`,
|
|
2778
|
+
label: application.displayName ?? '',
|
|
2779
|
+
icon: application.icon ?? undefined,
|
|
2780
|
+
disabled: application.isCurrent,
|
|
2781
|
+
command: () => this.applicationRegistryService.openApplication(application)
|
|
2782
|
+
};
|
|
2783
|
+
}
|
|
2784
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2785
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppTopbarApplicationSwitcherComponent, isStandalone: true, selector: "app-topbar-application-switcher", providers: [ApplicationsApi, ApplicationRegistryService], ngImport: i0, template: `
|
|
2786
|
+
@if (applicationRegistryService.applications.length > 1) {
|
|
2787
|
+
<p-button
|
|
2788
|
+
class="layout-topbar-action"
|
|
2789
|
+
id="oip-app-topbar-application-switcher-button"
|
|
2790
|
+
severity="secondary"
|
|
2791
|
+
type="button"
|
|
2792
|
+
[rounded]="true"
|
|
2793
|
+
[text]="true"
|
|
2794
|
+
(click)="applicationMenu.toggle($event)">
|
|
2795
|
+
<i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
|
|
2796
|
+
<span class="ml-2 hidden md:inline">
|
|
2797
|
+
{{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
|
|
2798
|
+
</span>
|
|
2799
|
+
</p-button>
|
|
2800
|
+
<p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
|
|
2801
|
+
}
|
|
2802
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: MenuModule }, { kind: "component", type: i3$2.Menu, selector: "p-menu", inputs: ["model", "popup", "style", "styleClass", "autoZIndex", "baseZIndex", "showTransitionOptions", "hideTransitionOptions", "ariaLabel", "ariaLabelledBy", "id", "tabindex", "appendTo"], outputs: ["onShow", "onHide", "onBlur", "onFocus"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2803
|
+
}
|
|
2804
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbarApplicationSwitcherComponent, decorators: [{
|
|
2805
|
+
type: Component,
|
|
2806
|
+
args: [{
|
|
2807
|
+
selector: 'app-topbar-application-switcher',
|
|
2808
|
+
standalone: true,
|
|
2809
|
+
imports: [CommonModule, ButtonModule, MenuModule, TranslatePipe],
|
|
2810
|
+
template: `
|
|
2811
|
+
@if (applicationRegistryService.applications.length > 1) {
|
|
2812
|
+
<p-button
|
|
2813
|
+
class="layout-topbar-action"
|
|
2814
|
+
id="oip-app-topbar-application-switcher-button"
|
|
2815
|
+
severity="secondary"
|
|
2816
|
+
type="button"
|
|
2817
|
+
[rounded]="true"
|
|
2818
|
+
[text]="true"
|
|
2819
|
+
(click)="applicationMenu.toggle($event)">
|
|
2820
|
+
<i [ngClass]="applicationRegistryService.currentApplication?.icon || 'pi pi-th-large'"></i>
|
|
2821
|
+
<span class="ml-2 hidden md:inline">
|
|
2822
|
+
{{ applicationRegistryService.currentApplication?.displayName || ('topbar.applications' | translate) }}
|
|
2823
|
+
</span>
|
|
2824
|
+
</p-button>
|
|
2825
|
+
<p-menu #applicationMenu [model]="applicationMenuItems" [popup]="true" />
|
|
2826
|
+
}
|
|
2827
|
+
`,
|
|
2828
|
+
providers: [ApplicationsApi, ApplicationRegistryService]
|
|
2829
|
+
}]
|
|
2830
|
+
}] });
|
|
2831
|
+
|
|
2991
2832
|
class AppTopbar {
|
|
2992
2833
|
constructor() {
|
|
2993
2834
|
this.securityService = inject(SecurityService);
|
|
@@ -3029,107 +2870,109 @@ class AppTopbar {
|
|
|
3029
2870
|
}
|
|
3030
2871
|
});
|
|
3031
2872
|
}
|
|
3032
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3033
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
3034
|
-
<
|
|
3035
|
-
|
|
3036
|
-
<
|
|
3037
|
-
<
|
|
3038
|
-
|
|
3039
|
-
|
|
3040
|
-
<
|
|
3041
|
-
|
|
3042
|
-
|
|
3043
|
-
|
|
3044
|
-
|
|
2873
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbar, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2874
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: AppTopbar, isStandalone: true, selector: "app-topbar", providers: [ConfirmationService], ngImport: i0, template: `
|
|
2875
|
+
<div class="layout-topbar">
|
|
2876
|
+
<p-confirmDialog appendTo="body"/>
|
|
2877
|
+
<div class="layout-topbar-logo-container">
|
|
2878
|
+
<button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
|
|
2879
|
+
<i class="pi pi-bars"></i>
|
|
2880
|
+
</button>
|
|
2881
|
+
<a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
|
|
2882
|
+
<ng-container
|
|
2883
|
+
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
|
|
2884
|
+
<span>{{ 'app-info.title' | translate }}</span>
|
|
2885
|
+
</a>
|
|
2886
|
+
</div>
|
|
3045
2887
|
|
|
3046
|
-
|
|
3047
|
-
|
|
3048
|
-
|
|
3049
|
-
|
|
3050
|
-
|
|
3051
|
-
|
|
3052
|
-
|
|
3053
|
-
|
|
3054
|
-
|
|
3055
|
-
|
|
3056
|
-
|
|
3057
|
-
|
|
3058
|
-
|
|
3059
|
-
|
|
3060
|
-
|
|
3061
|
-
|
|
3062
|
-
|
|
3063
|
-
|
|
3064
|
-
|
|
3065
|
-
|
|
3066
|
-
|
|
3067
|
-
|
|
3068
|
-
|
|
3069
|
-
|
|
3070
|
-
|
|
3071
|
-
|
|
2888
|
+
@if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
|
|
2889
|
+
<p-tabs class="layout-topbar-tabs ml-2" [(value)]="topBarService.activeId">
|
|
2890
|
+
<p-tablist>
|
|
2891
|
+
@for (tab of topBarService.availableTopBarItems; track tab.id) {
|
|
2892
|
+
<p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
|
|
2893
|
+
<i class="pi {{ tab.icon }}"></i>
|
|
2894
|
+
<span class="ml-2">{{ tab.caption }}</span>
|
|
2895
|
+
</p-tab>
|
|
2896
|
+
}
|
|
2897
|
+
</p-tablist>
|
|
2898
|
+
</p-tabs>
|
|
2899
|
+
}
|
|
2900
|
+
<div class="layout-topbar-actions">
|
|
2901
|
+
<div class="layout-config-menu">
|
|
2902
|
+
<app-topbar-application-switcher/>
|
|
2903
|
+
<app-user-notifications/>
|
|
2904
|
+
<p-button
|
|
2905
|
+
class="layout-topbar-action"
|
|
2906
|
+
id="oip-app-topbar-theme-button"
|
|
2907
|
+
severity="secondary"
|
|
2908
|
+
type="button"
|
|
2909
|
+
[rounded]="true"
|
|
2910
|
+
[text]="true"
|
|
2911
|
+
(click)="toggleDarkMode()">
|
|
2912
|
+
<i
|
|
2913
|
+
class="pi"
|
|
2914
|
+
[ngClass]="{
|
|
3072
2915
|
'pi-moon': layoutService.isDarkTheme(),
|
|
3073
2916
|
'pi-sun': !layoutService.isDarkTheme()
|
|
3074
2917
|
}"></i>
|
|
3075
|
-
</p-button>
|
|
3076
|
-
<div class="relative">
|
|
3077
|
-
<p-button
|
|
3078
|
-
class="layout-topbar-action layout-topbar-action-highlight"
|
|
3079
|
-
enterActiveClass="animate-scalein"
|
|
3080
|
-
enterFromClass="hidden"
|
|
3081
|
-
id="oip-app-topbar-palette-button"
|
|
3082
|
-
leaveActiveClass="animate-fadeout"
|
|
3083
|
-
leaveToClass="hidden"
|
|
3084
|
-
pStyleClass="@next"
|
|
3085
|
-
[hideOnOutsideClick]="true"
|
|
3086
|
-
[rounded]="true">
|
|
3087
|
-
<i class="pi pi-palette"></i>
|
|
3088
2918
|
</p-button>
|
|
3089
|
-
<
|
|
2919
|
+
<div class="relative">
|
|
2920
|
+
<p-button
|
|
2921
|
+
class="layout-topbar-action layout-topbar-action-highlight"
|
|
2922
|
+
enterActiveClass="animate-scalein"
|
|
2923
|
+
enterFromClass="hidden"
|
|
2924
|
+
id="oip-app-topbar-palette-button"
|
|
2925
|
+
leaveActiveClass="animate-fadeout"
|
|
2926
|
+
leaveToClass="hidden"
|
|
2927
|
+
pStyleClass="@next"
|
|
2928
|
+
[hideOnOutsideClick]="true"
|
|
2929
|
+
[rounded]="true">
|
|
2930
|
+
<i class="pi pi-palette"></i>
|
|
2931
|
+
</p-button>
|
|
2932
|
+
<app-configurator/>
|
|
2933
|
+
</div>
|
|
3090
2934
|
</div>
|
|
3091
|
-
</div>
|
|
3092
2935
|
|
|
3093
|
-
|
|
3094
|
-
|
|
3095
|
-
|
|
3096
|
-
|
|
3097
|
-
|
|
3098
|
-
|
|
3099
|
-
|
|
3100
|
-
|
|
3101
|
-
|
|
3102
|
-
|
|
3103
|
-
|
|
2936
|
+
<button
|
|
2937
|
+
class="layout-topbar-menu-button layout-topbar-action"
|
|
2938
|
+
enterActiveClass="animate-scalein"
|
|
2939
|
+
enterFromClass="hidden"
|
|
2940
|
+
id="oip-app-topbar-menu-expand-button"
|
|
2941
|
+
leaveActiveClass="animate-fadeout"
|
|
2942
|
+
leaveToClass="hidden"
|
|
2943
|
+
pStyleClass="@next"
|
|
2944
|
+
[hideOnOutsideClick]="true">
|
|
2945
|
+
<i class="pi pi-ellipsis-v"></i>
|
|
2946
|
+
</button>
|
|
3104
2947
|
|
|
3105
|
-
|
|
3106
|
-
|
|
3107
|
-
|
|
3108
|
-
|
|
3109
|
-
|
|
3110
|
-
|
|
3111
|
-
|
|
3112
|
-
|
|
3113
|
-
|
|
3114
|
-
|
|
3115
|
-
|
|
3116
|
-
|
|
3117
|
-
|
|
3118
|
-
|
|
3119
|
-
|
|
3120
|
-
|
|
3121
|
-
|
|
3122
|
-
|
|
2948
|
+
<div class="layout-topbar-menu hidden lg:block">
|
|
2949
|
+
<div class="layout-topbar-menu-content">
|
|
2950
|
+
<button
|
|
2951
|
+
class="layout-topbar-action"
|
|
2952
|
+
id="oip-app-topbar-logout-button"
|
|
2953
|
+
type="button"
|
|
2954
|
+
(click)="confirmLogout()"
|
|
2955
|
+
(keydown)="logoutKeyDown($event)">
|
|
2956
|
+
<i class="pi pi-sign-out"></i>
|
|
2957
|
+
<span>{{ 'topbar.logout' | translate }}</span>
|
|
2958
|
+
</button>
|
|
2959
|
+
<button class="layout-topbar-action" routerLink="config">
|
|
2960
|
+
<p-avatar
|
|
2961
|
+
class="p-link flex align-items-center"
|
|
2962
|
+
id="oip-app-topbar-user-avatar"
|
|
2963
|
+
shape="circle"
|
|
2964
|
+
size="normal"
|
|
2965
|
+
[image]="userService.photoLoaded ? userService.photo : null"
|
|
3123
2966
|
>{{ !userService.photoLoaded ? userService.shortLabel : null }}
|
|
3124
|
-
|
|
3125
|
-
|
|
3126
|
-
|
|
2967
|
+
</p-avatar>
|
|
2968
|
+
<span class="ml-2">{{ 'topbar.profile' | translate }}</span>
|
|
2969
|
+
</button>
|
|
2970
|
+
</div>
|
|
3127
2971
|
</div>
|
|
3128
2972
|
</div>
|
|
3129
|
-
</div
|
|
3130
|
-
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i2$1.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$2.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$2.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: UserNotificationsComponent, selector: "app-user-notifications" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
2973
|
+
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$5.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }, { kind: "component", type: Tabs, selector: "p-tabs", inputs: ["value", "scrollable", "lazy", "selectOnFocus", "showNavigators", "tabindex"], outputs: ["valueChange"] }, { kind: "component", type: TabList, selector: "p-tablist" }, { kind: "component", type: Tab, selector: "p-tab", inputs: ["value", "disabled"], outputs: ["valueChange"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: UserNotificationsComponent, selector: "app-user-notifications" }, { kind: "component", type: AppTopbarApplicationSwitcherComponent, selector: "app-topbar-application-switcher" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3131
2974
|
}
|
|
3132
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
2975
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppTopbar, decorators: [{
|
|
3133
2976
|
type: Component,
|
|
3134
2977
|
args: [{
|
|
3135
2978
|
selector: 'app-topbar',
|
|
@@ -3146,106 +2989,109 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3146
2989
|
ButtonModule,
|
|
3147
2990
|
ConfirmDialog,
|
|
3148
2991
|
UserNotificationsComponent,
|
|
3149
|
-
TranslatePipe
|
|
2992
|
+
TranslatePipe,
|
|
2993
|
+
AppTopbarApplicationSwitcherComponent
|
|
3150
2994
|
],
|
|
3151
|
-
template: `
|
|
3152
|
-
<
|
|
3153
|
-
|
|
3154
|
-
<
|
|
3155
|
-
<
|
|
3156
|
-
|
|
3157
|
-
|
|
3158
|
-
<
|
|
3159
|
-
|
|
3160
|
-
|
|
3161
|
-
|
|
3162
|
-
|
|
2995
|
+
template: `
|
|
2996
|
+
<div class="layout-topbar">
|
|
2997
|
+
<p-confirmDialog appendTo="body"/>
|
|
2998
|
+
<div class="layout-topbar-logo-container">
|
|
2999
|
+
<button class="layout-menu-button layout-topbar-action" (click)="layoutService.onMenuToggle()">
|
|
3000
|
+
<i class="pi pi-bars"></i>
|
|
3001
|
+
</button>
|
|
3002
|
+
<a class="layout-topbar-logo" id="oip-app-topbar-logo-link" routerLink="">
|
|
3003
|
+
<ng-container
|
|
3004
|
+
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 36, height: 36 }"></ng-container>
|
|
3005
|
+
<span>{{ 'app-info.title' | translate }}</span>
|
|
3006
|
+
</a>
|
|
3007
|
+
</div>
|
|
3163
3008
|
|
|
3164
|
-
|
|
3165
|
-
|
|
3166
|
-
|
|
3167
|
-
|
|
3168
|
-
|
|
3169
|
-
|
|
3170
|
-
|
|
3171
|
-
|
|
3172
|
-
|
|
3173
|
-
|
|
3174
|
-
|
|
3175
|
-
|
|
3176
|
-
|
|
3177
|
-
|
|
3178
|
-
|
|
3179
|
-
|
|
3180
|
-
|
|
3181
|
-
|
|
3182
|
-
|
|
3183
|
-
|
|
3184
|
-
|
|
3185
|
-
|
|
3186
|
-
|
|
3187
|
-
|
|
3188
|
-
|
|
3189
|
-
|
|
3009
|
+
@if (securityService.isAdmin() && topBarService.topBarItems.length > 0) {
|
|
3010
|
+
<p-tabs class="layout-topbar-tabs ml-2" [(value)]="topBarService.activeId">
|
|
3011
|
+
<p-tablist>
|
|
3012
|
+
@for (tab of topBarService.availableTopBarItems; track tab.id) {
|
|
3013
|
+
<p-tab id="oip-app-topbar-tab-{{ tab.id }}" [value]="tab.id">
|
|
3014
|
+
<i class="pi {{ tab.icon }}"></i>
|
|
3015
|
+
<span class="ml-2">{{ tab.caption }}</span>
|
|
3016
|
+
</p-tab>
|
|
3017
|
+
}
|
|
3018
|
+
</p-tablist>
|
|
3019
|
+
</p-tabs>
|
|
3020
|
+
}
|
|
3021
|
+
<div class="layout-topbar-actions">
|
|
3022
|
+
<div class="layout-config-menu">
|
|
3023
|
+
<app-topbar-application-switcher/>
|
|
3024
|
+
<app-user-notifications/>
|
|
3025
|
+
<p-button
|
|
3026
|
+
class="layout-topbar-action"
|
|
3027
|
+
id="oip-app-topbar-theme-button"
|
|
3028
|
+
severity="secondary"
|
|
3029
|
+
type="button"
|
|
3030
|
+
[rounded]="true"
|
|
3031
|
+
[text]="true"
|
|
3032
|
+
(click)="toggleDarkMode()">
|
|
3033
|
+
<i
|
|
3034
|
+
class="pi"
|
|
3035
|
+
[ngClass]="{
|
|
3190
3036
|
'pi-moon': layoutService.isDarkTheme(),
|
|
3191
3037
|
'pi-sun': !layoutService.isDarkTheme()
|
|
3192
3038
|
}"></i>
|
|
3193
|
-
</p-button>
|
|
3194
|
-
<div class="relative">
|
|
3195
|
-
<p-button
|
|
3196
|
-
class="layout-topbar-action layout-topbar-action-highlight"
|
|
3197
|
-
enterActiveClass="animate-scalein"
|
|
3198
|
-
enterFromClass="hidden"
|
|
3199
|
-
id="oip-app-topbar-palette-button"
|
|
3200
|
-
leaveActiveClass="animate-fadeout"
|
|
3201
|
-
leaveToClass="hidden"
|
|
3202
|
-
pStyleClass="@next"
|
|
3203
|
-
[hideOnOutsideClick]="true"
|
|
3204
|
-
[rounded]="true">
|
|
3205
|
-
<i class="pi pi-palette"></i>
|
|
3206
3039
|
</p-button>
|
|
3207
|
-
<
|
|
3040
|
+
<div class="relative">
|
|
3041
|
+
<p-button
|
|
3042
|
+
class="layout-topbar-action layout-topbar-action-highlight"
|
|
3043
|
+
enterActiveClass="animate-scalein"
|
|
3044
|
+
enterFromClass="hidden"
|
|
3045
|
+
id="oip-app-topbar-palette-button"
|
|
3046
|
+
leaveActiveClass="animate-fadeout"
|
|
3047
|
+
leaveToClass="hidden"
|
|
3048
|
+
pStyleClass="@next"
|
|
3049
|
+
[hideOnOutsideClick]="true"
|
|
3050
|
+
[rounded]="true">
|
|
3051
|
+
<i class="pi pi-palette"></i>
|
|
3052
|
+
</p-button>
|
|
3053
|
+
<app-configurator/>
|
|
3054
|
+
</div>
|
|
3208
3055
|
</div>
|
|
3209
|
-
</div>
|
|
3210
3056
|
|
|
3211
|
-
|
|
3212
|
-
|
|
3213
|
-
|
|
3214
|
-
|
|
3215
|
-
|
|
3216
|
-
|
|
3217
|
-
|
|
3218
|
-
|
|
3219
|
-
|
|
3220
|
-
|
|
3221
|
-
|
|
3057
|
+
<button
|
|
3058
|
+
class="layout-topbar-menu-button layout-topbar-action"
|
|
3059
|
+
enterActiveClass="animate-scalein"
|
|
3060
|
+
enterFromClass="hidden"
|
|
3061
|
+
id="oip-app-topbar-menu-expand-button"
|
|
3062
|
+
leaveActiveClass="animate-fadeout"
|
|
3063
|
+
leaveToClass="hidden"
|
|
3064
|
+
pStyleClass="@next"
|
|
3065
|
+
[hideOnOutsideClick]="true">
|
|
3066
|
+
<i class="pi pi-ellipsis-v"></i>
|
|
3067
|
+
</button>
|
|
3222
3068
|
|
|
3223
|
-
|
|
3224
|
-
|
|
3225
|
-
|
|
3226
|
-
|
|
3227
|
-
|
|
3228
|
-
|
|
3229
|
-
|
|
3230
|
-
|
|
3231
|
-
|
|
3232
|
-
|
|
3233
|
-
|
|
3234
|
-
|
|
3235
|
-
|
|
3236
|
-
|
|
3237
|
-
|
|
3238
|
-
|
|
3239
|
-
|
|
3240
|
-
|
|
3069
|
+
<div class="layout-topbar-menu hidden lg:block">
|
|
3070
|
+
<div class="layout-topbar-menu-content">
|
|
3071
|
+
<button
|
|
3072
|
+
class="layout-topbar-action"
|
|
3073
|
+
id="oip-app-topbar-logout-button"
|
|
3074
|
+
type="button"
|
|
3075
|
+
(click)="confirmLogout()"
|
|
3076
|
+
(keydown)="logoutKeyDown($event)">
|
|
3077
|
+
<i class="pi pi-sign-out"></i>
|
|
3078
|
+
<span>{{ 'topbar.logout' | translate }}</span>
|
|
3079
|
+
</button>
|
|
3080
|
+
<button class="layout-topbar-action" routerLink="config">
|
|
3081
|
+
<p-avatar
|
|
3082
|
+
class="p-link flex align-items-center"
|
|
3083
|
+
id="oip-app-topbar-user-avatar"
|
|
3084
|
+
shape="circle"
|
|
3085
|
+
size="normal"
|
|
3086
|
+
[image]="userService.photoLoaded ? userService.photo : null"
|
|
3241
3087
|
>{{ !userService.photoLoaded ? userService.shortLabel : null }}
|
|
3242
|
-
|
|
3243
|
-
|
|
3244
|
-
|
|
3088
|
+
</p-avatar>
|
|
3089
|
+
<span class="ml-2">{{ 'topbar.profile' | translate }}</span>
|
|
3090
|
+
</button>
|
|
3091
|
+
</div>
|
|
3245
3092
|
</div>
|
|
3246
3093
|
</div>
|
|
3247
|
-
</div
|
|
3248
|
-
</div>`,
|
|
3094
|
+
</div>`,
|
|
3249
3095
|
providers: [ConfirmationService]
|
|
3250
3096
|
}]
|
|
3251
3097
|
}] });
|
|
@@ -3254,35 +3100,35 @@ class FooterComponent {
|
|
|
3254
3100
|
constructor() {
|
|
3255
3101
|
this.logoService = inject(LogoService);
|
|
3256
3102
|
}
|
|
3257
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3258
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
3259
|
-
<div class="layout-footer">
|
|
3260
|
-
<div class="flex justify-center flex-1">
|
|
3261
|
-
<div class="mr-2 -my-0.5">
|
|
3262
|
-
<ng-container
|
|
3263
|
-
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
|
|
3264
|
-
</div>
|
|
3265
|
-
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
3266
|
-
</div>
|
|
3267
|
-
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
3268
|
-
</div>
|
|
3103
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3104
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: FooterComponent, isStandalone: true, selector: "app-footer", ngImport: i0, template: `
|
|
3105
|
+
<div class="layout-footer">
|
|
3106
|
+
<div class="flex justify-center flex-1">
|
|
3107
|
+
<div class="mr-2 -my-0.5">
|
|
3108
|
+
<ng-container
|
|
3109
|
+
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
|
|
3110
|
+
</div>
|
|
3111
|
+
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
3112
|
+
</div>
|
|
3113
|
+
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
3114
|
+
</div>
|
|
3269
3115
|
`, isInline: true, dependencies: [{ kind: "directive", type: NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3270
3116
|
}
|
|
3271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
3117
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FooterComponent, decorators: [{
|
|
3272
3118
|
type: Component,
|
|
3273
3119
|
args: [{
|
|
3274
3120
|
selector: 'app-footer',
|
|
3275
|
-
template: `
|
|
3276
|
-
<div class="layout-footer">
|
|
3277
|
-
<div class="flex justify-center flex-1">
|
|
3278
|
-
<div class="mr-2 -my-0.5">
|
|
3279
|
-
<ng-container
|
|
3280
|
-
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
|
|
3281
|
-
</div>
|
|
3282
|
-
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
3283
|
-
</div>
|
|
3284
|
-
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
3285
|
-
</div>
|
|
3121
|
+
template: `
|
|
3122
|
+
<div class="layout-footer">
|
|
3123
|
+
<div class="flex justify-center flex-1">
|
|
3124
|
+
<div class="mr-2 -my-0.5">
|
|
3125
|
+
<ng-container
|
|
3126
|
+
*ngComponentOutlet="logoService.getLogoComponent(); inputs: { width: 18, height: 18 }"></ng-container>
|
|
3127
|
+
</div>
|
|
3128
|
+
<span class="font-medium">{{ 'app-info.footer' | translate }}</span>
|
|
3129
|
+
</div>
|
|
3130
|
+
<p class="mr-auto">{{ 'app-info.version' | translate }}</p>
|
|
3131
|
+
</div>
|
|
3286
3132
|
`,
|
|
3287
3133
|
standalone: true,
|
|
3288
3134
|
imports: [TranslatePipe, NgComponentOutlet]
|
|
@@ -3347,10 +3193,10 @@ class MenuApi extends HttpClient {
|
|
|
3347
3193
|
...params,
|
|
3348
3194
|
});
|
|
3349
3195
|
}
|
|
3350
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3351
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
3196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3197
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi }); }
|
|
3352
3198
|
}
|
|
3353
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
3199
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuApi, decorators: [{
|
|
3354
3200
|
type: Injectable
|
|
3355
3201
|
}] });
|
|
3356
3202
|
|
|
@@ -3400,10 +3246,10 @@ class MenuService {
|
|
|
3400
3246
|
editModuleInstance(item) {
|
|
3401
3247
|
return this.menuDataService.editModuleInstance(item);
|
|
3402
3248
|
}
|
|
3403
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3404
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
3249
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3250
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService }); }
|
|
3405
3251
|
}
|
|
3406
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
3252
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuService, decorators: [{
|
|
3407
3253
|
type: Injectable
|
|
3408
3254
|
}] });
|
|
3409
3255
|
|
|
@@ -3640,8 +3486,8 @@ class MenuItemComponent {
|
|
|
3640
3486
|
const currentIndex = items.findIndex((item) => item.moduleInstanceId == currentItem.moduleInstanceId);
|
|
3641
3487
|
return this.findNextVisibleIndex(items, currentIndex) !== -1;
|
|
3642
3488
|
}
|
|
3643
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3644
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
3489
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$5.Router }, { token: MenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3490
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuItemComponent, isStandalone: true, selector: "[app-menuitem]", inputs: { item: "item", index: "index", root: "root", parentKey: "parentKey", menuItemCreateDialogComponent: "menuItemCreateDialogComponent", menuItemEditDialogComponent: "menuItemEditDialogComponent", contextMenu: "contextMenu" }, host: { properties: { "class.layout-root-menuitem": "this.root", "class.active-menuitem": "this.activeClass" } }, providers: [ConfirmationService], ngImport: i0, template: `
|
|
3645
3491
|
<ng-container>
|
|
3646
3492
|
<p-confirm-dialog />
|
|
3647
3493
|
@if (root && item.visible !== false) {
|
|
@@ -3714,9 +3560,9 @@ class MenuItemComponent {
|
|
|
3714
3560
|
</ul>
|
|
3715
3561
|
}
|
|
3716
3562
|
</ng-container>
|
|
3717
|
-
`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$
|
|
3563
|
+
`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$4.Ripple, selector: "[pRipple]" }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: RouterLinkActive, selector: "[routerLinkActive]", inputs: ["routerLinkActiveOptions", "ariaCurrentWhenActive", "routerLinkActive"], outputs: ["isActiveChange"], exportAs: ["routerLinkActive"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }] }); }
|
|
3718
3564
|
}
|
|
3719
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
3565
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemComponent, decorators: [{
|
|
3720
3566
|
type: Component,
|
|
3721
3567
|
args: [{
|
|
3722
3568
|
// eslint-disable-next-line @angular-eslint/component-selector
|
|
@@ -3798,7 +3644,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
3798
3644
|
imports: [RippleModule, NgClass, RouterLinkActive, RouterLink, ContextMenuModule, ConfirmDialog],
|
|
3799
3645
|
providers: [ConfirmationService]
|
|
3800
3646
|
}]
|
|
3801
|
-
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$
|
|
3647
|
+
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$5.Router }, { type: MenuService }], propDecorators: { item: [{
|
|
3802
3648
|
type: Input
|
|
3803
3649
|
}], index: [{
|
|
3804
3650
|
type: Input
|
|
@@ -3881,8 +3727,8 @@ class MenuItemCreateDialogComponent {
|
|
|
3881
3727
|
this.visible = true;
|
|
3882
3728
|
this.visibleChange.emit(this.visible);
|
|
3883
3729
|
}
|
|
3884
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
3885
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
3730
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemCreateDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3731
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuItemCreateDialogComponent, isStandalone: true, selector: "menu-item-create-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
|
|
3886
3732
|
<p-dialog
|
|
3887
3733
|
header="{{ 'menuItemCreateDialogComponent.header' | translate }}"
|
|
3888
3734
|
[modal]="true"
|
|
@@ -3967,9 +3813,9 @@ class MenuItemCreateDialogComponent {
|
|
|
3967
3813
|
(click)="save()" />
|
|
3968
3814
|
</div>
|
|
3969
3815
|
</p-dialog>
|
|
3970
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$
|
|
3816
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$5.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
3971
3817
|
}
|
|
3972
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
3818
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemCreateDialogComponent, decorators: [{
|
|
3973
3819
|
type: Component,
|
|
3974
3820
|
args: [{
|
|
3975
3821
|
selector: 'menu-item-create-dialog',
|
|
@@ -4134,8 +3980,8 @@ class MenuItemEditDialogComponent {
|
|
|
4134
3980
|
this.visible = true;
|
|
4135
3981
|
this.visibleChange.emit(this.visible);
|
|
4136
3982
|
}
|
|
4137
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4138
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
3983
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemEditDialogComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3984
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: MenuItemEditDialogComponent, isStandalone: true, selector: "menu-item-edit-dialog", inputs: { visible: "visible" }, outputs: { visibleChange: "visibleChange" }, ngImport: i0, template: `
|
|
4139
3985
|
<p-dialog
|
|
4140
3986
|
header="{{ 'menuItemEditDialogComponent.header' | translate }}"
|
|
4141
3987
|
[modal]="true"
|
|
@@ -4213,9 +4059,9 @@ class MenuItemEditDialogComponent {
|
|
|
4213
4059
|
(click)="save()" />
|
|
4214
4060
|
</div>
|
|
4215
4061
|
</p-dialog>
|
|
4216
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$
|
|
4062
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: DialogModule }, { kind: "component", type: i3$5.Dialog, selector: "p-dialog", inputs: ["hostName", "header", "draggable", "resizable", "contentStyle", "contentStyleClass", "modal", "closeOnEscape", "dismissableMask", "rtl", "closable", "breakpoints", "styleClass", "maskStyleClass", "maskStyle", "showHeader", "blockScroll", "autoZIndex", "baseZIndex", "minX", "minY", "focusOnShow", "maximizable", "keepInViewport", "focusTrap", "transitionOptions", "closeIcon", "closeAriaLabel", "closeTabindex", "minimizeIcon", "maximizeIcon", "closeButtonProps", "maximizeButtonProps", "visible", "style", "position", "role", "appendTo", "content", "contentTemplate", "footerTemplate", "closeIconTemplate", "maximizeIconTemplate", "minimizeIconTemplate", "headlessTemplate"], outputs: ["onShow", "onHide", "visibleChange", "onResizeInit", "onResizeEnd", "onDragEnd", "onMaximize"] }, { kind: "ngmodule", type: InputTextModule }, { kind: "directive", type: i4$1.InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MultiSelectModule }, { kind: "component", type: i1.MultiSelect, selector: "p-multiSelect, p-multiselect, p-multi-select", inputs: ["id", "ariaLabel", "styleClass", "panelStyle", "panelStyleClass", "inputId", "readonly", "group", "filter", "filterPlaceHolder", "filterLocale", "overlayVisible", "tabindex", "dataKey", "ariaLabelledBy", "displaySelectedLabel", "maxSelectedLabels", "selectionLimit", "selectedItemsLabel", "showToggleAll", "emptyFilterMessage", "emptyMessage", "resetFilterOnHide", "dropdownIcon", "chipIcon", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "showHeader", "filterBy", "scrollHeight", "lazy", "virtualScroll", "loading", "virtualScrollItemSize", "loadingIcon", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "autofocusFilter", "display", "autocomplete", "showClear", "autofocus", "placeholder", "options", "filterValue", "selectAll", "focusOnHover", "filterFields", "selectOnFocus", "autoOptionFocus", "highlightOnSelect", "size", "variant", "fluid", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onClear", "onPanelShow", "onPanelHide", "onLazyLoad", "onRemove", "onSelectAllChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
4217
4063
|
}
|
|
4218
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4064
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuItemEditDialogComponent, decorators: [{
|
|
4219
4065
|
type: Component,
|
|
4220
4066
|
args: [{
|
|
4221
4067
|
imports: [ButtonModule, DialogModule, InputTextModule, SelectModule, FormsModule, TranslatePipe, MultiSelectModule],
|
|
@@ -4332,8 +4178,8 @@ class MenuComponent {
|
|
|
4332
4178
|
}
|
|
4333
4179
|
];
|
|
4334
4180
|
}
|
|
4335
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4336
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
4181
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4182
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: MenuComponent, isStandalone: true, selector: "app-menu", providers: [MenuApi], viewQueries: [{ propertyName: "menuItemCreateDialogComponent", first: true, predicate: MenuItemCreateDialogComponent, descendants: true }, { propertyName: "menuItemEditDialogComponent", first: true, predicate: MenuItemEditDialogComponent, descendants: true }, { propertyName: "contextMenu", first: true, predicate: ContextMenu, descendants: true }], ngImport: i0, template: `
|
|
4337
4183
|
<div #empty class="layout-sidebar" (contextmenu)="onContextMenu($event)">
|
|
4338
4184
|
<ul class="layout-menu">
|
|
4339
4185
|
@for (item of menuService.menu; track item; let i = $index) {
|
|
@@ -4358,9 +4204,9 @@ class MenuComponent {
|
|
|
4358
4204
|
<p-contextMenu [target]="empty"/>
|
|
4359
4205
|
<menu-item-create-dialog/>
|
|
4360
4206
|
<menu-item-edit-dialog/>
|
|
4361
|
-
}`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i1$
|
|
4207
|
+
}`, isInline: true, dependencies: [{ kind: "component", type: MenuItemComponent, selector: "[app-menuitem]", inputs: ["item", "index", "root", "parentKey", "menuItemCreateDialogComponent", "menuItemEditDialogComponent", "contextMenu"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i1$6.ContextMenu, selector: "p-contextMenu, p-contextmenu, p-context-menu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "autoZIndex", "baseZIndex", "id", "breakpoint", "ariaLabel", "ariaLabelledBy", "pressDelay", "appendTo"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: DialogModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "component", type: MenuItemCreateDialogComponent, selector: "menu-item-create-dialog", inputs: ["visible"], outputs: ["visibleChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: MenuItemEditDialogComponent, selector: "menu-item-edit-dialog", inputs: ["visible"], outputs: ["visibleChange"] }] }); }
|
|
4362
4208
|
}
|
|
4363
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: MenuComponent, decorators: [{
|
|
4364
4210
|
type: Component,
|
|
4365
4211
|
args: [{
|
|
4366
4212
|
imports: [
|
|
@@ -4416,10 +4262,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4416
4262
|
|
|
4417
4263
|
class SidebarComponent {
|
|
4418
4264
|
constructor() { }
|
|
4419
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4420
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4265
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SidebarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4266
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: SidebarComponent, isStandalone: true, selector: "app-sidebar", ngImport: i0, template: ` <app-menu></app-menu>`, isInline: true, dependencies: [{ kind: "component", type: MenuComponent, selector: "app-menu" }] }); }
|
|
4421
4267
|
}
|
|
4422
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: SidebarComponent, decorators: [{
|
|
4423
4269
|
type: Component,
|
|
4424
4270
|
args: [{
|
|
4425
4271
|
selector: 'app-sidebar',
|
|
@@ -4506,8 +4352,8 @@ class AppLayoutComponent {
|
|
|
4506
4352
|
this.menuOutsideClickListener();
|
|
4507
4353
|
}
|
|
4508
4354
|
}
|
|
4509
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4510
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4355
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppLayoutComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4356
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppLayoutComponent, isStandalone: true, selector: "app-layout", providers: [MenuService, MenuApi], viewQueries: [{ propertyName: "appSidebar", first: true, predicate: SidebarComponent, descendants: true }, { propertyName: "appTopBar", first: true, predicate: AppTopbar, descendants: true }], ngImport: i0, template: `
|
|
4511
4357
|
<div class="layout-wrapper" [ngClass]="containerClass">
|
|
4512
4358
|
<app-topbar></app-topbar>
|
|
4513
4359
|
<app-sidebar></app-sidebar>
|
|
@@ -4519,9 +4365,9 @@ class AppLayoutComponent {
|
|
|
4519
4365
|
</div>
|
|
4520
4366
|
<div class="layout-mask animate-fadein"></div>
|
|
4521
4367
|
</div>
|
|
4522
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type:
|
|
4368
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: AppTopbar, selector: "app-topbar" }, { kind: "component", type: SidebarComponent, selector: "app-sidebar" }, { kind: "ngmodule", type: RouterModule }, { kind: "directive", type: i1$5.RouterOutlet, selector: "router-outlet", inputs: ["name", "routerOutletData"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }, { kind: "component", type: FooterComponent, selector: "app-footer" }] }); }
|
|
4523
4369
|
}
|
|
4524
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4370
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppLayoutComponent, decorators: [{
|
|
4525
4371
|
type: Component,
|
|
4526
4372
|
args: [{
|
|
4527
4373
|
selector: 'app-layout',
|
|
@@ -4561,62 +4407,62 @@ class AppFloatingConfiguratorComponent {
|
|
|
4561
4407
|
darkTheme: !state.darkTheme
|
|
4562
4408
|
}));
|
|
4563
4409
|
}
|
|
4564
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4565
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4566
|
-
<div class="fixed flex gap-4 top-8 right-8">
|
|
4567
|
-
<p-button
|
|
4568
|
-
id="oip-app-floating-configurator-dark-theme-button"
|
|
4569
|
-
severity="secondary"
|
|
4570
|
-
type="button"
|
|
4571
|
-
[icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'"
|
|
4572
|
-
[rounded]="true"
|
|
4573
|
-
(onClick)="toggleDarkMode()" />
|
|
4574
|
-
<div class="relative">
|
|
4575
|
-
<p-button
|
|
4576
|
-
enterActiveClass="animate-scalein"
|
|
4577
|
-
enterFromClass="hidden"
|
|
4578
|
-
icon="pi pi-palette"
|
|
4579
|
-
id="oip-app-floating-configurator-next-button"
|
|
4580
|
-
leaveActiveClass="animate-fadeout"
|
|
4581
|
-
leaveToClass="hidden"
|
|
4582
|
-
pStyleClass="@next"
|
|
4583
|
-
type="button"
|
|
4584
|
-
[hideOnOutsideClick]="true"
|
|
4585
|
-
[rounded]="true" />
|
|
4586
|
-
<app-configurator />
|
|
4587
|
-
</div>
|
|
4588
|
-
</div>
|
|
4589
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$
|
|
4410
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppFloatingConfiguratorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4411
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppFloatingConfiguratorComponent, isStandalone: true, selector: "app-floating-configurator", ngImport: i0, template: `
|
|
4412
|
+
<div class="fixed flex gap-4 top-8 right-8">
|
|
4413
|
+
<p-button
|
|
4414
|
+
id="oip-app-floating-configurator-dark-theme-button"
|
|
4415
|
+
severity="secondary"
|
|
4416
|
+
type="button"
|
|
4417
|
+
[icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'"
|
|
4418
|
+
[rounded]="true"
|
|
4419
|
+
(onClick)="toggleDarkMode()" />
|
|
4420
|
+
<div class="relative">
|
|
4421
|
+
<p-button
|
|
4422
|
+
enterActiveClass="animate-scalein"
|
|
4423
|
+
enterFromClass="hidden"
|
|
4424
|
+
icon="pi pi-palette"
|
|
4425
|
+
id="oip-app-floating-configurator-next-button"
|
|
4426
|
+
leaveActiveClass="animate-fadeout"
|
|
4427
|
+
leaveToClass="hidden"
|
|
4428
|
+
pStyleClass="@next"
|
|
4429
|
+
type="button"
|
|
4430
|
+
[hideOnOutsideClick]="true"
|
|
4431
|
+
[rounded]="true" />
|
|
4432
|
+
<app-configurator />
|
|
4433
|
+
</div>
|
|
4434
|
+
</div>
|
|
4435
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: StyleClassModule }, { kind: "directive", type: i3$3.StyleClass, selector: "[pStyleClass]", inputs: ["pStyleClass", "enterFromClass", "enterActiveClass", "enterToClass", "leaveFromClass", "leaveActiveClass", "leaveToClass", "hideOnOutsideClick", "toggleClass", "hideOnEscape", "hideOnResize", "resizeSelector"] }, { kind: "component", type: AppConfiguratorComponent, selector: "app-configurator" }] }); }
|
|
4590
4436
|
}
|
|
4591
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4437
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppFloatingConfiguratorComponent, decorators: [{
|
|
4592
4438
|
type: Component,
|
|
4593
4439
|
args: [{
|
|
4594
4440
|
selector: 'app-floating-configurator',
|
|
4595
4441
|
imports: [ButtonModule, StyleClassModule, AppConfiguratorComponent],
|
|
4596
|
-
template: `
|
|
4597
|
-
<div class="fixed flex gap-4 top-8 right-8">
|
|
4598
|
-
<p-button
|
|
4599
|
-
id="oip-app-floating-configurator-dark-theme-button"
|
|
4600
|
-
severity="secondary"
|
|
4601
|
-
type="button"
|
|
4602
|
-
[icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'"
|
|
4603
|
-
[rounded]="true"
|
|
4604
|
-
(onClick)="toggleDarkMode()" />
|
|
4605
|
-
<div class="relative">
|
|
4606
|
-
<p-button
|
|
4607
|
-
enterActiveClass="animate-scalein"
|
|
4608
|
-
enterFromClass="hidden"
|
|
4609
|
-
icon="pi pi-palette"
|
|
4610
|
-
id="oip-app-floating-configurator-next-button"
|
|
4611
|
-
leaveActiveClass="animate-fadeout"
|
|
4612
|
-
leaveToClass="hidden"
|
|
4613
|
-
pStyleClass="@next"
|
|
4614
|
-
type="button"
|
|
4615
|
-
[hideOnOutsideClick]="true"
|
|
4616
|
-
[rounded]="true" />
|
|
4617
|
-
<app-configurator />
|
|
4618
|
-
</div>
|
|
4619
|
-
</div>
|
|
4442
|
+
template: `
|
|
4443
|
+
<div class="fixed flex gap-4 top-8 right-8">
|
|
4444
|
+
<p-button
|
|
4445
|
+
id="oip-app-floating-configurator-dark-theme-button"
|
|
4446
|
+
severity="secondary"
|
|
4447
|
+
type="button"
|
|
4448
|
+
[icon]="isDarkTheme() ? 'pi pi-moon' : 'pi pi-sun'"
|
|
4449
|
+
[rounded]="true"
|
|
4450
|
+
(onClick)="toggleDarkMode()" />
|
|
4451
|
+
<div class="relative">
|
|
4452
|
+
<p-button
|
|
4453
|
+
enterActiveClass="animate-scalein"
|
|
4454
|
+
enterFromClass="hidden"
|
|
4455
|
+
icon="pi pi-palette"
|
|
4456
|
+
id="oip-app-floating-configurator-next-button"
|
|
4457
|
+
leaveActiveClass="animate-fadeout"
|
|
4458
|
+
leaveToClass="hidden"
|
|
4459
|
+
pStyleClass="@next"
|
|
4460
|
+
type="button"
|
|
4461
|
+
[hideOnOutsideClick]="true"
|
|
4462
|
+
[rounded]="true" />
|
|
4463
|
+
<app-configurator />
|
|
4464
|
+
</div>
|
|
4465
|
+
</div>
|
|
4620
4466
|
`
|
|
4621
4467
|
}]
|
|
4622
4468
|
}] });
|
|
@@ -4625,53 +4471,53 @@ class NotfoundComponent {
|
|
|
4625
4471
|
constructor(l10nService) {
|
|
4626
4472
|
l10nService.get('notfound');
|
|
4627
4473
|
}
|
|
4628
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4629
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4630
|
-
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
4631
|
-
<div class="flex flex-col items-center justify-center">
|
|
4632
|
-
<div
|
|
4633
|
-
style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color), transparent 60%) 10%, var(--surface-ground) 30%)">
|
|
4634
|
-
<div
|
|
4635
|
-
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
4636
|
-
style="border-radius: 53px">
|
|
4637
|
-
<div class="flex flex-col items-center justify-center">
|
|
4638
|
-
<logo [height]="96" [width]="96"></logo>
|
|
4639
|
-
</div>
|
|
4640
|
-
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
4641
|
-
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
4642
|
-
{{ 'notfound.title' | translate }}
|
|
4643
|
-
</h1>
|
|
4644
|
-
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
4645
|
-
<p-button id="oip-app-notfound-go-to-home-button" routerLink="/" [label]="'notfound.button' | translate" />
|
|
4646
|
-
</div>
|
|
4647
|
-
</div>
|
|
4648
|
-
</div>
|
|
4649
|
-
</div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$
|
|
4650
|
-
}
|
|
4651
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4652
|
-
type: Component,
|
|
4653
|
-
args: [{
|
|
4474
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotfoundComponent, deps: [{ token: L10nService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4475
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: NotfoundComponent, isStandalone: true, selector: "app-notfound", ngImport: i0, template: ` <app-floating-configurator />
|
|
4476
|
+
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
4477
|
+
<div class="flex flex-col items-center justify-center">
|
|
4478
|
+
<div
|
|
4479
|
+
style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color), transparent 60%) 10%, var(--surface-ground) 30%)">
|
|
4480
|
+
<div
|
|
4481
|
+
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
4482
|
+
style="border-radius: 53px">
|
|
4483
|
+
<div class="flex flex-col items-center justify-center">
|
|
4484
|
+
<logo [height]="96" [width]="96"></logo>
|
|
4485
|
+
</div>
|
|
4486
|
+
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
4487
|
+
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
4488
|
+
{{ 'notfound.title' | translate }}
|
|
4489
|
+
</h1>
|
|
4490
|
+
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
4491
|
+
<p-button id="oip-app-notfound-go-to-home-button" routerLink="/" [label]="'notfound.button' | translate" />
|
|
4492
|
+
</div>
|
|
4493
|
+
</div>
|
|
4494
|
+
</div>
|
|
4495
|
+
</div>`, isInline: true, dependencies: [{ kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: TranslateModule }, { kind: "pipe", type: i2$3.TranslatePipe, name: "translate" }] }); }
|
|
4496
|
+
}
|
|
4497
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: NotfoundComponent, decorators: [{
|
|
4498
|
+
type: Component,
|
|
4499
|
+
args: [{
|
|
4654
4500
|
selector: 'app-notfound',
|
|
4655
|
-
template: ` <app-floating-configurator />
|
|
4656
|
-
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
4657
|
-
<div class="flex flex-col items-center justify-center">
|
|
4658
|
-
<div
|
|
4659
|
-
style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color), transparent 60%) 10%, var(--surface-ground) 30%)">
|
|
4660
|
-
<div
|
|
4661
|
-
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
4662
|
-
style="border-radius: 53px">
|
|
4663
|
-
<div class="flex flex-col items-center justify-center">
|
|
4664
|
-
<logo [height]="96" [width]="96"></logo>
|
|
4665
|
-
</div>
|
|
4666
|
-
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
4667
|
-
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
4668
|
-
{{ 'notfound.title' | translate }}
|
|
4669
|
-
</h1>
|
|
4670
|
-
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
4671
|
-
<p-button id="oip-app-notfound-go-to-home-button" routerLink="/" [label]="'notfound.button' | translate" />
|
|
4672
|
-
</div>
|
|
4673
|
-
</div>
|
|
4674
|
-
</div>
|
|
4501
|
+
template: ` <app-floating-configurator />
|
|
4502
|
+
<div class="flex items-center justify-center min-h-screen overflow-hidden">
|
|
4503
|
+
<div class="flex flex-col items-center justify-center">
|
|
4504
|
+
<div
|
|
4505
|
+
style="border-radius: 56px; padding: 0.3rem; background: linear-gradient(180deg, color-mix(in srgb, var(--primary-color), transparent 60%) 10%, var(--surface-ground) 30%)">
|
|
4506
|
+
<div
|
|
4507
|
+
class="w-full bg-surface-0 dark:bg-surface-900 py-20 px-8 sm:px-20 flex flex-col items-center"
|
|
4508
|
+
style="border-radius: 53px">
|
|
4509
|
+
<div class="flex flex-col items-center justify-center">
|
|
4510
|
+
<logo [height]="96" [width]="96"></logo>
|
|
4511
|
+
</div>
|
|
4512
|
+
<span class="text-primary font-bold text-3xl">{{ 'notfound.errorCode' | translate }}</span>
|
|
4513
|
+
<h1 class="text-surface-900 dark:text-surface-0 font-bold text-3xl lg:text-5xl mb-2">
|
|
4514
|
+
{{ 'notfound.title' | translate }}
|
|
4515
|
+
</h1>
|
|
4516
|
+
<div class="text-surface-600 dark:text-surface-200 mb-8">{{ 'notfound.description' | translate }}</div>
|
|
4517
|
+
<p-button id="oip-app-notfound-go-to-home-button" routerLink="/" [label]="'notfound.button' | translate" />
|
|
4518
|
+
</div>
|
|
4519
|
+
</div>
|
|
4520
|
+
</div>
|
|
4675
4521
|
</div>`,
|
|
4676
4522
|
imports: [RouterLink, LogoComponent, Button, AppFloatingConfiguratorComponent, TranslateModule],
|
|
4677
4523
|
standalone: true
|
|
@@ -4691,8 +4537,8 @@ class UnauthorizedComponent {
|
|
|
4691
4537
|
replaceUrl: true
|
|
4692
4538
|
}).then(() => this.securityService.authorize());
|
|
4693
4539
|
}
|
|
4694
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4695
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4540
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UnauthorizedComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4541
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: UnauthorizedComponent, isStandalone: true, selector: "ng-component", ngImport: i0, template: `
|
|
4696
4542
|
<app-floating-configurator />
|
|
4697
4543
|
<div
|
|
4698
4544
|
class="bg-surface-50 dark:bg-surface-950 flex items-center justify-center min-h-screen min-w-[100vw] overflow-hidden">
|
|
@@ -4722,7 +4568,7 @@ class UnauthorizedComponent {
|
|
|
4722
4568
|
</div>
|
|
4723
4569
|
`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: RippleModule }, { kind: "component", type: LogoComponent, selector: "logo", inputs: ["width", "height"] }, { kind: "component", type: AppFloatingConfiguratorComponent, selector: "app-floating-configurator" }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
4724
4570
|
}
|
|
4725
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4571
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: UnauthorizedComponent, decorators: [{
|
|
4726
4572
|
type: Component,
|
|
4727
4573
|
args: [{
|
|
4728
4574
|
template: `
|
|
@@ -4766,73 +4612,73 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
4766
4612
|
}] });
|
|
4767
4613
|
|
|
4768
4614
|
class ErrorComponent {
|
|
4769
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4770
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4771
|
-
class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
|
|
4772
|
-
<div class="flex flex-column align-items-center justify-content-center">
|
|
4773
|
-
<img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
|
|
4774
|
-
<div
|
|
4775
|
-
style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
|
|
4776
|
-
<div
|
|
4777
|
-
class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
|
|
4778
|
-
style="border-radius:53px">
|
|
4779
|
-
<div class="grid flex flex-column align-items-center">
|
|
4780
|
-
<div
|
|
4781
|
-
class="flex justify-content-center align-items-center bg-pink-500 border-circle"
|
|
4782
|
-
style="height:3.2rem; width:3.2rem;">
|
|
4783
|
-
<i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
|
|
4784
|
-
</div>
|
|
4785
|
-
<h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
|
|
4786
|
-
<span class="text-600 mb-5">Requested resource is not available.</span>
|
|
4787
|
-
<img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
|
|
4788
|
-
<button
|
|
4789
|
-
class="p-button-text"
|
|
4790
|
-
icon="pi pi-arrow-left"
|
|
4791
|
-
id="oip-app-error-go-to-dashboard-button"
|
|
4792
|
-
label="Go to Dashboard"
|
|
4793
|
-
pButton
|
|
4794
|
-
pRipple
|
|
4795
|
-
[routerLink]="['/']"></button>
|
|
4796
|
-
</div>
|
|
4797
|
-
</div>
|
|
4798
|
-
</div>
|
|
4799
|
-
</div>
|
|
4800
|
-
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$
|
|
4615
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ErrorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4616
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: ErrorComponent, isStandalone: true, selector: "app-error", ngImport: i0, template: `<div
|
|
4617
|
+
class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
|
|
4618
|
+
<div class="flex flex-column align-items-center justify-content-center">
|
|
4619
|
+
<img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
|
|
4620
|
+
<div
|
|
4621
|
+
style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
|
|
4622
|
+
<div
|
|
4623
|
+
class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
|
|
4624
|
+
style="border-radius:53px">
|
|
4625
|
+
<div class="grid flex flex-column align-items-center">
|
|
4626
|
+
<div
|
|
4627
|
+
class="flex justify-content-center align-items-center bg-pink-500 border-circle"
|
|
4628
|
+
style="height:3.2rem; width:3.2rem;">
|
|
4629
|
+
<i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
|
|
4630
|
+
</div>
|
|
4631
|
+
<h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
|
|
4632
|
+
<span class="text-600 mb-5">Requested resource is not available.</span>
|
|
4633
|
+
<img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
|
|
4634
|
+
<button
|
|
4635
|
+
class="p-button-text"
|
|
4636
|
+
icon="pi pi-arrow-left"
|
|
4637
|
+
id="oip-app-error-go-to-dashboard-button"
|
|
4638
|
+
label="Go to Dashboard"
|
|
4639
|
+
pButton
|
|
4640
|
+
pRipple
|
|
4641
|
+
[routerLink]="['/']"></button>
|
|
4642
|
+
</div>
|
|
4643
|
+
</div>
|
|
4644
|
+
</div>
|
|
4645
|
+
</div>
|
|
4646
|
+
</div>`, isInline: true, dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "directive", type: i1$2.ButtonDirective, selector: "[pButton]", inputs: ["ptButtonDirective", "hostName", "text", "plain", "raised", "size", "outlined", "rounded", "iconPos", "loadingIcon", "fluid", "label", "icon", "loading", "buttonProps", "severity"] }, { kind: "ngmodule", type: RippleModule }, { kind: "directive", type: i3$4.Ripple, selector: "[pRipple]" }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }] }); }
|
|
4801
4647
|
}
|
|
4802
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4648
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ErrorComponent, decorators: [{
|
|
4803
4649
|
type: Component,
|
|
4804
4650
|
args: [{
|
|
4805
4651
|
selector: 'app-error',
|
|
4806
|
-
template: `<div
|
|
4807
|
-
class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
|
|
4808
|
-
<div class="flex flex-column align-items-center justify-content-center">
|
|
4809
|
-
<img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
|
|
4810
|
-
<div
|
|
4811
|
-
style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
|
|
4812
|
-
<div
|
|
4813
|
-
class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
|
|
4814
|
-
style="border-radius:53px">
|
|
4815
|
-
<div class="grid flex flex-column align-items-center">
|
|
4816
|
-
<div
|
|
4817
|
-
class="flex justify-content-center align-items-center bg-pink-500 border-circle"
|
|
4818
|
-
style="height:3.2rem; width:3.2rem;">
|
|
4819
|
-
<i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
|
|
4820
|
-
</div>
|
|
4821
|
-
<h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
|
|
4822
|
-
<span class="text-600 mb-5">Requested resource is not available.</span>
|
|
4823
|
-
<img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
|
|
4824
|
-
<button
|
|
4825
|
-
class="p-button-text"
|
|
4826
|
-
icon="pi pi-arrow-left"
|
|
4827
|
-
id="oip-app-error-go-to-dashboard-button"
|
|
4828
|
-
label="Go to Dashboard"
|
|
4829
|
-
pButton
|
|
4830
|
-
pRipple
|
|
4831
|
-
[routerLink]="['/']"></button>
|
|
4832
|
-
</div>
|
|
4833
|
-
</div>
|
|
4834
|
-
</div>
|
|
4835
|
-
</div>
|
|
4652
|
+
template: `<div
|
|
4653
|
+
class="surface-ground flex align-items-center justify-content-center min-h-screen min-w-screen overflow-hidden">
|
|
4654
|
+
<div class="flex flex-column align-items-center justify-content-center">
|
|
4655
|
+
<img alt="Sakai logo" class="mb-5 w-6rem flex-shrink-0" src="assets/demo/images/error/logo-error.svg" />
|
|
4656
|
+
<div
|
|
4657
|
+
style="border-radius:56px; padding:0.3rem; background: linear-gradient(180deg, rgba(233, 30, 99, 0.4) 10%, rgba(33, 150, 243, 0) 30%);">
|
|
4658
|
+
<div
|
|
4659
|
+
class="w-full surface-card py-8 px-5 sm:px-8 flex flex-column align-items-center"
|
|
4660
|
+
style="border-radius:53px">
|
|
4661
|
+
<div class="grid flex flex-column align-items-center">
|
|
4662
|
+
<div
|
|
4663
|
+
class="flex justify-content-center align-items-center bg-pink-500 border-circle"
|
|
4664
|
+
style="height:3.2rem; width:3.2rem;">
|
|
4665
|
+
<i class="pi pi-fw pi-exclamation-circle text-2xl text-white"></i>
|
|
4666
|
+
</div>
|
|
4667
|
+
<h1 class="text-900 font-bold text-5xl mb-2">Error Occured</h1>
|
|
4668
|
+
<span class="text-600 mb-5">Requested resource is not available.</span>
|
|
4669
|
+
<img alt="Error" class="mb-5" src="assets/demo/images/error/asset-error.svg" width="80%" />
|
|
4670
|
+
<button
|
|
4671
|
+
class="p-button-text"
|
|
4672
|
+
icon="pi pi-arrow-left"
|
|
4673
|
+
id="oip-app-error-go-to-dashboard-button"
|
|
4674
|
+
label="Go to Dashboard"
|
|
4675
|
+
pButton
|
|
4676
|
+
pRipple
|
|
4677
|
+
[routerLink]="['/']"></button>
|
|
4678
|
+
</div>
|
|
4679
|
+
</div>
|
|
4680
|
+
</div>
|
|
4681
|
+
</div>
|
|
4836
4682
|
</div>`,
|
|
4837
4683
|
standalone: true,
|
|
4838
4684
|
imports: [ButtonModule, RippleModule, RouterLink]
|
|
@@ -4848,57 +4694,57 @@ class ProfileComponent {
|
|
|
4848
4694
|
onBasicUploadAuto($event) {
|
|
4849
4695
|
this.msgService.success(this.translateService.instant('profileComponent.successfullyUploaded'));
|
|
4850
4696
|
}
|
|
4851
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4852
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
4853
|
-
<p-avatar
|
|
4854
|
-
class="mr-2"
|
|
4855
|
-
id="oip-user-profile-photo-avatar"
|
|
4856
|
-
shape="circle"
|
|
4857
|
-
size="xlarge"
|
|
4858
|
-
[image]="userService.photoLoaded ? userService.photo : null" />
|
|
4859
|
-
<div class="mt-2">
|
|
4860
|
-
<p-fileupload
|
|
4861
|
-
accept="image/*"
|
|
4862
|
-
chooseIcon="pi pi-upload"
|
|
4863
|
-
chooseLabel="{{ 'profileComponent.changePhoto' | translate }}"
|
|
4864
|
-
id="oip-user-profile-file-upload"
|
|
4865
|
-
maxFileSize="1000000"
|
|
4866
|
-
mode="basic"
|
|
4867
|
-
name="files"
|
|
4868
|
-
url="/api/user-profile/post-user-photo"
|
|
4869
|
-
withCredentials="true"
|
|
4870
|
-
[auto]="true"
|
|
4871
|
-
(onUpload)="onBasicUploadAuto($event)" />
|
|
4872
|
-
</div>
|
|
4873
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i1$
|
|
4697
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ProfileComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4698
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: ProfileComponent, isStandalone: true, selector: "user-profile", ngImport: i0, template: `
|
|
4699
|
+
<p-avatar
|
|
4700
|
+
class="mr-2"
|
|
4701
|
+
id="oip-user-profile-photo-avatar"
|
|
4702
|
+
shape="circle"
|
|
4703
|
+
size="xlarge"
|
|
4704
|
+
[image]="userService.photoLoaded ? userService.photo : null" />
|
|
4705
|
+
<div class="mt-2">
|
|
4706
|
+
<p-fileupload
|
|
4707
|
+
accept="image/*"
|
|
4708
|
+
chooseIcon="pi pi-upload"
|
|
4709
|
+
chooseLabel="{{ 'profileComponent.changePhoto' | translate }}"
|
|
4710
|
+
id="oip-user-profile-file-upload"
|
|
4711
|
+
maxFileSize="1000000"
|
|
4712
|
+
mode="basic"
|
|
4713
|
+
name="files"
|
|
4714
|
+
url="/api/user-profile/post-user-photo"
|
|
4715
|
+
withCredentials="true"
|
|
4716
|
+
[auto]="true"
|
|
4717
|
+
(onUpload)="onBasicUploadAuto($event)" />
|
|
4718
|
+
</div>
|
|
4719
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FileUploadModule }, { kind: "component", type: i1$7.FileUpload, selector: "p-fileupload, p-fileUpload", inputs: ["name", "url", "method", "multiple", "accept", "disabled", "auto", "withCredentials", "maxFileSize", "invalidFileSizeMessageSummary", "invalidFileSizeMessageDetail", "invalidFileTypeMessageSummary", "invalidFileTypeMessageDetail", "invalidFileLimitMessageDetail", "invalidFileLimitMessageSummary", "style", "styleClass", "previewWidth", "chooseLabel", "uploadLabel", "cancelLabel", "chooseIcon", "uploadIcon", "cancelIcon", "showUploadButton", "showCancelButton", "mode", "headers", "customUpload", "fileLimit", "uploadStyleClass", "cancelStyleClass", "removeStyleClass", "chooseStyleClass", "chooseButtonProps", "uploadButtonProps", "cancelButtonProps", "files"], outputs: ["onBeforeUpload", "onSend", "onUpload", "onError", "onClear", "onRemove", "onSelect", "onProgress", "uploadHandler", "onImageError", "onRemoveUploadedFile"] }, { kind: "ngmodule", type: ImageModule }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
4874
4720
|
}
|
|
4875
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4721
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ProfileComponent, decorators: [{
|
|
4876
4722
|
type: Component,
|
|
4877
4723
|
args: [{
|
|
4878
4724
|
selector: 'user-profile',
|
|
4879
4725
|
standalone: true,
|
|
4880
4726
|
imports: [FileUploadModule, ImageModule, ImageModule, FileUploadModule, ImageModule, AvatarModule, TranslatePipe],
|
|
4881
|
-
template: `
|
|
4882
|
-
<p-avatar
|
|
4883
|
-
class="mr-2"
|
|
4884
|
-
id="oip-user-profile-photo-avatar"
|
|
4885
|
-
shape="circle"
|
|
4886
|
-
size="xlarge"
|
|
4887
|
-
[image]="userService.photoLoaded ? userService.photo : null" />
|
|
4888
|
-
<div class="mt-2">
|
|
4889
|
-
<p-fileupload
|
|
4890
|
-
accept="image/*"
|
|
4891
|
-
chooseIcon="pi pi-upload"
|
|
4892
|
-
chooseLabel="{{ 'profileComponent.changePhoto' | translate }}"
|
|
4893
|
-
id="oip-user-profile-file-upload"
|
|
4894
|
-
maxFileSize="1000000"
|
|
4895
|
-
mode="basic"
|
|
4896
|
-
name="files"
|
|
4897
|
-
url="/api/user-profile/post-user-photo"
|
|
4898
|
-
withCredentials="true"
|
|
4899
|
-
[auto]="true"
|
|
4900
|
-
(onUpload)="onBasicUploadAuto($event)" />
|
|
4901
|
-
</div>
|
|
4727
|
+
template: `
|
|
4728
|
+
<p-avatar
|
|
4729
|
+
class="mr-2"
|
|
4730
|
+
id="oip-user-profile-photo-avatar"
|
|
4731
|
+
shape="circle"
|
|
4732
|
+
size="xlarge"
|
|
4733
|
+
[image]="userService.photoLoaded ? userService.photo : null" />
|
|
4734
|
+
<div class="mt-2">
|
|
4735
|
+
<p-fileupload
|
|
4736
|
+
accept="image/*"
|
|
4737
|
+
chooseIcon="pi pi-upload"
|
|
4738
|
+
chooseLabel="{{ 'profileComponent.changePhoto' | translate }}"
|
|
4739
|
+
id="oip-user-profile-file-upload"
|
|
4740
|
+
maxFileSize="1000000"
|
|
4741
|
+
mode="basic"
|
|
4742
|
+
name="files"
|
|
4743
|
+
url="/api/user-profile/post-user-photo"
|
|
4744
|
+
withCredentials="true"
|
|
4745
|
+
[auto]="true"
|
|
4746
|
+
(onUpload)="onBasicUploadAuto($event)" />
|
|
4747
|
+
</div>
|
|
4902
4748
|
`
|
|
4903
4749
|
}]
|
|
4904
4750
|
}] });
|
|
@@ -4939,8 +4785,8 @@ class ConfigComponent {
|
|
|
4939
4785
|
async onSwitchChange() {
|
|
4940
4786
|
await this.menuService.loadMenu();
|
|
4941
4787
|
}
|
|
4942
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
4943
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
4788
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ConfigComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4789
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: ConfigComponent, isStandalone: true, selector: "app-config", ngImport: i0, template: `
|
|
4944
4790
|
<div class="flex flex-col md:flex-row gap-4">
|
|
4945
4791
|
<div class="md:w-1/2">
|
|
4946
4792
|
<div class="card flex flex-col gap-4">
|
|
@@ -5032,13 +4878,21 @@ class ConfigComponent {
|
|
|
5032
4878
|
<label for="oip-app-config-admin-mode">{{ 'config.moduleManagement' | translate }}</label>
|
|
5033
4879
|
<p-button icon="pi pi-cog" label="{{ 'config.goTo' | translate }}" routerLink="/modules" />
|
|
5034
4880
|
</div>
|
|
4881
|
+
<div class="flex items-center gap-2">
|
|
4882
|
+
<label for="oip-app-config-applications-link">{{ 'config.applicationManagement' | translate }}</label>
|
|
4883
|
+
<p-button
|
|
4884
|
+
icon="pi pi-th-large"
|
|
4885
|
+
id="oip-app-config-applications-link"
|
|
4886
|
+
label="{{ 'config.goTo' | translate }}"
|
|
4887
|
+
routerLink="/applications" />
|
|
4888
|
+
</div>
|
|
5035
4889
|
</div>
|
|
5036
4890
|
</div>
|
|
5037
4891
|
}
|
|
5038
4892
|
</div>
|
|
5039
|
-
`, isInline: true, dependencies: [{ kind: "component", type: ProfileComponent, selector: "user-profile" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$
|
|
4893
|
+
`, isInline: true, dependencies: [{ kind: "component", type: ProfileComponent, selector: "user-profile" }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: TableModule }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$4.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
5040
4894
|
}
|
|
5041
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
4895
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ConfigComponent, decorators: [{
|
|
5042
4896
|
type: Component,
|
|
5043
4897
|
args: [{
|
|
5044
4898
|
selector: 'app-config',
|
|
@@ -5134,6 +4988,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
5134
4988
|
<label for="oip-app-config-admin-mode">{{ 'config.moduleManagement' | translate }}</label>
|
|
5135
4989
|
<p-button icon="pi pi-cog" label="{{ 'config.goTo' | translate }}" routerLink="/modules" />
|
|
5136
4990
|
</div>
|
|
4991
|
+
<div class="flex items-center gap-2">
|
|
4992
|
+
<label for="oip-app-config-applications-link">{{ 'config.applicationManagement' | translate }}</label>
|
|
4993
|
+
<p-button
|
|
4994
|
+
icon="pi pi-th-large"
|
|
4995
|
+
id="oip-app-config-applications-link"
|
|
4996
|
+
label="{{ 'config.goTo' | translate }}"
|
|
4997
|
+
routerLink="/applications" />
|
|
4998
|
+
</div>
|
|
5137
4999
|
</div>
|
|
5138
5000
|
</div>
|
|
5139
5001
|
}
|
|
@@ -5179,8 +5041,8 @@ class DbMigrationComponent extends BaseModuleComponent {
|
|
|
5179
5041
|
const request = { name: rowData.name };
|
|
5180
5042
|
return this.applyModuleMigration(request);
|
|
5181
5043
|
}
|
|
5182
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
5183
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
5044
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DbMigrationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5045
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: DbMigrationComponent, isStandalone: true, selector: "db-migration", providers: [ConfirmationService], usesInheritance: true, ngImport: i0, template: `
|
|
5184
5046
|
@if (isContent) {
|
|
5185
5047
|
<div class="card" style="height: 100%">
|
|
5186
5048
|
<p-confirmDialog/>
|
|
@@ -5258,9 +5120,9 @@ class DbMigrationComponent extends BaseModuleComponent {
|
|
|
5258
5120
|
} @else if (isSecurity) {
|
|
5259
5121
|
<security [controller]="controller" [id]="id"/>
|
|
5260
5122
|
}
|
|
5261
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$
|
|
5123
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$8.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "directive", type: i1$8.EditableRow, selector: "[pEditableRow]", inputs: ["pEditableRow", "pEditableRowDisabled"] }, { kind: "directive", type: i1$8.CancelEditableRow, selector: "[pCancelEditableRow]" }, { kind: "component", type: i1$8.ColumnFilter, selector: "p-columnFilter, p-column-filter, p-columnfilter", inputs: ["field", "type", "display", "showMenu", "matchMode", "operator", "showOperator", "showClearButton", "showApplyButton", "showMatchModes", "showAddButton", "hideOnClear", "placeholder", "matchModeOptions", "maxConstraints", "minFractionDigits", "maxFractionDigits", "prefix", "suffix", "locale", "localeMatcher", "currency", "currencyDisplay", "filterOn", "useGrouping", "showButtons", "ariaLabel", "filterButtonProps"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: SharedModule }, { kind: "ngmodule", type: TagModule }, { kind: "ngmodule", type: InputTextModule }, { kind: "ngmodule", type: TextareaModule }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: FormsModule }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
5262
5124
|
}
|
|
5263
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
5125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DbMigrationComponent, decorators: [{
|
|
5264
5126
|
type: Component,
|
|
5265
5127
|
args: [{
|
|
5266
5128
|
imports: [
|
|
@@ -5397,10 +5259,10 @@ class ModuleApi extends HttpClient {
|
|
|
5397
5259
|
...params,
|
|
5398
5260
|
});
|
|
5399
5261
|
}
|
|
5400
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
5401
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
5262
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
5263
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi }); }
|
|
5402
5264
|
}
|
|
5403
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
5265
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ModuleApi, decorators: [{
|
|
5404
5266
|
type: Injectable
|
|
5405
5267
|
}] });
|
|
5406
5268
|
|
|
@@ -5454,8 +5316,8 @@ class AppModulesComponent {
|
|
|
5454
5316
|
t(key) {
|
|
5455
5317
|
return this.l10nService.instant(key);
|
|
5456
5318
|
}
|
|
5457
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
5458
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.
|
|
5319
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppModulesComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5320
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.24", type: AppModulesComponent, isStandalone: true, selector: "app-modules", providers: [ConfirmationService, ModuleApi], ngImport: i0, template: `
|
|
5459
5321
|
<p-confirmDialog></p-confirmDialog>
|
|
5460
5322
|
<div class="flex flex-col md:flex-row gap-4">
|
|
5461
5323
|
<div class="card w-full">
|
|
@@ -5509,9 +5371,9 @@ class AppModulesComponent {
|
|
|
5509
5371
|
</p-table>
|
|
5510
5372
|
</div>
|
|
5511
5373
|
</div>
|
|
5512
|
-
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$
|
|
5374
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i4$2.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
5513
5375
|
}
|
|
5514
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
5376
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AppModulesComponent, decorators: [{
|
|
5515
5377
|
type: Component,
|
|
5516
5378
|
args: [{
|
|
5517
5379
|
imports: [FormsModule, TableModule, Tag, ButtonModule, ToolbarModule, Tooltip, ConfirmDialog, TranslatePipe],
|
|
@@ -5575,6 +5437,720 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
5575
5437
|
}]
|
|
5576
5438
|
}], ctorParameters: () => [] });
|
|
5577
5439
|
|
|
5440
|
+
var ServiceType;
|
|
5441
|
+
(function (ServiceType) {
|
|
5442
|
+
ServiceType["Service"] = "Service";
|
|
5443
|
+
ServiceType["Application"] = "Application";
|
|
5444
|
+
})(ServiceType || (ServiceType = {}));
|
|
5445
|
+
|
|
5446
|
+
class ApplicationsComponent {
|
|
5447
|
+
get serviceTypeOptions() {
|
|
5448
|
+
return [
|
|
5449
|
+
{
|
|
5450
|
+
label: this.t('applications.serviceTypes.service'),
|
|
5451
|
+
value: ServiceType.Service
|
|
5452
|
+
},
|
|
5453
|
+
{
|
|
5454
|
+
label: this.t('applications.serviceTypes.application'),
|
|
5455
|
+
value: ServiceType.Application
|
|
5456
|
+
}
|
|
5457
|
+
];
|
|
5458
|
+
}
|
|
5459
|
+
constructor() {
|
|
5460
|
+
this.globalFilterFields = ['code', 'displayName', 'baseUrl', 'internalBaseUrl', 'icon', 'serviceType'];
|
|
5461
|
+
this.applications = [];
|
|
5462
|
+
this.visibleApplications = [];
|
|
5463
|
+
this.globalFilter = '';
|
|
5464
|
+
this.loading = false;
|
|
5465
|
+
this.activeRowAction = false;
|
|
5466
|
+
this.applicationsApi = inject(ApplicationsApi);
|
|
5467
|
+
this.msgService = inject(MsgService);
|
|
5468
|
+
this.l10nService = inject(L10nService);
|
|
5469
|
+
this.titleService = inject(AppTitleService);
|
|
5470
|
+
this.confirmationService = inject(ConfirmationService);
|
|
5471
|
+
this.draftApplication = null;
|
|
5472
|
+
this.translationsReady = firstValueFrom(this.l10nService.loadComponentTranslations('applications'));
|
|
5473
|
+
}
|
|
5474
|
+
async ngOnInit() {
|
|
5475
|
+
await this.translationsReady;
|
|
5476
|
+
this.titleService.setTitle(this.t('applications.title'));
|
|
5477
|
+
await this.refreshAction();
|
|
5478
|
+
}
|
|
5479
|
+
async refreshAction() {
|
|
5480
|
+
this.loading = true;
|
|
5481
|
+
this.cancelAllEdits();
|
|
5482
|
+
try {
|
|
5483
|
+
this.applications = (await this.applicationsApi.getApplicationRegistryItems()).map((application) => ({ ...application }));
|
|
5484
|
+
this.syncVisibleApplications();
|
|
5485
|
+
}
|
|
5486
|
+
catch (error) {
|
|
5487
|
+
this.applications = [];
|
|
5488
|
+
this.syncVisibleApplications();
|
|
5489
|
+
this.msgService.error(error);
|
|
5490
|
+
}
|
|
5491
|
+
finally {
|
|
5492
|
+
this.loading = false;
|
|
5493
|
+
}
|
|
5494
|
+
}
|
|
5495
|
+
applyGlobalFilter() {
|
|
5496
|
+
this.visibleApplications = this.filterApplications(this.globalFilter);
|
|
5497
|
+
}
|
|
5498
|
+
clearFilters() {
|
|
5499
|
+
this.globalFilter = '';
|
|
5500
|
+
this.syncVisibleApplications();
|
|
5501
|
+
}
|
|
5502
|
+
beginCreateApplication() {
|
|
5503
|
+
this.cancelAllEdits();
|
|
5504
|
+
this.draftApplication = {
|
|
5505
|
+
code: '',
|
|
5506
|
+
displayName: '',
|
|
5507
|
+
baseUrl: '',
|
|
5508
|
+
internalBaseUrl: '',
|
|
5509
|
+
icon: 'pi pi-th-large',
|
|
5510
|
+
order: this.getNextOrder(),
|
|
5511
|
+
enabled: true,
|
|
5512
|
+
serviceType: ServiceType.Service,
|
|
5513
|
+
isCurrent: false,
|
|
5514
|
+
_isNew: true,
|
|
5515
|
+
_isEditing: true,
|
|
5516
|
+
_editModel: this.createEditModel()
|
|
5517
|
+
};
|
|
5518
|
+
this.draftApplication._editModel.order = this.draftApplication.order ?? 0;
|
|
5519
|
+
this.syncVisibleApplications();
|
|
5520
|
+
}
|
|
5521
|
+
editApplication(application) {
|
|
5522
|
+
this.cancelAllEdits(application);
|
|
5523
|
+
application._isEditing = true;
|
|
5524
|
+
application._editModel = this.createEditModel(application);
|
|
5525
|
+
this.syncVisibleApplications();
|
|
5526
|
+
}
|
|
5527
|
+
cancelEdit(application) {
|
|
5528
|
+
if (application._isNew) {
|
|
5529
|
+
this.draftApplication = null;
|
|
5530
|
+
}
|
|
5531
|
+
else {
|
|
5532
|
+
application._isEditing = false;
|
|
5533
|
+
application._editModel = undefined;
|
|
5534
|
+
}
|
|
5535
|
+
this.syncVisibleApplications();
|
|
5536
|
+
}
|
|
5537
|
+
async saveApplication(application) {
|
|
5538
|
+
const editModel = application._editModel;
|
|
5539
|
+
if (!editModel) {
|
|
5540
|
+
return;
|
|
5541
|
+
}
|
|
5542
|
+
const request = this.normalizeEditModel(editModel);
|
|
5543
|
+
if (!request.code || !request.displayName || !request.baseUrl) {
|
|
5544
|
+
this.msgService.error(this.t('applications.messages.requiredFields'));
|
|
5545
|
+
return;
|
|
5546
|
+
}
|
|
5547
|
+
this.activeRowAction = true;
|
|
5548
|
+
try {
|
|
5549
|
+
if (application._isNew) {
|
|
5550
|
+
await this.applicationsApi.createApplicationRegistryItem(request);
|
|
5551
|
+
this.draftApplication = null;
|
|
5552
|
+
this.msgService.success(this.t('applications.messages.createSuccess'));
|
|
5553
|
+
}
|
|
5554
|
+
else {
|
|
5555
|
+
await this.applicationsApi.updateApplicationRegistryItem({ code: application.code }, request);
|
|
5556
|
+
application._isEditing = false;
|
|
5557
|
+
application._editModel = undefined;
|
|
5558
|
+
this.msgService.success(this.t('applications.messages.updateSuccess'));
|
|
5559
|
+
}
|
|
5560
|
+
await this.refreshAction();
|
|
5561
|
+
}
|
|
5562
|
+
catch (error) {
|
|
5563
|
+
this.msgService.error(error);
|
|
5564
|
+
}
|
|
5565
|
+
finally {
|
|
5566
|
+
this.activeRowAction = false;
|
|
5567
|
+
}
|
|
5568
|
+
}
|
|
5569
|
+
async deleteApplication(application) {
|
|
5570
|
+
await this.translationsReady;
|
|
5571
|
+
if (application._isNew) {
|
|
5572
|
+
this.cancelEdit(application);
|
|
5573
|
+
return;
|
|
5574
|
+
}
|
|
5575
|
+
if (!application.code) {
|
|
5576
|
+
return;
|
|
5577
|
+
}
|
|
5578
|
+
this.confirmationService.confirm({
|
|
5579
|
+
header: this.t('applications.confirm.header'),
|
|
5580
|
+
message: this.t('applications.confirm.message', { displayName: application.displayName || application.code }),
|
|
5581
|
+
icon: 'pi pi-trash',
|
|
5582
|
+
rejectButtonProps: {
|
|
5583
|
+
label: this.t('applications.confirm.cancel'),
|
|
5584
|
+
severity: 'secondary',
|
|
5585
|
+
outlined: true
|
|
5586
|
+
},
|
|
5587
|
+
acceptButtonProps: {
|
|
5588
|
+
label: this.t('applications.confirm.delete'),
|
|
5589
|
+
severity: 'danger'
|
|
5590
|
+
},
|
|
5591
|
+
accept: async () => {
|
|
5592
|
+
this.activeRowAction = true;
|
|
5593
|
+
try {
|
|
5594
|
+
await this.applicationsApi.deleteApplicationRegistryItem({ code: application.code });
|
|
5595
|
+
this.msgService.success(this.t('applications.messages.deleteSuccess'));
|
|
5596
|
+
await this.refreshAction();
|
|
5597
|
+
}
|
|
5598
|
+
catch (error) {
|
|
5599
|
+
this.msgService.error(error);
|
|
5600
|
+
}
|
|
5601
|
+
finally {
|
|
5602
|
+
this.activeRowAction = false;
|
|
5603
|
+
}
|
|
5604
|
+
}
|
|
5605
|
+
});
|
|
5606
|
+
}
|
|
5607
|
+
createEditModel(application) {
|
|
5608
|
+
return {
|
|
5609
|
+
code: application?.code ?? '',
|
|
5610
|
+
displayName: application?.displayName ?? '',
|
|
5611
|
+
baseUrl: application?.baseUrl ?? '',
|
|
5612
|
+
internalBaseUrl: application?.internalBaseUrl ?? '',
|
|
5613
|
+
icon: application?.icon ?? 'pi pi-th-large',
|
|
5614
|
+
order: application?.order ?? 0,
|
|
5615
|
+
enabled: application?.enabled ?? true,
|
|
5616
|
+
serviceType: application?.serviceType ?? ServiceType.Service
|
|
5617
|
+
};
|
|
5618
|
+
}
|
|
5619
|
+
normalizeEditModel(model) {
|
|
5620
|
+
return {
|
|
5621
|
+
code: model.code.trim(),
|
|
5622
|
+
displayName: model.displayName.trim(),
|
|
5623
|
+
baseUrl: model.baseUrl.trim(),
|
|
5624
|
+
internalBaseUrl: model.internalBaseUrl.trim(),
|
|
5625
|
+
icon: model.icon.trim(),
|
|
5626
|
+
order: Number(model.order) || 0,
|
|
5627
|
+
enabled: model.enabled,
|
|
5628
|
+
serviceType: model.serviceType
|
|
5629
|
+
};
|
|
5630
|
+
}
|
|
5631
|
+
serviceTypeLabel(serviceType) {
|
|
5632
|
+
return this.t(serviceType === ServiceType.Application
|
|
5633
|
+
? 'applications.serviceTypes.application'
|
|
5634
|
+
: 'applications.serviceTypes.service');
|
|
5635
|
+
}
|
|
5636
|
+
cancelAllEdits(exceptApplication) {
|
|
5637
|
+
if (!exceptApplication?._isNew) {
|
|
5638
|
+
this.draftApplication = null;
|
|
5639
|
+
}
|
|
5640
|
+
for (const application of this.applications) {
|
|
5641
|
+
if (application === exceptApplication) {
|
|
5642
|
+
continue;
|
|
5643
|
+
}
|
|
5644
|
+
application._isEditing = false;
|
|
5645
|
+
application._editModel = undefined;
|
|
5646
|
+
}
|
|
5647
|
+
}
|
|
5648
|
+
syncVisibleApplications() {
|
|
5649
|
+
this.visibleApplications = this.filterApplications(this.globalFilter);
|
|
5650
|
+
}
|
|
5651
|
+
filterApplications(filter) {
|
|
5652
|
+
const source = this.draftApplication
|
|
5653
|
+
? [this.draftApplication, ...this.applications]
|
|
5654
|
+
: [...this.applications];
|
|
5655
|
+
const normalizedFilter = filter.trim().toLocaleLowerCase();
|
|
5656
|
+
if (!normalizedFilter) {
|
|
5657
|
+
return source;
|
|
5658
|
+
}
|
|
5659
|
+
return source.filter((application) => this.globalFilterFields.some((field) => String(application[field] ?? '')
|
|
5660
|
+
.toLocaleLowerCase()
|
|
5661
|
+
.includes(normalizedFilter)));
|
|
5662
|
+
}
|
|
5663
|
+
getNextOrder() {
|
|
5664
|
+
return Math.max(0, ...this.applications.map((application) => application.order ?? 0)) + 1;
|
|
5665
|
+
}
|
|
5666
|
+
t(key, params) {
|
|
5667
|
+
return this.l10nService.instant(key, params);
|
|
5668
|
+
}
|
|
5669
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
5670
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: ApplicationsComponent, isStandalone: true, selector: "app-applications", providers: [ApplicationsApi, ConfirmationService], ngImport: i0, template: `
|
|
5671
|
+
<p-confirmDialog></p-confirmDialog>
|
|
5672
|
+
<div class="flex flex-col gap-4">
|
|
5673
|
+
<div class="card w-full">
|
|
5674
|
+
<div class="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
|
|
5675
|
+
<div>
|
|
5676
|
+
<div class="font-semibold text-xl mb-1">
|
|
5677
|
+
{{ 'applications.title' | translate }}
|
|
5678
|
+
</div>
|
|
5679
|
+
<p class="m-0 text-surface-500">{{ 'applications.subtitle' | translate }}</p>
|
|
5680
|
+
</div>
|
|
5681
|
+
<div class="flex flex-col gap-2 sm:flex-row">
|
|
5682
|
+
<input
|
|
5683
|
+
class="w-full sm:w-72"
|
|
5684
|
+
pInputText
|
|
5685
|
+
type="text"
|
|
5686
|
+
[placeholder]="'applications.searchPlaceholder' | translate"
|
|
5687
|
+
[(ngModel)]="globalFilter"
|
|
5688
|
+
(keydown.enter)="applyGlobalFilter()" />
|
|
5689
|
+
<p-button
|
|
5690
|
+
icon="pi pi-search"
|
|
5691
|
+
[label]="'applications.search' | translate"
|
|
5692
|
+
(onClick)="applyGlobalFilter()"></p-button>
|
|
5693
|
+
<p-button
|
|
5694
|
+
icon="pi pi-filter-slash"
|
|
5695
|
+
severity="secondary"
|
|
5696
|
+
[label]="'applications.clear' | translate"
|
|
5697
|
+
(onClick)="clearFilters()"></p-button>
|
|
5698
|
+
</div>
|
|
5699
|
+
</div>
|
|
5700
|
+
|
|
5701
|
+
<div class="my-4">
|
|
5702
|
+
<p-toolbar>
|
|
5703
|
+
<p-button
|
|
5704
|
+
icon="pi pi-plus"
|
|
5705
|
+
severity="success"
|
|
5706
|
+
[disabled]="loading || activeRowAction"
|
|
5707
|
+
[label]="'applications.add' | translate"
|
|
5708
|
+
(onClick)="beginCreateApplication()"></p-button>
|
|
5709
|
+
<p-button
|
|
5710
|
+
icon="pi pi-refresh"
|
|
5711
|
+
rounded="true"
|
|
5712
|
+
severity="secondary"
|
|
5713
|
+
text="true"
|
|
5714
|
+
tooltipPosition="bottom"
|
|
5715
|
+
[disabled]="loading || activeRowAction"
|
|
5716
|
+
[pTooltip]="'applications.refreshTooltip' | translate"
|
|
5717
|
+
(onClick)="refreshAction()"></p-button>
|
|
5718
|
+
</p-toolbar>
|
|
5719
|
+
</div>
|
|
5720
|
+
|
|
5721
|
+
<p-table
|
|
5722
|
+
#table
|
|
5723
|
+
dataKey="code"
|
|
5724
|
+
responsiveLayout="scroll"
|
|
5725
|
+
[globalFilterFields]="globalFilterFields"
|
|
5726
|
+
[loading]="loading"
|
|
5727
|
+
[paginator]="true"
|
|
5728
|
+
[rows]="25"
|
|
5729
|
+
[rowsPerPageOptions]="[10, 25, 50, 100]"
|
|
5730
|
+
[value]="visibleApplications">
|
|
5731
|
+
<ng-template pTemplate="header">
|
|
5732
|
+
<tr>
|
|
5733
|
+
<th pSortableColumn="code">
|
|
5734
|
+
{{ 'applications.table.code' | translate }}
|
|
5735
|
+
<p-sortIcon field="code"></p-sortIcon>
|
|
5736
|
+
</th>
|
|
5737
|
+
<th pSortableColumn="displayName">
|
|
5738
|
+
{{ 'applications.table.displayName' | translate }}
|
|
5739
|
+
<p-sortIcon field="displayName"></p-sortIcon>
|
|
5740
|
+
</th>
|
|
5741
|
+
<th pSortableColumn="baseUrl">
|
|
5742
|
+
{{ 'applications.table.baseUrl' | translate }}
|
|
5743
|
+
<p-sortIcon field="baseUrl"></p-sortIcon>
|
|
5744
|
+
</th>
|
|
5745
|
+
<th pSortableColumn="internalBaseUrl">
|
|
5746
|
+
{{ 'applications.table.internalBaseUrl' | translate }}
|
|
5747
|
+
<p-sortIcon field="internalBaseUrl"></p-sortIcon>
|
|
5748
|
+
</th>
|
|
5749
|
+
<th pSortableColumn="icon">
|
|
5750
|
+
{{ 'applications.table.icon' | translate }}
|
|
5751
|
+
<p-sortIcon field="icon"></p-sortIcon>
|
|
5752
|
+
</th>
|
|
5753
|
+
<th pSortableColumn="order" class="text-right">
|
|
5754
|
+
{{ 'applications.table.order' | translate }}
|
|
5755
|
+
<p-sortIcon field="order"></p-sortIcon>
|
|
5756
|
+
</th>
|
|
5757
|
+
<th class="text-center">{{ 'applications.table.enabled' | translate }}</th>
|
|
5758
|
+
<th pSortableColumn="serviceType">
|
|
5759
|
+
{{ 'applications.table.serviceType' | translate }}
|
|
5760
|
+
<p-sortIcon field="serviceType"></p-sortIcon>
|
|
5761
|
+
</th>
|
|
5762
|
+
<th class="text-center">{{ 'applications.table.current' | translate }}</th>
|
|
5763
|
+
<th class="text-center min-w-36">{{ 'applications.table.actions' | translate }}</th>
|
|
5764
|
+
</tr>
|
|
5765
|
+
</ng-template>
|
|
5766
|
+
|
|
5767
|
+
<ng-template let-application pTemplate="body">
|
|
5768
|
+
<tr>
|
|
5769
|
+
<td>
|
|
5770
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5771
|
+
<input
|
|
5772
|
+
class="w-full min-w-32"
|
|
5773
|
+
pInputText
|
|
5774
|
+
[disabled]="!application._isNew"
|
|
5775
|
+
[(ngModel)]="editModel.code" />
|
|
5776
|
+
} @else {
|
|
5777
|
+
<span class="font-medium">{{ application.code }}</span>
|
|
5778
|
+
}
|
|
5779
|
+
</td>
|
|
5780
|
+
<td>
|
|
5781
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5782
|
+
<input class="w-full min-w-40" pInputText [(ngModel)]="editModel.displayName" />
|
|
5783
|
+
} @else {
|
|
5784
|
+
{{ application.displayName }}
|
|
5785
|
+
}
|
|
5786
|
+
</td>
|
|
5787
|
+
<td>
|
|
5788
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5789
|
+
<input class="w-full min-w-56" pInputText [(ngModel)]="editModel.baseUrl" />
|
|
5790
|
+
} @else {
|
|
5791
|
+
<span class="break-all">{{ application.baseUrl }}</span>
|
|
5792
|
+
}
|
|
5793
|
+
</td>
|
|
5794
|
+
<td>
|
|
5795
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5796
|
+
<input class="w-full min-w-56" pInputText [(ngModel)]="editModel.internalBaseUrl" />
|
|
5797
|
+
} @else {
|
|
5798
|
+
<span class="break-all">{{ application.internalBaseUrl }}</span>
|
|
5799
|
+
}
|
|
5800
|
+
</td>
|
|
5801
|
+
<td>
|
|
5802
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5803
|
+
<input class="w-full min-w-32" pInputText [(ngModel)]="editModel.icon" />
|
|
5804
|
+
} @else {
|
|
5805
|
+
<div class="flex items-center gap-2">
|
|
5806
|
+
<i [class]="application.icon || 'pi pi-th-large'"></i>
|
|
5807
|
+
<span>{{ application.icon }}</span>
|
|
5808
|
+
</div>
|
|
5809
|
+
}
|
|
5810
|
+
</td>
|
|
5811
|
+
<td>
|
|
5812
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5813
|
+
<input class="w-full min-w-24 text-right" pInputText type="number" [(ngModel)]="editModel.order" />
|
|
5814
|
+
} @else {
|
|
5815
|
+
<span class="block text-right tabular-nums">{{ application.order }}</span>
|
|
5816
|
+
}
|
|
5817
|
+
</td>
|
|
5818
|
+
<td class="text-center">
|
|
5819
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5820
|
+
<p-toggle-switch [(ngModel)]="editModel.enabled"></p-toggle-switch>
|
|
5821
|
+
} @else {
|
|
5822
|
+
<p-tag
|
|
5823
|
+
[severity]="application.enabled ? 'success' : 'danger'"
|
|
5824
|
+
[value]="
|
|
5825
|
+
(application.enabled ? 'applications.table.yes' : 'applications.table.no') | translate
|
|
5826
|
+
"></p-tag>
|
|
5827
|
+
}
|
|
5828
|
+
</td>
|
|
5829
|
+
<td>
|
|
5830
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
5831
|
+
<p-select
|
|
5832
|
+
class="w-full min-w-36"
|
|
5833
|
+
optionLabel="label"
|
|
5834
|
+
optionValue="value"
|
|
5835
|
+
appendTo="body"
|
|
5836
|
+
[options]="serviceTypeOptions"
|
|
5837
|
+
[(ngModel)]="editModel.serviceType"></p-select>
|
|
5838
|
+
} @else {
|
|
5839
|
+
{{ serviceTypeLabel(application.serviceType) }}
|
|
5840
|
+
}
|
|
5841
|
+
</td>
|
|
5842
|
+
<td class="text-center">
|
|
5843
|
+
<p-tag
|
|
5844
|
+
[severity]="application.isCurrent ? 'info' : 'secondary'"
|
|
5845
|
+
[value]="
|
|
5846
|
+
(application.isCurrent ? 'applications.table.yes' : 'applications.table.no') | translate
|
|
5847
|
+
"></p-tag>
|
|
5848
|
+
</td>
|
|
5849
|
+
<td>
|
|
5850
|
+
<div class="flex items-center justify-center gap-2">
|
|
5851
|
+
@if (application._isEditing) {
|
|
5852
|
+
<p-button
|
|
5853
|
+
icon="pi pi-check"
|
|
5854
|
+
severity="success"
|
|
5855
|
+
text="true"
|
|
5856
|
+
[disabled]="activeRowAction"
|
|
5857
|
+
[pTooltip]="'applications.table.saveTooltip' | translate"
|
|
5858
|
+
tooltipPosition="bottom"
|
|
5859
|
+
(onClick)="saveApplication(application)"></p-button>
|
|
5860
|
+
<p-button
|
|
5861
|
+
icon="pi pi-times"
|
|
5862
|
+
severity="secondary"
|
|
5863
|
+
text="true"
|
|
5864
|
+
[disabled]="activeRowAction"
|
|
5865
|
+
[pTooltip]="'applications.table.cancelTooltip' | translate"
|
|
5866
|
+
tooltipPosition="bottom"
|
|
5867
|
+
(onClick)="cancelEdit(application)"></p-button>
|
|
5868
|
+
} @else {
|
|
5869
|
+
<p-button
|
|
5870
|
+
icon="pi pi-pencil"
|
|
5871
|
+
text="true"
|
|
5872
|
+
[disabled]="activeRowAction"
|
|
5873
|
+
[pTooltip]="'applications.table.editTooltip' | translate"
|
|
5874
|
+
tooltipPosition="bottom"
|
|
5875
|
+
(onClick)="editApplication(application)"></p-button>
|
|
5876
|
+
<p-button
|
|
5877
|
+
icon="pi pi-trash"
|
|
5878
|
+
severity="danger"
|
|
5879
|
+
text="true"
|
|
5880
|
+
[disabled]="activeRowAction"
|
|
5881
|
+
[pTooltip]="'applications.table.deleteTooltip' | translate"
|
|
5882
|
+
tooltipPosition="bottom"
|
|
5883
|
+
(onClick)="deleteApplication(application)"></p-button>
|
|
5884
|
+
}
|
|
5885
|
+
</div>
|
|
5886
|
+
</td>
|
|
5887
|
+
</tr>
|
|
5888
|
+
</ng-template>
|
|
5889
|
+
|
|
5890
|
+
<ng-template pTemplate="emptymessage">
|
|
5891
|
+
<tr>
|
|
5892
|
+
<td colspan="10" class="py-8 text-center text-surface-500">
|
|
5893
|
+
{{ 'applications.empty' | translate }}
|
|
5894
|
+
</td>
|
|
5895
|
+
</tr>
|
|
5896
|
+
</ng-template>
|
|
5897
|
+
</p-table>
|
|
5898
|
+
</div>
|
|
5899
|
+
</div>
|
|
5900
|
+
`, isInline: true, dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NumberValueAccessor, selector: "input[type=number][formControlName],input[type=number][formControl],input[type=number][ngModel]" }, { kind: "directive", type: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: TableModule }, { kind: "component", type: i1$8.Table, selector: "p-table", inputs: ["frozenColumns", "frozenValue", "styleClass", "tableStyle", "tableStyleClass", "paginator", "pageLinks", "rowsPerPageOptions", "alwaysShowPaginator", "paginatorPosition", "paginatorStyleClass", "paginatorDropdownAppendTo", "paginatorDropdownScrollHeight", "currentPageReportTemplate", "showCurrentPageReport", "showJumpToPageDropdown", "showJumpToPageInput", "showFirstLastIcon", "showPageLinks", "defaultSortOrder", "sortMode", "resetPageOnSort", "selectionMode", "selectionPageOnly", "contextMenuSelection", "contextMenuSelectionMode", "dataKey", "metaKeySelection", "rowSelectable", "rowTrackBy", "lazy", "lazyLoadOnInit", "compareSelectionBy", "csvSeparator", "exportFilename", "filters", "globalFilterFields", "filterDelay", "filterLocale", "expandedRowKeys", "editingRowKeys", "rowExpandMode", "scrollable", "rowGroupMode", "scrollHeight", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "virtualScrollDelay", "frozenWidth", "contextMenu", "resizableColumns", "columnResizeMode", "reorderableColumns", "loading", "loadingIcon", "showLoader", "rowHover", "customSort", "showInitialSortBadge", "exportFunction", "exportHeader", "stateKey", "stateStorage", "editMode", "groupRowsBy", "size", "showGridlines", "stripedRows", "groupRowsByOrder", "responsiveLayout", "breakpoint", "paginatorLocale", "value", "columns", "first", "rows", "totalRecords", "sortField", "sortOrder", "multiSortMeta", "selection", "selectAll"], outputs: ["contextMenuSelectionChange", "selectAllChange", "selectionChange", "onRowSelect", "onRowUnselect", "onPage", "onSort", "onFilter", "onLazyLoad", "onRowExpand", "onRowCollapse", "onContextMenuSelect", "onColResize", "onColReorder", "onRowReorder", "onEditInit", "onEditComplete", "onEditCancel", "onHeaderCheckboxToggle", "sortFunction", "firstChange", "rowsChange", "onStateSave", "onStateRestore"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: i1$8.SortableColumn, selector: "[pSortableColumn]", inputs: ["pSortableColumn", "pSortableColumnDisabled"] }, { kind: "component", type: i1$8.SortIcon, selector: "p-sortIcon", inputs: ["field"] }, { kind: "component", type: Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: ToolbarModule }, { kind: "component", type: i4$2.Toolbar, selector: "p-toolbar", inputs: ["styleClass", "ariaLabelledBy"] }, { kind: "directive", type: Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions", "appendTo", "ptTooltip"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: SelectModule }, { kind: "component", type: i5.Select, selector: "p-select", inputs: ["id", "scrollHeight", "filter", "panelStyle", "styleClass", "panelStyleClass", "readonly", "editable", "tabindex", "placeholder", "loadingIcon", "filterPlaceholder", "filterLocale", "inputId", "dataKey", "filterBy", "filterFields", "autofocus", "resetFilterOnHide", "checkmark", "dropdownIcon", "loading", "optionLabel", "optionValue", "optionDisabled", "optionGroupLabel", "optionGroupChildren", "group", "showClear", "emptyFilterMessage", "emptyMessage", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "overlayOptions", "ariaFilterLabel", "ariaLabel", "ariaLabelledBy", "filterMatchMode", "tooltip", "tooltipPosition", "tooltipPositionStyle", "tooltipStyleClass", "focusOnHover", "selectOnFocus", "autoOptionFocus", "autofocusFilter", "filterValue", "options", "appendTo"], outputs: ["onChange", "onFilter", "onFocus", "onBlur", "onClick", "onShow", "onHide", "onClear", "onLazyLoad"] }, { kind: "ngmodule", type: ToggleSwitchModule }, { kind: "component", type: i2$4.ToggleSwitch, selector: "p-toggleswitch, p-toggleSwitch, p-toggle-switch", inputs: ["styleClass", "tabindex", "inputId", "readonly", "trueValue", "falseValue", "ariaLabel", "size", "ariaLabelledBy", "autofocus"], outputs: ["onChange"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
5901
|
+
}
|
|
5902
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: ApplicationsComponent, decorators: [{
|
|
5903
|
+
type: Component,
|
|
5904
|
+
args: [{
|
|
5905
|
+
imports: [
|
|
5906
|
+
FormsModule,
|
|
5907
|
+
TableModule,
|
|
5908
|
+
Tag,
|
|
5909
|
+
ButtonModule,
|
|
5910
|
+
ToolbarModule,
|
|
5911
|
+
Tooltip,
|
|
5912
|
+
ConfirmDialog,
|
|
5913
|
+
TranslatePipe,
|
|
5914
|
+
InputText,
|
|
5915
|
+
SelectModule,
|
|
5916
|
+
ToggleSwitchModule
|
|
5917
|
+
],
|
|
5918
|
+
providers: [ApplicationsApi, ConfirmationService],
|
|
5919
|
+
selector: 'app-applications',
|
|
5920
|
+
template: `
|
|
5921
|
+
<p-confirmDialog></p-confirmDialog>
|
|
5922
|
+
<div class="flex flex-col gap-4">
|
|
5923
|
+
<div class="card w-full">
|
|
5924
|
+
<div class="flex flex-col gap-3 md:flex-row md:items-center md:justify-between">
|
|
5925
|
+
<div>
|
|
5926
|
+
<div class="font-semibold text-xl mb-1">
|
|
5927
|
+
{{ 'applications.title' | translate }}
|
|
5928
|
+
</div>
|
|
5929
|
+
<p class="m-0 text-surface-500">{{ 'applications.subtitle' | translate }}</p>
|
|
5930
|
+
</div>
|
|
5931
|
+
<div class="flex flex-col gap-2 sm:flex-row">
|
|
5932
|
+
<input
|
|
5933
|
+
class="w-full sm:w-72"
|
|
5934
|
+
pInputText
|
|
5935
|
+
type="text"
|
|
5936
|
+
[placeholder]="'applications.searchPlaceholder' | translate"
|
|
5937
|
+
[(ngModel)]="globalFilter"
|
|
5938
|
+
(keydown.enter)="applyGlobalFilter()" />
|
|
5939
|
+
<p-button
|
|
5940
|
+
icon="pi pi-search"
|
|
5941
|
+
[label]="'applications.search' | translate"
|
|
5942
|
+
(onClick)="applyGlobalFilter()"></p-button>
|
|
5943
|
+
<p-button
|
|
5944
|
+
icon="pi pi-filter-slash"
|
|
5945
|
+
severity="secondary"
|
|
5946
|
+
[label]="'applications.clear' | translate"
|
|
5947
|
+
(onClick)="clearFilters()"></p-button>
|
|
5948
|
+
</div>
|
|
5949
|
+
</div>
|
|
5950
|
+
|
|
5951
|
+
<div class="my-4">
|
|
5952
|
+
<p-toolbar>
|
|
5953
|
+
<p-button
|
|
5954
|
+
icon="pi pi-plus"
|
|
5955
|
+
severity="success"
|
|
5956
|
+
[disabled]="loading || activeRowAction"
|
|
5957
|
+
[label]="'applications.add' | translate"
|
|
5958
|
+
(onClick)="beginCreateApplication()"></p-button>
|
|
5959
|
+
<p-button
|
|
5960
|
+
icon="pi pi-refresh"
|
|
5961
|
+
rounded="true"
|
|
5962
|
+
severity="secondary"
|
|
5963
|
+
text="true"
|
|
5964
|
+
tooltipPosition="bottom"
|
|
5965
|
+
[disabled]="loading || activeRowAction"
|
|
5966
|
+
[pTooltip]="'applications.refreshTooltip' | translate"
|
|
5967
|
+
(onClick)="refreshAction()"></p-button>
|
|
5968
|
+
</p-toolbar>
|
|
5969
|
+
</div>
|
|
5970
|
+
|
|
5971
|
+
<p-table
|
|
5972
|
+
#table
|
|
5973
|
+
dataKey="code"
|
|
5974
|
+
responsiveLayout="scroll"
|
|
5975
|
+
[globalFilterFields]="globalFilterFields"
|
|
5976
|
+
[loading]="loading"
|
|
5977
|
+
[paginator]="true"
|
|
5978
|
+
[rows]="25"
|
|
5979
|
+
[rowsPerPageOptions]="[10, 25, 50, 100]"
|
|
5980
|
+
[value]="visibleApplications">
|
|
5981
|
+
<ng-template pTemplate="header">
|
|
5982
|
+
<tr>
|
|
5983
|
+
<th pSortableColumn="code">
|
|
5984
|
+
{{ 'applications.table.code' | translate }}
|
|
5985
|
+
<p-sortIcon field="code"></p-sortIcon>
|
|
5986
|
+
</th>
|
|
5987
|
+
<th pSortableColumn="displayName">
|
|
5988
|
+
{{ 'applications.table.displayName' | translate }}
|
|
5989
|
+
<p-sortIcon field="displayName"></p-sortIcon>
|
|
5990
|
+
</th>
|
|
5991
|
+
<th pSortableColumn="baseUrl">
|
|
5992
|
+
{{ 'applications.table.baseUrl' | translate }}
|
|
5993
|
+
<p-sortIcon field="baseUrl"></p-sortIcon>
|
|
5994
|
+
</th>
|
|
5995
|
+
<th pSortableColumn="internalBaseUrl">
|
|
5996
|
+
{{ 'applications.table.internalBaseUrl' | translate }}
|
|
5997
|
+
<p-sortIcon field="internalBaseUrl"></p-sortIcon>
|
|
5998
|
+
</th>
|
|
5999
|
+
<th pSortableColumn="icon">
|
|
6000
|
+
{{ 'applications.table.icon' | translate }}
|
|
6001
|
+
<p-sortIcon field="icon"></p-sortIcon>
|
|
6002
|
+
</th>
|
|
6003
|
+
<th pSortableColumn="order" class="text-right">
|
|
6004
|
+
{{ 'applications.table.order' | translate }}
|
|
6005
|
+
<p-sortIcon field="order"></p-sortIcon>
|
|
6006
|
+
</th>
|
|
6007
|
+
<th class="text-center">{{ 'applications.table.enabled' | translate }}</th>
|
|
6008
|
+
<th pSortableColumn="serviceType">
|
|
6009
|
+
{{ 'applications.table.serviceType' | translate }}
|
|
6010
|
+
<p-sortIcon field="serviceType"></p-sortIcon>
|
|
6011
|
+
</th>
|
|
6012
|
+
<th class="text-center">{{ 'applications.table.current' | translate }}</th>
|
|
6013
|
+
<th class="text-center min-w-36">{{ 'applications.table.actions' | translate }}</th>
|
|
6014
|
+
</tr>
|
|
6015
|
+
</ng-template>
|
|
6016
|
+
|
|
6017
|
+
<ng-template let-application pTemplate="body">
|
|
6018
|
+
<tr>
|
|
6019
|
+
<td>
|
|
6020
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6021
|
+
<input
|
|
6022
|
+
class="w-full min-w-32"
|
|
6023
|
+
pInputText
|
|
6024
|
+
[disabled]="!application._isNew"
|
|
6025
|
+
[(ngModel)]="editModel.code" />
|
|
6026
|
+
} @else {
|
|
6027
|
+
<span class="font-medium">{{ application.code }}</span>
|
|
6028
|
+
}
|
|
6029
|
+
</td>
|
|
6030
|
+
<td>
|
|
6031
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6032
|
+
<input class="w-full min-w-40" pInputText [(ngModel)]="editModel.displayName" />
|
|
6033
|
+
} @else {
|
|
6034
|
+
{{ application.displayName }}
|
|
6035
|
+
}
|
|
6036
|
+
</td>
|
|
6037
|
+
<td>
|
|
6038
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6039
|
+
<input class="w-full min-w-56" pInputText [(ngModel)]="editModel.baseUrl" />
|
|
6040
|
+
} @else {
|
|
6041
|
+
<span class="break-all">{{ application.baseUrl }}</span>
|
|
6042
|
+
}
|
|
6043
|
+
</td>
|
|
6044
|
+
<td>
|
|
6045
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6046
|
+
<input class="w-full min-w-56" pInputText [(ngModel)]="editModel.internalBaseUrl" />
|
|
6047
|
+
} @else {
|
|
6048
|
+
<span class="break-all">{{ application.internalBaseUrl }}</span>
|
|
6049
|
+
}
|
|
6050
|
+
</td>
|
|
6051
|
+
<td>
|
|
6052
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6053
|
+
<input class="w-full min-w-32" pInputText [(ngModel)]="editModel.icon" />
|
|
6054
|
+
} @else {
|
|
6055
|
+
<div class="flex items-center gap-2">
|
|
6056
|
+
<i [class]="application.icon || 'pi pi-th-large'"></i>
|
|
6057
|
+
<span>{{ application.icon }}</span>
|
|
6058
|
+
</div>
|
|
6059
|
+
}
|
|
6060
|
+
</td>
|
|
6061
|
+
<td>
|
|
6062
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6063
|
+
<input class="w-full min-w-24 text-right" pInputText type="number" [(ngModel)]="editModel.order" />
|
|
6064
|
+
} @else {
|
|
6065
|
+
<span class="block text-right tabular-nums">{{ application.order }}</span>
|
|
6066
|
+
}
|
|
6067
|
+
</td>
|
|
6068
|
+
<td class="text-center">
|
|
6069
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6070
|
+
<p-toggle-switch [(ngModel)]="editModel.enabled"></p-toggle-switch>
|
|
6071
|
+
} @else {
|
|
6072
|
+
<p-tag
|
|
6073
|
+
[severity]="application.enabled ? 'success' : 'danger'"
|
|
6074
|
+
[value]="
|
|
6075
|
+
(application.enabled ? 'applications.table.yes' : 'applications.table.no') | translate
|
|
6076
|
+
"></p-tag>
|
|
6077
|
+
}
|
|
6078
|
+
</td>
|
|
6079
|
+
<td>
|
|
6080
|
+
@if (application._isEditing && application._editModel; as editModel) {
|
|
6081
|
+
<p-select
|
|
6082
|
+
class="w-full min-w-36"
|
|
6083
|
+
optionLabel="label"
|
|
6084
|
+
optionValue="value"
|
|
6085
|
+
appendTo="body"
|
|
6086
|
+
[options]="serviceTypeOptions"
|
|
6087
|
+
[(ngModel)]="editModel.serviceType"></p-select>
|
|
6088
|
+
} @else {
|
|
6089
|
+
{{ serviceTypeLabel(application.serviceType) }}
|
|
6090
|
+
}
|
|
6091
|
+
</td>
|
|
6092
|
+
<td class="text-center">
|
|
6093
|
+
<p-tag
|
|
6094
|
+
[severity]="application.isCurrent ? 'info' : 'secondary'"
|
|
6095
|
+
[value]="
|
|
6096
|
+
(application.isCurrent ? 'applications.table.yes' : 'applications.table.no') | translate
|
|
6097
|
+
"></p-tag>
|
|
6098
|
+
</td>
|
|
6099
|
+
<td>
|
|
6100
|
+
<div class="flex items-center justify-center gap-2">
|
|
6101
|
+
@if (application._isEditing) {
|
|
6102
|
+
<p-button
|
|
6103
|
+
icon="pi pi-check"
|
|
6104
|
+
severity="success"
|
|
6105
|
+
text="true"
|
|
6106
|
+
[disabled]="activeRowAction"
|
|
6107
|
+
[pTooltip]="'applications.table.saveTooltip' | translate"
|
|
6108
|
+
tooltipPosition="bottom"
|
|
6109
|
+
(onClick)="saveApplication(application)"></p-button>
|
|
6110
|
+
<p-button
|
|
6111
|
+
icon="pi pi-times"
|
|
6112
|
+
severity="secondary"
|
|
6113
|
+
text="true"
|
|
6114
|
+
[disabled]="activeRowAction"
|
|
6115
|
+
[pTooltip]="'applications.table.cancelTooltip' | translate"
|
|
6116
|
+
tooltipPosition="bottom"
|
|
6117
|
+
(onClick)="cancelEdit(application)"></p-button>
|
|
6118
|
+
} @else {
|
|
6119
|
+
<p-button
|
|
6120
|
+
icon="pi pi-pencil"
|
|
6121
|
+
text="true"
|
|
6122
|
+
[disabled]="activeRowAction"
|
|
6123
|
+
[pTooltip]="'applications.table.editTooltip' | translate"
|
|
6124
|
+
tooltipPosition="bottom"
|
|
6125
|
+
(onClick)="editApplication(application)"></p-button>
|
|
6126
|
+
<p-button
|
|
6127
|
+
icon="pi pi-trash"
|
|
6128
|
+
severity="danger"
|
|
6129
|
+
text="true"
|
|
6130
|
+
[disabled]="activeRowAction"
|
|
6131
|
+
[pTooltip]="'applications.table.deleteTooltip' | translate"
|
|
6132
|
+
tooltipPosition="bottom"
|
|
6133
|
+
(onClick)="deleteApplication(application)"></p-button>
|
|
6134
|
+
}
|
|
6135
|
+
</div>
|
|
6136
|
+
</td>
|
|
6137
|
+
</tr>
|
|
6138
|
+
</ng-template>
|
|
6139
|
+
|
|
6140
|
+
<ng-template pTemplate="emptymessage">
|
|
6141
|
+
<tr>
|
|
6142
|
+
<td colspan="10" class="py-8 text-center text-surface-500">
|
|
6143
|
+
{{ 'applications.empty' | translate }}
|
|
6144
|
+
</td>
|
|
6145
|
+
</tr>
|
|
6146
|
+
</ng-template>
|
|
6147
|
+
</p-table>
|
|
6148
|
+
</div>
|
|
6149
|
+
</div>
|
|
6150
|
+
`
|
|
6151
|
+
}]
|
|
6152
|
+
}], ctorParameters: () => [] });
|
|
6153
|
+
|
|
5578
6154
|
/* eslint-disable */
|
|
5579
6155
|
/* tslint:disable */
|
|
5580
6156
|
// @ts-nocheck
|
|
@@ -5675,10 +6251,10 @@ class DiscussionApi extends HttpClient {
|
|
|
5675
6251
|
...params,
|
|
5676
6252
|
});
|
|
5677
6253
|
}
|
|
5678
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
5679
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
6254
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6255
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi }); }
|
|
5680
6256
|
}
|
|
5681
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
6257
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionApi, decorators: [{
|
|
5682
6258
|
type: Injectable
|
|
5683
6259
|
}] });
|
|
5684
6260
|
|
|
@@ -6093,8 +6669,8 @@ class DiscussionComponent {
|
|
|
6093
6669
|
const match = value.match(/@([A-Za-z0-9._+\-@]*)$/);
|
|
6094
6670
|
return match?.[1] ?? null;
|
|
6095
6671
|
}
|
|
6096
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
6097
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
6672
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6673
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: DiscussionComponent, isStandalone: true, selector: "discussion", inputs: { objectTypeId: "objectTypeId", objectId: "objectId" }, providers: [ConfirmationService, DiscussionApi], usesOnChanges: true, ngImport: i0, template: `
|
|
6098
6674
|
<p-confirmDialog/>
|
|
6099
6675
|
|
|
6100
6676
|
<section class="flex flex-col gap-4">
|
|
@@ -6428,9 +7004,9 @@ class DiscussionComponent {
|
|
|
6428
7004
|
</div>
|
|
6429
7005
|
}
|
|
6430
7006
|
</section>
|
|
6431
|
-
`, isInline: true, styles: [":host{display:block}.file-trigger{position:relative;display:inline-flex}.file-trigger input{position:absolute;inset:0;opacity:0;cursor:pointer}.markdown-preview,.history-markdown{word-break:break-word}.markdown-preview :is(h1,h2,h3),.history-markdown :is(h1,h2,h3){margin:0 0 .75rem;font-weight:600}.markdown-preview a,.history-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:.18em}.emoji-popover{display:flex;flex-wrap:wrap;gap:.5rem;max-width:16rem}.emoji-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$
|
|
7007
|
+
`, isInline: true, styles: [":host{display:block}.file-trigger{position:relative;display:inline-flex}.file-trigger input{position:absolute;inset:0;opacity:0;cursor:pointer}.markdown-preview,.history-markdown{word-break:break-word}.markdown-preview :is(h1,h2,h3),.history-markdown :is(h1,h2,h3){margin:0 0 .75rem;font-weight:600}.markdown-preview a,.history-markdown a{color:#2563eb;text-decoration:underline;text-underline-offset:.18em}.emoji-popover{display:flex;flex-wrap:wrap;gap:.5rem;max-width:16rem}.emoji-option{display:inline-flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;font-size:1.25rem;cursor:pointer}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: AvatarModule }, { kind: "component", type: i2$1.Avatar, selector: "p-avatar", inputs: ["label", "icon", "image", "size", "shape", "styleClass", "ariaLabel", "ariaLabelledBy"], outputs: ["onImageError"] }, { kind: "directive", type: i2$2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1$2.Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "ngmodule", type: CardModule }, { kind: "component", type: i5$1.Card, selector: "p-card", inputs: ["header", "subheader", "style", "styleClass"] }, { kind: "component", type: ConfirmDialog, selector: "p-confirmDialog, p-confirmdialog, p-confirm-dialog", inputs: ["header", "icon", "message", "style", "styleClass", "maskStyleClass", "acceptIcon", "acceptLabel", "closeAriaLabel", "acceptAriaLabel", "acceptVisible", "rejectIcon", "rejectLabel", "rejectAriaLabel", "rejectVisible", "acceptButtonStyleClass", "rejectButtonStyleClass", "closeOnEscape", "dismissableMask", "blockScroll", "rtl", "closable", "appendTo", "key", "autoZIndex", "baseZIndex", "transitionOptions", "focusTrap", "defaultFocus", "breakpoints", "modal", "visible", "position", "draggable"], outputs: ["onHide"] }, { kind: "ngmodule", type: DividerModule }, { kind: "ngmodule", type: PanelModule }, { kind: "component", type: i6.Panel, selector: "p-panel", inputs: ["id", "toggleable", "header", "collapsed", "styleClass", "iconPos", "showHeader", "toggler", "transitionOptions", "toggleButtonProps"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "ngmodule", type: PopoverModule }, { kind: "component", type: i7.Popover, selector: "p-popover", inputs: ["ariaLabel", "ariaLabelledBy", "dismissable", "style", "styleClass", "appendTo", "autoZIndex", "ariaCloseLabel", "baseZIndex", "focusOnShow", "showTransitionOptions", "hideTransitionOptions"], outputs: ["onShow", "onHide"] }, { kind: "ngmodule", type: ProgressSpinnerModule }, { kind: "component", type: i4.ProgressSpinner, selector: "p-progressSpinner, p-progress-spinner, p-progressspinner", inputs: ["styleClass", "strokeWidth", "fill", "animationDuration", "ariaLabel"] }, { kind: "ngmodule", type: TagModule }, { kind: "component", type: i9.Tag, selector: "p-tag", inputs: ["styleClass", "severity", "value", "icon", "rounded"] }, { kind: "directive", type: Textarea, selector: "[pTextarea], [pInputTextarea]", inputs: ["autoResize", "pSize", "variant", "fluid", "invalid"], outputs: ["onResize"] }, { kind: "pipe", type: i1$3.DatePipe, name: "date" }, { kind: "pipe", type: TranslatePipe, name: "translate" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
6432
7008
|
}
|
|
6433
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7009
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: DiscussionComponent, decorators: [{
|
|
6434
7010
|
type: Component,
|
|
6435
7011
|
args: [{ selector: 'discussion', standalone: true, providers: [ConfirmationService, DiscussionApi], imports: [
|
|
6436
7012
|
CommonModule,
|
|
@@ -6847,8 +7423,8 @@ class IframeModuleComponent extends BaseModuleComponent {
|
|
|
6847
7423
|
const errorMessage = this.translate.instant('iframe-module.iframeModule.siteLoadingMessage');
|
|
6848
7424
|
this.msgService.error(errorMessage);
|
|
6849
7425
|
}
|
|
6850
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
6851
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.
|
|
7426
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7427
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.24", type: IframeModuleComponent, isStandalone: true, selector: "ng-component", viewQueries: [{ propertyName: "iframeElement", first: true, predicate: ["iframe"], descendants: true }], usesInheritance: true, ngImport: i0, template: `
|
|
6852
7428
|
@if (isContent) {
|
|
6853
7429
|
<iframe
|
|
6854
7430
|
#iframe
|
|
@@ -6887,7 +7463,7 @@ class IframeModuleComponent extends BaseModuleComponent {
|
|
|
6887
7463
|
}
|
|
6888
7464
|
`, isInline: true, dependencies: [{ kind: "component", type: SecurityComponent, selector: "security", inputs: ["id", "controller"] }, { kind: "directive", type: InputText, selector: "[pInputText]", inputs: ["hostName", "ptInputText", "pSize", "variant", "fluid", "invalid"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$1.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: i1$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: Button, selector: "p-button", inputs: ["hostName", "type", "badge", "disabled", "raised", "rounded", "text", "plain", "outlined", "link", "tabindex", "size", "variant", "style", "styleClass", "badgeClass", "badgeSeverity", "ariaLabel", "autofocus", "iconPos", "icon", "label", "loading", "loadingIcon", "severity", "buttonProps", "fluid"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
6889
7465
|
}
|
|
6890
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7466
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleComponent, decorators: [{
|
|
6891
7467
|
type: Component,
|
|
6892
7468
|
args: [{
|
|
6893
7469
|
standalone: true,
|
|
@@ -6963,10 +7539,10 @@ class AuthGuardService {
|
|
|
6963
7539
|
getReturnUrl(returnUrl) {
|
|
6964
7540
|
return returnUrl.startsWith('/unauthorized') ? '/' : returnUrl;
|
|
6965
7541
|
}
|
|
6966
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
6967
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
7542
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7543
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService }); }
|
|
6968
7544
|
}
|
|
6969
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7545
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: AuthGuardService, decorators: [{
|
|
6970
7546
|
type: Injectable
|
|
6971
7547
|
}] });
|
|
6972
7548
|
|
|
@@ -7021,10 +7597,10 @@ class TableFilterService {
|
|
|
7021
7597
|
}
|
|
7022
7598
|
this.updateFiltersState(filters);
|
|
7023
7599
|
}
|
|
7024
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
7025
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
7600
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7601
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService }); }
|
|
7026
7602
|
}
|
|
7027
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: TableFilterService, decorators: [{
|
|
7028
7604
|
type: Injectable
|
|
7029
7605
|
}] });
|
|
7030
7606
|
|
|
@@ -7106,10 +7682,10 @@ class FolderModuleApi extends HttpClient {
|
|
|
7106
7682
|
...params,
|
|
7107
7683
|
});
|
|
7108
7684
|
}
|
|
7109
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
7110
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
7685
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7686
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi }); }
|
|
7111
7687
|
}
|
|
7112
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: FolderModuleApi, decorators: [{
|
|
7113
7689
|
type: Injectable
|
|
7114
7690
|
}] });
|
|
7115
7691
|
|
|
@@ -7128,10 +7704,10 @@ class IframeModuleApi extends HttpClient {
|
|
|
7128
7704
|
...params,
|
|
7129
7705
|
});
|
|
7130
7706
|
}
|
|
7131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.
|
|
7132
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.
|
|
7707
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
7708
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi }); }
|
|
7133
7709
|
}
|
|
7134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.
|
|
7710
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.24", ngImport: i0, type: IframeModuleApi, decorators: [{
|
|
7135
7711
|
type: Injectable
|
|
7136
7712
|
}] });
|
|
7137
7713
|
|
|
@@ -7141,5 +7717,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.16", ngImpo
|
|
|
7141
7717
|
* Generated bundle index. Do not edit.
|
|
7142
7718
|
*/
|
|
7143
7719
|
|
|
7144
|
-
export { APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppLayoutComponent, AppModulesComponent, AppTopbar, AuthGuardService, BaseModuleComponent, BffSecurityService, ConfigComponent, ContentType, DbMigrationComponent, DiscussionComponent, ErrorComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent,
|
|
7720
|
+
export { APP_THEME_PRESETS, APP_THEME_PRESETS_MERGE_MODE, AppConfiguratorComponent, AppFloatingConfiguratorComponent, AppLayoutComponent, AppModulesComponent, AppTopbar, AppTopbarApplicationSwitcherComponent, ApplicationRegistryService, ApplicationsApi, ApplicationsComponent, AuthGuardService, BaseModuleComponent, BffSecurityService, ConfigComponent, ContentType, DbMigrationComponent, DiscussionComponent, ErrorComponent, FolderModuleApi, FooterComponent, HttpClient, IframeModuleApi, IframeModuleComponent, L10nService, LOGO_COMPONENT_TOKEN, LayoutService, LogoComponent, LogoService, MenuComponent, MenuService, MsgService, NotfoundComponent, NotificationApi, NotificationService, ProfileComponent, SecurityApi, SecurityComponent, SecurityService, SidebarComponent, TableFilterService, TopBarService, UnauthorizedComponent, UserNotificationsComponent, UserProfileApi, UserService, convertToPrimeNgDateFormat, langIntercept, mergeWithDefaults, provideAppThemes, provideLogoComponent, provideOip, replaceDefaults };
|
|
7145
7721
|
//# sourceMappingURL=oip-common.mjs.map
|