aril 0.0.97 → 0.0.99

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.
@@ -10,6 +10,17 @@ export class AuthGuard extends KeycloakAuthGuard {
10
10
  this.keycloak = keycloak;
11
11
  }
12
12
  async isAccessAllowed(route, state) {
13
+ try {
14
+ if (this.keycloak.isTokenExpired()) {
15
+ await this.keycloak.updateToken();
16
+ }
17
+ }
18
+ catch (error) {
19
+ await this.keycloak.login({
20
+ redirectUri: window.location.origin + state.url
21
+ });
22
+ return false;
23
+ }
13
24
  if (!this.authenticated) {
14
25
  await this.keycloak.login({
15
26
  redirectUri: window.location.origin + state.url
@@ -36,4 +47,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
36
47
  providedIn: 'root'
37
48
  }]
38
49
  }], ctorParameters: () => [{ type: i1.Router }, { type: i2.KeycloakService }] });
39
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDekIsTUFBTSxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQztnQkFDekIsV0FBVyxFQUFFLE1BQU0sQ0FBQyxRQUFRLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHO2FBQy9DLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxNQUFNLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBRTFDLElBQUksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDakUsT0FBTyxJQUFJLENBQUM7UUFDYixDQUFDO1FBRUQsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUU1RSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakIsT0FBTyxDQUFDLEtBQUssQ0FBQywwQ0FBMEMsQ0FBQyxDQUFDO1lBQzFELE9BQU8sS0FBSyxDQUFDO1FBQ2QsQ0FBQzs7WUFBTSxPQUFPLElBQUksQ0FBQztJQUNwQixDQUFDOzhHQTNCVyxTQUFTO2tIQUFULFNBQVMsY0FGVCxNQUFNOzsyRkFFTixTQUFTO2tCQUhyQixVQUFVO21CQUFDO29CQUNYLFVBQVUsRUFBRSxNQUFNO2lCQUNsQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGVTbmFwc2hvdCwgUm91dGVyLCBSb3V0ZXJTdGF0ZVNuYXBzaG90IH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrQXV0aEd1YXJkLCBLZXljbG9ha1NlcnZpY2UgfSBmcm9tICdrZXljbG9hay1hbmd1bGFyJztcclxuXHJcbkBJbmplY3RhYmxlKHtcclxuXHRwcm92aWRlZEluOiAncm9vdCdcclxufSlcclxuZXhwb3J0IGNsYXNzIEF1dGhHdWFyZCBleHRlbmRzIEtleWNsb2FrQXV0aEd1YXJkIHtcclxuXHRjb25zdHJ1Y3RvcihcclxuXHRcdHByb3RlY3RlZCBvdmVycmlkZSByZWFkb25seSByb3V0ZXI6IFJvdXRlcixcclxuXHRcdHByb3RlY3RlZCByZWFkb25seSBrZXljbG9hazogS2V5Y2xvYWtTZXJ2aWNlXHJcblx0KSB7XHJcblx0XHRzdXBlcihyb3V0ZXIsIGtleWNsb2FrKTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyBhc3luYyBpc0FjY2Vzc0FsbG93ZWQocm91dGU6IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIHN0YXRlOiBSb3V0ZXJTdGF0ZVNuYXBzaG90KSB7XHJcblx0XHRpZiAoIXRoaXMuYXV0aGVudGljYXRlZCkge1xyXG5cdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLmxvZ2luKHtcclxuXHRcdFx0XHRyZWRpcmVjdFVyaTogd2luZG93LmxvY2F0aW9uLm9yaWdpbiArIHN0YXRlLnVybFxyXG5cdFx0XHR9KTtcclxuXHRcdH1cclxuXHJcblx0XHRjb25zdCByZXF1aXJlZFJvbGVzID0gcm91dGUuZGF0YVsncm9sZXMnXTtcclxuXHJcblx0XHRpZiAoIUFycmF5LmlzQXJyYXkocmVxdWlyZWRSb2xlcykgfHwgcmVxdWlyZWRSb2xlcy5sZW5ndGggPT09IDApIHtcclxuXHRcdFx0cmV0dXJuIHRydWU7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgYXV0aG9yaXplZCA9IHJlcXVpcmVkUm9sZXMuZXZlcnkoKHJvbGUpID0+IHRoaXMucm9sZXMuaW5jbHVkZXMocm9sZSkpO1xyXG5cclxuXHRcdGlmICghYXV0aG9yaXplZCkge1xyXG5cdFx0XHRjb25zb2xlLmVycm9yKCdVc2VyIG5vdCBhdXRob3JpemVkIHRvIGFjY2VzcyB0aGlzIHJvdXRlJyk7XHJcblx0XHRcdHJldHVybiBmYWxzZTtcclxuXHRcdH0gZWxzZSByZXR1cm4gdHJ1ZTtcclxuXHR9XHJcbn1cclxuIl19
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0aC5ndWFyZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2F1dGguZ3VhcmQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUczQyxPQUFPLEVBQUUsaUJBQWlCLEVBQW1CLE1BQU0sa0JBQWtCLENBQUM7Ozs7QUFLdEUsTUFBTSxPQUFPLFNBQVUsU0FBUSxpQkFBaUI7SUFDL0MsWUFDNkIsTUFBYyxFQUN2QixRQUF5QjtRQUU1QyxLQUFLLENBQUMsTUFBTSxFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBSEksV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUN2QixhQUFRLEdBQVIsUUFBUSxDQUFpQjtJQUc3QyxDQUFDO0lBRU0sS0FBSyxDQUFDLGVBQWUsQ0FBQyxLQUE2QixFQUFFLEtBQTBCO1FBQ3JGLElBQUksQ0FBQztZQUNKLElBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsRUFBQyxDQUFDO2dCQUNsQyxNQUFNLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkMsQ0FBQztRQUNBLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2xCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3hCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUNoRCxDQUFDLENBQUM7WUFDSCxPQUFPLEtBQUssQ0FBQztRQUNaLENBQUM7UUFFSCxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3pCLE1BQU0sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUM7Z0JBQ3pCLFdBQVcsRUFBRSxNQUFNLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUMsR0FBRzthQUMvQyxDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxhQUFhLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUUxQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxhQUFhLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pFLE9BQU8sSUFBSSxDQUFDO1FBQ2IsQ0FBQztRQUVELE1BQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFFNUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLE9BQU8sQ0FBQyxLQUFLLENBQUMsMENBQTBDLENBQUMsQ0FBQztZQUMxRCxPQUFPLEtBQUssQ0FBQztRQUNkLENBQUM7O1lBQU0sT0FBTyxJQUFJLENBQUM7SUFDcEIsQ0FBQzs4R0F0Q1csU0FBUztrSEFBVCxTQUFTLGNBRlQsTUFBTTs7MkZBRU4sU0FBUztrQkFIckIsVUFBVTttQkFBQztvQkFDWCxVQUFVLEVBQUUsTUFBTTtpQkFDbEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlU25hcHNob3QsIFJvdXRlciwgUm91dGVyU3RhdGVTbmFwc2hvdCB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5pbXBvcnQgeyBLZXljbG9ha0F1dGhHdWFyZCwgS2V5Y2xvYWtTZXJ2aWNlIH0gZnJvbSAna2V5Y2xvYWstYW5ndWxhcic7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcblx0cHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBdXRoR3VhcmQgZXh0ZW5kcyBLZXljbG9ha0F1dGhHdWFyZCB7XHJcblx0Y29uc3RydWN0b3IoXHJcblx0XHRwcm90ZWN0ZWQgb3ZlcnJpZGUgcmVhZG9ubHkgcm91dGVyOiBSb3V0ZXIsXHJcblx0XHRwcm90ZWN0ZWQgcmVhZG9ubHkga2V5Y2xvYWs6IEtleWNsb2FrU2VydmljZVxyXG5cdCkge1xyXG5cdFx0c3VwZXIocm91dGVyLCBrZXljbG9hayk7XHJcblx0fVxyXG5cclxuXHRwdWJsaWMgYXN5bmMgaXNBY2Nlc3NBbGxvd2VkKHJvdXRlOiBBY3RpdmF0ZWRSb3V0ZVNuYXBzaG90LCBzdGF0ZTogUm91dGVyU3RhdGVTbmFwc2hvdCkge1xyXG5cdFx0dHJ5IHtcclxuXHRcdFx0aWYodGhpcy5rZXljbG9hay5pc1Rva2VuRXhwaXJlZCgpKXtcclxuXHRcdFx0XHRhd2FpdCB0aGlzLmtleWNsb2FrLnVwZGF0ZVRva2VuKCk7IFxyXG5cdFx0XHR9XHJcblx0XHQgIH0gY2F0Y2ggKGVycm9yKSB7XHJcblx0XHRcdGF3YWl0IHRoaXMua2V5Y2xvYWsubG9naW4oe1xyXG5cdFx0XHQgIHJlZGlyZWN0VXJpOiB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgc3RhdGUudXJsXHJcblx0XHRcdH0pO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7IFxyXG5cdFx0ICB9XHJcblx0XHQgIFxyXG5cdFx0aWYgKCF0aGlzLmF1dGhlbnRpY2F0ZWQpIHtcclxuXHRcdFx0YXdhaXQgdGhpcy5rZXljbG9hay5sb2dpbih7XHJcblx0XHRcdFx0cmVkaXJlY3RVcmk6IHdpbmRvdy5sb2NhdGlvbi5vcmlnaW4gKyBzdGF0ZS51cmxcclxuXHRcdFx0fSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Y29uc3QgcmVxdWlyZWRSb2xlcyA9IHJvdXRlLmRhdGFbJ3JvbGVzJ107XHJcblxyXG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHJlcXVpcmVkUm9sZXMpIHx8IHJlcXVpcmVkUm9sZXMubGVuZ3RoID09PSAwKSB7XHJcblx0XHRcdHJldHVybiB0cnVlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGNvbnN0IGF1dGhvcml6ZWQgPSByZXF1aXJlZFJvbGVzLmV2ZXJ5KChyb2xlKSA9PiB0aGlzLnJvbGVzLmluY2x1ZGVzKHJvbGUpKTtcclxuXHJcblx0XHRpZiAoIWF1dGhvcml6ZWQpIHtcclxuXHRcdFx0Y29uc29sZS5lcnJvcignVXNlciBub3QgYXV0aG9yaXplZCB0byBhY2Nlc3MgdGhpcyByb3V0ZScpO1xyXG5cdFx0XHRyZXR1cm4gZmFsc2U7XHJcblx0XHR9IGVsc2UgcmV0dXJuIHRydWU7XHJcblx0fVxyXG59XHJcbiJdfQ==
@@ -76,4 +76,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImpor
76
76
  type: Injectable,
