aril 0.1.51 → 0.1.53
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/esm2022/keycloak/index.mjs +2 -1
- package/esm2022/keycloak/src/auth.guard.mjs +52 -0
- package/esm2022/keycloak/src/keycloak.manager.mjs +15 -3
- package/esm2022/ui/panel/src/panel.component.mjs +3 -3
- package/esm2022/ui/tree/src/tree.component.mjs +4 -4
- package/fesm2022/aril-keycloak.mjs +64 -4
- package/fesm2022/aril-keycloak.mjs.map +1 -1
- package/fesm2022/aril-ui-panel.mjs +2 -2
- package/fesm2022/aril-ui-panel.mjs.map +1 -1
- package/fesm2022/aril-ui-tree.mjs +3 -3
- package/fesm2022/aril-ui-tree.mjs.map +1 -1
- package/keycloak/index.d.ts +1 -0
- package/keycloak/src/auth.guard.d.ts +11 -0
- package/keycloak/src/keycloak.manager.d.ts +1 -0
- package/package.json +101 -101
- package/theme/styles/theme/dark/_variables.scss +2 -1
- package/theme/styles/theme/light/_variables.scss +2 -1
- package/ui/tree/src/tree.component.d.ts +2 -1
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export * from './src/keycloak.manager';
|
|
2
2
|
export * from './src/auth.interceptor';
|
|
3
|
-
|
|
3
|
+
export * from './src/auth.guard';
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9wcm9qZWN0cy9hcmlsL2tleWNsb2FrL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx3QkFBd0IsQ0FBQztBQUN2QyxjQUFjLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9zcmMva2V5Y2xvYWsubWFuYWdlcic7XHJcbmV4cG9ydCAqIGZyb20gJy4vc3JjL2F1dGguaW50ZXJjZXB0b3InO1xyXG5leHBvcnQgKiBmcm9tICcuL3NyYy9hdXRoLmd1YXJkJzsiXX0=
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { Injectable } from '@angular/core';
|
|
2
|
+
import { KeycloakAuthGuard } from 'keycloak-angular';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/router";
|
|
5
|
+
import * as i2 from "keycloak-angular";
|
|
6
|
+
export class AuthGuard extends KeycloakAuthGuard {
|
|
7
|
+
constructor(router, keycloak) {
|
|
8
|
+
super(router, keycloak);
|
|
9
|
+
this.router = router;
|
|
10
|
+
this.keycloak = keycloak;
|
|
11
|
+
}
|
|
12
|
+
async isAccessAllowed(route, state) {
|
|
13
|
+
try {
|
|
14
|
+
if (this.keycloak.isTokenExpired(5)) {
|
|
15
|
+
console.log("Token expired, updating token");
|
|
16
|
+
await this.keycloak.updateToken(5);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch (error) {
|
|
20
|
+
console.error('Error while updating token', error);
|
|
21
|
+
await this.keycloak.login({
|
|
22
|
+
redirectUri: window.location.origin + state.url
|
|
23
|
+
});
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
if (!this.authenticated) {
|
|
27
|
+
await this.keycloak.login({
|
|
28
|
+
redirectUri: window.location.origin + state.url
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
const requiredRoles = route.data['roles'];
|
|
32
|
+
if (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
const authorized = requiredRoles.every((role) => this.roles.includes(role));
|
|
36
|
+
if (!authorized) {
|
|
37
|
+
console.error('User not authorized to access this route');
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
else
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.KeycloakService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
44
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
|
|
45
|
+
}
|
|
46
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, decorators: [{
|
|
47
|
+
type: Injectable,
|
|
48
|
+
args: [{
|
|
49
|
+
providedIn: 'root'
|
|
50
|
+
}]
|
|
51
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.KeycloakService }] });
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFJdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBQ00sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQztZQUNKLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUMsQ0FBQztnQkFDbkMsT0FBTyxDQUFDLEdBQUcsQ0FBQywrQkFBK0IsQ0FBQyxDQUFDO2dCQUM3QyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3BDLENBQUM7UUFDQSxDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNsQixPQUFPLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUNoRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNaLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUMvQyxDQUFDLENBQUM7UUFDSixDQUFDO1FBQ0QsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUNELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7O1lBQU0sT0FBTyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs4R0FuQ1csU0FBUztrSEFBVCxTQUFTLGNBRlQsTUFBTTs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IEtleWNsb2FrQXV0aEd1YXJkLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuQEluamVjdGFibGUoe1xyXG5cdHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQXV0aEd1YXJkIGV4dGVuZHMgS2V5Y2xvYWtBdXRoR3VhcmQge1xyXG5cdGNvbnN0cnVjdG9yKFxyXG5cdFx0cHJvdGVjdGVkIG92ZXJyaWRlIHJlYWRvbmx5IHJvdXRlcjogUm91dGVyLFxyXG5cdFx0cHJvdGVjdGVkIHJlYWRvbmx5IGtleWNsb2FrOiBLZXljbG9ha1NlcnZpY2VcclxuXHQpIHtcclxuXHRcdHN1cGVyKHJvdXRlciwga2V5Y2xvYWspO1xyXG5cdH1cclxuXHRwdWJsaWMgYXN5bmMgaXNBY2Nlc3NBbGxvd2VkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYodGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZCg1KSl7XHJcblx0XHRcdFx0Y29uc29sZS5sb2coXCJUb2tlbiBleHBpcmVkLCB1cGRhdGluZyB0b2tlblwiKTtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLnVwZGF0ZVRva2VuKDUpOyBcclxuXHRcdFx0fVxyXG5cdFx0ICB9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdFcnJvciB3aGlsZSB1cGRhdGluZyB0b2tlbicsIGVycm9yKTtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbih7XHJcblx0XHRcdCAgcmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBzdGF0ZS51cmxcclxuXHRcdFx0fSk7XHJcblx0XHRcdHJldHVybiBmYWxzZTsgXHJcblx0XHQgIH1cclxuXHRcdCAgXHJcblx0XHRpZiAoIXRoaXMuYXV0aGVudGljYXRlZCkge1xyXG5cdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLmxvZ2luKHtcclxuXHRcdFx0XHRyZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHN0YXRlLnVybFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHRcdGNvbnN0IHJlcXVpcmVkUm9sZXMgPSByb3V0ZS5kYXRhWydyb2xlcyddO1xyXG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHJlcXVpcmVkUm9sZXMpIHx8IHJlcXVpcmVkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fVxyXG5cdFx0Y29uc3QgYXV0aG9yaXplZCA9IHJlcXVpcmVkUm9sZXMuZXZlcnkoKHJvbGUpID0+IHRoaXMucm9sZXMuaW5jbHVkZXMocm9sZSkpO1xyXG5cdFx0aWYgKCFhdXRob3JpemVkKSB7XHJcblx0XHRcdGNvbnNvbGUuZXJyb3IoJ1VzZXIgbm90IGF1dGhvcml6ZWQgdG8gYWNjZXNzIHRoaXMgcm91dGUnKTtcclxuXHRcdFx0cmV0dXJuIGZhbHNlO1xyXG5cdFx0fSBlbHNlIHJldHVybiB0cnVlO1xyXG5cdH1cclxufSJdfQ==
|
|
@@ -19,7 +19,7 @@ export class KeycloakManager {
|
|
|
19
19
|
globalThis.keycloakService = this.keycloak;
|
|
20
20
|
break;
|
|
21
21
|
case KeycloakEventType.OnTokenExpired:
|
|
22
|
-
|
|
22
|
+
this.updateTokenIfNeeded();
|
|
23
23
|
break;
|
|
24
24
|
case KeycloakEventType.OnAuthError:
|
|
25
25
|
case KeycloakEventType.OnAuthLogout:
|
|
@@ -30,9 +30,21 @@ export class KeycloakManager {
|
|
|
30
30
|
}
|
|
31
31
|
});
|
|
32
32
|
this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {
|
|
33
|
-
|
|
33
|
+
this.updateTokenIfNeeded();
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
|
+
async updateTokenIfNeeded() {
|
|
37
|
+
try {
|
|
38
|
+
if (this.keycloak.isTokenExpired(10)) { // 10 saniyeden kısa sürede bitecekse yenile
|
|
39
|
+
console.log("Token expired, updating token...");
|
|
40
|
+
await this.keycloak.updateToken(20); // Token süresini uzat
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch (error) {
|
|
44
|
+
console.error('Token update failed:', error);
|
|
45
|
+
await this.keycloak.login();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
36
48
|
init(configs) {
|
|
37
49
|
return this.keycloak.init({ ...this.defaultOptions, config: configs });
|
|
38
50
|
}
|
|
@@ -79,4 +91,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
|
|
|
79
91
|
type: Injectable,
|
|
80
92
|
args: [{ providedIn: 'root' }]
|
|
81
93
|
}], ctorParameters: () => [{ type: i1.Router }] });
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
94
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBdUJqQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBYzNDLG1CQUFjLEdBQW9CO1lBQ3pDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1NBQy9CLENBQUM7UUF4Q0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCLENBQUMsT0FBTztvQkFDdkIsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxNQUFNO2dCQUNQLEtBQUssaUJBQWlCLENBQUMsY0FBYztvQkFDcEMsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7b0JBQzNCLE1BQU07Z0JBQ1AsS0FBSyxpQkFBaUIsQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLEtBQUssaUJBQWlCLENBQUMsWUFBWSxDQUFDO2dCQUNwQyxLQUFLLGlCQUFpQixDQUFDLGtCQUFrQjtvQkFDbEMsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7b0JBQ3pDLDhCQUE4QjtvQkFDOUIsTUFBTTtZQUNSLENBQUM7UUFDRixDQUFDLENBQUMsQ0FBQztRQUVILElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssWUFBWSxlQUFlLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDM0YsSUFBSSxDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBSU8sS0FBSyxDQUFDLG1CQUFtQjtRQUNoQyxJQUFJLENBQUM7WUFDSixJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyw0Q0FBNEM7Z0JBQ25GLE9BQU8sQ0FBQyxHQUFHLENBQUMsa0NBQWtDLENBQUMsQ0FBQztnQkFDaEQsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHNCQUFzQjtZQUM1RCxDQUFDO1FBQ0YsQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDaEIsT0FBTyxDQUFDLEtBQUssQ0FBQyxzQkFBc0IsRUFBRSxLQUFLLENBQUMsQ0FBQztZQUM3QyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDN0IsQ0FBQztJQUNGLENBQUM7SUFRRCxJQUFJLENBQUMsT0FBWTtRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFRCxLQUFLLENBQUMsT0FBOEI7UUFDbkMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTSxDQUFDLFdBQW9CO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyx5QkFBeUI7SUFDcEUsQ0FBQztJQUVELFlBQVksQ0FBQyxJQUFZLEVBQUUsUUFBaUI7UUFDM0MsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkQsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFvQixFQUFFLFFBQWlCO1FBQ25ELE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxVQUFVO1FBQ1QsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25DLENBQUM7SUFFRCxjQUFjLENBQUMsV0FBb0I7UUFDbEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGNBQWMsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNsRCxDQUFDO0lBRUQsV0FBVyxDQUFDLFdBQW9CO1FBQy9CLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELGVBQWUsQ0FBQyxXQUFxQjtRQUNwQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxRQUFRO1FBQ1AsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ2pDLENBQUM7SUFFRCxXQUFXO1FBQ1YsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BDLENBQUM7SUFFRCxVQUFVO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsT0FBcUI7UUFDckMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ2hELENBQUM7OEdBOUZXLGVBQWU7a0hBQWYsZUFBZSxjQURGLE1BQU07OzJGQUNuQixlQUFlO2tCQUQzQixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBIZWFkZXJzIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvblN0YXJ0LCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgS2V5Y2xvYWtFdmVudFR5cGUsIEtleWNsb2FrT3B0aW9ucywgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcbmltcG9ydCB7IEtleWNsb2FrTG9naW5PcHRpb25zIH0gZnJvbSAna2V5Y2xvYWstanMnO1xyXG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBmaWx0ZXIgfSBmcm9tICdyeGpzJztcclxuXHJcbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXHJcbmV4cG9ydCBjbGFzcyBLZXljbG9ha01hbmFnZXIge1xyXG5cdGNvbnN0cnVjdG9yKHB1YmxpYyByb3V0ZXI6IFJvdXRlcikge1xyXG5cdFx0dGhpcy5rZXljbG9hay5rZXljbG9ha0V2ZW50cyQuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG5cdFx0XHRzd2l0Y2ggKGV2ZW50LnR5cGUpIHtcclxuXHRcdFx0XHRjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uUmVhZHk6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSB0aGlzLmtleWNsb2FrO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblRva2VuRXhwaXJlZDpcclxuXHRcdFx0XHRcdHRoaXMudXBkYXRlVG9rZW5JZk5lZWRlZCgpO1xyXG5cdFx0XHRcdFx0YnJlYWs7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhFcnJvcjpcclxuXHRcdFx0XHRjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aExvZ291dDpcclxuXHRcdFx0XHRjYXNlIEtleWNsb2FrRXZlbnRUeXBlLk9uQXV0aFJlZnJlc2hFcnJvcjpcclxuXHRcdFx0XHRcdCg8YW55Pmdsb2JhbFRoaXMpLmtleWNsb2FrU2VydmljZSA9IG51bGw7XHJcblx0XHRcdFx0XHQvLyB0aGlzLmtleWNsb2FrLmNsZWFyVG9rZW4oKTtcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHR9XHJcblx0XHR9KTtcclxuXHJcblx0XHR0aGlzLnJvdXRlci5ldmVudHMucGlwZShmaWx0ZXIoKGV2ZW50KSA9PiBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25TdGFydCkpLnN1YnNjcmliZSgoKSA9PiB7XHJcblx0XHRcdHRoaXMudXBkYXRlVG9rZW5JZk5lZWRlZCgpO1xyXG5cdFx0fSk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgcmVhZG9ubHkga2V5Y2xvYWsgPSBpbmplY3QoS2V5Y2xvYWtTZXJ2aWNlKTtcclxuXHJcblx0cHJpdmF0ZSBhc3luYyB1cGRhdGVUb2tlbklmTmVlZGVkKCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYgKHRoaXMua2V5Y2xvYWsuaXNUb2tlbkV4cGlyZWQoMTApKSB7IC8vIDEwIHNhbml5ZWRlbiBrxLFzYSBzw7xyZWRlIGJpdGVjZWtzZSB5ZW5pbGVcclxuXHRcdFx0XHRjb25zb2xlLmxvZyhcIlRva2VuIGV4cGlyZWQsIHVwZGF0aW5nIHRva2VuLi4uXCIpO1xyXG5cdFx0XHRcdGF3YWl0IHRoaXMua2V5Y2xvYWsudXBkYXRlVG9rZW4oMjApOyAvLyBUb2tlbiBzw7xyZXNpbmkgdXphdFxyXG5cdFx0XHR9XHJcblx0XHR9IGNhdGNoIChlcnJvcikge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdUb2tlbiB1cGRhdGUgZmFpbGVkOicsIGVycm9yKTtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbigpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cHJpdmF0ZSBkZWZhdWx0T3B0aW9uczogS2V5Y2xvYWtPcHRpb25zID0ge1xyXG5cdFx0bG9hZFVzZXJQcm9maWxlQXRTdGFydFVwOiB0cnVlLFxyXG5cdFx0aW5pdE9wdGlvbnM6IHsgb25Mb2FkOiAnbG9naW4tcmVxdWlyZWQnIH0sXHJcblx0XHRiZWFyZXJFeGNsdWRlZFVybHM6IFsnL2Fzc2V0cyddXHJcblx0fTtcclxuXHJcblx0aW5pdChjb25maWdzOiBhbnkpOiBQcm9taXNlPGJvb2xlYW4+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmluaXQoeyAuLi50aGlzLmRlZmF1bHRPcHRpb25zLCBjb25maWc6IGNvbmZpZ3MgfSk7XHJcblx0fVxyXG5cclxuXHRsb2dpbihvcHRpb25zPzogS2V5Y2xvYWtMb2dpbk9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ2luKG9wdGlvbnMpO1xyXG5cdH1cclxuXHJcblx0bG9nb3V0KHJlZGlyZWN0VXJpPzogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2dvdXQocmVkaXJlY3RVcmkpOyAvLyB3aW5kb3cubG9jYXRpb24ub3JpZ2luXHJcblx0fVxyXG5cclxuXHRpc1VzZXJJblJvbGUocm9sZTogc3RyaW5nLCByZXNvdXJjZT86IHN0cmluZyk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNVc2VySW5Sb2xlKHJvbGUsIHJlc291cmNlKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJSb2xlcyhyZWFsbVJvbGVzPzogYm9vbGVhbiwgcmVzb3VyY2U/OiBzdHJpbmcpOiBzdHJpbmdbXSB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VyUm9sZXMocmVhbG1Sb2xlcywgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0aXNMb2dnZWRJbigpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzTG9nZ2VkSW4oKTtcclxuXHR9XHJcblxyXG5cdGlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5PzogbnVtYmVyKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZChtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHR1cGRhdGVUb2tlbihtaW5WYWxpZGl0eT86IG51bWJlcik6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsudXBkYXRlVG9rZW4obWluVmFsaWRpdHkpO1xyXG5cdH1cclxuXHJcblx0bG9hZFVzZXJQcm9maWxlKGZvcmNlUmVsb2FkPzogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5sb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQpO1xyXG5cdH1cclxuXHJcblx0Z2V0VG9rZW4oKTogUHJvbWlzZTxzdHJpbmc+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFRva2VuKCk7XHJcblx0fVxyXG5cclxuXHRnZXRVc2VybmFtZSgpOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VXNlcm5hbWUoKTtcclxuXHR9XHJcblxyXG5cdGNsZWFyVG9rZW4oKTogdm9pZCB7XHJcblx0XHR0aGlzLmtleWNsb2FrLmNsZWFyVG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGFkZFRva2VuVG9IZWFkZXIoaGVhZGVycz86IEh0dHBIZWFkZXJzKTogT2JzZXJ2YWJsZTxIdHRwSGVhZGVycz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuYWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzKTtcclxuXHR9XHJcblxyXG5cdFxyXG59XHJcbiJdfQ==
|
|
@@ -21,13 +21,13 @@ export class PanelComponent {
|
|
|
21
21
|
return this.noPadding();
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-padding": "this.noPaddingClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-padding": "this.noPaddingClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--card-foreground);font-size:13px;font-style:normal;font-weight:700;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}.panel-ng-content{padding:0!important}::ng-deep .no-padding .p-panel-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "component", type: i1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--
|
|
28
|
+
args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--card-foreground);font-size:13px;font-style:normal;font-weight:700;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}.panel-ng-content{padding:0!important}::ng-deep .no-padding .p-panel-content{padding:0}\n"] }]
|
|
29
29
|
}], propDecorators: { noPaddingClass: [{
|
|
30
30
|
type: HostBinding,
|
|
31
31
|
args: ['class.no-padding']
|
|
32
32
|
}] } });
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
33
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFuZWwuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS9wYW5lbC9zcmMvcGFuZWwuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzFDLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxTQUFTLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBVTVDLE1BQU0sT0FBTyxjQUFjO0lBUjNCO1FBU0MsZUFBVSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNsQyxrQkFBYSxHQUFHLEtBQUssQ0FBVSxJQUFJLENBQUMsQ0FBQztRQUNyQyxjQUFTLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ2xDLGVBQVUsR0FBRyxLQUFLLEVBQVUsQ0FBQztRQUM3QixlQUFVLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ25DLGNBQVMsR0FBRyxLQUFLLENBQVUsS0FBSyxDQUFDLENBQUM7UUFFbEMsaUJBQVksR0FBRyxLQUFLLENBQUM7S0FTckI7SUFQQSxnQkFBZ0I7UUFDZixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN4QyxDQUFDO0lBRUQsSUFBcUMsY0FBYztRQUNsRCxPQUFPLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztJQUN6QixDQUFDOzhHQWhCVyxjQUFjO2tHQUFkLGNBQWMsbzhCQ2IzQix5MUNBNENBLGdnQkRsQ1csV0FBVyxnYUFBRSxPQUFPOzsyRkFHbEIsY0FBYztrQkFSMUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sWUFBWSxXQUdiLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxtQkFDZCx1QkFBdUIsQ0FBQyxNQUFNOzhCQWdCVixjQUFjO3NCQUFsRCxXQUFXO3VCQUFDLGtCQUFrQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nQ2xhc3MgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBIb3N0QmluZGluZywgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFBhbmVsTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9wYW5lbCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC1wYW5lbCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3BhbmVsLmNvbXBvbmVudC5odG1sJyxcclxuXHRzdHlsZVVybDogJy4vcGFuZWwuY29tcG9uZW50LmNzcycsXHJcblx0aW1wb3J0czogW1BhbmVsTW9kdWxlLCBOZ0NsYXNzXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgUGFuZWxDb21wb25lbnQge1xyXG5cdHRvZ2dsZWFibGUgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRjYW5GdWxsU2NyZWVuID0gaW5wdXQ8Ym9vbGVhbj4odHJ1ZSk7XHJcblx0Y29sbGFwc2VkID0gaW5wdXQ8Ym9vbGVhbj4oZmFsc2UpO1xyXG5cdHN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XHJcblx0c2hvd0Zvb3RlciA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRub1BhZGRpbmcgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdGlzRnVsbFNjcmVlbiA9IGZhbHNlO1xyXG5cclxuXHR0b2dnbGVGdWxsU2NyZWVuKCkge1xyXG5cdFx0dGhpcy5pc0Z1bGxTY3JlZW4gPSAhdGhpcy5pc0Z1bGxTY3JlZW47XHJcblx0fVxyXG5cclxuXHRASG9zdEJpbmRpbmcoJ2NsYXNzLm5vLXBhZGRpbmcnKSBnZXQgbm9QYWRkaW5nQ2xhc3MoKSB7XHJcblx0XHRyZXR1cm4gdGhpcy5ub1BhZGRpbmcoKTtcclxuXHR9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJ7ICdmdWxsLXNjcmVlbic6IGlzRnVsbFNjcmVlbiAmJiBjYW5GdWxsU2NyZWVuIH1cIj5cclxuXHQ8cC1wYW5lbFxyXG5cdFx0W3RvZ2dsZWFibGVdPVwidG9nZ2xlYWJsZSgpXCJcclxuXHRcdFtjb2xsYXBzZWRdPVwiY29sbGFwc2VkKClcIlxyXG5cdFx0W2NvbGxhcHNlSWNvbl09XCIncGkgcGktY2hldnJvbi1kb3duJ1wiXHJcblx0XHRbZXhwYW5kSWNvbl09XCIncGkgcGktY2hldnJvbi11cCdcIlxyXG5cdFx0W3N0eWxlQ2xhc3NdPVwic3R5bGVDbGFzcygpXCJcclxuXHRcdD5cclxuXHRcdDwhLS0gaGVhZGVyIC0tPlxyXG5cdFx0PG5nLXRlbXBsYXRlIHBUZW1wbGF0ZT1cImhlYWRlclwiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwicGFuZWwtaGVhZGVyXCI+XHJcblx0XHRcdFx0PG5nLWNvbnRlbnQgc2VsZWN0PVwiW2hlYWRlcl1cIj48L25nLWNvbnRlbnQ+XHJcblx0XHRcdDwvZGl2PlxyXG5cdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHJcblx0XHQ8IS0tIGhlYWRlci10b29scyAtLT5cclxuXHRcdDxuZy10ZW1wbGF0ZSBjbGFzcz1cImZsZXhcIiBwVGVtcGxhdGU9XCJpY29uc1wiPlxyXG5cdFx0XHQ8ZGl2IGNsYXNzPVwicGFuZWwtaWNvbnMgZmxleFwiPlxyXG5cdFx0XHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIlt0b29sc11cIj48L25nLWNvbnRlbnQ+XHJcblxyXG5cdFx0XHRcdEBpZiAoY2FuRnVsbFNjcmVlbigpKSB7XHJcblx0XHRcdFx0XHQ8aVxyXG5cdFx0XHRcdFx0XHRyb2xlPVwiYnV0dG9uXCJcclxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJwaVwiXHJcblx0XHRcdFx0XHRcdFtuZ0NsYXNzXT1cIntcclxuXHRcdFx0XHRcdFx0XHQncGktd2luZG93LW1heGltaXplJzogIWlzRnVsbFNjcmVlbixcclxuXHRcdFx0XHRcdFx0XHQncGktd2luZG93LW1pbmltaXplJzogaXNGdWxsU2NyZWVuXHJcblx0XHRcdFx0XHRcdH1cIlxyXG5cdFx0XHRcdFx0XHQoY2xpY2spPVwidG9nZ2xlRnVsbFNjcmVlbigpXCI+PC9pPlxyXG5cdFx0XHRcdH1cclxuXHRcdFx0PC9kaXY+XHJcblx0XHQ8L25nLXRlbXBsYXRlPlxyXG5cclxuXHRcdDwhLS0gYm9keSAtLT5cclxuXHRcdDxuZy1jb250ZW50IHNlbGVjdD1cIltib2R5XVwiIGNsYXNzPVwicGFuZWwtbmctY29udGVudFwiPjwvbmctY29udGVudD5cclxuXHJcblx0XHQ8IS0tIGZvb3RlciAtLT5cclxuXHRcdEBpZiAoc2hvd0Zvb3RlcigpKSB7XHJcblx0XHRcdDxuZy10ZW1wbGF0ZSBwVGVtcGxhdGU9XCJmb290ZXJcIj5cclxuXHRcdFx0XHQ8bmctY29udGVudCBzZWxlY3Q9XCJbZm9vdGVyXVwiPjwvbmctY29udGVudD5cclxuXHRcdFx0PC9uZy10ZW1wbGF0ZT5cclxuXHRcdH1cclxuXHQ8L3AtcGFuZWw+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
import { ChangeDetectionStrategy, Component, EventEmitter, Output, effect, input } from '@angular/core';
|
|
3
3
|
import { ContextMenuModule } from 'primeng/contextmenu';
|
|
4
4
|
import { TreeModule } from 'primeng/tree';
|
|
5
|
-
import { ButtonComponent } from 'aril/ui/button';
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "primeng/tree";
|
|
8
7
|
import * as i2 from "primeng/contextmenu";
|
|
@@ -14,6 +13,7 @@ export class TreeComponent {
|
|
|
14
13
|
this.filter = input(true);
|
|
15
14
|
this.selectionMode = input();
|
|
16
15
|
this.selectedNode = input(null);
|
|
16
|
+
this.styleClass = input(null);
|
|
17
17
|
this.expandEvent = new EventEmitter();
|
|
18
18
|
this.selectionEvent = new EventEmitter();
|
|
19
19
|
effect(() => {
|
|
@@ -21,14 +21,14 @@ export class TreeComponent {
|
|
|
21
21
|
});
|
|
22
22
|
}
|
|
23
23
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
24
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: TreeComponent, isStandalone: true, selector: "aril-tree", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectedNode: { classPropertyName: "selectedNode", publicName: "selectedNode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandEvent: "expandEvent", selectionEvent: "selectionEvent" }, ngImport: i0, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n", dependencies: [{ kind: "ngmodule", type: TreeModule }, { kind: "component", type: i1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
24
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: TreeComponent, isStandalone: true, selector: "aril-tree", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectedNode: { classPropertyName: "selectedNode", publicName: "selectedNode", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandEvent: "expandEvent", selectionEvent: "selectionEvent" }, ngImport: i0, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t[styleClass]=\"styleClass()!\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n", dependencies: [{ kind: "ngmodule", type: TreeModule }, { kind: "component", type: i1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
25
|
}
|
|
26
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeComponent, decorators: [{
|
|
27
27
|
type: Component,
|
|
28
|
-
args: [{ standalone: true, selector: 'aril-tree', imports: [TreeModule, ContextMenuModule
|
|
28
|
+
args: [{ standalone: true, selector: 'aril-tree', imports: [TreeModule, ContextMenuModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t[styleClass]=\"styleClass()!\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n" }]
|
|
29
29
|
}], ctorParameters: () => [], propDecorators: { expandEvent: [{
|
|
30
30
|
type: Output
|
|
31
31
|
}], selectionEvent: [{
|
|
32
32
|
type: Output
|
|
33
33
|
}] } });
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
34
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3RyZWUvc3JjL3RyZWUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90cmVlL3NyYy90cmVlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUd4RyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDOzs7O0FBVzFDLE1BQU0sT0FBTyxhQUFhO0lBQ3pCO1FBTUEsU0FBSSxHQUFHLEtBQUssQ0FBQyxRQUFRLEVBQWMsQ0FBQztRQUNwQyxnQkFBVyxHQUFHLEtBQUssRUFBYyxDQUFDO1FBQ2xDLHNCQUFpQixHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQztRQUMzQyxXQUFNLEdBQUcsS0FBSyxDQUFVLElBQUksQ0FBQyxDQUFDO1FBQzlCLGtCQUFhLEdBQUcsS0FBSyxFQUFrQixDQUFDO1FBQ3hDLGlCQUFZLEdBQUcsS0FBSyxDQUErQixJQUFJLENBQUMsQ0FBQztRQUN6RCxlQUFVLEdBQUcsS0FBSyxDQUFnQixJQUFJLENBQUMsQ0FBQztRQUU5QixnQkFBVyxHQUEwQixJQUFJLFlBQVksRUFBRSxDQUFDO1FBQ3hELG1CQUFjLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFkckUsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQzs4R0FMVyxhQUFhO2tHQUFiLGFBQWEscWxDQ2hCMUIsc3VCQWlCQSwyQ0RKVyxVQUFVLDgzQkFBRSxpQkFBaUI7OzJGQUczQixhQUFhO2tCQVB6QixTQUFTO2lDQUNHLElBQUksWUFDTixXQUFXLFdBRVosQ0FBQyxVQUFVLEVBQUUsaUJBQWlCLENBQUMsbUJBQ3ZCLHVCQUF1QixDQUFDLE1BQU07d0RBaUJyQyxXQUFXO3NCQUFwQixNQUFNO2dCQUNHLGNBQWM7c0JBQXZCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXHJcbmltcG9ydCB7IENoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgT3V0cHV0LCBlZmZlY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNZW51SXRlbSwgVHJlZU5vZGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IENvbnRleHRNZW51TW9kdWxlIH0gZnJvbSAncHJpbWVuZy9jb250ZXh0bWVudSc7XHJcbmltcG9ydCB7IFRyZWVNb2R1bGUgfSBmcm9tICdwcmltZW5nL3RyZWUnO1xyXG5cclxudHlwZSBTZWxlY3Rpb25Nb2RlcyA9ICdtdWx0aXBsZScgfCAnY2hlY2tib3gnIHwgJ3NpbmdsZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuXHRzdGFuZGFsb25lOiB0cnVlLFxyXG5cdHNlbGVjdG9yOiAnYXJpbC10cmVlJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vdHJlZS5jb21wb25lbnQuaHRtbCcsXHJcblx0aW1wb3J0czogW1RyZWVNb2R1bGUsIENvbnRleHRNZW51TW9kdWxlXSxcclxuXHRjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJlZUNvbXBvbmVudCB7XHJcblx0Y29uc3RydWN0b3IoKSB7XHJcblx0XHRlZmZlY3QoKCkgPT4ge1xyXG5cdFx0XHR0aGlzLnNlbGVjdGlvbk5vZGVzID0gdGhpcy5zZWxlY3RlZE5vZGUoKTtcclxuXHRcdH0pO1xyXG5cdH1cclxuXHJcblx0ZGF0YSA9IGlucHV0LnJlcXVpcmVkPFRyZWVOb2RlW10+KCk7XHJcblx0Y29udGV4dE1lbnUgPSBpbnB1dDxNZW51SXRlbVtdPigpO1xyXG5cdGZpbHRlclBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignQXJhbWEnKTtcclxuXHRmaWx0ZXIgPSBpbnB1dDxib29sZWFuPih0cnVlKTtcclxuXHRzZWxlY3Rpb25Nb2RlID0gaW5wdXQ8U2VsZWN0aW9uTW9kZXM+KCk7XHJcblx0c2VsZWN0ZWROb2RlID0gaW5wdXQ8VHJlZU5vZGUgfCBUcmVlTm9kZVtdIHwgbnVsbD4obnVsbCk7XHJcblx0c3R5bGVDbGFzcyA9IGlucHV0PHN0cmluZyB8IG51bGw+KG51bGwpO1xyXG5cclxuXHRAT3V0cHV0KCkgZXhwYW5kRXZlbnQ6IEV2ZW50RW1pdHRlcjx1bmtub3duPiA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHRAT3V0cHV0KCkgc2VsZWN0aW9uRXZlbnQ6IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG5cdHNlbGVjdGlvbk5vZGVzITogVHJlZU5vZGUgfCBUcmVlTm9kZVtdIHwgbnVsbDtcclxuXHJcblx0Ly8gaXNFeHBlbmRlZCA9IGZhbHNlO1xyXG5cdC8vIHRvZ2dsZVRyZWUoKSB7XHJcblx0Ly8gXHR0aGlzLmlzRXhwZW5kZWQgPSAhdGhpcy5pc0V4cGVuZGVkO1xyXG5cdC8vIFx0dGhpcy5leHBhbmRSZWN1cnNpdmUodGhpcy5kYXRhKCkpO1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gZXhwYW5kUmVjdXJzaXZlKG5vZGU6IFRyZWVOb2RlW10pIHtcclxuXHQvLyBcdG5vZGUuZm9yRWFjaCgobm9kZSkgPT4ge1xyXG5cdC8vIFx0XHRpZiAobm9kZS5jaGlsZHJlbikge1xyXG5cdC8vIFx0XHRcdG5vZGUuZXhwYW5kZWQgPSB0aGlzLmlzRXhwZW5kZWQ7XHJcblx0Ly8gXHRcdFx0dGhpcy5leHBhbmRSZWN1cnNpdmUobm9kZS5jaGlsZHJlbik7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdH0pO1xyXG5cdC8vIH1cclxufVxyXG4iLCI8IS0tIDxkaXYgY2xhc3M9XCJtYi0zXCI+XHJcblx0PGFyaWwtYnV0dG9uIFtsYWJlbF09XCJpc0V4cGVuZGVkID8gJ0RhcmFsdCcgOiAnR2VuacWfbGV0J1wiIHNpemU9XCJzbVwiIFtjb2xvcl09XCJpc0V4cGVuZGVkID8gJ3ByaW1hcnknIDond2FybmluZydcIiAoY2xpY2tFdmVudCk9XCJ0b2dnbGVUcmVlKClcIj48L2FyaWwtYnV0dG9uPlxyXG48L2Rpdj4gLS0+XHJcbjxwLXRyZWVcclxuXHRbdmFsdWVdPVwiZGF0YSgpXCJcclxuXHRbc2VsZWN0aW9uTW9kZV09XCJzZWxlY3Rpb25Nb2RlKClcIlxyXG5cdFsoc2VsZWN0aW9uKV09XCJzZWxlY3Rpb25Ob2Rlc1wiXHJcblx0W2NvbnRleHRNZW51XT1cImNvbnRleHRNZW51UmVmXCJcclxuXHRbZmlsdGVyXT1cImZpbHRlcigpXCJcclxuXHRmaWx0ZXJNb2RlPVwibGVuaWVudFwiXHJcblx0ZmlsdGVyQnk9XCJsYWJlbFwiXHJcblx0W2ZpbHRlclBsYWNlaG9sZGVyXT1cImZpbHRlclBsYWNlaG9sZGVyKClcIlxyXG5cdFtzdHlsZUNsYXNzXT1cInN0eWxlQ2xhc3MoKSFcIlxyXG5cdChvbk5vZGVFeHBhbmQpPVwiZXhwYW5kRXZlbnQuZW1pdCgkZXZlbnQubm9kZSlcIlxyXG5cdChzZWxlY3Rpb25DaGFuZ2UpPVwic2VsZWN0aW9uRXZlbnQuZW1pdChzZWxlY3Rpb25Ob2RlcylcIj5cclxuPC9wLXRyZWU+XHJcbjxwLWNvbnRleHRNZW51ICNjb250ZXh0TWVudVJlZiBbbW9kZWxdPVwiY29udGV4dE1lbnUoKVwiPjwvcC1jb250ZXh0TWVudT5cclxuIl19
|
|
@@ -2,7 +2,8 @@ import * as i0 from '@angular/core';
|
|
|
2
2
|
import { inject, Injectable } from '@angular/core';
|
|
3
3
|
import * as i1 from '@angular/router';
|
|
4
4
|
import { NavigationStart } from '@angular/router';
|
|
5
|
-
import
|
|
5
|
+
import * as i2 from 'keycloak-angular';
|
|
6
|
+
import { KeycloakService, KeycloakEventType, KeycloakAuthGuard } from 'keycloak-angular';
|
|
6
7
|
import { filter } from 'rxjs';
|
|
7
8
|
import { Apps } from 'aril/boot/config/apps';
|
|
8
9
|
|
|
@@ -21,7 +22,7 @@ class KeycloakManager {
|
|
|
21
22
|
globalThis.keycloakService = this.keycloak;
|
|
22
23
|
break;
|
|
23
24
|
case KeycloakEventType.OnTokenExpired:
|
|
24
|
-
|
|
25
|
+
this.updateTokenIfNeeded();
|
|
25
26
|
break;
|
|
26
27
|
case KeycloakEventType.OnAuthError:
|
|
27
28
|
case KeycloakEventType.OnAuthLogout:
|
|
@@ -32,9 +33,21 @@ class KeycloakManager {
|
|
|
32
33
|
}
|
|
33
34
|
});
|
|
34
35
|
this.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {
|
|
35
|
-
|
|
36
|
+
this.updateTokenIfNeeded();
|
|
36
37
|
});
|
|
37
38
|
}
|
|
39
|
+
async updateTokenIfNeeded() {
|
|
40
|
+
try {
|
|
41
|
+
if (this.keycloak.isTokenExpired(10)) { // 10 saniyeden kısa sürede bitecekse yenile
|
|
42
|
+
console.log("Token expired, updating token...");
|
|
43
|
+
await this.keycloak.updateToken(20); // Token süresini uzat
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
catch (error) {
|
|
47
|
+
console.error('Token update failed:', error);
|
|
48
|
+
await this.keycloak.login();
|
|
49
|
+
}
|
|
50
|
+
}
|
|
38
51
|
init(configs) {
|
|
39
52
|
return this.keycloak.init({ ...this.defaultOptions, config: configs });
|
|
40
53
|
}
|
|
@@ -168,9 +181,56 @@ const authInterceptor = (req, next) => {
|
|
|
168
181
|
return next(authReq);
|
|
169
182
|
};
|
|
170
183
|
|
|
184
|
+
class AuthGuard extends KeycloakAuthGuard {
|
|
185
|
+
constructor(router, keycloak) {
|
|
186
|
+
super(router, keycloak);
|
|
187
|
+
this.router = router;
|
|
188
|
+
this.keycloak = keycloak;
|
|
189
|
+
}
|
|
190
|
+
async isAccessAllowed(route, state) {
|
|
191
|
+
try {
|
|
192
|
+
if (this.keycloak.isTokenExpired(5)) {
|
|
193
|
+
console.log("Token expired, updating token");
|
|
194
|
+
await this.keycloak.updateToken(5);
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
catch (error) {
|
|
198
|
+
console.error('Error while updating token', error);
|
|
199
|
+
await this.keycloak.login({
|
|
200
|
+
redirectUri: window.location.origin + state.url
|
|
201
|
+
});
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
if (!this.authenticated) {
|
|
205
|
+
await this.keycloak.login({
|
|
206
|
+
redirectUri: window.location.origin + state.url
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
const requiredRoles = route.data['roles'];
|
|
210
|
+
if (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {
|
|
211
|
+
return true;
|
|
212
|
+
}
|
|
213
|
+
const authorized = requiredRoles.every((role) => this.roles.includes(role));
|
|
214
|
+
if (!authorized) {
|
|
215
|
+
console.error('User not authorized to access this route');
|
|
216
|
+
return false;
|
|
217
|
+
}
|
|
218
|
+
else
|
|
219
|
+
return true;
|
|
220
|
+
}
|
|
221
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, deps: [{ token: i1.Router }, { token: i2.KeycloakService }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
222
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, providedIn: 'root' }); }
|
|
223
|
+
}
|
|
224
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AuthGuard, decorators: [{
|
|
225
|
+
type: Injectable,
|
|
226
|
+
args: [{
|
|
227
|
+
providedIn: 'root'
|
|
228
|
+
}]
|
|
229
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.KeycloakService }] });
|
|
230
|
+
|
|
171
231
|
/**
|
|
172
232
|
* Generated bundle index. Do not edit.
|
|
173
233
|
*/
|
|
174
234
|
|
|
175
|
-
export { KeycloakManager, authInterceptor };
|
|
235
|
+
export { AuthGuard, KeycloakManager, authInterceptor };
|
|
176
236
|
//# sourceMappingURL=aril-keycloak.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\nimport { KeycloakEventType, KeycloakOptions, KeycloakService } from 'keycloak-angular';\r\nimport { KeycloakLoginOptions } from 'keycloak-js';\r\nimport { Observable, filter } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeycloakManager {\r\n\tconstructor(public router: Router) {\r\n\t\tthis.keycloak.keycloakEvents$.subscribe((event) => {\r\n\t\t\tswitch (event.type) {\r\n\t\t\t\tcase KeycloakEventType.OnReady:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = this.keycloak;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnTokenExpired:\r\n\t\t\t\t\t(<any>globalThis).keycloakService?.updateToken();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnAuthError:\r\n\t\t\t\tcase KeycloakEventType.OnAuthLogout:\r\n\t\t\t\tcase KeycloakEventType.OnAuthRefreshError:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = null;\r\n\t\t\t\t\t// this.keycloak.clearToken();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {\r\n\t\t\t(<any>globalThis).keycloakService?.updateToken();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate defaultOptions: KeycloakOptions = {\r\n\t\tloadUserProfileAtStartUp: true,\r\n\t\tinitOptions: { onLoad: 'login-required' },\r\n\t\tbearerExcludedUrls: ['/assets']\r\n\t};\r\n\r\n\tinit(configs: any): Promise<boolean> {\r\n\t\treturn this.keycloak.init({ ...this.defaultOptions, config: configs });\r\n\t}\r\n\r\n\tlogin(options?: KeycloakLoginOptions): Promise<void> {\r\n\t\treturn this.keycloak.login(options);\r\n\t}\r\n\r\n\tlogout(redirectUri?: string): Promise<void> {\r\n\t\treturn this.keycloak.logout(redirectUri); // window.location.origin\r\n\t}\r\n\r\n\tisUserInRole(role: string, resource?: string): boolean {\r\n\t\treturn this.keycloak.isUserInRole(role, resource);\r\n\t}\r\n\r\n\tgetUserRoles(realmRoles?: boolean, resource?: string): string[] {\r\n\t\treturn this.keycloak.getUserRoles(realmRoles, resource);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn this.keycloak.isLoggedIn();\r\n\t}\r\n\r\n\tisTokenExpired(minValidity?: number): boolean {\r\n\t\treturn this.keycloak.isTokenExpired(minValidity);\r\n\t}\r\n\r\n\tupdateToken(minValidity?: number): Promise<boolean> {\r\n\t\treturn this.keycloak.updateToken(minValidity);\r\n\t}\r\n\r\n\tloadUserProfile(forceReload?: boolean): Promise<any> {\r\n\t\treturn this.keycloak.loadUserProfile(forceReload);\r\n\t}\r\n\r\n\tgetToken(): Promise<string> {\r\n\t\treturn this.keycloak.getToken();\r\n\t}\r\n\r\n\tgetUsername(): string {\r\n\t\treturn this.keycloak.getUsername();\r\n\t}\r\n\r\n\tclearToken(): void {\r\n\t\tthis.keycloak.clearToken();\r\n\t}\r\n\r\n\taddTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders> {\r\n\t\treturn this.keycloak.addTokenToHeader(headers);\r\n\t}\r\n\r\n\t\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nconst getCurrentAppName = (host: string, mf: string) => {\r\n\tlet appName = '';\r\n\tif (host) {\r\n\t\tswitch (host) {\r\n\t\t\tcase Apps.YEAP:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.LENA:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.THOR:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t} else {\r\n\t\tswitch (mf) {\r\n\t\t\tcase Apps.HES:\r\n\t\t\tcase Apps.CTS:\r\n\t\t\tcase Apps.SIS:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.CRM:\r\n\t\t\tcase Apps.BILLING:\r\n\t\t\tcase Apps.PAYMENT:\r\n\t\t\tcase Apps.WDM:\r\n\t\t\tcase Apps.MNG:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.MW:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t}\r\n\t}\r\n\treturn appName;\r\n};\r\n\r\nconst getAppHeader = (appName: string) => {\r\n\tlet appHeader = {};\r\n\tswitch (appName) {\r\n\t\tcase Apps.YEAP:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"yeap\",\r\n\t\t\t\t\"x-application\": \"yeap\",\r\n\t\t\t\t\"x-module\": \"yeap-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.LENA:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"lena\",\r\n\t\t\t\t\"x-application\": \"lena\",\r\n\t\t\t\t\"x-module\": \"lena-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.THOR:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"thor\",\r\n\t\t\t\t\"x-application\": \"thor\",\r\n\t\t\t\t\"x-module\": \"thor-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t}\r\n\treturn appHeader;\r\n};\r\n\r\nconst getCsrfToken = (): string | undefined => {\r\n\treturn document.cookie\r\n\t .split('; ')\r\n\t .find(row => row.startsWith('csrf_token='))\r\n\t ?.split('=')[1];\r\n };\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\tconst currentApp = getCurrentAppName((<any>globalThis).activeHost, (<any>globalThis).activeMF);\r\n\tconst appNameHeader = getAppHeader(currentApp);\r\n\tconst csrfToken = getCsrfToken();\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t'csrf_token': csrfToken || '',\r\n\t\t\t...appNameHeader\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"aril-keycloak.mjs","sources":["../../projects/aril/keycloak/src/keycloak.manager.ts","../../projects/aril/keycloak/src/auth.interceptor.ts","../../projects/aril/keycloak/src/auth.guard.ts","../../projects/aril/keycloak/aril-keycloak.ts"],"sourcesContent":["import { HttpHeaders } from '@angular/common/http';\r\nimport { Injectable, inject } from '@angular/core';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\nimport { KeycloakEventType, KeycloakOptions, KeycloakService } from 'keycloak-angular';\r\nimport { KeycloakLoginOptions } from 'keycloak-js';\r\nimport { Observable, filter } from 'rxjs';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class KeycloakManager {\r\n\tconstructor(public router: Router) {\r\n\t\tthis.keycloak.keycloakEvents$.subscribe((event) => {\r\n\t\t\tswitch (event.type) {\r\n\t\t\t\tcase KeycloakEventType.OnReady:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = this.keycloak;\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnTokenExpired:\r\n\t\t\t\t\tthis.updateTokenIfNeeded();\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase KeycloakEventType.OnAuthError:\r\n\t\t\t\tcase KeycloakEventType.OnAuthLogout:\r\n\t\t\t\tcase KeycloakEventType.OnAuthRefreshError:\r\n\t\t\t\t\t(<any>globalThis).keycloakService = null;\r\n\t\t\t\t\t// this.keycloak.clearToken();\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tthis.router.events.pipe(filter((event) => event instanceof NavigationStart)).subscribe(() => {\r\n\t\t\tthis.updateTokenIfNeeded();\r\n\t\t});\r\n\t}\r\n\r\n\tpublic readonly keycloak = inject(KeycloakService);\r\n\r\n\tprivate async updateTokenIfNeeded() {\r\n\t\ttry {\r\n\t\t\tif (this.keycloak.isTokenExpired(10)) { // 10 saniyeden kısa sürede bitecekse yenile\r\n\t\t\t\tconsole.log(\"Token expired, updating token...\");\r\n\t\t\t\tawait this.keycloak.updateToken(20); // Token süresini uzat\r\n\t\t\t}\r\n\t\t} catch (error) {\r\n\t\t\tconsole.error('Token update failed:', error);\r\n\t\t\tawait this.keycloak.login();\r\n\t\t}\r\n\t}\r\n\r\n\tprivate defaultOptions: KeycloakOptions = {\r\n\t\tloadUserProfileAtStartUp: true,\r\n\t\tinitOptions: { onLoad: 'login-required' },\r\n\t\tbearerExcludedUrls: ['/assets']\r\n\t};\r\n\r\n\tinit(configs: any): Promise<boolean> {\r\n\t\treturn this.keycloak.init({ ...this.defaultOptions, config: configs });\r\n\t}\r\n\r\n\tlogin(options?: KeycloakLoginOptions): Promise<void> {\r\n\t\treturn this.keycloak.login(options);\r\n\t}\r\n\r\n\tlogout(redirectUri?: string): Promise<void> {\r\n\t\treturn this.keycloak.logout(redirectUri); // window.location.origin\r\n\t}\r\n\r\n\tisUserInRole(role: string, resource?: string): boolean {\r\n\t\treturn this.keycloak.isUserInRole(role, resource);\r\n\t}\r\n\r\n\tgetUserRoles(realmRoles?: boolean, resource?: string): string[] {\r\n\t\treturn this.keycloak.getUserRoles(realmRoles, resource);\r\n\t}\r\n\r\n\tisLoggedIn(): boolean {\r\n\t\treturn this.keycloak.isLoggedIn();\r\n\t}\r\n\r\n\tisTokenExpired(minValidity?: number): boolean {\r\n\t\treturn this.keycloak.isTokenExpired(minValidity);\r\n\t}\r\n\r\n\tupdateToken(minValidity?: number): Promise<boolean> {\r\n\t\treturn this.keycloak.updateToken(minValidity);\r\n\t}\r\n\r\n\tloadUserProfile(forceReload?: boolean): Promise<any> {\r\n\t\treturn this.keycloak.loadUserProfile(forceReload);\r\n\t}\r\n\r\n\tgetToken(): Promise<string> {\r\n\t\treturn this.keycloak.getToken();\r\n\t}\r\n\r\n\tgetUsername(): string {\r\n\t\treturn this.keycloak.getUsername();\r\n\t}\r\n\r\n\tclearToken(): void {\r\n\t\tthis.keycloak.clearToken();\r\n\t}\r\n\r\n\taddTokenToHeader(headers?: HttpHeaders): Observable<HttpHeaders> {\r\n\t\treturn this.keycloak.addTokenToHeader(headers);\r\n\t}\r\n\r\n\t\r\n}\r\n","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nimport { Apps } from 'aril/boot/config/apps';\r\n\r\nconst getCurrentAppName = (host: string, mf: string) => {\r\n\tlet appName = '';\r\n\tif (host) {\r\n\t\tswitch (host) {\r\n\t\t\tcase Apps.YEAP:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.LENA:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.THOR:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t}\r\n\t} else {\r\n\t\tswitch (mf) {\r\n\t\t\tcase Apps.HES:\r\n\t\t\tcase Apps.CTS:\r\n\t\t\tcase Apps.SIS:\r\n\t\t\t\tappName = Apps.LENA;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.CRM:\r\n\t\t\tcase Apps.BILLING:\r\n\t\t\tcase Apps.PAYMENT:\r\n\t\t\tcase Apps.WDM:\r\n\t\t\tcase Apps.MNG:\r\n\t\t\t\tappName = Apps.THOR;\r\n\t\t\t\tbreak;\r\n\t\t\tcase Apps.MW:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t\t\tbreak;\r\n\t\t\tdefault:\r\n\t\t\t\tappName = Apps.YEAP;\r\n\t\t}\r\n\t}\r\n\treturn appName;\r\n};\r\n\r\nconst getAppHeader = (appName: string) => {\r\n\tlet appHeader = {};\r\n\tswitch (appName) {\r\n\t\tcase Apps.YEAP:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"yeap\",\r\n\t\t\t\t\"x-application\": \"yeap\",\r\n\t\t\t\t\"x-module\": \"yeap-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.LENA:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"lena\",\r\n\t\t\t\t\"x-application\": \"lena\",\r\n\t\t\t\t\"x-module\": \"lena-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t\tcase Apps.THOR:\r\n\t\t\tappHeader = {\r\n\t\t\t\t\"x-yeap-application\": \"thor\",\r\n\t\t\t\t\"x-application\": \"thor\",\r\n\t\t\t\t\"x-module\": \"thor-fe\"\r\n\t\t\t};\r\n\t\t\tbreak;\r\n\t}\r\n\treturn appHeader;\r\n};\r\n\r\nconst getCsrfToken = (): string | undefined => {\r\n\treturn document.cookie\r\n\t .split('; ')\r\n\t .find(row => row.startsWith('csrf_token='))\r\n\t ?.split('=')[1];\r\n };\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\tconst currentApp = getCurrentAppName((<any>globalThis).activeHost, (<any>globalThis).activeMF);\r\n\tconst appNameHeader = getAppHeader(currentApp);\r\n\tconst csrfToken = getCsrfToken();\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`,\r\n\t\t\t'csrf_token': csrfToken || '',\r\n\t\t\t...appNameHeader\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\nexport class AuthGuard extends KeycloakAuthGuard {\r\n\tconstructor(\r\n\t\tprotected override readonly router: Router,\r\n\t\tprotected readonly keycloak: KeycloakService\r\n\t) {\r\n\t\tsuper(router, keycloak);\r\n\t}\r\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\ttry {\r\n\t\t\tif(this.keycloak.isTokenExpired(5)){\r\n\t\t\t\tconsole.log(\"Token expired, updating token\");\r\n\t\t\t\tawait this.keycloak.updateToken(5); \r\n\t\t\t}\r\n\t\t } catch (error) {\r\n\t\t\tconsole.error('Error while updating token', error);\r\n\t\t\tawait this.keycloak.login({\r\n\t\t\t redirectUri: window.location.origin + state.url\r\n\t\t\t});\r\n\t\t\treturn false; \r\n\t\t }\r\n\t\t \r\n\t\tif (!this.authenticated) {\r\n\t\t\tawait this.keycloak.login({\r\n\t\t\t\tredirectUri: window.location.origin + state.url\r\n\t\t\t});\r\n\t\t}\r\n\t\tconst requiredRoles = route.data['roles'];\r\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\r\n\t\tif (!authorized) {\r\n\t\t\tconsole.error('User not authorized to access this route');\r\n\t\t\treturn false;\r\n\t\t} else return true;\r\n\t}\r\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;MASa,eAAe,CAAA;AAC3B,IAAA,WAAA,CAAmB,MAAc,EAAA;QAAd,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;AAuBjB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAc3C,QAAA,IAAA,CAAA,cAAc,GAAoB;AACzC,YAAA,wBAAwB,EAAE,IAAI;AAC9B,YAAA,WAAW,EAAE,EAAE,MAAM,EAAE,gBAAgB,EAAE;YACzC,kBAAkB,EAAE,CAAC,SAAS,CAAC;SAC/B,CAAC;QAxCD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC,KAAK,KAAI;AACjD,YAAA,QAAQ,KAAK,CAAC,IAAI;gBACjB,KAAK,iBAAiB,CAAC,OAAO;AACvB,oBAAA,UAAW,CAAC,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC;oBAClD,MAAM;gBACP,KAAK,iBAAiB,CAAC,cAAc;oBACpC,IAAI,CAAC,mBAAmB,EAAE,CAAC;oBAC3B,MAAM;gBACP,KAAK,iBAAiB,CAAC,WAAW,CAAC;gBACnC,KAAK,iBAAiB,CAAC,YAAY,CAAC;gBACpC,KAAK,iBAAiB,CAAC,kBAAkB;AAClC,oBAAA,UAAW,CAAC,eAAe,GAAG,IAAI,CAAC;;oBAEzC,MAAM;aACP;AACF,SAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,KAAK,YAAY,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,MAAK;YAC3F,IAAI,CAAC,mBAAmB,EAAE,CAAC;AAC5B,SAAC,CAAC,CAAC;KACH;AAIO,IAAA,MAAM,mBAAmB,GAAA;AAChC,QAAA,IAAI;YACH,IAAI,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC,EAAE;AACrC,gBAAA,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;gBAChD,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;aACpC;SACD;QAAC,OAAO,KAAK,EAAE;AACf,YAAA,OAAO,CAAC,KAAK,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;AAC7C,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;SAC5B;KACD;AAQD,IAAA,IAAI,CAAC,OAAY,EAAA;AAChB,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;KACvE;AAED,IAAA,KAAK,CAAC,OAA8B,EAAA;QACnC,OAAO,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;KACpC;AAED,IAAA,MAAM,CAAC,WAAoB,EAAA;QAC1B,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;KACzC;IAED,YAAY,CAAC,IAAY,EAAE,QAAiB,EAAA;QAC3C,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;KAClD;IAED,YAAY,CAAC,UAAoB,EAAE,QAAiB,EAAA;QACnD,OAAO,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;KACxD;IAED,UAAU,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAClC;AAED,IAAA,cAAc,CAAC,WAAoB,EAAA;QAClC,OAAO,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;KACjD;AAED,IAAA,WAAW,CAAC,WAAoB,EAAA;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,WAAW,CAAC,CAAC;KAC9C;AAED,IAAA,eAAe,CAAC,WAAqB,EAAA;QACpC,OAAO,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;KAClD;IAED,QAAQ,GAAA;AACP,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC;KAChC;IAED,WAAW,GAAA;AACV,QAAA,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;KACnC;IAED,UAAU,GAAA;AACT,QAAA,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE,CAAC;KAC3B;AAED,IAAA,gBAAgB,CAAC,OAAqB,EAAA;QACrC,OAAO,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;KAC/C;8GA9FW,eAAe,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAf,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,eAAe,cADF,MAAM,EAAA,CAAA,CAAA,EAAA;;2FACnB,eAAe,EAAA,UAAA,EAAA,CAAA;kBAD3B,UAAU;mBAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAA;;;ACJlC,MAAM,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAU,KAAI;IACtD,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,IAAI,IAAI,EAAE;QACT,QAAQ,IAAI;YACX,KAAK,IAAI,CAAC,IAAI;AACb,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI,CAAC,IAAI;AACb,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI,CAAC,IAAI;AACb,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;SACP;KACD;SAAM;QACN,QAAQ,EAAE;YACT,KAAK,IAAI,CAAC,GAAG,CAAC;YACd,KAAK,IAAI,CAAC,GAAG,CAAC;YACd,KAAK,IAAI,CAAC,GAAG;AACZ,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI,CAAC,GAAG,CAAC;YACd,KAAK,IAAI,CAAC,OAAO,CAAC;YAClB,KAAK,IAAI,CAAC,OAAO,CAAC;YAClB,KAAK,IAAI,CAAC,GAAG,CAAC;YACd,KAAK,IAAI,CAAC,GAAG;AACZ,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;YACP,KAAK,IAAI,CAAC,EAAE;AACX,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;gBACpB,MAAM;AACP,YAAA;AACC,gBAAA,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC;SACrB;KACD;AACD,IAAA,OAAO,OAAO,CAAC;AAChB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,CAAC,OAAe,KAAI;IACxC,IAAI,SAAS,GAAG,EAAE,CAAC;IACnB,QAAQ,OAAO;QACd,KAAK,IAAI,CAAC,IAAI;AACb,YAAA,SAAS,GAAG;AACX,gBAAA,oBAAoB,EAAE,MAAM;AAC5B,gBAAA,eAAe,EAAE,MAAM;AACvB,gBAAA,UAAU,EAAE,SAAS;aACrB,CAAC;YACF,MAAM;QACP,KAAK,IAAI,CAAC,IAAI;AACb,YAAA,SAAS,GAAG;AACX,gBAAA,oBAAoB,EAAE,MAAM;AAC5B,gBAAA,eAAe,EAAE,MAAM;AACvB,gBAAA,UAAU,EAAE,SAAS;aACrB,CAAC;YACF,MAAM;QACP,KAAK,IAAI,CAAC,IAAI;AACb,YAAA,SAAS,GAAG;AACX,gBAAA,oBAAoB,EAAE,MAAM;AAC5B,gBAAA,eAAe,EAAE,MAAM;AACvB,gBAAA,UAAU,EAAE,SAAS;aACrB,CAAC;YACF,MAAM;KACP;AACD,IAAA,OAAO,SAAS,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,YAAY,GAAG,MAAyB;IAC7C,OAAO,QAAQ,CAAC,MAAM;SACnB,KAAK,CAAC,IAAI,CAAC;SACX,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAC3C,UAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACjB,CAAC,CAAC;MAES,eAAe,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KAAI;IACpG,MAAM,KAAK,GAAS,UAAW,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC;AAClE,IAAA,MAAM,UAAU,GAAG,iBAAiB,CAAO,UAAW,CAAC,UAAU,EAAQ,UAAW,CAAC,QAAQ,CAAC,CAAC;AAC/F,IAAA,MAAM,aAAa,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;AAC/C,IAAA,MAAM,SAAS,GAAG,YAAY,EAAE,CAAC;AAEjC,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,EAAE;YACX,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;YAChC,YAAY,EAAE,SAAS,IAAI,EAAE;AAC7B,YAAA,GAAG,aAAa;AAChB,SAAA;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB;;ACtFM,MAAO,SAAU,SAAQ,iBAAiB,CAAA;IAC/C,WAC6B,CAAA,MAAc,EACvB,QAAyB,EAAA;AAE5C,QAAA,KAAK,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;QAHI,IAAM,CAAA,MAAA,GAAN,MAAM,CAAQ;QACvB,IAAQ,CAAA,QAAA,GAAR,QAAQ,CAAiB;KAG5C;AACM,IAAA,MAAM,eAAe,CAAC,KAA6B,EAAE,KAA0B,EAAA;AACrF,QAAA,IAAI;YACH,IAAG,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC,EAAC;AAClC,gBAAA,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;gBAC7C,MAAM,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;aACnC;SACC;QAAC,OAAO,KAAK,EAAE;AACjB,YAAA,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;AACnD,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACxB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;AAChD,aAAA,CAAC,CAAC;AACH,YAAA,OAAO,KAAK,CAAC;SACX;AAEH,QAAA,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;AACxB,YAAA,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACzB,WAAW,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG;AAC/C,aAAA,CAAC,CAAC;SACH;QACD,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC;SACZ;QACD,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,UAAU,EAAE;AAChB,YAAA,OAAO,CAAC,KAAK,CAAC,0CAA0C,CAAC,CAAC;AAC1D,YAAA,OAAO,KAAK,CAAC;SACb;;AAAM,YAAA,OAAO,IAAI,CAAC;KACnB;8GAnCW,SAAS,EAAA,IAAA,EAAA,CAAA,EAAA,KAAA,EAAA,EAAA,CAAA,MAAA,EAAA,EAAA,EAAA,KAAA,EAAA,EAAA,CAAA,eAAA,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA,EAAA;AAAT,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,SAAS,cAFT,MAAM,EAAA,CAAA,CAAA,EAAA;;2FAEN,SAAS,EAAA,UAAA,EAAA,CAAA;kBAHrB,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACX,oBAAA,UAAU,EAAE,MAAM;AAClB,iBAAA,CAAA;;;ACLD;;AAEG;;;;"}
|
|
@@ -22,11 +22,11 @@ class PanelComponent {
|
|
|
22
22
|
return this.noPadding();
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-padding": "this.noPaddingClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.2", type: PanelComponent, isStandalone: true, selector: "aril-panel", inputs: { toggleable: { classPropertyName: "toggleable", publicName: "toggleable", isSignal: true, isRequired: false, transformFunction: null }, canFullScreen: { classPropertyName: "canFullScreen", publicName: "canFullScreen", isSignal: true, isRequired: false, transformFunction: null }, collapsed: { classPropertyName: "collapsed", publicName: "collapsed", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null }, showFooter: { classPropertyName: "showFooter", publicName: "showFooter", isSignal: true, isRequired: false, transformFunction: null }, noPadding: { classPropertyName: "noPadding", publicName: "noPadding", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.no-padding": "this.noPaddingClass" } }, ngImport: i0, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--card-foreground);font-size:13px;font-style:normal;font-weight:700;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}.panel-ng-content{padding:0!important}::ng-deep .no-padding .p-panel-content{padding:0}\n"], dependencies: [{ kind: "ngmodule", type: PanelModule }, { kind: "component", type: i1.Panel, selector: "p-panel", inputs: ["toggleable", "header", "collapsed", "style", "styleClass", "iconPos", "expandIcon", "collapseIcon", "showHeader", "toggler", "transitionOptions"], outputs: ["collapsedChange", "onBeforeToggle", "onAfterToggle"] }, { kind: "directive", type: i2.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: PanelComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--
|
|
29
|
+
args: [{ standalone: true, selector: 'aril-panel', imports: [PanelModule, NgClass], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n", styles: [".full-screen{position:fixed;inset:0;z-index:99999999;overflow-y:auto;box-sizing:border-box;width:100%;height:100vh;background:#fff}.panel-header{width:100%;display:flex;justify-content:space-between;align-items:center;color:var(--card-foreground);font-size:13px;font-style:normal;font-weight:700;line-height:normal}::ng-deep .panel-icons i{cursor:pointer;width:2rem}.panel-ng-content{padding:0!important}::ng-deep .no-padding .p-panel-content{padding:0}\n"] }]
|
|
30
30
|
}], propDecorators: { noPaddingClass: [{
|
|
31
31
|
type: HostBinding,
|
|
32
32
|
args: ['class.no-padding']
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-panel.mjs","sources":["../../projects/aril/ui/panel/src/panel.component.ts","../../projects/aril/ui/panel/src/panel.component.html","../../projects/aril/ui/panel/aril-ui-panel.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, HostBinding, input } from '@angular/core';\r\n\r\nimport { PanelModule } from 'primeng/panel';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-panel',\r\n\ttemplateUrl: './panel.component.html',\r\n\tstyleUrl: './panel.component.css',\r\n\timports: [PanelModule, NgClass],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PanelComponent {\r\n\ttoggleable = input<boolean>(true);\r\n\tcanFullScreen = input<boolean>(true);\r\n\tcollapsed = input<boolean>(false);\r\n\tstyleClass = input<string>();\r\n\tshowFooter = input<boolean>(false);\r\n\tnoPadding = input<boolean>(false);\r\n\r\n\tisFullScreen = false;\r\n\r\n\ttoggleFullScreen() {\r\n\t\tthis.isFullScreen = !this.isFullScreen;\r\n\t}\r\n\r\n\t@HostBinding('class.no-padding') get noPaddingClass() {\r\n\t\treturn this.noPadding();\r\n\t}\r\n}\r\n","<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;MAaa,cAAc,CAAA;AAR3B,IAAA,WAAA,GAAA;AASC,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AAClC,QAAA,IAAA,CAAA,aAAa,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;AACrC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;QAClC,IAAU,CAAA,UAAA,GAAG,KAAK,EAAU,CAAC;AAC7B,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;AACnC,QAAA,IAAA,CAAA,SAAS,GAAG,KAAK,CAAU,KAAK,CAAC,CAAC;QAElC,IAAY,CAAA,YAAA,GAAG,KAAK,CAAC;AASrB,KAAA;IAPA,gBAAgB,GAAA;AACf,QAAA,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC;KACvC;AAED,IAAA,IAAqC,cAAc,GAAA;AAClD,QAAA,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC;KACxB;8GAhBW,cAAc,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAd,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,cAAc,ECb3B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,YAAA,EAAA,MAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,WAAA,EAAA,UAAA,EAAA,WAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,kBAAA,EAAA,qBAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,y1CA4CA,EDlCW,MAAA,EAAA,CAAA,
|
|
1
|
+
{"version":3,"file":"aril-ui-panel.mjs","sources":["../../projects/aril/ui/panel/src/panel.component.ts","../../projects/aril/ui/panel/src/panel.component.html","../../projects/aril/ui/panel/aril-ui-panel.ts"],"sourcesContent":["import { NgClass } from '@angular/common';\r\nimport { ChangeDetectionStrategy, Component, HostBinding, input } from '@angular/core';\r\n\r\nimport { PanelModule } from 'primeng/panel';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-panel',\r\n\ttemplateUrl: './panel.component.html',\r\n\tstyleUrl: './panel.component.css',\r\n\timports: [PanelModule, NgClass],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class PanelComponent {\r\n\ttoggleable = input<boolean>(true);\r\n\tcanFullScreen = input<boolean>(true);\r\n\tcollapsed = input<boolean>(false);\r\n\tstyleClass = input<string>();\r\n\tshowFooter = input<boolean>(false);\r\n\tnoPadding = input<boolean>(false);\r\n\r\n\tisFullScreen = false;\r\n\r\n\ttoggleFullScreen() {\r\n\t\tthis.isFullScreen = !this.isFullScreen;\r\n\t}\r\n\r\n\t@HostBinding('class.no-padding') get noPaddingClass() {\r\n\t\treturn this.noPadding();\r\n\t}\r\n}\r\n","<div [ngClass]=\"{ 'full-screen': isFullScreen && canFullScreen }\">\r\n\t<p-panel\r\n\t\t[toggleable]=\"toggleable()\"\r\n\t\t[collapsed]=\"collapsed()\"\r\n\t\t[collapseIcon]=\"'pi pi-chevron-down'\"\r\n\t\t[expandIcon]=\"'pi pi-chevron-up'\"\r\n\t\t[styleClass]=\"styleClass()\"\r\n\t\t>\r\n\t\t<!-- header -->\r\n\t\t<ng-template pTemplate=\"header\">\r\n\t\t\t<div class=\"panel-header\">\r\n\t\t\t\t<ng-content select=\"[header]\"></ng-content>\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- header-tools -->\r\n\t\t<ng-template class=\"flex\" pTemplate=\"icons\">\r\n\t\t\t<div class=\"panel-icons flex\">\r\n\t\t\t\t<ng-content select=\"[tools]\"></ng-content>\r\n\r\n\t\t\t\t@if (canFullScreen()) {\r\n\t\t\t\t\t<i\r\n\t\t\t\t\t\trole=\"button\"\r\n\t\t\t\t\t\tclass=\"pi\"\r\n\t\t\t\t\t\t[ngClass]=\"{\r\n\t\t\t\t\t\t\t'pi-window-maximize': !isFullScreen,\r\n\t\t\t\t\t\t\t'pi-window-minimize': isFullScreen\r\n\t\t\t\t\t\t}\"\r\n\t\t\t\t\t\t(click)=\"toggleFullScreen()\"></i>\r\n\t\t\t\t}\r\n\t\t\t</div>\r\n\t\t</ng-template>\r\n\r\n\t\t<!-- body -->\r\n\t\t<ng-content select=\"[body]\" class=\"panel-ng-content\"></ng-content>\r\n\r\n\t\t<!-- footer -->\r\n\t\t@if (showFooter()) {\r\n\t\t\t<ng-template pTemplate=\"footer\">\r\n\t\t\t\t<ng-content select=\"[footer]\"></ng-content>\r\n\t\t\t</ng-template>\r\n\t\t}\r\n\t</p-panel>\r\n</div>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ import * as i2 from 'primeng/contextmenu';
|
|
|
4
4
|
import { ContextMenuModule } from 'primeng/contextmenu';
|
|
5
5
|
import * as i1 from 'primeng/tree';
|
|
6
6
|
import { TreeModule } from 'primeng/tree';
|
|
7
|
-
import { ButtonComponent } from 'aril/ui/button';
|
|
8
7
|
|
|
9
8
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
10
9
|
class TreeComponent {
|
|
@@ -15,6 +14,7 @@ class TreeComponent {
|
|
|
15
14
|
this.filter = input(true);
|
|
16
15
|
this.selectionMode = input();
|
|
17
16
|
this.selectedNode = input(null);
|
|
17
|
+
this.styleClass = input(null);
|
|
18
18
|
this.expandEvent = new EventEmitter();
|
|
19
19
|
this.selectionEvent = new EventEmitter();
|
|
20
20
|
effect(() => {
|
|
@@ -22,11 +22,11 @@ class TreeComponent {
|
|
|
22
22
|
});
|
|
23
23
|
}
|
|
24
24
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
25
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: TreeComponent, isStandalone: true, selector: "aril-tree", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectedNode: { classPropertyName: "selectedNode", publicName: "selectedNode", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandEvent: "expandEvent", selectionEvent: "selectionEvent" }, ngImport: i0, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n", dependencies: [{ kind: "ngmodule", type: TreeModule }, { kind: "component", type: i1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
25
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: TreeComponent, isStandalone: true, selector: "aril-tree", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: true, transformFunction: null }, contextMenu: { classPropertyName: "contextMenu", publicName: "contextMenu", isSignal: true, isRequired: false, transformFunction: null }, filterPlaceholder: { classPropertyName: "filterPlaceholder", publicName: "filterPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, filter: { classPropertyName: "filter", publicName: "filter", isSignal: true, isRequired: false, transformFunction: null }, selectionMode: { classPropertyName: "selectionMode", publicName: "selectionMode", isSignal: true, isRequired: false, transformFunction: null }, selectedNode: { classPropertyName: "selectedNode", publicName: "selectedNode", isSignal: true, isRequired: false, transformFunction: null }, styleClass: { classPropertyName: "styleClass", publicName: "styleClass", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { expandEvent: "expandEvent", selectionEvent: "selectionEvent" }, ngImport: i0, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t[styleClass]=\"styleClass()!\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n", dependencies: [{ kind: "ngmodule", type: TreeModule }, { kind: "component", type: i1.Tree, selector: "p-tree", inputs: ["value", "selectionMode", "loadingMode", "selection", "style", "styleClass", "contextMenu", "layout", "draggableScope", "droppableScope", "draggableNodes", "droppableNodes", "metaKeySelection", "propagateSelectionUp", "propagateSelectionDown", "loading", "loadingIcon", "emptyMessage", "ariaLabel", "togglerAriaLabel", "ariaLabelledBy", "validateDrop", "filter", "filterBy", "filterMode", "filterPlaceholder", "filteredNodes", "filterLocale", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "indentation", "_templateMap", "trackBy", "virtualNodeHeight"], outputs: ["selectionChange", "onNodeSelect", "onNodeUnselect", "onNodeExpand", "onNodeCollapse", "onNodeContextMenuSelect", "onNodeDrop", "onLazyLoad", "onScroll", "onScrollIndexChange", "onFilter"] }, { kind: "ngmodule", type: ContextMenuModule }, { kind: "component", type: i2.ContextMenu, selector: "p-contextMenu", inputs: ["model", "triggerEvent", "target", "global", "style", "styleClass", "appendTo", "autoZIndex", "baseZIndex", "id", "ariaLabel", "ariaLabelledBy", "pressDelay"], outputs: ["onShow", "onHide"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
26
26
|
}
|
|
27
27
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TreeComponent, decorators: [{
|
|
28
28
|
type: Component,
|
|
29
|
-
args: [{ standalone: true, selector: 'aril-tree', imports: [TreeModule, ContextMenuModule
|
|
29
|
+
args: [{ standalone: true, selector: 'aril-tree', imports: [TreeModule, ContextMenuModule], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Geni\u015Flet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t[styleClass]=\"styleClass()!\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n" }]
|
|
30
30
|
}], ctorParameters: () => [], propDecorators: { expandEvent: [{
|
|
31
31
|
type: Output
|
|
32
32
|
}], selectionEvent: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aril-ui-tree.mjs","sources":["../../projects/aril/ui/tree/src/tree.component.ts","../../projects/aril/ui/tree/src/tree.component.html","../../projects/aril/ui/tree/aril-ui-tree.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Output, effect, input } from '@angular/core';\r\n\r\nimport { MenuItem, TreeNode } from 'primeng/api';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { TreeModule } from 'primeng/tree';\r\n\r\
|
|
1
|
+
{"version":3,"file":"aril-ui-tree.mjs","sources":["../../projects/aril/ui/tree/src/tree.component.ts","../../projects/aril/ui/tree/src/tree.component.html","../../projects/aril/ui/tree/aril-ui-tree.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-explicit-any */\r\nimport { ChangeDetectionStrategy, Component, EventEmitter, Output, effect, input } from '@angular/core';\r\n\r\nimport { MenuItem, TreeNode } from 'primeng/api';\r\nimport { ContextMenuModule } from 'primeng/contextmenu';\r\nimport { TreeModule } from 'primeng/tree';\r\n\r\ntype SelectionModes = 'multiple' | 'checkbox' | 'single';\r\n\r\n@Component({\r\n\tstandalone: true,\r\n\tselector: 'aril-tree',\r\n\ttemplateUrl: './tree.component.html',\r\n\timports: [TreeModule, ContextMenuModule],\r\n\tchangeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class TreeComponent {\r\n\tconstructor() {\r\n\t\teffect(() => {\r\n\t\t\tthis.selectionNodes = this.selectedNode();\r\n\t\t});\r\n\t}\r\n\r\n\tdata = input.required<TreeNode[]>();\r\n\tcontextMenu = input<MenuItem[]>();\r\n\tfilterPlaceholder = input<string>('Arama');\r\n\tfilter = input<boolean>(true);\r\n\tselectionMode = input<SelectionModes>();\r\n\tselectedNode = input<TreeNode | TreeNode[] | null>(null);\r\n\tstyleClass = input<string | null>(null);\r\n\r\n\t@Output() expandEvent: EventEmitter<unknown> = new EventEmitter();\r\n\t@Output() selectionEvent: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n\tselectionNodes!: TreeNode | TreeNode[] | null;\r\n\r\n\t// isExpended = false;\r\n\t// toggleTree() {\r\n\t// \tthis.isExpended = !this.isExpended;\r\n\t// \tthis.expandRecursive(this.data());\r\n\t// }\r\n\r\n\t// expandRecursive(node: TreeNode[]) {\r\n\t// \tnode.forEach((node) => {\r\n\t// \t\tif (node.children) {\r\n\t// \t\t\tnode.expanded = this.isExpended;\r\n\t// \t\t\tthis.expandRecursive(node.children);\r\n\t// \t\t}\r\n\t// \t});\r\n\t// }\r\n}\r\n","<!-- <div class=\"mb-3\">\r\n\t<aril-button [label]=\"isExpended ? 'Daralt' : 'Genişlet'\" size=\"sm\" [color]=\"isExpended ? 'primary' :'warning'\" (clickEvent)=\"toggleTree()\"></aril-button>\r\n</div> -->\r\n<p-tree\r\n\t[value]=\"data()\"\r\n\t[selectionMode]=\"selectionMode()\"\r\n\t[(selection)]=\"selectionNodes\"\r\n\t[contextMenu]=\"contextMenuRef\"\r\n\t[filter]=\"filter()\"\r\n\tfilterMode=\"lenient\"\r\n\tfilterBy=\"label\"\r\n\t[filterPlaceholder]=\"filterPlaceholder()\"\r\n\t[styleClass]=\"styleClass()!\"\r\n\t(onNodeExpand)=\"expandEvent.emit($event.node)\"\r\n\t(selectionChange)=\"selectionEvent.emit(selectionNodes)\">\r\n</p-tree>\r\n<p-contextMenu #contextMenuRef [model]=\"contextMenu()\"></p-contextMenu>\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAAA;MAgBa,aAAa,CAAA;AACzB,IAAA,WAAA,GAAA;AAMA,QAAA,IAAA,CAAA,IAAI,GAAG,KAAK,CAAC,QAAQ,EAAc,CAAC;QACpC,IAAW,CAAA,WAAA,GAAG,KAAK,EAAc,CAAC;AAClC,QAAA,IAAA,CAAA,iBAAiB,GAAG,KAAK,CAAS,OAAO,CAAC,CAAC;AAC3C,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAU,IAAI,CAAC,CAAC;QAC9B,IAAa,CAAA,aAAA,GAAG,KAAK,EAAkB,CAAC;AACxC,QAAA,IAAA,CAAA,YAAY,GAAG,KAAK,CAA+B,IAAI,CAAC,CAAC;AACzD,QAAA,IAAA,CAAA,UAAU,GAAG,KAAK,CAAgB,IAAI,CAAC,CAAC;AAE9B,QAAA,IAAA,CAAA,WAAW,GAA0B,IAAI,YAAY,EAAE,CAAC;AACxD,QAAA,IAAA,CAAA,cAAc,GAAsB,IAAI,YAAY,EAAO,CAAC;QAdrE,MAAM,CAAC,MAAK;AACX,YAAA,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;AAC3C,SAAC,CAAC,CAAC;KACH;8GALW,aAAa,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA,EAAA;AAAb,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,aAAa,EChB1B,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,MAAA,EAAA,UAAA,EAAA,MAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,iBAAA,EAAA,EAAA,iBAAA,EAAA,mBAAA,EAAA,UAAA,EAAA,mBAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,aAAA,EAAA,EAAA,iBAAA,EAAA,eAAA,EAAA,UAAA,EAAA,eAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,YAAA,EAAA,EAAA,iBAAA,EAAA,cAAA,EAAA,UAAA,EAAA,cAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,iBAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,OAAA,EAAA,EAAA,WAAA,EAAA,aAAA,EAAA,cAAA,EAAA,gBAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,suBAiBA,EDJW,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,UAAU,83BAAE,iBAAiB,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,cAAA,EAAA,QAAA,EAAA,QAAA,EAAA,OAAA,EAAA,YAAA,EAAA,UAAA,EAAA,YAAA,EAAA,YAAA,EAAA,IAAA,EAAA,WAAA,EAAA,gBAAA,EAAA,YAAA,CAAA,EAAA,OAAA,EAAA,CAAA,QAAA,EAAA,QAAA,CAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA,EAAA;;2FAG3B,aAAa,EAAA,UAAA,EAAA,CAAA;kBAPzB,SAAS;iCACG,IAAI,EAAA,QAAA,EACN,WAAW,EAAA,OAAA,EAEZ,CAAC,UAAU,EAAE,iBAAiB,CAAC,EAAA,eAAA,EACvB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,suBAAA,EAAA,CAAA;wDAiBrC,WAAW,EAAA,CAAA;sBAApB,MAAM;gBACG,cAAc,EAAA,CAAA;sBAAvB,MAAM;;;AEhCR;;AAEG;;;;"}
|
package/keycloak/index.d.ts
CHANGED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';
|
|
2
|
+
import { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export declare class AuthGuard extends KeycloakAuthGuard {
|
|
5
|
+
protected readonly router: Router;
|
|
6
|
+
protected readonly keycloak: KeycloakService;
|
|
7
|
+
constructor(router: Router, keycloak: KeycloakService);
|
|
8
|
+
isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise<boolean>;
|
|
9
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<AuthGuard, never>;
|
|
10
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<AuthGuard>;
|
|
11
|
+
}
|
|
@@ -8,6 +8,7 @@ export declare class KeycloakManager {
|
|
|
8
8
|
router: Router;
|
|
9
9
|
constructor(router: Router);
|
|
10
10
|
readonly keycloak: KeycloakService;
|
|
11
|
+
private updateTokenIfNeeded;
|
|
11
12
|
private defaultOptions;
|
|
12
13
|
init(configs: any): Promise<boolean>;
|
|
13
14
|
login(options?: KeycloakLoginOptions): Promise<void>;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aril",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.53",
|
|
4
4
|
"peerDependencies": {
|
|
5
5
|
"@angular/cdk": "~17.1.0",
|
|
6
6
|
"@angular/common": "^17.1.0",
|
|
@@ -74,18 +74,18 @@
|
|
|
74
74
|
"esm": "./esm2022/ui/aril-ui.mjs",
|
|
75
75
|
"default": "./fesm2022/aril-ui.mjs"
|
|
76
76
|
},
|
|
77
|
-
"./ui-business": {
|
|
78
|
-
"types": "./ui-business/index.d.ts",
|
|
79
|
-
"esm2022": "./esm2022/ui-business/aril-ui-business.mjs",
|
|
80
|
-
"esm": "./esm2022/ui-business/aril-ui-business.mjs",
|
|
81
|
-
"default": "./fesm2022/aril-ui-business.mjs"
|
|
82
|
-
},
|
|
83
77
|
"./util": {
|
|
84
78
|
"types": "./util/index.d.ts",
|
|
85
79
|
"esm2022": "./esm2022/util/aril-util.mjs",
|
|
86
80
|
"esm": "./esm2022/util/aril-util.mjs",
|
|
87
81
|
"default": "./fesm2022/aril-util.mjs"
|
|
88
82
|
},
|
|
83
|
+
"./ui-business": {
|
|
84
|
+
"types": "./ui-business/index.d.ts",
|
|
85
|
+
"esm2022": "./esm2022/ui-business/aril-ui-business.mjs",
|
|
86
|
+
"esm": "./esm2022/ui-business/aril-ui-business.mjs",
|
|
87
|
+
"default": "./fesm2022/aril-ui-business.mjs"
|
|
88
|
+
},
|
|
89
89
|
"./boot/host": {
|
|
90
90
|
"types": "./boot/host/index.d.ts",
|
|
91
91
|
"esm2022": "./esm2022/boot/host/aril-boot-host.mjs",
|
|
@@ -128,18 +128,18 @@
|
|
|
128
128
|
"esm": "./esm2022/ui/calendar/aril-ui-calendar.mjs",
|
|
129
129
|
"default": "./fesm2022/aril-ui-calendar.mjs"
|
|
130
130
|
},
|
|
131
|
-
"./ui/checkbox": {
|
|
132
|
-
"types": "./ui/checkbox/index.d.ts",
|
|
133
|
-
"esm2022": "./esm2022/ui/checkbox/aril-ui-checkbox.mjs",
|
|
134
|
-
"esm": "./esm2022/ui/checkbox/aril-ui-checkbox.mjs",
|
|
135
|
-
"default": "./fesm2022/aril-ui-checkbox.mjs"
|
|
136
|
-
},
|
|
137
131
|
"./ui/charts": {
|
|
138
132
|
"types": "./ui/charts/index.d.ts",
|
|
139
133
|
"esm2022": "./esm2022/ui/charts/aril-ui-charts.mjs",
|
|
140
134
|
"esm": "./esm2022/ui/charts/aril-ui-charts.mjs",
|
|
141
135
|
"default": "./fesm2022/aril-ui-charts.mjs"
|
|
142
136
|
},
|
|
137
|
+
"./ui/checkbox": {
|
|
138
|
+
"types": "./ui/checkbox/index.d.ts",
|
|
139
|
+
"esm2022": "./esm2022/ui/checkbox/aril-ui-checkbox.mjs",
|
|
140
|
+
"esm": "./esm2022/ui/checkbox/aril-ui-checkbox.mjs",
|
|
141
|
+
"default": "./fesm2022/aril-ui-checkbox.mjs"
|
|
142
|
+
},
|
|
143
143
|
"./ui/chip": {
|
|
144
144
|
"types": "./ui/chip/index.d.ts",
|
|
145
145
|
"esm2022": "./esm2022/ui/chip/aril-ui-chip.mjs",
|
|
@@ -188,18 +188,18 @@
|
|
|
188
188
|
"esm": "./esm2022/ui/img-viewer/aril-ui-img-viewer.mjs",
|
|
189
189
|
"default": "./fesm2022/aril-ui-img-viewer.mjs"
|
|
190
190
|
},
|
|
191
|
-
"./ui/lib": {
|
|
192
|
-
"types": "./ui/lib/index.d.ts",
|
|
193
|
-
"esm2022": "./esm2022/ui/lib/aril-ui-lib.mjs",
|
|
194
|
-
"esm": "./esm2022/ui/lib/aril-ui-lib.mjs",
|
|
195
|
-
"default": "./fesm2022/aril-ui-lib.mjs"
|
|
196
|
-
},
|
|
197
191
|
"./ui/loader": {
|
|
198
192
|
"types": "./ui/loader/index.d.ts",
|
|
199
193
|
"esm2022": "./esm2022/ui/loader/aril-ui-loader.mjs",
|
|
200
194
|
"esm": "./esm2022/ui/loader/aril-ui-loader.mjs",
|
|
201
195
|
"default": "./fesm2022/aril-ui-loader.mjs"
|
|
202
196
|
},
|
|
197
|
+
"./ui/lib": {
|
|
198
|
+
"types": "./ui/lib/index.d.ts",
|
|
199
|
+
"esm2022": "./esm2022/ui/lib/aril-ui-lib.mjs",
|
|
200
|
+
"esm": "./esm2022/ui/lib/aril-ui-lib.mjs",
|
|
201
|
+
"default": "./fesm2022/aril-ui-lib.mjs"
|
|
202
|
+
},
|
|
203
203
|
"./ui/mask": {
|
|
204
204
|
"types": "./ui/mask/index.d.ts",
|
|
205
205
|
"esm2022": "./esm2022/ui/mask/aril-ui-mask.mjs",
|
|
@@ -242,6 +242,12 @@
|
|
|
242
242
|
"esm": "./esm2022/ui/password/aril-ui-password.mjs",
|
|
243
243
|
"default": "./fesm2022/aril-ui-password.mjs"
|
|
244
244
|
},
|
|
245
|
+
"./ui/progressbar": {
|
|
246
|
+
"types": "./ui/progressbar/index.d.ts",
|
|
247
|
+
"esm2022": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
|
|
248
|
+
"esm": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
|
|
249
|
+
"default": "./fesm2022/aril-ui-progressbar.mjs"
|
|
250
|
+
},
|
|
245
251
|
"./ui/pdf-viewer": {
|
|
246
252
|
"types": "./ui/pdf-viewer/index.d.ts",
|
|
247
253
|
"esm2022": "./esm2022/ui/pdf-viewer/aril-ui-pdf-viewer.mjs",
|
|
@@ -254,12 +260,6 @@
|
|
|
254
260
|
"esm": "./esm2022/ui/radioButton/aril-ui-radioButton.mjs",
|
|
255
261
|
"default": "./fesm2022/aril-ui-radioButton.mjs"
|
|
256
262
|
},
|
|
257
|
-
"./ui/progressbar": {
|
|
258
|
-
"types": "./ui/progressbar/index.d.ts",
|
|
259
|
-
"esm2022": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
|
|
260
|
-
"esm": "./esm2022/ui/progressbar/aril-ui-progressbar.mjs",
|
|
261
|
-
"default": "./fesm2022/aril-ui-progressbar.mjs"
|
|
262
|
-
},
|
|
263
263
|
"./ui/selectBox": {
|
|
264
264
|
"types": "./ui/selectBox/index.d.ts",
|
|
265
265
|
"esm2022": "./esm2022/ui/selectBox/aril-ui-selectBox.mjs",
|
|
@@ -308,6 +308,12 @@
|
|
|
308
308
|
"esm": "./esm2022/ui/textArea/aril-ui-textArea.mjs",
|
|
309
309
|
"default": "./fesm2022/aril-ui-textArea.mjs"
|
|
310
310
|
},
|
|
311
|
+
"./ui/tree": {
|
|
312
|
+
"types": "./ui/tree/index.d.ts",
|
|
313
|
+
"esm2022": "./esm2022/ui/tree/aril-ui-tree.mjs",
|
|
314
|
+
"esm": "./esm2022/ui/tree/aril-ui-tree.mjs",
|
|
315
|
+
"default": "./fesm2022/aril-ui-tree.mjs"
|
|
316
|
+
},
|
|
311
317
|
"./ui/toggle-button": {
|
|
312
318
|
"types": "./ui/toggle-button/index.d.ts",
|
|
313
319
|
"esm2022": "./esm2022/ui/toggle-button/aril-ui-toggle-button.mjs",
|
|
@@ -320,11 +326,11 @@
|
|
|
320
326
|
"esm": "./esm2022/ui/tooltip/aril-ui-tooltip.mjs",
|
|
321
327
|
"default": "./fesm2022/aril-ui-tooltip.mjs"
|
|
322
328
|
},
|
|
323
|
-
"./ui/
|
|
324
|
-
"types": "./ui/
|
|
325
|
-
"esm2022": "./esm2022/ui/
|
|
326
|
-
"esm": "./esm2022/ui/
|
|
327
|
-
"default": "./fesm2022/aril-ui-
|
|
329
|
+
"./ui/treeTable": {
|
|
330
|
+
"types": "./ui/treeTable/index.d.ts",
|
|
331
|
+
"esm2022": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
|
|
332
|
+
"esm": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
|
|
333
|
+
"default": "./fesm2022/aril-ui-treeTable.mjs"
|
|
328
334
|
},
|
|
329
335
|
"./ui/treeSelect": {
|
|
330
336
|
"types": "./ui/treeSelect/index.d.ts",
|
|
@@ -332,18 +338,60 @@
|
|
|
332
338
|
"esm": "./esm2022/ui/treeSelect/aril-ui-treeSelect.mjs",
|
|
333
339
|
"default": "./fesm2022/aril-ui-treeSelect.mjs"
|
|
334
340
|
},
|
|
335
|
-
"./ui/treeTable": {
|
|
336
|
-
"types": "./ui/treeTable/index.d.ts",
|
|
337
|
-
"esm2022": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
|
|
338
|
-
"esm": "./esm2022/ui/treeTable/aril-ui-treeTable.mjs",
|
|
339
|
-
"default": "./fesm2022/aril-ui-treeTable.mjs"
|
|
340
|
-
},
|
|
341
341
|
"./ui/value": {
|
|
342
342
|
"types": "./ui/value/index.d.ts",
|
|
343
343
|
"esm2022": "./esm2022/ui/value/aril-ui-value.mjs",
|
|
344
344
|
"esm": "./esm2022/ui/value/aril-ui-value.mjs",
|
|
345
345
|
"default": "./fesm2022/aril-ui-value.mjs"
|
|
346
346
|
},
|
|
347
|
+
"./util/block": {
|
|
348
|
+
"types": "./util/block/index.d.ts",
|
|
349
|
+
"esm2022": "./esm2022/util/block/aril-util-block.mjs",
|
|
350
|
+
"esm": "./esm2022/util/block/aril-util-block.mjs",
|
|
351
|
+
"default": "./fesm2022/aril-util-block.mjs"
|
|
352
|
+
},
|
|
353
|
+
"./util/custom_pages": {
|
|
354
|
+
"types": "./util/custom_pages/index.d.ts",
|
|
355
|
+
"esm2022": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
|
|
356
|
+
"esm": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
|
|
357
|
+
"default": "./fesm2022/aril-util-custom_pages.mjs"
|
|
358
|
+
},
|
|
359
|
+
"./util/init-event": {
|
|
360
|
+
"types": "./util/init-event/index.d.ts",
|
|
361
|
+
"esm2022": "./esm2022/util/init-event/aril-util-init-event.mjs",
|
|
362
|
+
"esm": "./esm2022/util/init-event/aril-util-init-event.mjs",
|
|
363
|
+
"default": "./fesm2022/aril-util-init-event.mjs"
|
|
364
|
+
},
|
|
365
|
+
"./util/lib": {
|
|
366
|
+
"types": "./util/lib/index.d.ts",
|
|
367
|
+
"esm2022": "./esm2022/util/lib/aril-util-lib.mjs",
|
|
368
|
+
"esm": "./esm2022/util/lib/aril-util-lib.mjs",
|
|
369
|
+
"default": "./fesm2022/aril-util-lib.mjs"
|
|
370
|
+
},
|
|
371
|
+
"./util/loaders": {
|
|
372
|
+
"types": "./util/loaders/index.d.ts",
|
|
373
|
+
"esm2022": "./esm2022/util/loaders/aril-util-loaders.mjs",
|
|
374
|
+
"esm": "./esm2022/util/loaders/aril-util-loaders.mjs",
|
|
375
|
+
"default": "./fesm2022/aril-util-loaders.mjs"
|
|
376
|
+
},
|
|
377
|
+
"./util/unwrap": {
|
|
378
|
+
"types": "./util/unwrap/index.d.ts",
|
|
379
|
+
"esm2022": "./esm2022/util/unwrap/aril-util-unwrap.mjs",
|
|
380
|
+
"esm": "./esm2022/util/unwrap/aril-util-unwrap.mjs",
|
|
381
|
+
"default": "./fesm2022/aril-util-unwrap.mjs"
|
|
382
|
+
},
|
|
383
|
+
"./util/pub-sub": {
|
|
384
|
+
"types": "./util/pub-sub/index.d.ts",
|
|
385
|
+
"esm2022": "./esm2022/util/pub-sub/aril-util-pub-sub.mjs",
|
|
386
|
+
"esm": "./esm2022/util/pub-sub/aril-util-pub-sub.mjs",
|
|
387
|
+
"default": "./fesm2022/aril-util-pub-sub.mjs"
|
|
388
|
+
},
|
|
389
|
+
"./util/primitive-extensions": {
|
|
390
|
+
"types": "./util/primitive-extensions/index.d.ts",
|
|
391
|
+
"esm2022": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
|
|
392
|
+
"esm": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
|
|
393
|
+
"default": "./fesm2022/aril-util-primitive-extensions.mjs"
|
|
394
|
+
},
|
|
347
395
|
"./ui-business/assetPicker": {
|
|
348
396
|
"types": "./ui-business/assetPicker/index.d.ts",
|
|
349
397
|
"esm2022": "./esm2022/ui-business/assetPicker/aril-ui-business-assetPicker.mjs",
|
|
@@ -356,18 +404,18 @@
|
|
|
356
404
|
"esm": "./esm2022/ui-business/detailed-overlay-panel/aril-ui-business-detailed-overlay-panel.mjs",
|
|
357
405
|
"default": "./fesm2022/aril-ui-business-detailed-overlay-panel.mjs"
|
|
358
406
|
},
|
|
359
|
-
"./ui-business/enumPicker": {
|
|
360
|
-
"types": "./ui-business/enumPicker/index.d.ts",
|
|
361
|
-
"esm2022": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
|
|
362
|
-
"esm": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
|
|
363
|
-
"default": "./fesm2022/aril-ui-business-enumPicker.mjs"
|
|
364
|
-
},
|
|
365
407
|
"./ui-business/multiple-ref-value": {
|
|
366
408
|
"types": "./ui-business/multiple-ref-value/index.d.ts",
|
|
367
409
|
"esm2022": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
|
|
368
410
|
"esm": "./esm2022/ui-business/multiple-ref-value/aril-ui-business-multiple-ref-value.mjs",
|
|
369
411
|
"default": "./fesm2022/aril-ui-business-multiple-ref-value.mjs"
|
|
370
412
|
},
|
|
413
|
+
"./ui-business/enumPicker": {
|
|
414
|
+
"types": "./ui-business/enumPicker/index.d.ts",
|
|
415
|
+
"esm2022": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
|
|
416
|
+
"esm": "./esm2022/ui-business/enumPicker/aril-ui-business-enumPicker.mjs",
|
|
417
|
+
"default": "./fesm2022/aril-ui-business-enumPicker.mjs"
|
|
418
|
+
},
|
|
371
419
|
"./ui-business/operation-types-dialog": {
|
|
372
420
|
"types": "./ui-business/operation-types-dialog/index.d.ts",
|
|
373
421
|
"esm2022": "./esm2022/ui-business/operation-types-dialog/aril-ui-business-operation-types-dialog.mjs",
|
|
@@ -386,77 +434,29 @@
|
|
|
386
434
|
"esm": "./esm2022/ui-business/rolePicker/aril-ui-business-rolePicker.mjs",
|
|
387
435
|
"default": "./fesm2022/aril-ui-business-rolePicker.mjs"
|
|
388
436
|
},
|
|
437
|
+
"./boot/config/plugins": {
|
|
438
|
+
"types": "./boot/config/plugins/index.d.ts",
|
|
439
|
+
"esm2022": "./esm2022/boot/config/plugins/aril-boot-config-plugins.mjs",
|
|
440
|
+
"esm": "./esm2022/boot/config/plugins/aril-boot-config-plugins.mjs",
|
|
441
|
+
"default": "./fesm2022/aril-boot-config-plugins.mjs"
|
|
442
|
+
},
|
|
389
443
|
"./ui-business/userPicker": {
|
|
390
444
|
"types": "./ui-business/userPicker/index.d.ts",
|
|
391
445
|
"esm2022": "./esm2022/ui-business/userPicker/aril-ui-business-userPicker.mjs",
|
|
392
446
|
"esm": "./esm2022/ui-business/userPicker/aril-ui-business-userPicker.mjs",
|
|
393
447
|
"default": "./fesm2022/aril-ui-business-userPicker.mjs"
|
|
394
448
|
},
|
|
395
|
-
"./util/block": {
|
|
396
|
-
"types": "./util/block/index.d.ts",
|
|
397
|
-
"esm2022": "./esm2022/util/block/aril-util-block.mjs",
|
|
398
|
-
"esm": "./esm2022/util/block/aril-util-block.mjs",
|
|
399
|
-
"default": "./fesm2022/aril-util-block.mjs"
|
|
400
|
-
},
|
|
401
|
-
"./util/custom_pages": {
|
|
402
|
-
"types": "./util/custom_pages/index.d.ts",
|
|
403
|
-
"esm2022": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
|
|
404
|
-
"esm": "./esm2022/util/custom_pages/aril-util-custom_pages.mjs",
|
|
405
|
-
"default": "./fesm2022/aril-util-custom_pages.mjs"
|
|
406
|
-
},
|
|
407
|
-
"./util/init-event": {
|
|
408
|
-
"types": "./util/init-event/index.d.ts",
|
|
409
|
-
"esm2022": "./esm2022/util/init-event/aril-util-init-event.mjs",
|
|
410
|
-
"esm": "./esm2022/util/init-event/aril-util-init-event.mjs",
|
|
411
|
-
"default": "./fesm2022/aril-util-init-event.mjs"
|
|
412
|
-
},
|
|
413
|
-
"./util/lib": {
|
|
414
|
-
"types": "./util/lib/index.d.ts",
|
|
415
|
-
"esm2022": "./esm2022/util/lib/aril-util-lib.mjs",
|
|
416
|
-
"esm": "./esm2022/util/lib/aril-util-lib.mjs",
|
|
417
|
-
"default": "./fesm2022/aril-util-lib.mjs"
|
|
418
|
-
},
|
|
419
|
-
"./util/loaders": {
|
|
420
|
-
"types": "./util/loaders/index.d.ts",
|
|
421
|
-
"esm2022": "./esm2022/util/loaders/aril-util-loaders.mjs",
|
|
422
|
-
"esm": "./esm2022/util/loaders/aril-util-loaders.mjs",
|
|
423
|
-
"default": "./fesm2022/aril-util-loaders.mjs"
|
|
424
|
-
},
|
|
425
|
-
"./util/primitive-extensions": {
|
|
426
|
-
"types": "./util/primitive-extensions/index.d.ts",
|
|
427
|
-
"esm2022": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
|
|
428
|
-
"esm": "./esm2022/util/primitive-extensions/aril-util-primitive-extensions.mjs",
|
|
429
|
-
"default": "./fesm2022/aril-util-primitive-extensions.mjs"
|
|
430
|
-
},
|
|
431
|
-
"./util/pub-sub": {
|
|
432
|
-
"types": "./util/pub-sub/index.d.ts",
|
|
433
|
-
"esm2022": "./esm2022/util/pub-sub/aril-util-pub-sub.mjs",
|
|
434
|
-
"esm": "./esm2022/util/pub-sub/aril-util-pub-sub.mjs",
|
|
435
|
-
"default": "./fesm2022/aril-util-pub-sub.mjs"
|
|
436
|
-
},
|
|
437
|
-
"./util/unwrap": {
|
|
438
|
-
"types": "./util/unwrap/index.d.ts",
|
|
439
|
-
"esm2022": "./esm2022/util/unwrap/aril-util-unwrap.mjs",
|
|
440
|
-
"esm": "./esm2022/util/unwrap/aril-util-unwrap.mjs",
|
|
441
|
-
"default": "./fesm2022/aril-util-unwrap.mjs"
|
|
442
|
-
},
|
|
443
|
-
"./boot/config/apps": {
|
|
444
|
-
"types": "./boot/config/apps/index.d.ts",
|
|
445
|
-
"esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
446
|
-
"esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
447
|
-
"default": "./fesm2022/aril-boot-config-apps.mjs"
|
|
448
|
-
},
|
|
449
449
|
"./boot/config/api": {
|
|
450
450
|
"types": "./boot/config/api/index.d.ts",
|
|
451
451
|
"esm2022": "./esm2022/boot/config/api/aril-boot-config-api.mjs",
|
|
452
452
|
"esm": "./esm2022/boot/config/api/aril-boot-config-api.mjs",
|
|
453
453
|
"default": "./fesm2022/aril-boot-config-api.mjs"
|
|
454
454
|
},
|
|
455
|
-
"./boot/config/
|
|
456
|
-
"types": "./boot/config/
|
|
457
|
-
"esm2022": "./esm2022/boot/config/
|
|
458
|
-
"esm": "./esm2022/boot/config/
|
|
459
|
-
"default": "./fesm2022/aril-boot-config-
|
|
455
|
+
"./boot/config/apps": {
|
|
456
|
+
"types": "./boot/config/apps/index.d.ts",
|
|
457
|
+
"esm2022": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
458
|
+
"esm": "./esm2022/boot/config/apps/aril-boot-config-apps.mjs",
|
|
459
|
+
"default": "./fesm2022/aril-boot-config-apps.mjs"
|
|
460
460
|
},
|
|
461
461
|
"./ui/business-components/assetPicker": {
|
|
462
462
|
"types": "./ui/business-components/assetPicker/index.d.ts",
|
|
@@ -16,6 +16,7 @@ $colors: (
|
|
|
16
16
|
//shades
|
|
17
17
|
$shade000: rgba(255, 255, 255, 0.87) !default; //text color
|
|
18
18
|
$shade100: rgba(255, 255, 255, 0.6) !default; //text secondary color
|
|
19
|
+
$shade400: #e9eff7 !default; // panel header bg
|
|
19
20
|
$shade500: #6b7280 !default;
|
|
20
21
|
$shade600: #424b57 !default; //input bg, border, divider
|
|
21
22
|
$shade700: #374151 !default; //menu bg
|
|
@@ -355,7 +356,7 @@ $inputSwitchHandleOnBg: $primaryTextColor !default;
|
|
|
355
356
|
//panel
|
|
356
357
|
$panelHeaderBorderColor: $shade600 !default;
|
|
357
358
|
$panelHeaderBorder: 1px solid $shade600 !default;
|
|
358
|
-
$panelHeaderBg: $
|
|
359
|
+
$panelHeaderBg: $shade400 !default;
|
|
359
360
|
$panelHeaderTextColor: $shade000 !default;
|
|
360
361
|
$panelHeaderFontWeight: 700 !default;
|
|
361
362
|
$panelHeaderPadding: 1.25rem !default;
|
|
@@ -24,6 +24,7 @@ $shade600: #6b7280 !default; //text secondary color
|
|
|
24
24
|
$shade700: #4b5563 !default; //text color
|
|
25
25
|
$shade800: #374151 !default; //unused
|
|
26
26
|
$shade900: #1f2937 !default; //unused
|
|
27
|
+
$shade1000: #e9eff7 !default; // panel header bg
|
|
27
28
|
|
|
28
29
|
//global
|
|
29
30
|
$fontFamily: 'Inter';
|
|
@@ -354,7 +355,7 @@ $inputSwitchHandleOnBg: $shade000 !default;
|
|
|
354
355
|
//panel
|
|
355
356
|
$panelHeaderBorderColor: $shade300 !default;
|
|
356
357
|
$panelHeaderBorder: 1px solid $shade300 !default;
|
|
357
|
-
$panelHeaderBg: $
|
|
358
|
+
$panelHeaderBg: $shade1000 !default;
|
|
358
359
|
$panelHeaderTextColor: $shade800 !default;
|
|
359
360
|
$panelHeaderFontWeight: 700 !default;
|
|
360
361
|
$panelHeaderPadding: 1.25rem !default;
|
|
@@ -10,10 +10,11 @@ export declare class TreeComponent {
|
|
|
10
10
|
filter: import("@angular/core").InputSignal<boolean, boolean>;
|
|
11
11
|
selectionMode: import("@angular/core").InputSignal<SelectionModes | undefined, SelectionModes | undefined>;
|
|
12
12
|
selectedNode: import("@angular/core").InputSignal<TreeNode<any> | TreeNode<any>[] | null, TreeNode<any> | TreeNode<any>[] | null>;
|
|
13
|
+
styleClass: import("@angular/core").InputSignal<string | null, string | null>;
|
|
13
14
|
expandEvent: EventEmitter<unknown>;
|
|
14
15
|
selectionEvent: EventEmitter<any>;
|
|
15
16
|
selectionNodes: TreeNode | TreeNode[] | null;
|
|
16
17
|
static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent, never>;
|
|
17
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent, "aril-tree", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedNode": { "alias": "selectedNode"; "required": false; "isSignal": true; }; }, { "expandEvent": "expandEvent"; "selectionEvent": "selectionEvent"; }, never, never, true, never>;
|
|
18
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent, "aril-tree", never, { "data": { "alias": "data"; "required": true; "isSignal": true; }; "contextMenu": { "alias": "contextMenu"; "required": false; "isSignal": true; }; "filterPlaceholder": { "alias": "filterPlaceholder"; "required": false; "isSignal": true; }; "filter": { "alias": "filter"; "required": false; "isSignal": true; }; "selectionMode": { "alias": "selectionMode"; "required": false; "isSignal": true; }; "selectedNode": { "alias": "selectedNode"; "required": false; "isSignal": true; }; "styleClass": { "alias": "styleClass"; "required": false; "isSignal": true; }; }, { "expandEvent": "expandEvent"; "selectionEvent": "selectionEvent"; }, never, never, true, never>;
|
|
18
19
|
}
|
|
19
20
|
export {};
|