77
77
  args: [{ providedIn: 'root' }]
78
78
  }], ctorParameters: () => [{ type: i1.Router }] });
79
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBb0JqQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNDLG1CQUFjLEdBQW9CO1lBQ3pDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1NBQy9CLENBQUM7UUF6QkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCLENBQUMsT0FBTztvQkFDdkIsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxNQUFNO2dCQUNQLEtBQUssaUJBQWlCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxLQUFLLGlCQUFpQixDQUFDLFlBQVksQ0FBQztnQkFDcEMsS0FBSyxpQkFBaUIsQ0FBQyxrQkFBa0I7b0JBQ2xDLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO29CQUN6Qyw4QkFBOEI7b0JBQzlCLE1BQU07WUFDUixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JGLFVBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBVUQsSUFBSSxDQUFDLE9BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3BFLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsVUFBb0IsRUFBRSxRQUFpQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsV0FBcUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQS9FVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha09wdGlvbnMsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBLZXljbG9ha0xvZ2luT3B0aW9ucyB9IGZyb20gJ2tleWNsb2FrLWpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2U/LnVwZGF0ZVRva2VuKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBrZXljbG9hayA9IGluamVjdChLZXljbG9ha1NlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBLZXljbG9ha09wdGlvbnMgPSB7XHJcblx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcgfSxcclxuXHRcdGJlYXJlckV4Y2x1ZGVkVXJsczogWycvYXNzZXRzJ11cclxuXHR9O1xyXG5cclxuXHRpbml0KGNvbmZpZ3M6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaW5pdCh7IC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsIGNvbmZpZzogY29uZmlncyB9KTtcclxuXHR9XHJcblxyXG5cdGxvZ2luKG9wdGlvbnM/OiBLZXljbG9ha0xvZ2luT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsubG9naW4ob3B0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRsb2dvdXQocmVkaXJlY3RVcmk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ291dChyZWRpcmVjdFVyaSk7IC8vIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuXHR9XHJcblxyXG5cdGlzVXNlckluUm9sZShyb2xlOiBzdHJpbmcsIHJlc291cmNlPzogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1VzZXJJblJvbGUocm9sZSwgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0Z2V0VXNlclJvbGVzKHJlYWxtUm9sZXM/OiBib29sZWFuLCByZXNvdXJjZT86IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFVzZXJSb2xlcyhyZWFsbVJvbGVzLCByZXNvdXJjZSk7XHJcblx0fVxyXG5cclxuXHRpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNMb2dnZWRJbigpO1xyXG5cdH1cclxuXHJcblx0aXNUb2tlbkV4cGlyZWQobWluVmFsaWRpdHk/OiBudW1iZXIpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5KTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVRva2VuKG1pblZhbGlkaXR5PzogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay51cGRhdGVUb2tlbihtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHRsb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvYWRVc2VyUHJvZmlsZShmb3JjZVJlbG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VybmFtZSgpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJUb2tlbigpOiB2b2lkIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsuY2xlYXJUb2tlbigpO1xyXG5cdH1cclxuXHJcblx0YWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5hZGRUb2tlblRvSGVhZGVyKGhlYWRlcnMpO1xyXG5cdH1cclxufVxyXG4iXX0=
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia2V5Y2xvYWsubWFuYWdlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwva2V5Y2xvYWsvc3JjL2tleWNsb2FrLm1hbmFnZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLGVBQWUsRUFBVSxNQUFNLGlCQUFpQixDQUFDO0FBRTFELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFdkYsT0FBTyxFQUFjLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQzs7O0FBRzFDLE1BQU0sT0FBTyxlQUFlO0lBQzNCLFlBQW1CLE1BQWM7UUFBZCxXQUFNLEdBQU4sTUFBTSxDQUFRO1FBb0JqQixhQUFRLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRTNDLG1CQUFjLEdBQW9CO1lBQ3pDLHdCQUF3QixFQUFFLElBQUk7WUFDOUIsV0FBVyxFQUFFLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO1lBQ3pDLGtCQUFrQixFQUFFLENBQUMsU0FBUyxDQUFDO1NBQy9CLENBQUM7UUF6QkQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7WUFDakQsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFLENBQUM7Z0JBQ3BCLEtBQUssaUJBQWlCLENBQUMsT0FBTztvQkFDdkIsVUFBVyxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNsRCxNQUFNO2dCQUNQLEtBQUssaUJBQWlCLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxLQUFLLGlCQUFpQixDQUFDLFlBQVksQ0FBQztnQkFDcEMsS0FBSyxpQkFBaUIsQ0FBQyxrQkFBa0I7b0JBQ2xDLFVBQVcsQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO29CQUN6Qyw4QkFBOEI7b0JBQzlCLE1BQU07WUFDUixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLFlBQVksZUFBZSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ3JGLFVBQVcsQ0FBQyxlQUFlLEVBQUUsV0FBVyxFQUFFLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBVUQsSUFBSSxDQUFDLE9BQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGNBQWMsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN4RSxDQUFDO0lBRUQsS0FBSyxDQUFDLE9BQThCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDckMsQ0FBQztJQUVELE1BQU0sQ0FBQyxXQUFvQjtRQUMxQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMseUJBQXlCO0lBQ3BFLENBQUM7SUFFRCxZQUFZLENBQUMsSUFBWSxFQUFFLFFBQWlCO1FBQzNDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQ25ELENBQUM7SUFFRCxZQUFZLENBQUMsVUFBb0IsRUFBRSxRQUFpQjtRQUNuRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsWUFBWSxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQsVUFBVTtRQUNULE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxVQUFVLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsY0FBYyxDQUFDLFdBQW9CO1FBQ2xDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDbEQsQ0FBQztJQUVELFdBQVcsQ0FBQyxXQUFvQjtRQUMvQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQy9DLENBQUM7SUFFRCxlQUFlLENBQUMsV0FBcUI7UUFDcEMsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBRUQsUUFBUTtRQUNQLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBRUQsV0FBVztRQUNWLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNwQyxDQUFDO0lBRUQsVUFBVTtRQUNULElBQUksQ0FBQyxRQUFRLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUVELGdCQUFnQixDQUFDLE9BQXFCO1FBQ3JDLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNoRCxDQUFDOzhHQS9FVyxlQUFlO2tIQUFmLGVBQWUsY0FERixNQUFNOzsyRkFDbkIsZUFBZTtrQkFEM0IsVUFBVTttQkFBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwSGVhZGVycyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgSW5qZWN0YWJsZSwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25TdGFydCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IEtleWNsb2FrRXZlbnRUeXBlLCBLZXljbG9ha09wdGlvbnMsIEtleWNsb2FrU2VydmljZSB9IGZyb20gJ2tleWNsb2FrLWFuZ3VsYXInO1xyXG5pbXBvcnQgeyBLZXljbG9ha0xvZ2luT3B0aW9ucyB9IGZyb20gJ2tleWNsb2FrLWpzJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxyXG5leHBvcnQgY2xhc3MgS2V5Y2xvYWtNYW5hZ2VyIHtcclxuXHRjb25zdHJ1Y3RvcihwdWJsaWMgcm91dGVyOiBSb3V0ZXIpIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsua2V5Y2xvYWtFdmVudHMkLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuXHRcdFx0c3dpdGNoIChldmVudC50eXBlKSB7XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PblJlYWR5OlxyXG5cdFx0XHRcdFx0KDxhbnk+Z2xvYmFsVGhpcykua2V5Y2xvYWtTZXJ2aWNlID0gdGhpcy5rZXljbG9haztcclxuXHRcdFx0XHRcdGJyZWFrO1xyXG5cdFx0XHRcdGNhc2UgS2V5Y2xvYWtFdmVudFR5cGUuT25BdXRoRXJyb3I6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhMb2dvdXQ6XHJcblx0XHRcdFx0Y2FzZSBLZXljbG9ha0V2ZW50VHlwZS5PbkF1dGhSZWZyZXNoRXJyb3I6XHJcblx0XHRcdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2UgPSBudWxsO1xyXG5cdFx0XHRcdFx0Ly8gdGhpcy5rZXljbG9hay5jbGVhclRva2VuKCk7XHJcblx0XHRcdFx0XHRicmVhaztcclxuXHRcdFx0fVxyXG5cdFx0fSk7XHJcblxyXG5cdFx0dGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKChldmVudCkgPT4gZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uU3RhcnQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG5cdFx0XHQoPGFueT5nbG9iYWxUaGlzKS5rZXljbG9ha1NlcnZpY2U/LnVwZGF0ZVRva2VuKCk7XHJcblx0XHR9KTtcclxuXHR9XHJcblxyXG5cdHB1YmxpYyByZWFkb25seSBrZXljbG9hayA9IGluamVjdChLZXljbG9ha1NlcnZpY2UpO1xyXG5cclxuXHRwcml2YXRlIGRlZmF1bHRPcHRpb25zOiBLZXljbG9ha09wdGlvbnMgPSB7XHJcblx0XHRsb2FkVXNlclByb2ZpbGVBdFN0YXJ0VXA6IHRydWUsXHJcblx0XHRpbml0T3B0aW9uczogeyBvbkxvYWQ6ICdsb2dpbi1yZXF1aXJlZCcgfSxcclxuXHRcdGJlYXJlckV4Y2x1ZGVkVXJsczogWycvYXNzZXRzJ11cclxuXHR9O1xyXG5cclxuXHRpbml0KGNvbmZpZ3M6IGFueSk6IFByb21pc2U8Ym9vbGVhbj4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaW5pdCh7IC4uLnRoaXMuZGVmYXVsdE9wdGlvbnMsIGNvbmZpZzogY29uZmlncyB9KTtcclxuXHR9XHJcblxyXG5cdGxvZ2luKG9wdGlvbnM/OiBLZXljbG9ha0xvZ2luT3B0aW9ucyk6IFByb21pc2U8dm9pZD4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsubG9naW4ob3B0aW9ucyk7XHJcblx0fVxyXG5cclxuXHRsb2dvdXQocmVkaXJlY3RVcmk/OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvZ291dChyZWRpcmVjdFVyaSk7IC8vIHdpbmRvdy5sb2NhdGlvbi5vcmlnaW5cclxuXHR9XHJcblxyXG5cdGlzVXNlckluUm9sZShyb2xlOiBzdHJpbmcsIHJlc291cmNlPzogc3RyaW5nKTogYm9vbGVhbiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5pc1VzZXJJblJvbGUocm9sZSwgcmVzb3VyY2UpO1xyXG5cdH1cclxuXHJcblx0Z2V0VXNlclJvbGVzKHJlYWxtUm9sZXM/OiBib29sZWFuLCByZXNvdXJjZT86IHN0cmluZyk6IHN0cmluZ1tdIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmdldFVzZXJSb2xlcyhyZWFsbVJvbGVzLCByZXNvdXJjZSk7XHJcblx0fVxyXG5cclxuXHRpc0xvZ2dlZEluKCk6IGJvb2xlYW4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuaXNMb2dnZWRJbigpO1xyXG5cdH1cclxuXHJcblx0aXNUb2tlbkV4cGlyZWQobWluVmFsaWRpdHk/OiBudW1iZXIpOiBib29sZWFuIHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmlzVG9rZW5FeHBpcmVkKG1pblZhbGlkaXR5KTtcclxuXHR9XHJcblxyXG5cdHVwZGF0ZVRva2VuKG1pblZhbGlkaXR5PzogbnVtYmVyKTogUHJvbWlzZTxib29sZWFuPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay51cGRhdGVUb2tlbihtaW5WYWxpZGl0eSk7XHJcblx0fVxyXG5cclxuXHRsb2FkVXNlclByb2ZpbGUoZm9yY2VSZWxvYWQ/OiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcclxuXHRcdHJldHVybiB0aGlzLmtleWNsb2FrLmxvYWRVc2VyUHJvZmlsZShmb3JjZVJlbG9hZCk7XHJcblx0fVxyXG5cclxuXHRnZXRUb2tlbigpOiBQcm9taXNlPHN0cmluZz4ge1xyXG5cdFx0cmV0dXJuIHRoaXMua2V5Y2xvYWsuZ2V0VG9rZW4oKTtcclxuXHR9XHJcblxyXG5cdGdldFVzZXJuYW1lKCk6IHN0cmluZyB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5nZXRVc2VybmFtZSgpO1xyXG5cdH1cclxuXHJcblx0Y2xlYXJUb2tlbigpOiB2b2lkIHtcclxuXHRcdHRoaXMua2V5Y2xvYWsuY2xlYXJUb2tlbigpO1xyXG5cdH1cclxuXHJcblx0YWRkVG9rZW5Ub0hlYWRlcihoZWFkZXJzPzogSHR0cEhlYWRlcnMpOiBPYnNlcnZhYmxlPEh0dHBIZWFkZXJzPiB7XHJcblx0XHRyZXR1cm4gdGhpcy5rZXljbG9hay5hZGRUb2tlblRvSGVhZGVyKGhlYWRlcnMpO1xyXG5cdH1cclxuXHJcblx0XHJcbn1cclxuIl19
@@ -66,7 +66,7 @@ export class AppTopbarComponent {
66
66
  this.layoutService.showConfigSidebar();
67
67
  }
68
68
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value"] }] }); }
69
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i1.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value", "badgeStyle", "badgeStyleClass"] }] }); }
70
70
  }
71
71
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, decorators: [{
72
72
  type: Component,
@@ -1,6 +1,7 @@
1
- import { Component, input } from '@angular/core';
1
+ import { Component, ViewChild, input } from '@angular/core';
2
2
  import { ReactiveFormsModule } from '@angular/forms';
3
- import { AutoCompleteModule } from 'primeng/autocomplete';
3
+ import { AutoComplete, AutoCompleteModule } from 'primeng/autocomplete';
4
+ import { ObjectUtils } from 'primeng/utils';
4
5
  import { firstValueFrom } from 'rxjs';
5
6
  import { API_CONFIGS } from 'aril/boot/config/api';
6
7
  import { BaseInputComponent, InputErrorMessagePipe, ValueAccessorDirective } from 'aril/ui/lib';
@@ -18,12 +19,23 @@ export class AssetPickerComponent extends BaseInputComponent {
18
19
  this.placeholder = input('Arama...');
19
20
  this.forceSelection = input(false);
20
21
  this.multiple = input(false);
22
+ this.optionValue = input(null);
23
+ }
24
+ ngAfterViewInit() {
25
+ this.autoCompleteRef.getOptionValue = this.getOptionValue.bind(this);
26
+ }
27
+ getOptionValue(option) {
28
+ return (this.optionValue() ?
29
+ typeof option === 'object' ?
30
+ ObjectUtils.resolveFieldData(option, this.optionValue())
31
+ : option
32
+ : option);
21
33
  }
22
34
  async search(event) {
23
35
  const query = event.query;
24
36
  const payload = {
25
37
  searchText: query,
26
- assetDefinitionCodes: Array.isArray((this.assetCode())) ? this.assetCode() : [this.assetCode()],
38
+ assetDefinitionCodes: Array.isArray(this.assetCode()) ? this.assetCode() : [this.assetCode()],
27
39
  pageSize: 5,
28
40
  pageNumber: 1
29
41
  };
@@ -59,10 +71,13 @@ export class AssetPickerComponent extends BaseInputComponent {
59
71
  return attributes.map((attr) => (attr.valueDesc ? attr.valueDesc : attr.value)).join(' - ');
60
72
  }
61
73
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, deps: [{ token: i1.HttpClient }], target: i0.ɵɵFactoryTarget.Component }); }
62
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null } }, usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
74
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: AssetPickerComponent, isStandalone: true, selector: "aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]", inputs: { assetCode: { classPropertyName: "assetCode", publicName: "assetCode", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, forceSelection: { classPropertyName: "forceSelection", publicName: "forceSelection", isSignal: true, isRequired: false, transformFunction: null }, multiple: { classPropertyName: "multiple", publicName: "multiple", isSignal: true, isRequired: false, transformFunction: null }, optionValue: { classPropertyName: "optionValue", publicName: "optionValue", isSignal: true, isRequired: false, transformFunction: null } }, viewQueries: [{ propertyName: "autoCompleteRef", first: true, predicate: AutoComplete, descendants: true }], usesInheritance: true, hostDirectives: [{ directive: i2.ValueAccessorDirective }], ngImport: i0, template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n", dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "ngmodule", type: AutoCompleteModule }, { kind: "component", type: i4.AutoComplete, selector: "p-autoComplete", inputs: ["minLength", "delay", "style", "panelStyle", "styleClass", "panelStyleClass", "inputStyle", "inputId", "inputStyleClass", "placeholder", "readonly", "disabled", "scrollHeight", "lazy", "virtualScroll", "virtualScrollItemSize", "virtualScrollOptions", "maxlength", "name", "required", "size", "appendTo", "autoHighlight", "forceSelection", "type", "autoZIndex", "baseZIndex", "ariaLabel", "dropdownAriaLabel", "ariaLabelledBy", "dropdownIcon", "unique", "group", "completeOnFocus", "showClear", "field", "dropdown", "showEmptyMessage", "dropdownMode", "multiple", "tabindex", "dataKey", "emptyMessage", "showTransitionOptions", "hideTransitionOptions", "autofocus", "autocomplete", "optionGroupChildren", "optionGroupLabel", "overlayOptions", "suggestions", "itemSize", "optionLabel", "optionValue", "id", "searchMessage", "emptySelectionMessage", "selectionMessage", "autoOptionFocus", "selectOnFocus", "searchLocale", "optionDisabled", "focusOnHover", "variant"], outputs: ["completeMethod", "onSelect", "onUnselect", "onFocus", "onBlur", "onDropdownClick", "onClear", "onKeyUp", "onShow", "onHide", "onLazyLoad"] }, { kind: "directive", type: i5.PrimeTemplate, selector: "[pTemplate]", inputs: ["type", "pTemplate"] }] }); }
63
75
  }
64
76
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AssetPickerComponent, decorators: [{
65
77
  type: Component,
66
- args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>" }]
67
- }], ctorParameters: () => [{ type: i1.HttpClient }] });
68
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvYnVzaW5lc3MtY29tcG9uZW50cy9hc3NldFBpY2tlci9zcmMvYXNzZXQtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvYnVzaW5lc3MtY29tcG9uZW50cy9hc3NldFBpY2tlci9zcmMvYXNzZXQtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXJELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBRTFELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFdEMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7Ozs7OztBQVdoRyxNQUFNLE9BQU8sb0JBQXFCLFNBQVEsa0JBQWtCO0lBUzNELFlBQW9CLElBQWdCO1FBQ25DLEtBQUssRUFBRSxDQUFDO1FBRFcsU0FBSSxHQUFKLElBQUksQ0FBWTtRQVJwQyxjQUFTLEdBQUcsS0FBSyxDQUEyQixJQUFJLENBQUMsQ0FBQztRQUVsRCxnQkFBVyxHQUFHLEtBQUssQ0FBUyxVQUFVLENBQUMsQ0FBQztRQUN4QyxtQkFBYyxHQUFHLEtBQUssQ0FBVSxLQUFLLENBQUMsQ0FBQztRQUN2QyxhQUFRLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBTWpDLENBQUM7SUFFRCxLQUFLLENBQUMsTUFBTSxDQUFDLEtB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OzJGQUc1RCxvQkFBb0I7a0JBUGhDLFNBQVM7aUNBQ0csSUFBSSxZQUNOLGdHQUFnRyxXQUVqRyxDQUFDLG1CQUFtQixFQUFFLHFCQUFxQixFQUFFLGtCQUFrQixDQUFDLGtCQUN6RCxDQUFDLHNCQUFzQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5cclxuaW1wb3J0IHsgQXV0b0NvbXBsZXRlTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hdXRvY29tcGxldGUnO1xyXG5cclxuaW1wb3J0IHsgZmlyc3RWYWx1ZUZyb20gfSBmcm9tICdyeGpzJztcclxuXHJcbmltcG9ydCB7IEFQSV9DT05GSUdTIH0gZnJvbSAnYXJpbC9ib290L2NvbmZpZy9hcGknO1xyXG5pbXBvcnQgeyBCYXNlSW5wdXRDb21wb25lbnQsIElucHV0RXJyb3JNZXNzYWdlUGlwZSwgVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZSB9IGZyb20gJ2FyaWwvdWkvbGliJztcclxuXHJcbmltcG9ydCB7IEFzc2V0UGlja2VyUmVzcG9uc2VEVE8sIEF0dHJpYnV0ZUVsZW1lbnQsIFJlc3VsdCwgU3VnZ2VzdGlvbnNHcm91cERUTyB9IGZyb20gJy4vaW50ZXJmYWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG5cdHN0YW5kYWxvbmU6IHRydWUsXHJcblx0c2VsZWN0b3I6ICdhcmlsLWFzc2V0LXBpY2tlcltuZ01vZGVsXSwgYXJpbC1hc3NldC1waWNrZXJbZm9ybUNvbnRyb2xdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbE5hbWVdJyxcclxuXHR0ZW1wbGF0ZVVybDogJy4vYXNzZXQtcGlja2VyLmNvbXBvbmVudC5odG1sJyxcclxuXHRpbXBvcnRzOiBbUmVhY3RpdmVGb3Jtc01vZHVsZSwgSW5wdXRFcnJvck1lc3NhZ2VQaXBlLCBBdXRvQ29tcGxldGVNb2R1bGVdLFxyXG5cdGhvc3REaXJlY3RpdmVzOiBbVmFsdWVBY2Nlc3NvckRpcmVjdGl2ZV1cclxufSlcclxuZXhwb3J0IGNsYXNzIEFzc2V0UGlja2VyQ29tcG9uZW50IGV4dGVuZHMgQmFzZUlucHV0Q29tcG9uZW50IHtcclxuXHRhc3NldENvZGUgPSBpbnB1dDxzdHJpbmcgfCBzdHJpbmdbXSB8IG51bGw+KG51bGwpO1xyXG5cclxuXHRwbGFjZWhvbGRlciA9IGlucHV0PHN0cmluZz4oJ0FyYW1hLi4uJyk7XHJcblx0Zm9yY2VTZWxlY3Rpb24gPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblx0bXVsdGlwbGUgPSBpbnB1dDxib29sZWFuPihmYWxzZSk7XHJcblxyXG5cdGZpbHRlcmVkU2VsZWN0aW9uSXRlbXMhOiBTdWdnZXN0aW9uc0dyb3VwRFRPW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHR9XHJcblxyXG5cdGFzeW5jIHNlYXJjaChldmVudDogYW55KSB7XHJcblxyXG5cdFx0Y29uc3QgcXVlcnkgPSBldmVudC5xdWVyeTtcclxuXHRcdGNvbnN0IHBheWxvYWQgID0ge1xyXG5cdFx0XHRzZWFyY2hUZXh0OiBxdWVyeSxcclxuXHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZXM6IEFycmF5LmlzQXJyYXkoKHRoaXMuYXNzZXRDb2RlKCkpKSA/IHRoaXMuYXNzZXRDb2RlKCkgOiBbdGhpcy5hc3NldENvZGUoKV0sXHJcblx0XHRcdHBhZ2VTaXplOiA1LFxyXG5cdFx0XHRwYWdlTnVtYmVyOiAxXHJcblx0XHR9O1xyXG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXVzZWxlc3MtZXNjYXBlXHJcblx0XHRjb25zdCByZW1vdGVVcmwgPSBBUElfQ09ORklHUy5hcGkucmVwbGFjZSgvXFwvW15cXC9dK1xcL3YxJC8sIGAvaG9zdC92MWApO1xyXG5cdFx0Y29uc3Qgc2VsZWN0aW9uR3JvdXA6IEFzc2V0UGlja2VyUmVzcG9uc2VEVE8gPSBhd2FpdCBmaXJzdFZhbHVlRnJvbShcclxuXHRcdFx0dGhpcy5odHRwLnBvc3Q8YW55PihyZW1vdGVVcmwgKyAnL21kL2VsYXN0aWMtc2VhcmNoJywgcGF5bG9hZClcclxuXHRcdCk7XHJcblx0XHRjb25zdCBncm91cGVkU2VsZWN0aW9uSXRlbXM6IHsgW2tleTogc3RyaW5nXTogUmVzdWx0W10gfSA9IHRoaXMuZ3JvdXBCeUFzc2V0RGVmaW5pdGlvbkNvZGUoc2VsZWN0aW9uR3JvdXA/LnJlc3VsdCk7XHJcblxyXG5cdFx0Y29uc3QgbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zOiBTdWdnZXN0aW9uc0dyb3VwRFRPW10gPSBbXTtcclxuXHRcdE9iamVjdC5rZXlzKGdyb3VwZWRTZWxlY3Rpb25JdGVtcykubWFwKChrZXk6IHN0cmluZykgPT4ge1xyXG5cdFx0XHRjb25zdCBncm91cERhdGE6IFN1Z2dlc3Rpb25zR3JvdXBEVE8gPSB7IHRleHQ6IGtleSwga2V5OiBrZXksIGl0ZW1zOiBbXSB9O1xyXG5cdFx0XHRncm91cGVkU2VsZWN0aW9uSXRlbXNba2V5XS5tYXAoKGl0ZW06IFJlc3VsdCkgPT4ge1xyXG5cdFx0XHRcdGdyb3VwRGF0YS5pdGVtcy5wdXNoKHtcclxuXHRcdFx0XHRcdGtleTogaXRlbS5pZCxcclxuXHRcdFx0XHRcdHRleHQ6IHRoaXMuZ2V0QXR0aXJpYnV0ZXNWYWx1ZURlc2NyKGl0ZW0uYXR0cmlidXRlcylcclxuXHRcdFx0XHR9KTtcclxuXHRcdFx0fSk7XHJcblx0XHRcdG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9ucy5wdXNoKGdyb3VwRGF0YSk7XHJcblx0XHR9KTtcclxuXHRcdGNvbnNvbGUubG9nKG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9ucyk7XHJcblx0XHR0aGlzLmZpbHRlcmVkU2VsZWN0aW9uSXRlbXMgPSBuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnM7XHJcblx0fVxyXG5cclxuXHRncm91cEJ5QXNzZXREZWZpbml0aW9uQ29kZShhcnJheTogUmVzdWx0W10pOiB7IFtrZXk6IHN0cmluZ106IFJlc3VsdFtdIH0ge1xyXG5cdFx0cmV0dXJuIGFycmF5LnJlZHVjZSgocmVzdWx0OiB7IFtrZXk6IHN0cmluZ106IFJlc3VsdFtdIH0sIGN1cnJlbnRWYWx1ZTogUmVzdWx0KSA9PiB7XHJcblx0XHRcdGNvbnN0IGFzc2V0TmFtZSA9IGN1cnJlbnRWYWx1ZS5hc3NldHNbMF0/LmFzc2V0TmFtZSB8fCAnVW5rbm93bic7XHJcblx0XHRcdGlmICghcmVzdWx0W2Fzc2V0TmFtZV0pIHtcclxuXHRcdFx0XHRyZXN1bHRbYXNzZXROYW1lXSA9IFtdO1xyXG5cdFx0XHR9XHJcblx0XHRcdHJlc3VsdFthc3NldE5hbWVdLnB1c2goY3VycmVudFZhbHVlKTtcclxuXHRcdFx0cmV0dXJuIHJlc3VsdDtcclxuXHRcdH0sIHt9KTtcclxuXHR9XHJcblxyXG5cdGdldEF0dGlyaWJ1dGVzVmFsdWVEZXNjcihhdHRyaWJ1dGVzOiBBdHRyaWJ1dGVFbGVtZW50W10pOiBzdHJpbmcge1xyXG5cdFx0cmV0dXJuIGF0dHJpYnV0ZXMubWFwKChhdHRyKSA9PiAoYXR0ci52YWx1ZURlc2MgPyBhdHRyLnZhbHVlRGVzYyA6IGF0dHIudmFsdWUpKS5qb2luKCcgLSAnKTtcclxuXHR9XHJcblxyXG59XHJcbiIsIjxwLWF1dG9Db21wbGV0ZVxyXG5cdG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcblx0W3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyKClcIlxyXG5cdFttdWx0aXBsZV09XCJtdWx0aXBsZSgpXCJcclxuXHRbZ3JvdXBdPVwidHJ1ZVwiXHJcblx0W2ZvcmNlU2VsZWN0aW9uXT1cImZvcmNlU2VsZWN0aW9uKClcIlxyXG5cdFtkZWxheV09XCI0MDBcIlxyXG5cdFtzdWdnZXN0aW9uc109XCJmaWx0ZXJlZFNlbGVjdGlvbkl0ZW1zXCJcclxuXHQoY29tcGxldGVNZXRob2QpPVwic2VhcmNoKCRldmVudClcIlxyXG5cdFtmb3JtQ29udHJvbF09XCJuZ0NvbnRyb2wuY29udHJvbFwiXHJcblx0W2F1dG9IaWdobGlnaHRdPVwidHJ1ZVwiXHJcblx0KG5nTW9kZWxDaGFuZ2UpPVwibmdDb250cm9sLnZpZXdUb01vZGVsVXBkYXRlKCRldmVudClcIj5cclxuXHQ8bmctdGVtcGxhdGUgbGV0LWdyb3VwIHBUZW1wbGF0ZT1cImdyb3VwXCI+XHJcblx0XHQ8ZGl2IGNsYXNzPVwiZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuXHRcdFx0PHNwYW4gc3R5bGU9XCJmb250LXdlaWdodDogODAwXCI+e3sgZ3JvdXAudGV4dCB9fTwvc3Bhbj5cclxuXHRcdDwvZGl2PlxyXG5cdDwvbmctdGVtcGxhdGU+XHJcbjwvcC1hdXRvQ29tcGxldGU+Il19
78
+ args: [{ standalone: true, selector: 'aril-asset-picker[ngModel], aril-asset-picker[formControl], aril-asset-picker[formControlName]', imports: [ReactiveFormsModule, InputErrorMessagePipe, AutoCompleteModule], hostDirectives: [ValueAccessorDirective], template: "<p-autoComplete\r\n\toptionLabel=\"text\"\r\n\t[optionValue]=\"optionValue()!\"\r\n\t[placeholder]=\"placeholder()\"\r\n\t[multiple]=\"multiple()\"\r\n\t[group]=\"true\"\r\n\t[forceSelection]=\"forceSelection()\"\r\n\t[delay]=\"400\"\r\n\t[suggestions]=\"filteredSelectionItems\"\r\n\t(completeMethod)=\"search($event)\"\r\n\t[formControl]=\"ngControl.control\"\r\n\t[autoHighlight]=\"true\"\r\n\t(ngModelChange)=\"ngControl.viewToModelUpdate($event)\">\r\n\t<ng-template let-group pTemplate=\"group\">\r\n\t\t<div class=\"flex align-items-center\">\r\n\t\t\t<span style=\"font-weight: 800\">{{ group.text }}</span>\r\n\t\t</div>\r\n\t</ng-template>\r\n</p-autoComplete>\r\n" }]
79
+ }], ctorParameters: () => [{ type: i1.HttpClient }], propDecorators: { autoCompleteRef: [{
80
+ type: ViewChild,
81
+ args: [AutoComplete]
82
+ }] } });
83
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXNzZXQtcGlja2VyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvYnVzaW5lc3MtY29tcG9uZW50cy9hc3NldFBpY2tlci9zcmMvYXNzZXQtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2FyaWwvdWkvYnVzaW5lc3MtY29tcG9uZW50cy9hc3NldFBpY2tlci9zcmMvYXNzZXQtcGlja2VyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBaUIsU0FBUyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0UsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQsT0FBTyxFQUFFLFlBQVksRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUMsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUV0QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDbkQsT0FBTyxFQUFFLGtCQUFrQixFQUFFLHFCQUFxQixFQUFFLHNCQUFzQixFQUFFLE1BQU0sYUFBYSxDQUFDOzs7Ozs7O0FBV2hHLE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxrQkFBa0I7SUFXM0QsWUFBb0IsSUFBZ0I7UUFDbkMsS0FBSyxFQUFFLENBQUM7UUFEVyxTQUFJLEdBQUosSUFBSSxDQUFZO1FBVHBDLGNBQVMsR0FBRyxLQUFLLENBQTJCLElBQUksQ0FBQyxDQUFDO1FBRWxELGdCQUFXLEdBQUcsS0FBSyxDQUFTLFVBQVUsQ0FBQyxDQUFDO1FBQ3hDLG1CQUFjLEdBQUcsS0FBSyxDQUFVLEtBQUssQ0FBQyxDQUFDO1FBQ3ZDLGFBQVEsR0FBRyxL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QUcsRUFBRSxDQUFDO1lBQ3hCLENBQUM7WUFDRCxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3JDLE9BQU8sTUFBTSxDQUFDO1FBQ2YsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQ1IsQ0FBQztJQUVELHdCQUF3QixDQUFDLFVBQThCO1FBQ3RELE9BQU8sVUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDN0YsQ0FBQzs4R0F4RVcsb0JBQW9CO2tHQUFwQixvQkFBb0IsbTRCQUNyQixZQUFZLG1JQ3RCeEIsb3FCQW1CQSwyQ0REVyxtQkFBbUIseVRBQXlCLGtCQUFrQjs7MkZBRzVELG9CQUFvQjtrQkFQaEMsU0FBUztpQ0FDRyxJQUFJLFlBQ04sZ0dBQWdHLFdBRWpHLENBQUMsbUJBQW1CLEVBQUUscUJBQXFCLEVBQUUsa0JBQWtCLENBQUMsa0JBQ3pELENBQUMsc0JBQXNCLENBQUM7K0VBR2YsZUFBZTtzQkFBdkMsU0FBUzt1QkFBQyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBWaWV3Q2hpbGQsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFJlYWN0aXZlRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBBdXRvQ29tcGxldGUsIEF1dG9Db21wbGV0ZU1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXV0b2NvbXBsZXRlJztcclxuaW1wb3J0IHsgT2JqZWN0VXRpbHMgfSBmcm9tICdwcmltZW5nL3V0aWxzJztcclxuXHJcbmltcG9ydCB7IGZpcnN0VmFsdWVGcm9tIH0gZnJvbSAncnhqcyc7XHJcblxyXG5pbXBvcnQgeyBBUElfQ09ORklHUyB9IGZyb20gJ2FyaWwvYm9vdC9jb25maWcvYXBpJztcclxuaW1wb3J0IHsgQmFzZUlucHV0Q29tcG9uZW50LCBJbnB1dEVycm9yTWVzc2FnZVBpcGUsIFZhbHVlQWNjZXNzb3JEaXJlY3RpdmUgfSBmcm9tICdhcmlsL3VpL2xpYic7XHJcblxyXG5pbXBvcnQgeyBBc3NldFBpY2tlclJlc3BvbnNlRFRPLCBBdHRyaWJ1dGVFbGVtZW50LCBSZXN1bHQsIFN1Z2dlc3Rpb25zRFRPLCBTdWdnZXN0aW9uc0dyb3VwRFRPIH0gZnJvbSAnLi9pbnRlcmZhY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtYXNzZXQtcGlja2VyW25nTW9kZWxdLCBhcmlsLWFzc2V0LXBpY2tlcltmb3JtQ29udHJvbF0sIGFyaWwtYXNzZXQtcGlja2VyW2Zvcm1Db250cm9sTmFtZV0nLFxyXG5cdHRlbXBsYXRlVXJsOiAnLi9hc3NldC1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxyXG5cdGltcG9ydHM6IFtSZWFjdGl2ZUZvcm1zTW9kdWxlLCBJbnB1dEVycm9yTWVzc2FnZVBpcGUsIEF1dG9Db21wbGV0ZU1vZHVsZV0sXHJcblx0aG9zdERpcmVjdGl2ZXM6IFtWYWx1ZUFjY2Vzc29yRGlyZWN0aXZlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXNzZXRQaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBCYXNlSW5wdXRDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcclxuXHRAVmlld0NoaWxkKEF1dG9Db21wbGV0ZSkgYXV0b0NvbXBsZXRlUmVmITogQXV0b0NvbXBsZXRlO1xyXG5cdGFzc2V0Q29kZSA9IGlucHV0PHN0cmluZyB8IHN0cmluZ1tdIHwgbnVsbD4obnVsbCk7XHJcblxyXG5cdHBsYWNlaG9sZGVyID0gaW5wdXQ8c3RyaW5nPignQXJhbWEuLi4nKTtcclxuXHRmb3JjZVNlbGVjdGlvbiA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRtdWx0aXBsZSA9IGlucHV0PGJvb2xlYW4+KGZhbHNlKTtcclxuXHRvcHRpb25WYWx1ZSA9IGlucHV0PGtleW9mIFN1Z2dlc3Rpb25zRFRPIHwgbnVsbD4obnVsbCk7XHJcblxyXG5cdGZpbHRlcmVkU2VsZWN0aW9uSXRlbXMhOiBTdWdnZXN0aW9uc0dyb3VwRFRPW107XHJcblxyXG5cdGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCkge1xyXG5cdFx0c3VwZXIoKTtcclxuXHR9XHJcblxyXG5cdG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuXHRcdHRoaXMuYXV0b0NvbXBsZXRlUmVmLmdldE9wdGlvblZhbHVlID0gdGhpcy5nZXRPcHRpb25WYWx1ZS5iaW5kKHRoaXMpO1xyXG5cdH1cclxuXHJcblx0Z2V0T3B0aW9uVmFsdWUob3B0aW9uOiBhbnkpIHtcclxuXHRcdHJldHVybiAoXHJcblx0XHRcdHRoaXMub3B0aW9uVmFsdWUoKSA/XHJcblx0XHRcdFx0dHlwZW9mIG9wdGlvbiA9PT0gJ29iamVjdCcgP1xyXG5cdFx0XHRcdFx0T2JqZWN0VXRpbHMucmVzb2x2ZUZpZWxkRGF0YShvcHRpb24sIHRoaXMub3B0aW9uVmFsdWUoKSlcclxuXHRcdFx0XHQ6XHRvcHRpb25cclxuXHRcdFx0Olx0b3B0aW9uXHJcblx0XHQpO1xyXG5cdH1cclxuXHJcblx0YXN5bmMgc2VhcmNoKGV2ZW50OiBhbnkpIHtcclxuXHRcdGNvbnN0IHF1ZXJ5ID0gZXZlbnQucXVlcnk7XHJcblx0XHRjb25zdCBwYXlsb2FkID0ge1xyXG5cdFx0XHRzZWFyY2hUZXh0OiBxdWVyeSxcclxuXHRcdFx0YXNzZXREZWZpbml0aW9uQ29kZXM6IEFycmF5LmlzQXJyYXkodGhpcy5hc3NldENvZGUoKSkgPyB0aGlzLmFzc2V0Q29kZSgpIDogW3RoaXMuYXNzZXRDb2RlKCldLFxyXG5cdFx0XHRwYWdlU2l6ZTogNSxcclxuXHRcdFx0cGFnZU51bWJlcjogMVxyXG5cdFx0fTtcclxuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby11c2VsZXNzLWVzY2FwZVxyXG5cdFx0Y29uc3QgcmVtb3RlVXJsID0gQVBJX0NPTkZJR1MuYXBpLnJlcGxhY2UoL1xcL1teXFwvXStcXC92MSQvLCBgL2hvc3QvdjFgKTtcclxuXHRcdGNvbnN0IHNlbGVjdGlvbkdyb3VwOiBBc3NldFBpY2tlclJlc3BvbnNlRFRPID0gYXdhaXQgZmlyc3RWYWx1ZUZyb20oXHJcblx0XHRcdHRoaXMuaHR0cC5wb3N0PGFueT4ocmVtb3RlVXJsICsgJy9tZC9lbGFzdGljLXNlYXJjaCcsIHBheWxvYWQpXHJcblx0XHQpO1xyXG5cdFx0Y29uc3QgZ3JvdXBlZFNlbGVjdGlvbkl0ZW1zOiB7IFtrZXk6IHN0cmluZ106IFJlc3VsdFtdIH0gPSB0aGlzLmdyb3VwQnlBc3NldERlZmluaXRpb25Db2RlKHNlbGVjdGlvbkdyb3VwPy5yZXN1bHQpO1xyXG5cclxuXHRcdGNvbnN0IG5ld0ZpbHRlcmVkR3JvdXBTdWdnZXN0aW9uczogU3VnZ2VzdGlvbnNHcm91cERUT1tdID0gW107XHJcblx0XHRPYmplY3Qua2V5cyhncm91cGVkU2VsZWN0aW9uSXRlbXMpLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcclxuXHRcdFx0Y29uc3QgZ3JvdXBEYXRhOiBTdWdnZXN0aW9uc0dyb3VwRFRPID0geyB0ZXh0OiBrZXksIGtleToga2V5LCBpdGVtczogW10gfTtcclxuXHRcdFx0Z3JvdXBlZFNlbGVjdGlvbkl0ZW1zW2tleV0ubWFwKChpdGVtOiBSZXN1bHQpID0+IHtcclxuXHRcdFx0XHRncm91cERhdGEuaXRlbXMucHVzaCh7XHJcblx0XHRcdFx0XHRrZXk6IGl0ZW0uaWQsXHJcblx0XHRcdFx0XHR0ZXh0OiB0aGlzLmdldEF0dGlyaWJ1dGVzVmFsdWVEZXNjcihpdGVtLmF0dHJpYnV0ZXMpXHJcblx0XHRcdFx0fSk7XHJcblx0XHRcdH0pO1xyXG5cdFx0XHRuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnMucHVzaChncm91cERhdGEpO1xyXG5cdFx0fSk7XHJcblx0XHRjb25zb2xlLmxvZyhuZXdGaWx0ZXJlZEdyb3VwU3VnZ2VzdGlvbnMpO1xyXG5cdFx0dGhpcy5maWx0ZXJlZFNlbGVjdGlvbkl0ZW1zID0gbmV3RmlsdGVyZWRHcm91cFN1Z2dlc3Rpb25zO1xyXG5cdH1cclxuXHJcblx0Z3JvdXBCeUFzc2V0RGVmaW5pdGlvbkNvZGUoYXJyYXk6IFJlc3VsdFtdKTogeyBba2V5OiBzdHJpbmddOiBSZXN1bHRbXSB9IHtcclxuXHRcdHJldHVybiBhcnJheS5yZWR1Y2UoKHJlc3VsdDogeyBba2V5OiBzdHJpbmddOiBSZXN1bHRbXSB9LCBjdXJyZW50VmFsdWU6IFJlc3VsdCkgPT4ge1xyXG5cdFx0XHRjb25zdCBhc3NldE5hbWUgPSBjdXJyZW50VmFsdWUuYXNzZXRzWzBdPy5hc3NldE5hbWUgfHwgJ1Vua25vd24nO1xyXG5cdFx0XHRpZiAoIXJlc3VsdFthc3NldE5hbWVdKSB7XHJcblx0XHRcdFx0cmVzdWx0W2Fzc2V0TmFtZV0gPSBbXTtcclxuXHRcdFx0fVxyXG5cdFx0XHRyZXN1bHRbYXNzZXROYW1lXS5wdXNoKGN1cnJlbnRWYWx1ZSk7XHJcblx0XHRcdHJldHVybiByZXN1bHQ7XHJcblx0XHR9LCB7fSk7XHJcblx0fVxyXG5cclxuXHRnZXRBdHRpcmlidXRlc1ZhbHVlRGVzY3IoYXR0cmlidXRlczogQXR0cmlidXRlRWxlbWVudFtdKTogc3RyaW5nIHtcclxuXHRcdHJldHVybiBhdHRyaWJ1dGVzLm1hcCgoYXR0cikgPT4gKGF0dHIudmFsdWVEZXNjID8gYXR0ci52YWx1ZURlc2MgOiBhdHRyLnZhbHVlKSkuam9pbignIC0gJyk7XHJcblx0fVxyXG59XHJcbiIsIjxwLWF1dG9Db21wbGV0ZVxyXG5cdG9wdGlvbkxhYmVsPVwidGV4dFwiXHJcblx0W29wdGlvblZhbHVlXT1cIm9wdGlvblZhbHVlKCkhXCJcclxuXHRbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXIoKVwiXHJcblx0W211bHRpcGxlXT1cIm11bHRpcGxlKClcIlxyXG5cdFtncm91cF09XCJ0cnVlXCJcclxuXHRbZm9yY2VTZWxlY3Rpb25dPVwiZm9yY2VTZWxlY3Rpb24oKVwiXHJcblx0W2RlbGF5XT1cIjQwMFwiXHJcblx0W3N1Z2dlc3Rpb25zXT1cImZpbHRlcmVkU2VsZWN0aW9uSXRlbXNcIlxyXG5cdChjb21wbGV0ZU1ldGhvZCk9XCJzZWFyY2goJGV2ZW50KVwiXHJcblx0W2Zvcm1Db250cm9sXT1cIm5nQ29udHJvbC5jb250cm9sXCJcclxuXHRbYXV0b0hpZ2hsaWdodF09XCJ0cnVlXCJcclxuXHQobmdNb2RlbENoYW5nZSk9XCJuZ0NvbnRyb2wudmlld1RvTW9kZWxVcGRhdGUoJGV2ZW50KVwiPlxyXG5cdDxuZy10ZW1wbGF0ZSBsZXQtZ3JvdXAgcFRlbXBsYXRlPVwiZ3JvdXBcIj5cclxuXHRcdDxkaXYgY2xhc3M9XCJmbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG5cdFx0XHQ8c3BhbiBzdHlsZT1cImZvbnQtd2VpZ2h0OiA4MDBcIj57eyBncm91cC50ZXh0IH19PC9zcGFuPlxyXG5cdFx0PC9kaXY+XHJcblx0PC9uZy10ZW1wbGF0ZT5cclxuPC9wLWF1dG9Db21wbGV0ZT5cclxuIl19
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJpbC11aS10b29sdGlwLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90b29sdGlwL2FyaWwtdWktdG9vbHRpcC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsU0FBUyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBHZW5lcmF0ZWQgYnVuZGxlIGluZGV4LiBEbyBub3QgZWRpdC5cbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2luZGV4JztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ export * from './src/tooltip-component';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3Rvb2x0aXAvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx5QkFBeUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vc3JjL3Rvb2x0aXAtY29tcG9uZW50JztcclxuIl19
@@ -0,0 +1,23 @@
1
+ import { Component, input } from '@angular/core';
2
+ import { TooltipModule } from 'primeng/tooltip';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "primeng/tooltip";
5
+ export class TooltipComponent {
6
+ constructor() {
7
+ this.text = input('');
8
+ this.template = input();
9
+ this.position = input('right'); // (right, top, bottom, left)
10
+ this.showDelay = input(0); // (ms)
11
+ this.hideDelay = input(0); // (ms)
12
+ this.tooltipStyle = input({});
13
+ this.tooltipStyleClass = input('');
14
+ this.appendTo = input('body');
15
+ }
16
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TooltipComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
17
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.1.2", type: TooltipComponent, isStandalone: true, selector: "aril-tooltip", inputs: { text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, template: { classPropertyName: "template", publicName: "template", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, showDelay: { classPropertyName: "showDelay", publicName: "showDelay", isSignal: true, isRequired: false, transformFunction: null }, hideDelay: { classPropertyName: "hideDelay", publicName: "hideDelay", isSignal: true, isRequired: false, transformFunction: null }, tooltipStyle: { classPropertyName: "tooltipStyle", publicName: "tooltipStyle", isSignal: true, isRequired: false, transformFunction: null }, tooltipStyleClass: { classPropertyName: "tooltipStyleClass", publicName: "tooltipStyleClass", isSignal: true, isRequired: false, transformFunction: null }, appendTo: { classPropertyName: "appendTo", publicName: "appendTo", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "<span\r\n\t[pTooltip]=\"template() ?? text()\"\r\n\t[tooltipPosition]=\"position()\"\r\n\t[showDelay]=\"showDelay()\"\r\n\t[hideDelay]=\"hideDelay()\"\r\n\t[style]=\"tooltipStyle()\"\r\n\t[tooltipStyleClass]=\"tooltipStyleClass()\"\r\n\t[appendTo]=\"appendTo()\">\r\n\t<ng-content></ng-content>\r\n</span>\r\n", dependencies: [{ kind: "ngmodule", type: TooltipModule }, { kind: "directive", type: i1.Tooltip, selector: "[pTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "pTooltip", "tooltipDisabled", "tooltipOptions"] }] }); }
18
+ }
19
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: TooltipComponent, decorators: [{
20
+ type: Component,
21
+ args: [{ standalone: true, selector: 'aril-tooltip', imports: [TooltipModule], template: "<span\r\n\t[pTooltip]=\"template() ?? text()\"\r\n\t[tooltipPosition]=\"position()\"\r\n\t[showDelay]=\"showDelay()\"\r\n\t[hideDelay]=\"hideDelay()\"\r\n\t[style]=\"tooltipStyle()\"\r\n\t[tooltipStyleClass]=\"tooltipStyleClass()\"\r\n\t[appendTo]=\"appendTo()\">\r\n\t<ng-content></ng-content>\r\n</span>\r\n" }]
22
+ }] });
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC1jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9hcmlsL3VpL3Rvb2x0aXAvc3JjL3Rvb2x0aXAtY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXJpbC91aS90b29sdGlwL3NyYy90b29sdGlwLWNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRTlELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7O0FBUWhELE1BQU0sT0FBTyxnQkFBZ0I7SUFON0I7UUFPQyxTQUFJLEdBQUcsS0FBSyxDQUFTLEVBQUUsQ0FBQyxDQUFDO1FBQ3pCLGFBQVEsR0FBRyxLQUFLLEVBQTJCLENBQUM7UUFDNUMsYUFBUSxHQUFHLEtBQUssQ0FBUyxPQUFPLENBQUMsQ0FBQyxDQUFDLDZCQUE2QjtRQUNoRSxjQUFTLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztRQUNyQyxjQUFTLEdBQUcsS0FBSyxDQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTztRQUNyQyxpQkFBWSxHQUFHLEtBQUssQ0FBTSxFQUFFLENBQUMsQ0FBQztRQUM5QixzQkFBaUIsR0FBRyxLQUFLLENBQVMsRUFBRSxDQUFDLENBQUM7UUFDdEMsYUFBUSxHQUFHLEtBQUssQ0FBTSxNQUFNLENBQUMsQ0FBQztLQUM5Qjs4R0FUWSxnQkFBZ0I7a0dBQWhCLGdCQUFnQiw2bkNDVjdCLHVUQVVBLDJDREZXLGFBQWE7OzJGQUVYLGdCQUFnQjtrQkFONUIsU0FBUztpQ0FDRyxJQUFJLFlBQ04sY0FBYyxXQUVmLENBQUMsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBUZW1wbGF0ZVJlZiwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbmltcG9ydCB7IFRvb2x0aXBNb2R1bGUgfSBmcm9tICdwcmltZW5nL3Rvb2x0aXAnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcblx0c3RhbmRhbG9uZTogdHJ1ZSxcclxuXHRzZWxlY3RvcjogJ2FyaWwtdG9vbHRpcCcsXHJcblx0dGVtcGxhdGVVcmw6ICcuL3Rvb2x0aXAtY29tcG9uZW50Lmh0bWwnLFxyXG5cdGltcG9ydHM6IFtUb29sdGlwTW9kdWxlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcENvbXBvbmVudCB7XHJcblx0dGV4dCA9IGlucHV0PHN0cmluZz4oJycpO1xyXG5cdHRlbXBsYXRlID0gaW5wdXQ8VGVtcGxhdGVSZWY8YW55PiB8IG51bGw+KCk7XHJcblx0cG9zaXRpb24gPSBpbnB1dDxzdHJpbmc+KCdyaWdodCcpOyAvLyAocmlnaHQsIHRvcCwgYm90dG9tLCBsZWZ0KVxyXG5cdHNob3dEZWxheSA9IGlucHV0PG51bWJlcj4oMCk7IC8vIChtcylcclxuXHRoaWRlRGVsYXkgPSBpbnB1dDxudW1iZXI+KDApOyAvLyAobXMpXHJcblx0dG9vbHRpcFN0eWxlID0gaW5wdXQ8YW55Pih7fSk7XHJcblx0dG9vbHRpcFN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCcnKTtcclxuXHRhcHBlbmRUbyA9IGlucHV0PGFueT4oJ2JvZHknKTtcclxufVxyXG4iLCI8c3BhblxyXG5cdFtwVG9vbHRpcF09XCJ0ZW1wbGF0ZSgpID8/IHRleHQoKVwiXHJcblx0W3Rvb2x0aXBQb3NpdGlvbl09XCJwb3NpdGlvbigpXCJcclxuXHRbc2hvd0RlbGF5XT1cInNob3dEZWxheSgpXCJcclxuXHRbaGlkZURlbGF5XT1cImhpZGVEZWxheSgpXCJcclxuXHRbc3R5bGVdPVwidG9vbHRpcFN0eWxlKClcIlxyXG5cdFt0b29sdGlwU3R5bGVDbGFzc109XCJ0b29sdGlwU3R5bGVDbGFzcygpXCJcclxuXHRbYXBwZW5kVG9dPVwiYXBwZW5kVG8oKVwiPlxyXG5cdDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuPC9zcGFuPlxyXG4iXX0=
@@ -96,6 +96,17 @@ class AuthGuard extends KeycloakAuthGuard {
96
96
  this.keycloak = keycloak;
97
97
  }
98
98
  async isAccessAllowed(route, state) {
99
+ try {
100
+ if (this.keycloak.isTokenExpired()) {
101
+ await this.keycloak.updateToken();
102
+ }
103
+ }
104
+ catch (error) {
105
+ await this.keycloak.login({
106
+ redirectUri: window.location.origin + state.url
107
+ });
108
+ return false;
109
+ }
99
110
  if (!this.authenticated) {
100
111
  await this.keycloak.login({
101
112
  redirectUri: window.location.origin + state.url
@@ -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/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.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","import { HttpHandlerFn, HttpInterceptorFn, HttpRequest } from '@angular/common/http';\r\n\r\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\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\r\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\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\r\n\t\tconst requiredRoles = route.data['roles'];\r\n\r\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\r\n\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}\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;AAoBjB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC;AAE3C,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;QAzBD,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,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;AACrF,YAAA,UAAW,CAAC,eAAe,EAAE,WAAW,EAAE,CAAC;AAClD,SAAC,CAAC,CAAC;KACH;AAUD,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;8GA/EW,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;;;MCNrB,eAAe,GAAsB,CAAC,GAAyB,EAAE,IAAmB,KAAI;IACpG,MAAM,KAAK,GAAS,UAAW,CAAC,eAAe,EAAE,SAAS,EAAE,KAAK,CAAC;AAElE,IAAA,MAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC;AACzB,QAAA,UAAU,EAAE;YACX,aAAa,EAAE,CAAU,OAAA,EAAA,KAAK,CAAE,CAAA;AAChC,SAAA;AACD,KAAA,CAAC,CAAC;AAEH,IAAA,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;AACtB;;ACJM,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;AAEM,IAAA,MAAM,eAAe,CAAC,KAA6B,EAAE,KAA0B,EAAA;AACrF,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;QAED,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAE1C,QAAA,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;AAChE,YAAA,OAAO,IAAI,CAAC;SACZ;QAED,MAAM,UAAU,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAE5E,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;8GA3BW,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;;;ACPD;;AAEG;;;;"}
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.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\nexport const authInterceptor: HttpInterceptorFn = (req: HttpRequest<unknown>, next: HttpHandlerFn) => {\r\n\tconst token = (<any>globalThis).keycloakService?._instance?.token;\r\n\r\n\tconst authReq = req.clone({\r\n\t\tsetHeaders: {\r\n\t\t\tAuthorization: `Bearer ${token}`\r\n\t\t}\r\n\t});\r\n\r\n\treturn next(authReq);\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, Router, RouterStateSnapshot } from '@angular/router';\r\n\r\nimport { KeycloakAuthGuard, KeycloakService } from 'keycloak-angular';\r\n\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\r\n\tpublic async isAccessAllowed(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n\t\ttry {\r\n\t\t\tif(this.keycloak.isTokenExpired()){\r\n\t\t\t\tawait this.keycloak.updateToken(); \r\n\t\t\t}\r\n\t\t } catch (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\r\n\t\tconst requiredRoles = route.data['roles'];\r\n\r\n\t\tif (!Array.isArray(requiredRoles) || requiredRoles.length === 0) {\r\n\t\t\treturn true;\r\n\t\t}\r\n\r\n\t\tconst authorized = requiredRoles.every((role) => this.roles.includes(role));\r\n\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}\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -909,7 +909,7 @@ class AppTopbarComponent {
909
909
  this.layoutService.showConfigSidebar();
910
910
  }
911
911
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
912
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value"] }] }); }
912
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.1.2", type: AppTopbarComponent, isStandalone: true, selector: "app-topbar", viewQueries: [{ propertyName: "menuButton", first: true, predicate: ["menubutton"], descendants: true }], ngImport: i0, template: "<div class=\"layout-topbar\">\r\n\t<div class=\"topbar-start\">\r\n\t\t<button #menubutton type=\"button\" class=\"topbar-menubutton p-link p-trigger\" (click)=\"onMenuButtonClick()\">\r\n\t\t\t<i class=\"pi pi-bars\"></i>\r\n\t\t</button>\r\n\t\t<img [src]=\"filePath()\" class=\"mr-3\" alt=\"yeap\" />\r\n\t</div>\r\n\r\n\t<div class=\"topbar-search\" style=\"width: 50rem\">\r\n\t\t<span class=\"p-input-icon-left\" style=\"width: 100%\">\r\n\t\t\t<i class=\"pi pi-search\"></i>\r\n\t\t\t<input\r\n\t\t\t\ttype=\"text\"\r\n\t\t\t\tpInputText\r\n\t\t\t\tvariant=\"filled\"\r\n\t\t\t\tplaceholder=\"Genel Arama\"\r\n\t\t\t\tstyle=\"background: #EFF3F8;border: none; height: 42px;\"\r\n\t\t\t\tclass=\"p-inputtext p-component p-element sm:w-full\" />\r\n\t\t</span>\r\n\t</div>\r\n\r\n\t<div class=\"topbar-end mr-2\">\r\n\t\t<ul class=\"topbar-menu\">\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-sitemap\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-history\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button icon=\"pi pi-heart\" severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-button severity=\"secondary\" [text]=\"true\" [rounded]=\"true\" (click)=\"onProfileButtonClick()\">\r\n\t\t\t\t\t{{ username[0] | uppercase }}\r\n\t\t\t\t</p-button>\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<p-divider layout=\"vertical\" styleClass=\"h-1rem border-500 m-0\" />\r\n\t\t\t</li>\r\n\t\t\t<li>\r\n\t\t\t\t<i class=\"pi pi-bell\" severity=\"info\" pBadge [value]=\"0\"></i>\r\n\t\t\t</li>\r\n\t\t</ul>\r\n\t</div>\r\n</div>\r\n\r\n<app-breadcrumb class=\"topbar-breadcrumb\"></app-breadcrumb>\r\n", dependencies: [{ kind: "ngmodule", type: ButtonModule }, { kind: "component", type: i6.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "raised", "rounded", "text", "plain", "severity", "outlined", "link", "tabindex", "size", "style", "styleClass", "badgeClass", "ariaLabel", "autofocus"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "component", type: AppBreadcrumbComponent, selector: "app-breadcrumb" }, { kind: "pipe", type: UpperCasePipe, name: "uppercase" }, { kind: "ngmodule", type: FormsModule }, { kind: "ngmodule", type: DividerModule }, { kind: "component", type: i2$1.Divider, selector: "p-divider", inputs: ["style", "styleClass", "layout", "type", "align"] }, { kind: "ngmodule", type: BadgeModule }, { kind: "directive", type: i3$2.BadgeDirective, selector: "[pBadge]", inputs: ["badgeDisabled", "badgeSize", "size", "severity", "value", "badgeStyle", "badgeStyleClass"] }] }); }
913
913
  }
914
914
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.2", ngImport: i0, type: AppTopbarComponent, decorators: [{
915
915
  type: Component,