@koalarx/ui 13.0.2 → 13.0.3
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/alert/esm2020/lib/dialog-alert.component.mjs +2 -2
- package/alert/fesm2015/koalarx-ui-alert.mjs +2 -2
- package/alert/fesm2020/koalarx-ui-alert.mjs +2 -2
- package/core/esm2020/lib/services/api-requester/koala.api-requester.service.mjs +18 -1
- package/core/fesm2015/koalarx-ui-core.mjs +17 -0
- package/core/fesm2015/koalarx-ui-core.mjs.map +1 -1
- package/core/fesm2020/koalarx-ui-core.mjs +17 -0
- package/core/fesm2020/koalarx-ui-core.mjs.map +1 -1
- package/core/lib/services/api-requester/koala.api-requester.service.d.ts +1 -0
- package/folder-page/esm2020/lib/folder.component.mjs +2 -2
- package/folder-page/fesm2015/koalarx-ui-folder-page.mjs +2 -2
- package/folder-page/fesm2020/koalarx-ui-folder-page.mjs +2 -2
- package/form/esm2020/lib/dynamic-form/dynamic-form.component.mjs +3 -3
- package/form/fesm2015/koalarx-ui-form.mjs +2 -2
- package/form/fesm2015/koalarx-ui-form.mjs.map +1 -1
- package/form/fesm2020/koalarx-ui-form.mjs +2 -2
- package/form/fesm2020/koalarx-ui-form.mjs.map +1 -1
- package/list/esm2020/lib/list.component.mjs +3 -3
- package/list/fesm2015/koalarx-ui-list.mjs +2 -2
- package/list/fesm2015/koalarx-ui-list.mjs.map +1 -1
- package/list/fesm2020/koalarx-ui-list.mjs +2 -2
- package/list/fesm2020/koalarx-ui-list.mjs.map +1 -1
- package/menu/esm2020/lib/menu.component.mjs +2 -2
- package/menu/fesm2015/koalarx-ui-menu.mjs +2 -2
- package/menu/fesm2020/koalarx-ui-menu.mjs +2 -2
- package/package.json +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"koalarx-ui-core.mjs","sources":["../../../projects/core/src/lib/loader/loader-bar-page.component.ts","../../../projects/core/src/lib/loader/loader-bar-page.component.html","../../../projects/core/src/lib/page/notifications/notification.component.ts","../../../projects/core/src/lib/page/notifications/notification.component.html","../../../projects/core/src/lib/page/koala-language.helper.ts","../../../projects/core/src/lib/environments/koalaEnvironment.ts","../../../projects/core/src/lib/services/token/token.factory.ts","../../../projects/core/src/lib/services/token/koala.token.service.ts","../../../projects/core/src/lib/services/openid/koala.oauth.config.ts","../../../projects/core/src/lib/services/loader/koala.loader.service.ts","../../../projects/core/src/lib/services/openid/koala.oauth2.service.ts","../../../projects/core/src/lib/page/page.component.ts","../../../projects/core/src/lib/page/page.component.html","../../../projects/core/src/lib/page/koala.page.module.ts","../../../projects/core/src/lib/router/koala.parameter-hash-location-stategy.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.not-found.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.unhautorized.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.client.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.success.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.errors.helper.ts","../../../projects/core/src/lib/services/api-requester/helpers/service/koala.request-header.helper.ts","../../../projects/core/src/lib/services/api-requester/factory/koala.response.factory.ts","../../../projects/core/src/lib/services/api-requester/koala.api-requester.service.ts","../../../projects/core/src/lib/services/api-requester/koala.api-requester.base.ts","../../../projects/core/src/lib/services/request/koala.request.service.ts","../../../projects/core/src/lib/ngx-koala.module.ts","../../../projects/core/src/index.ts","../../../projects/core/src/koalarx-ui-core.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'app-loader-page',\n templateUrl: 'loader-bar-page.component.html',\n styleUrls: ['loader-bar-page.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderBarPageComponent {\n @Input() show: boolean = false;\n @Input() progress: number = 0;\n @Input() typeLoader: ProgressBarMode = 'indeterminate';\n}\n","<div [ngClass]=\"{'bouncedInDown d-block': show}\" class=\"animated loader-bar-page\">\n <mat-progress-bar\n [bufferValue]=\"progress\"\n [mode]=\"typeLoader\"\n [value]=\"progress\"\n color=\"primary\">\n </mat-progress-bar>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { KoalaNotificationInterface } from './koala.notification.interface';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'koala-notification-list',\n templateUrl: 'notification.component.html',\n styleUrls: ['notification.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent implements OnChanges {\n @Input() notifications: KoalaNotificationInterface[];\n @Output() deleteAll = new EventEmitter<boolean>(false);\n @Output() delete = new EventEmitter<KoalaNotificationInterface>(null);\n\n private appName: string;\n\n constructor(private titleService: Title) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.appName) {\n this.appName = this.titleService.getTitle();\n }\n if (changes.notifications && this.notifications.length > 0) {\n this.titleService.setTitle(`(${this.notifications.length}) ${this.appName}`);\n } else {\n this.titleService.setTitle(this.appName);\n }\n }\n\n public deleteAllNotifications() {\n this.deleteAll.emit(true);\n }\n\n public deleteNotification(notification: KoalaNotificationInterface) {\n this.delete.emit(notification);\n }\n}\n","<div (click)=\"$event.stopPropagation()\" class=\"notifications-content\">\n <div class=\"title\">\n <mat-icon>info</mat-icon>\n <h2>Notificações</h2>\n <span class=\"spacer\"></span>\n <button (click)=\"deleteAllNotifications()\" *ngIf=\"notifications.length > 0\" class=\"btn-delete-all\"\n mat-icon-button\n matTooltip=\"Excluir Todas\" matTooltipPosition=\"above\">\n <mat-icon>delete_sweep</mat-icon>\n </button>\n </div>\n <mat-action-list *ngIf=\"notifications.length > 0 else noNotifications\">\n <mat-list-item *ngFor=\"let notification of notifications\" [routerLink]=\"notification.redirectTo\" class=\"itemList\">\n <button (click)=\"deleteNotification(notification)\" class=\"delete-notification\" color=\"warn\" mat-icon-button\n matTooltip=\"Excluir\" matTooltipPosition=\"above\"\n mat-list-icon>\n <mat-icon>delete</mat-icon>\n </button>\n <mat-icon class=\"iconList\" mat-list-icon>announcement</mat-icon>\n <h4 class=\"titleList\" mat-line>{{notification.title}}</h4>\n <p [innerHTML]=\"notification.text\" class=\"textList\" mat-line></p>\n </mat-list-item>\n </mat-action-list>\n <ng-template #noNotifications>\n <div class=\"empty\">\n <mat-icon>mood</mat-icon>\n <p>Tudo certo por aqui!</p>\n </div>\n </ng-template>\n</div>\n","export type KoalaLanguageType = 'ptBr'|'enUs';\n\n// @dynamic\nexport class KoalaLanguageHelper {\n private static language: KoalaLanguageType\n\n public static setLanguage(language: KoalaLanguageType) {\n this.language = language;\n }\n\n public static getLanguage() {\n return this.language;\n }\n\n public static getBtnLabel() {\n switch (this.language) {\n case \"enUs\":\n return 'Send';\n default:\n return 'Enviar';\n }\n }\n\n public static getYesMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'Yes';\n default:\n return 'Sim';\n }\n }\n\n public static getNoMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'No';\n default:\n return 'Não';\n }\n }\n\n public static getInternalServerErrorMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'We had a problem with your request.<br/>Sorry for the inconvenience.<br/><br/>Please try again later.';\n default:\n return 'Tivemos um problema com sua requisição.<br/>Sinto muito pelo transtorno.<br/><br/>Gentileza tentar novamente mais tarde.';\n }\n }\n\n public static getRequiredMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `${label} is required.`;\n default:\n return `Nenhum valor informado.`;\n }\n }\n\n public static getInvalidMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `${label} is invalid.`;\n default:\n return `Registro inválido.`;\n }\n }\n\n public static getMinMessage(min: string) {\n switch (this.language) {\n case \"enUs\":\n return `Inform at least the value of ${min}.`;\n default:\n return `Informe no mínimo o valor de ${min}.`\n }\n }\n\n public static getMaxMessage(max: string) {\n switch (this.language) {\n case \"enUs\":\n return `Inform at most the value of ${max}.`;\n default:\n return `Informe no máximo o valor de ${max}.`\n }\n }\n\n public static getMinLengthMessage(minLength: string) {\n switch (this.language) {\n case \"enUs\":\n return `Enter a value with at least ${minLength} characters.`;\n default:\n return `Informe um valor com no mínimo ${minLength} caracteres.`\n }\n }\n\n public static getMaxLengthMessage(maxLength: string) {\n switch (this.language) {\n case \"enUs\":\n return `Enter a value with at most ${maxLength} characters.`;\n default:\n return `Informe um valor com no máximo ${maxLength} caracteres.`\n }\n }\n\n public static getDateMinMessage() {\n switch (this.language) {\n case \"enUs\":\n return `Inform at least the date of `;\n default:\n return `Informe no mínimo a data de `\n }\n }\n\n public static getDateMaxMessage() {\n switch (this.language) {\n case \"enUs\":\n return `Inform at most the date of `;\n default:\n return `Informe no máximo a data de `\n }\n }\n\n public static getAutocompleteMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `You must select a option.`;\n default:\n return `Você deve selecionar uma opção.`;\n }\n }\n}\n","import { KoalaOauth2ConfigInterface } from \"../services/openid/koala-oauth2-config.interface\";\n\nexport interface KoalaEnvironmentOAuthInterface extends KoalaOauth2ConfigInterface {\n name: string;\n}\n\nexport interface KoalaEnvironmentInterface {\n production: boolean;\n storageTokenName?: string;\n storageOAuthTypeName?: string;\n endpointApi?: string;\n authenticator?: string;\n oauthConfig?: KoalaEnvironmentOAuthInterface[];\n}\n\n// @dynamic\nexport class KoalaEnvironment {\n public static environment: KoalaEnvironmentInterface;\n}\n","import { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\n// @dynamic\nexport class TokenFactory {\n private static token?: string;\n\n public static init() {\n if (!!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName)) {\n TokenFactory.setToken(localStorage.getItem(KoalaEnvironment.environment?.storageTokenName));\n }\n }\n\n public static setToken(token: string) {\n localStorage.setItem(KoalaEnvironment.environment?.storageTokenName, token);\n this.token = token;\n }\n\n public static getToken() {\n return this.token;\n }\n\n public static removeToken() {\n localStorage.removeItem(KoalaEnvironment.environment?.storageTokenName);\n this.token = null;\n }\n\n public static hasToken() {\n return !!this.token && !!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName);\n }\n\n public static logout() {\n this.removeToken();\n }\n}\n","import jwt from 'jwt-decode';\n\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TokenFactory } from \"./token.factory\";\n\nexport interface KoalaOAuth2TokenInterface {\n accessToken: string;\n idToken: string;\n refreshToken: string;\n login: string;\n expired: number;\n code: string;\n}\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaTokenService implements OnDestroy {\n private token$ = new BehaviorSubject<string>(null);\n private intervalToken: any;\n\n constructor() {\n this.verifySession();\n }\n\n ngOnDestroy() {\n if (this.intervalToken) {\n clearInterval(this.intervalToken);\n }\n }\n\n public setToken(token: string) {\n if (TokenFactory.hasToken()) { this.token$.next(token); }\n TokenFactory.setToken(token);\n }\n\n public getToken(): BehaviorSubject<string> {\n return this.token$;\n }\n\n public getDecodedToken<T>(): T|null {\n return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);\n }\n\n public getOAuth2Token(): KoalaOAuth2TokenInterface|null {\n return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);\n }\n\n public removeToken() {\n TokenFactory.removeToken();\n }\n\n private verifySession() {\n TokenFactory.init();\n this.token$.next(TokenFactory.getToken());\n this.intervalToken = setInterval(() => {\n if (!TokenFactory.hasToken() && this.token$.getValue()) {\n this.token$.next(null);\n } else if (TokenFactory.hasToken() && !this.token$.getValue()) {\n this.token$.next(TokenFactory.getToken());\n }\n }, 300);\n }\n}\n","import { BehaviorSubject } from \"rxjs\";\nimport { KoalaOauth2ConfigInterface } from \"./koala-oauth2-config.interface\";\nimport { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\n// @dynamic\nexport class KoalaOauthConfig {\n public static config = new BehaviorSubject<KoalaOauth2ConfigInterface>(\n KoalaOauthConfig.getOAuthConfig(KoalaOauthConfig.getConfig())\n );\n\n public static getConfig() {\n return localStorage.getItem(KoalaEnvironment.environment?.storageOAuthTypeName);\n }\n\n public static hasConfig() {\n return !!this.getConfig();\n }\n\n public static setConfig(type: string) {\n localStorage.setItem(KoalaEnvironment.environment?.storageOAuthTypeName, type);\n this.config.next(this.getOAuthConfig(type));\n }\n\n private static getOAuthConfig(type?: string) {\n const environment = KoalaEnvironment.environment?.oauthConfig?.find(config => config.name === type) ?? null;\n\n return environment ?? {\n customQueryParams: {\n client_secret: null\n },\n clientId: null,\n scope: null,\n domain: null,\n strictDiscoveryDocumentValidation: false,\n indexLoginName: 'name'\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from 'rxjs';\nimport { LoaderBarPageInterface } from '../../loader/loader-bar-page.interface';\n\nexport const KOALA_LOADER_SUBJECT = new BehaviorSubject<LoaderBarPageInterface>({\n typeLoader: 'indeterminate',\n progress: 0,\n show: false\n});\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaLoaderService {\n\n public getLoaderSubject() {\n return KOALA_LOADER_SUBJECT;\n }\n\n public create(loaderConfig?: {\n progress?: number;\n typeLoader?: \"buffer\" | \"determinate\" | \"query\" | \"indeterminate\"\n }) {\n KOALA_LOADER_SUBJECT.next({\n show: true,\n progress: loaderConfig.progress ? loaderConfig.progress : 0,\n typeLoader: loaderConfig.typeLoader ? loaderConfig.typeLoader : 'indeterminate'\n });\n }\n\n public dismiss() {\n KOALA_LOADER_SUBJECT.next({\n show: false,\n progress: 0,\n typeLoader: 'indeterminate'\n });\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { koala } from \"@koalarx/utils\";\nimport { Router } from \"@angular/router\";\nimport { KoalaTokenService } from \"../token/koala.token.service\";\nimport { KoalaOauthConfig } from \"./koala.oauth.config\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport interface KoalaOAuth2Config {\n redirectUri: string;\n responseType: string;\n clientId: string;\n scope: string;\n issuer: string;\n redirectUriAfterAuth?: string;\n customQueryParams?: object;\n endpointToken?: string;\n endpointClaims?: string;\n}\n\nexport interface KoalaOpenIdConfig {\n authorization_endpoint: string;\n check_session_iframe: string;\n claim_types_supported: string[];\n claims_parameter_supported: boolean;\n claims_supported: string[];\n code_challenge_methods_supported: string[];\n end_session_endpoint: string;\n grant_types_supported: string[];\n id_token_encryption_alg_values_supported: string[];\n id_token_encryption_enc_values_supported: string[];\n id_token_signing_alg_values_supported: string[];\n introspection_endpoint: string;\n issuer: string;\n jwks_uri: string;\n registration_endpoint: string;\n request_object_signing_alg_values_supported: string[];\n request_parameter_supported: boolean;\n request_uri_parameter_supported: boolean;\n response_modes_supported: string[];\n response_types_supported: string[];\n scopes_supported: string[];\n subject_types_supported: string[];\n tls_client_certificate_bound_access_tokens: boolean;\n token_endpoint: string;\n token_endpoint_auth_methods_supported: string[];\n token_endpoint_auth_signing_alg_values_supported: string[];\n token_introspection_endpoint: string;\n userinfo_endpoint: string;\n userinfo_signing_alg_values_supported: string[];\n}\n\nexport type EventType =\n 'loadedConfig'\n | 'getToken'\n | 'getTokenError'\n | 'refreshToken'\n | 'getClaims'\n | 'userAuthenticated'\n | 'authenticate'\n | 'logout'\n | 'errorLoadConfig';\n\nconst STATE_STORAGE_NAME = 'koala_openid_state';\n\n@Injectable()\nexport class KoalaOAuth2Service implements OnDestroy {\n public events = new BehaviorSubject<EventType>(null);\n private config: KoalaOAuth2Config;\n private openIdOptions: KoalaOpenIdConfig;\n private eventSubscription: Subscription;\n private state?: string;\n private code?: string;\n private token?: any = {};\n private claims?: any;\n private refreshTokenInterval?: any;\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private tokenService: KoalaTokenService\n ) {\n this.generateState();\n }\n\n ngOnDestroy() {\n if (this.eventSubscription) {\n this.eventSubscription.unsubscribe();\n }\n if (this.refreshTokenInterval) {\n clearInterval(this.refreshTokenInterval);\n }\n }\n\n public hasOpenIdConfig() {\n return !!this.openIdOptions;\n }\n\n public configure(options: KoalaOAuth2Config) {\n this.config = options;\n }\n\n public loadDiscoveryDocumentAndTryLogin() {\n\n if (this.eventSubscription) {\n this.eventSubscription.unsubscribe();\n }\n this.eventSubscription = this.events.subscribe(event => {\n if (event === 'authenticate') {\n this.generateState();\n localStorage.setItem(STATE_STORAGE_NAME, this.state);\n window.location.href = `${this.openIdOptions.authorization_endpoint}?response_type=${this.config.responseType}&client_id=${this.config.clientId}&state=${this.state}&redirect_uri=${this.config.redirectUri}&scope=${this.config.scope}`;\n } else if (event === 'getToken') {\n const urlParams = new URLSearchParams(window.location.search);\n const state = urlParams.get('state');\n if (state === this.state) {\n const code = urlParams.get('code');\n this.getToken(code);\n } else {\n this.logout();\n }\n } else if (event === 'getClaims' || (event === 'refreshToken' && !this.claims)) {\n this.getClaims();\n }\n });\n\n return new Promise((resolve, reject) => {\n this.http.get<KoalaOpenIdConfig>(`${this.config.issuer}/.well-known/openid-configuration`).subscribe(options => {\n this.openIdOptions = options;\n if (window.location.href.indexOf(`state=${this.state}`) >= 0) {\n this.events.next('getToken');\n } else if (!this.tokenService.getOAuth2Token()) {\n this.events.next('loadedConfig');\n }\n resolve(true);\n }, e => {\n console.error(e);\n this.events.next('errorLoadConfig');\n reject(e);\n });\n });\n }\n\n public async initLoginFlow(name?: string) {\n if (name) {\n KoalaOauthConfig.setConfig(name);\n await delay(1000);\n }\n\n this.events.next('authenticate');\n }\n\n public getIdentityClaims() {\n return this.claims;\n }\n\n public getAccessToken() {\n return this.token.access_token;\n }\n\n public getIdToken() {\n return this.token.id_token;\n }\n\n public getRefreshToken() {\n return this.token.refresh_token;\n }\n\n public getAccessTokenExpiration() {\n const expires_in = new Date();\n expires_in.setSeconds(this.token.expires_in);\n return expires_in.toString();\n }\n\n public getCode() {\n return this.code;\n }\n\n public logout() {\n const logoutInterval = setInterval(() => {\n if (this.hasOpenIdConfig()) {\n if (this.openIdOptions.end_session_endpoint) {\n this.claims = null;\n this.token = null;\n const iframeLogout = document.createElement('iframe');\n iframeLogout.style.display = 'none';\n iframeLogout.src = this.openIdOptions.end_session_endpoint;\n document.querySelector('body').appendChild(iframeLogout);\n }\n this.events.next('logout');\n clearInterval(logoutInterval);\n }\n }, 300);\n }\n\n public initRefreshTokenInterval(code: string, refreshToken: string) {\n if (!this.refreshTokenInterval) {\n this.refreshTokenInterval = setInterval(() => {\n const refreshTokenDate = new Date();\n refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);\n const token = this.tokenService.getOAuth2Token();\n if (token) {\n const expires_in = token.expired;\n if (expires_in) {\n if (new Date(expires_in) <= refreshTokenDate) {\n this.getToken(code, refreshToken);\n }\n }\n }\n }, 1000);\n }\n }\n\n private getToken(code: string, refreshToken?: string) {\n if (refreshToken) {\n clearInterval(this.refreshTokenInterval);\n this.refreshTokenInterval = null;\n }\n\n const formData = new URLSearchParams();\n let data = koala({\n grant_type: (refreshToken ? 'refresh_token' : 'authorization_code'),\n code,\n redirect_uri: this.config.redirectUri,\n client_id: this.config.clientId\n }).object().merge(this.config.customQueryParams ?? {}).getValue();\n\n if (refreshToken) {\n data = koala(data).object().merge({refresh_token: refreshToken}).getValue();\n }\n\n if (!this.code) {\n this.code = code;\n }\n\n Object.keys(data).forEach(indexName => {\n formData.append(indexName, data[indexName]);\n });\n\n this.http.post(this.config.endpointToken ?? this.openIdOptions.token_endpoint, formData.toString(), {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n }).subscribe((token: any) => {\n this.token = token;\n this.events.next((refreshToken ? 'refreshToken' : 'getClaims'));\n }, () => this.events.next('getTokenError'));\n }\n\n private getClaims() {\n this.http.get(this.config.endpointClaims ?? this.openIdOptions.userinfo_endpoint, {\n headers: {\n Authorization: `Bearer ${this.getAccessToken()}`\n }\n }).subscribe(userInfo => {\n this.claims = userInfo;\n this.state = null;\n localStorage.removeItem(STATE_STORAGE_NAME);\n this.events.next(this.events.getValue() === 'refreshToken' ? 'refreshToken' : 'userAuthenticated');\n }, () => this.events.next('loadedConfig'));\n }\n\n private generateState() {\n this.state = localStorage.getItem(STATE_STORAGE_NAME) ?\n localStorage.getItem(STATE_STORAGE_NAME) :\n randomString(30, {\n numbers: true,\n uppercase: true,\n lowercase: true\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\nimport { LoaderBarPageInterface } from '../loader/loader-bar-page.interface';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { KoalaTokenService } from '../services/token/koala.token.service';\nimport { KoalaLoaderService } from '../services/loader/koala.loader.service';\nimport { KoalaNotificationInterface } from './notifications/koala.notification.interface';\nimport { KoalaUserMenuOptionsInterface } from './koala.user-menu-options.interface';\nimport { KoalaPagePalletColorsInterface } from './koala-page-pallet-colors.interface';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { KoalaMenuService, menuStateSubject } from '@koalarx/ui/menu';\nimport jwtEncode from \"jwt-encode\";\nimport { TokenFactory } from \"../services/token/token.factory\";\nimport { KoalaOAuth2Service } from \"../services/openid/koala.oauth2.service\";\nimport { KoalaEnvironment } from \"../environments/koalaEnvironment\";\nimport { KoalaOauthConfig } from \"../services/openid/koala.oauth.config\";\nimport { KoalaOauth2ConfigInterface } from \"../services/openid/koala-oauth2-config.interface\";\nimport { KoalaLanguageHelper, KoalaLanguageType } from \"./koala-language.helper\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\n@Component({\n selector: 'koala-page',\n templateUrl: 'page.component.html',\n styleUrls: ['page.component.css'],\n providers: [KoalaTokenService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageComponent implements OnInit {\n @Input() showMenu: boolean = true;\n @Input() color: ThemePalette;\n @Input() logo: string;\n @Input() startMenuOpened = true;\n @Input() showLoaderPage: BehaviorSubject<boolean>;\n @Input() messageLoaderPage: BehaviorSubject<string>;\n @Input() defaultPage: string;\n @Input() openPages: string[];\n @Input() notifications: BehaviorSubject<KoalaNotificationInterface[]>;\n @Input() userMenuOptions: KoalaUserMenuOptionsInterface[] = [];\n @Input() palletColors: KoalaPagePalletColorsInterface;\n @Input() language: KoalaLanguageType = 'ptBr';\n @Output() validatingScope = new EventEmitter<boolean>(false);\n @Output() logoutEmitter = new EventEmitter<boolean>(false);\n @Output() deleteAllNotifications = new EventEmitter<boolean>(false);\n @Output() deleteNotification = new EventEmitter<KoalaNotificationInterface>(null);\n\n public loaderSubject: BehaviorSubject<LoaderBarPageInterface>;\n public username$ = new BehaviorSubject<string>('');\n public firstUserLetter$ = new BehaviorSubject<string>('');\n public currentUrl: string;\n public logged$ = new BehaviorSubject<boolean>(false);\n public validationScope$ = new BehaviorSubject<boolean>(false);\n public isMobile: boolean = this.deviceService.isMobile();\n\n private defaultPalletColors: KoalaPagePalletColorsInterface = {\n scrollbarColor: '#1976D2',\n scrollbarColorHover: '#1565C0',\n userPresentationBackground: '#f1f1f1',\n userPresentationUserBackground: '#1976D2',\n userPresentationUserFontColor: '#fff',\n firstColor: '#fff',\n secondColor: '#F1F1F1',\n bodyBackground: '#eeeeee',\n checkboxBackground: '#1976d2',\n checkboxColor: '#ffffff',\n fontColor: '#1976D2',\n fontHoverColor: '#1976D2',\n fontActiveColor: '#1565C0',\n menuTitleBackground: 'rgba(0,0,0,.1)',\n menuTitleColor: 'rgba(0,0,0,.3)',\n menuBackground: '#fafafa',\n menuOptionsBackground: '#eaeaea',\n menuOptionsColor: '#a5a5a5',\n menuOptionsColorHover: '#1976D2',\n menuOptionsColorActive: '#1565c0',\n toolbarBackground: '#ffffff',\n toolbarColor: '#1976d2',\n listBackground: '#fff',\n listContentBackground: '#fff',\n listTitleItemColor: '#838383',\n listItemColor: '#3e3e3e',\n listItemBackgroudHover: '#F1F1F1',\n listItemBackgroundActive: '#EEE',\n shadowColorTableList: 'rgba(25, 118, 210, .4)'\n };\n private oauthEventsSubscription: Subscription;\n\n @ViewChild('drawer', {static: true}) private menu: MatDrawer;\n\n constructor(\n private tokenService: KoalaTokenService,\n private router: Router,\n private loaderService: KoalaLoaderService,\n private menuService: KoalaMenuService,\n private oauth2Service: KoalaOAuth2Service,\n private deviceService: DeviceDetectorService,\n ) {\n this.loaderSubject = loaderService.getLoaderSubject();\n }\n\n ngOnInit() {\n KoalaLanguageHelper.setLanguage(this.language);\n this.initOAuth2();\n if (this.openPages) {\n if (this.openPages.indexOf('/') < 0) {\n this.openPages.push('/');\n }\n if (this.openPages.indexOf('/login') < 0) {\n this.openPages.push('/login');\n }\n } else {\n this.openPages = [\n '/',\n '/login'\n ];\n }\n\n this.tokenService.getToken()?.subscribe(token => {\n this.logged$.next(!!token);\n if (this.logged$.getValue()) {\n const decodedToken = this.tokenService.getDecodedToken<{ login: string }>();\n this.username$.next(decodedToken.login);\n this.firstUserLetter$.next(decodedToken.login.charAt(0).toUpperCase());\n if (!this.isMobile) {\n this.menuService.open();\n }\n }\n if (this.logged$.getValue() && this.openPages?.indexOf(this.currentUrl) >= 0 && this.defaultPage) {\n this.router.navigate([this.defaultPage]).then();\n } else if (!this.logged$.getValue() && this.currentUrl && this.openPages?.indexOf(this.currentUrl) < 0) {\n this.router.navigate(['login']).then();\n return false;\n }\n });\n this.router.events.subscribe(event => {\n switch (true) {\n case event instanceof NavigationStart: {\n this.loaderService.create({typeLoader: 'indeterminate'});\n break;\n }\n\n case event instanceof NavigationEnd:\n case event instanceof NavigationCancel:\n case event instanceof NavigationError: {\n this.loaderService.dismiss();\n if (event instanceof NavigationEnd) {\n if (this.isMobile) {\n this.menuService.close();\n }\n\n this.currentUrl = event.url.split('?')[0];\n\n if (event.url.indexOf('/login?clientId=') < 0) {\n if (this.logged$.getValue() && this.defaultPage && this.openPages?.indexOf(this.currentUrl) >= 0) {\n this.router.navigate([this.defaultPage]).then();\n return false;\n } else if (!this.logged$.getValue() && this.openPages?.indexOf(this.currentUrl) < 0) {\n this.router.navigate(['login']).then();\n return false;\n }\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n });\n if (this.palletColors) {\n Object.keys(this.defaultPalletColors).forEach(indexName => {\n if (\n !this.palletColors.hasOwnProperty(indexName) ||\n !this.palletColors[indexName]\n ) {\n this.palletColors[indexName] = this.defaultPalletColors[indexName];\n }\n });\n } else {\n this.palletColors = this.defaultPalletColors;\n }\n this.defineColor();\n\n if (this.showMenu) {\n menuStateSubject.subscribe(async (state) => {\n if (this.menu) {\n if (state === 'close') {\n if (this.menu.opened) {\n await this.menu.close();\n }\n } else if (state === 'open') {\n if (!this.menu.opened) {\n await this.menu.open();\n }\n }\n }\n });\n if (this.startMenuOpened && this.logged$.getValue()) {\n if (!this.isMobile) {\n this.menuService.open();\n }\n } else {\n this.menuService.close();\n }\n } else {\n this.menuService.close();\n }\n\n this.validationScope$.subscribe(scope => this.validatingScope.emit(scope));\n }\n\n public async toogleMenu() {\n this.menuService.clearConfig();\n if (this.menu) {\n await this.menu.toggle();\n }\n }\n\n public async logout() {\n if (KoalaEnvironment.environment?.oauthConfig) {\n this.oauth2Service.logout();\n }\n this.menuService.close();\n this.tokenService.removeToken();\n this.tokenService.getToken().next(null);\n this.logoutEmitter.emit(true);\n }\n\n public defineColor() {\n const css = `\n*::-webkit-scrollbar-thumb {background: ${this.palletColors.scrollbarColor};width: 2px;}\n*::-webkit-scrollbar-thumb:hover {background: ${this.palletColors.scrollbarColorHover};}\ninput:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {color: ${this.palletColors.fontColor}!important;}\n.menu-container,\nbody {background: ${this.palletColors.bodyBackground}!important;}\ninput:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {-webkit-box-shadow: 0 0 0 1000px ${this.palletColors.firstColor} inset !important;}\n.mat-button-disabled,\ninput::placeholder,\n.mat-form-field-appearance-outline .mat-form-field-outline {color: ${this.palletColors.fontColor}!important;opacity: .6;}\n.mat-hint,\n.mat-expansion-indicator::after,\n.more-items-content .items .titleForm,\nfieldset legend,\n.mat-paginator-container,\n.mat-form-field-flex mat-icon {color: ${this.palletColors.fontColor}!important;}\n.mat-paginator-container,\n.mat-card,\n.mat-expansion-panel,\n.mat-select-panel,\n.mat-autocomplete-panel,\n.mat-menu-panel {background: ${this.palletColors.firstColor}}\n.mat-selected {background-color: rgba(0,0,0,.3)!important;}\n.question p,\n.alert-message,\n.mat-action-row,\n.mat-option,\n.mat-menu-item,\n.mat-menu-item mat-icon {color: ${this.palletColors.fontColor}!important}\n.mat-select-value,\n.mat-select-arrow,\n.mat-form-field input,\n.mat-form-field textarea,\n.mat-form-field-appearance-outline:not(.mat-form-field-invalid) .mat-form-field-outline-thick,\n.mat-form-field label,\n.select-multiple-native select {color: ${this.palletColors.fontColor}!important;caret-color: ${this.palletColors.fontColor}!important;}\n.mat-form-field-underline,\n.mat-form-field-appearance-fill .mat-form-field-underline::before,\n.mat-form-field-ripple {background: ${this.palletColors.fontColor}!important;}\n.mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {background-color: ${this.palletColors.checkboxBackground} !important;}\n.mat-checkbox-checkmark-path {stroke: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-checkmark {fill: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-mixedmark {background-color: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-frame {border-color: ${this.palletColors.checkboxOutlineColor}!important;}\n.mat-checkbox-label {color: ${this.palletColors.fontColor}!important;}\n.mat-radio-outer-circle {border-color: ${this.palletColors.checkboxBackground}!important;}\n.mat-radio-ripple .mat-ripple-element, .mat-radio-inner-circle {background-color: ${this.palletColors.checkboxBackground} !important;}\n.home-list-cards .list .mat-list-item-content .mat-icon {color: ${this.palletColors.fontColor};}\n.home-list-cards .list button .mat-badge-content {background: ${this.palletColors.fontColor};}\n.koala-dialog .mat-dialog-title h2 {color: ${this.palletColors.fontColor};}\n.koala-dialog .mat-dialog-title mat-icon {color: ${this.palletColors.fontColor}!important;}\n.koala-dialog .mat-dialog-container {background: ${this.palletColors.firstColor}}\n.list-filter mat-icon {color: ${this.palletColors.filterIconColor}!important;}\nkoala-page .menu-options {background: ${this.palletColors.menuBackground};}\nkoala-page .toolbar {background: ${this.palletColors.toolbarBackground};}\nkoala-page .toolbar .btn-collapse-menu,\nkoala-page .btn-toolbar span{color: ${this.palletColors.toolbarColor};}\nkoala-page .btn-toolbar span.icon-user,\n.user-presentation span.icon-user {background: ${this.palletColors.userPresentationUserBackground};color: ${this.palletColors.userPresentationUserFontColor};}\n.user-presentation {background: ${this.palletColors.userPresentationBackground};}\n.user-presentation span.username {color: ${this.palletColors.toolbarColor};}\n.mat-drawer.mat-drawer-push {background-color: ${this.palletColors.bodyBackground};}\nkoala-menu .title {background: ${this.palletColors.menuTitleBackground};color: ${this.palletColors.menuTitleColor};}\nkoala-menu ul li,\nkoala-menu ul li a {color: ${this.palletColors.menuOptionsColor};}\nkoala-menu ul li:hover,\nkoala-menu ul li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li.active,\nkoala-menu ul li.expanded {color: ${this.palletColors.menuOptionsColorActive} !important;border-left: 4px solid ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}\nkoala-menu ul li.active a,\nkoala-menu ul li.expanded a {color: ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}\nkoala-menu ul li li:hover,\nkoala-menu ul li li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li li.active,\nkoala-menu ul li li.active a {color: ${this.palletColors.menuOptionsColorActive} !important;}\nkoala-menu ul li koala-icon svg *,\nkoala-menu ul li a koala-icon svg * {fill: ${this.palletColors.menuOptionsColor};}\nkoala-menu ul li:hover koala-icon svg *,\nkoala-menu ul li:hover a koala-icon svg * {fill: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li.active koala-icon *,\nkoala-menu ul li.expanded koala-icon * {fill: ${this.palletColors.menuOptionsColorActive} !important;}\nkoala-menu ul li li:hover koala-icon *,\nkoala-menu ul li li:hover a koala-icon * {fill: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li li.active koala-icon *,\nkoala-menu ul li li.active a koala-icon * {fill: ${this.palletColors.menuOptionsColorActive}!important;}\n.notifications-content .title {color: ${this.palletColors.notificationTitleColor}!important;}\n.notifications-content .empty,\n.notifications-content .titleList {color: ${this.palletColors.notificationContentTitleColor}!important;}\n.notifications-content .iconList {color: ${this.palletColors.notificationContentIconColor}!important;}\n.notifications-content .textList {color: ${this.palletColors.notificationTitleColor}!important;}\n.list-container {box-shadow: 0 1px 3px ${this.palletColors.shadowColorTableList};}\n.list-container .list table.table-hover tr:hover {background: ${this.palletColors.listItemBackgroudHover};}\n.list-container .list table.table-hover tr:active {background: ${this.palletColors.listItemBackgroundActive};}\n.list-container .list-filter .advanced {background: ${this.palletColors.firstColor};}\n.list-container nav.menu-list {background: ${this.palletColors.firstColor};color: rgba(25, 118, 210, .3);}\n.content {background: ${this.palletColors.listContentBackground};}\n.mat-tab-group .mat-tab-label {color: ${this.palletColors.fontColor};}\n.mat-tab-group .mat-ink-bar {background-color: ${this.palletColors.fontColor}!important;}\n.mat-table {background: ${this.palletColors.listBackground};color: ${this.palletColors.fontColor};}\n.mat-table th {color: ${this.palletColors.listTitleItemColor}!important;}\n.mat-sort-header-arrow {color: ${this.palletColors.listItemColor}!important;}\n.mat-table td {color: ${this.palletColors.listItemColor}!important;}`;\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n head.appendChild(style);\n style.appendChild(document.createTextNode(css));\n }\n\n private initOAuth2() {\n KoalaOauthConfig.config.subscribe(config => this.startConfig(config));\n if (KoalaOauthConfig.hasConfig()) {\n KoalaOauthConfig.setConfig(KoalaOauthConfig.getConfig());\n }\n }\n\n private startConfig(config: KoalaOauth2ConfigInterface) {\n if (config.clientId) {\n this.oauth2Service.configure({\n redirectUri: window.location.origin,\n redirectUriAfterAuth: this.defaultPage,\n responseType: 'code',\n clientId: config.clientId,\n scope: config.scope,\n issuer: config.domain,\n customQueryParams: config.customQueryParams,\n endpointToken: config.endpointToken ?? null,\n endpointClaims: config.endpointClaims ?? null\n });\n this.oauth2Service.loadDiscoveryDocumentAndTryLogin().then();\n\n if (this.oauthEventsSubscription) {\n this.oauthEventsSubscription.unsubscribe();\n }\n this.oauthEventsSubscription = this.oauth2Service.events.subscribe(event => {\n if (event === 'userAuthenticated' || event === 'refreshToken') {\n const claims = this.oauth2Service.getIdentityClaims();\n if (claims && (\n !TokenFactory.hasToken() ||\n (TokenFactory.hasToken() && event === 'refreshToken')\n )) {\n this.tokenService.setToken(jwtEncode({\n accessToken: this.oauth2Service.getAccessToken(),\n idToken: this.oauth2Service.getIdToken(),\n refreshToken: this.oauth2Service.getRefreshToken(),\n login: claims[config.indexLoginName] ?? 'Undefined',\n expired: this.oauth2Service.getAccessTokenExpiration(),\n code: this.oauth2Service.getCode()\n }, 'secret'))\n }\n\n if (event === 'userAuthenticated') {\n setTimeout(() => this.validationScope$.next(false), 300);\n }\n } else if (event === 'getToken') {\n this.validationScope$.next(true);\n }\n });\n }\n }\n}\n","<div *ngIf=\"showLoaderPage | async\" class=\"koala-loader-pg\">\n <div class=\"loader-content\">\n <figure>\n <img [src]=\"logo\" alt=\"Logotipo\"/>\n <figcaption *ngIf=\"(messageLoaderPage | async) as messageLoader\" [innerHTML]=\"messageLoader\"></figcaption>\n </figure>\n <mat-spinner></mat-spinner>\n </div>\n</div>\n<app-loader-page *ngIf=\"(loaderSubject | async) as loader\" [progress]=\"loader.progress\" [show]=\"loader.show\"\n [typeLoader]=\"loader.typeLoader\"></app-loader-page>\n<mat-drawer-container autosize class=\"menu-container\">\n <mat-drawer #drawer class=\"menu-options\" [mode]=\"isMobile ? 'push' : 'side'\">\n <img [src]=\"logo\" alt=\"Logotipo\" id=\"logotipo\"/>\n <ng-content *ngIf=\"showMenu\" select=\"[menu-options]\"></ng-content>\n </mat-drawer>\n\n <mat-toolbar *ngIf=\"!!(logged$ | async) && (username$ | async)\" class=\"toolbar\">\n <img *ngIf=\"!showMenu\" [src]=\"logo\" alt=\"Logotipo Toolbar\" id=\"logotipo-toolbar\"/>\n <button (click)=\"toogleMenu()\" *ngIf=\"showMenu\" [color]=\"color\" class=\"btn-collapse-menu\" mat-icon-button>\n <mat-icon>menu</mat-icon>\n </button>\n <span class=\"spacer\"></span>\n\t <div class=\"menu-toolbar\">\n\t\t <ng-content select=\"[menu-toolbar]\"></ng-content>\n\t </div>\n <div *ngIf=\"(notifications | async) as notificationList\">\n <button *ngIf=\"notifications\" [color]=\"color\" [matMenuTriggerFor]=\"notificationsMenu\" class=\"btn-toolbar\"\n mat-icon-button>\n <mat-icon\n\t [matBadgeHidden]=\"notificationList.length === 0\"\n\t [matBadge]=\"notificationList.length.toString()\"\n\t matBadgeColor=\"warn\">notifications\n </mat-icon>\n </button>\n <mat-menu #notificationsMenu=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n <koala-notification-list\n (delete)=\"deleteNotification.emit($event)\"\n (deleteAll)=\"deleteAllNotifications.emit($event)\"\n [notifications]=\"notificationList\">\n </koala-notification-list>\n </mat-menu>\n </div>\n <button [color]=\"color\" [matMenuTriggerFor]=\"userOptions\" class=\"btn-toolbar\" mat-button>\n <span>{{username$ | async}}</span>\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span>\n </button>\n <mat-menu #userOptions=\"matMenu\" class=\"user-menu menu-list\" yPosition=\"below\">\n <div class=\"user-presentation\">\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span><br/>\n <span class=\"username\">{{username$ | async}}</span>\n </div>\n <button (click)=\"btn.action()\" *ngFor=\"let btn of userMenuOptions\" mat-menu-item>\n <mat-icon>{{btn.icon}}</mat-icon>\n <span>{{btn.name}}</span>\n </button>\n <button (click)=\"logout()\" mat-menu-item>\n <mat-icon>exit_to_app</mat-icon>\n <span>{{language === 'ptBr' ? 'Sair' : 'Logout'}}</span>\n </button>\n </mat-menu>\n </mat-toolbar>\n\n <ng-content class=\"page-content\" select=\"[page-content]\"></ng-content>\n\n</mat-drawer-container>\n\n<ng-content class=\"loading-info-content\" select=\"[loading-info-content]\"></ng-content>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { PageComponent } from \"./page.component\";\nimport { NotificationComponent } from \"./notifications/notification.component\";\nimport { LoaderBarPageComponent } from \"../loader/loader-bar-page.component\";\nimport { MatBadgeModule } from \"@angular/material/badge\";\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n declarations: [\n PageComponent,\n NotificationComponent,\n LoaderBarPageComponent\n ],\n exports: [\n PageComponent,\n RouterModule\n ],\n imports: [\n CommonModule,\n RouterModule,\n MatBadgeModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatToolbarModule,\n MatTooltipModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatListModule,\n MatMenuModule\n ]\n})\nexport class KoalaPageModule {}\n","import { Injectable } from \"@angular/core\";\nimport { HashLocationStrategy } from \"@angular/common\";\nimport { KoalaEnvironment } from \"../environments/koalaEnvironment\";\n\n@Injectable()\nexport class KoalaParameterHashLocationStrategy extends HashLocationStrategy {\n prepareExternalUrl(internal: string): string {\n const hasToken = !!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName);\n return !hasToken ?\n window.location.search + super.prepareExternalUrl(internal) :\n super.prepareExternalUrl(internal);\n }\n}\n","export class KoalaNotFoundError extends Error {\n}\n","export class KoalaUnhautorizedError extends Error {\n}\n","export class KoalaClientError extends Error {\n}\n","export class KoalaSuccessError extends Error {\n}\n","import { KoalaNotFoundError } from \"./koala.not-found.error\";\nimport { KoalaUnhautorizedError } from \"./koala.unhautorized.error\";\nimport { KoalaClientError } from \"./koala.client.error\";\nimport { KoalaSuccessError } from \"./koala.success.error\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { KoalaAlertEnum } from \"@koalarx/ui/alert\";\n\nexport interface KoalaResponseInterface {\n error: boolean;\n alertEnum: KoalaAlertEnum;\n statusCode?: number;\n urlRequest?: string;\n message: string;\n data?: any;\n}\n\nexport class KoalaErrorsHelper {\n public static generate(e: Error | HttpErrorResponse, urlRequest?: string, customMessage?: string): KoalaResponseInterface {\n\n let errorMessage = {\n error: true,\n message: (customMessage ? customMessage : e.message),\n urlRequest\n } as KoalaResponseInterface;\n\n if (e instanceof KoalaSuccessError) {\n errorMessage.error = false;\n errorMessage.statusCode = 200;\n errorMessage.alertEnum = KoalaAlertEnum.success;\n } else if (e instanceof KoalaNotFoundError) {\n errorMessage.statusCode = 404;\n errorMessage.alertEnum = KoalaAlertEnum.notFound;\n } else if (e instanceof KoalaUnhautorizedError) {\n errorMessage.statusCode = 401;\n errorMessage.alertEnum = KoalaAlertEnum.unhautorized;\n } else if (e instanceof KoalaClientError) {\n errorMessage.statusCode = 400;\n errorMessage.alertEnum = KoalaAlertEnum.badRequest;\n } else if (e instanceof HttpErrorResponse) {\n errorMessage.urlRequest = e.url;\n errorMessage.statusCode = e.status;\n errorMessage.alertEnum = KoalaAlertEnum.internalServerError;\n if (e.error && e.error.message) {\n errorMessage.message = e.error.message;\n }\n } else {\n errorMessage.statusCode = 500;\n errorMessage.alertEnum = KoalaAlertEnum.internalServerError;\n }\n\n return errorMessage;\n }\n}\n","import { koala } from \"@koalarx/utils\";\nimport { HttpHeaders } from \"@angular/common/http\";\nimport { KoalaOauthConfig } from \"../../../openid/koala.oauth.config\";\n\nexport class KoalaRequestHeaderHelper {\n\n public static add(token?: string) {\n const headers = koala({}).object();\n\n if (token) { headers.merge({Authorization: 'Bearer ' + token}); }\n if (KoalaOauthConfig.hasConfig()) { headers.merge({Authenticator: KoalaOauthConfig.getConfig()}); }\n\n return headers.getValue() as HttpHeaders;\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { KoalaErrorsHelper, KoalaResponseInterface } from \"../helpers/error/koala.errors.helper\";\nimport { KoalaNotFoundError } from \"../helpers/error/koala.not-found.error\";\nimport { KoalaClientError } from \"../helpers/error/koala.client.error\";\nimport { KoalaUnhautorizedError } from \"../helpers/error/koala.unhautorized.error\";\nimport { KoalaSuccessError } from \"../helpers/error/koala.success.error\";\nimport { KoalaLanguageHelper } from \"../../../page/koala-language.helper\";\n\n// @dynamic\nexport class KoalaResponseFactory {\n\n public static async generateResponse(response: HttpResponse<any>, urlRequest?: string): Promise<KoalaResponseInterface> {\n return new Promise<KoalaResponseInterface>((resolve, reject) => {\n let alert: KoalaResponseInterface;\n switch (response.status) {\n case 200:\n case 201:\n alert = KoalaErrorsHelper.generate(new KoalaSuccessError(response.body?.message), urlRequest);\n alert.data = response.body;\n resolve(alert);\n break;\n case 400:\n alert = KoalaErrorsHelper.generate(new KoalaClientError(response.body.message), urlRequest);\n reject(alert);\n break;\n case 404:\n alert = KoalaErrorsHelper.generate(new KoalaNotFoundError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 401:\n alert = KoalaErrorsHelper.generate(new KoalaUnhautorizedError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 405:\n alert = KoalaErrorsHelper.generate(new KoalaClientError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 500:\n default:\n alert = KoalaErrorsHelper.generate(new Error((response && response.body?.message) ? response.body?.message : KoalaLanguageHelper.getInternalServerErrorMessage()), urlRequest);\n reject(alert);\n break;\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from \"@angular/common/http\";\nimport { KoalaOAuth2Service } from \"../openid/koala.oauth2.service\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { KoalaErrorsHelper } from \"./helpers/error/koala.errors.helper\";\nimport { KoalaRequestHeaderHelper } from \"./helpers/service/koala.request-header.helper\";\nimport { KoalaResponseFactory } from \"./factory/koala.response.factory\";\nimport { first, map } from \"rxjs/operators\";\nimport { TokenFactory } from \"../token/token.factory\";\n\nexport type ApiRequesterType = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n@Injectable({providedIn: \"root\"})\nexport class KoalaApiRequesterService {\n public apiUrl: string;\n public isMockup = false;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private http: HttpClient,\n private oauth2Service: KoalaOAuth2Service\n ) {\n }\n\n public request<T>(method: ApiRequesterType, url: string, data: any = {}): Observable<T> {\n if (data.__zone_symbol__state) {\n data = data.__zone_symbol__value;\n }\n switch (method) {\n case 'post':\n case 'put':\n case 'patch':\n case 'delete':\n return this.promiseSendData<T>(this.postPutDelete(method, url, data), url);\n case 'get':\n let httpParams = new HttpParams();\n Object.keys(data ?? {}).forEach((key) => {\n let dado = data[key];\n if (typeof dado == \"object\") {\n if (dado && dado.hasOwnProperty('length') && dado.length > 0) {\n dado.forEach(item => {\n httpParams = httpParams.append(`${key.replace('[]', '')}[]`, item);\n });\n } else {\n httpParams = httpParams.append(key, dado);\n }\n } else {\n httpParams = httpParams.append(key, dado);\n }\n });\n return this.promiseGetData<T>(this.get(url, httpParams));\n }\n }\n\n public cancelRequests() {\n for (let subscribe of this.subscriptions.values()) {\n subscribe.unsubscribe();\n }\n }\n\n private get<T>(url: string, params: HttpParams) {\n return this.getMethod<T>('get', url, params)\n .pipe(map(response => {\n return response.body\n }));\n }\n\n private postPutDelete(method: ApiRequesterType, url: string, data: any) {\n return this.getMethod<HttpResponse<any>>(method, url, data);\n }\n\n private promiseGetData<T>(request: Observable<T>): Observable<T> {\n return new Observable<T>(observe => {\n this.subscriptions\n .push(request.pipe(first())\n .subscribe({\n next: response => {\n observe.next(response);\n observe.complete();\n },\n error: e => {\n if (e.status === 401) {\n this.oauth2Service.logout();\n }\n observe.error(KoalaErrorsHelper.generate(e));\n }\n }));\n });\n }\n\n private promiseSendData<T>(request: Observable<HttpResponse<any>>, urlRequest?: string): Observable<T> {\n return new Observable<T>(observe => {\n this.subscriptions\n .push(request.pipe(first())\n .subscribe({\n next: response => KoalaResponseFactory.generateResponse(response, urlRequest)\n .then(success => {\n observe.next(success as any);\n observe.complete();\n })\n .catch(error => {\n if (error.status === 401) {\n this.oauth2Service.logout();\n }\n observe.error(error);\n }),\n error: e => observe.error(KoalaErrorsHelper.generate(e))\n }));\n });\n }\n\n private getUrlBase() {\n return this.isMockup ? `${location.origin}/assets/mockup` : this.apiUrl;\n }\n\n private getMethod<T>(method: ApiRequesterType, url: string, data: any | HttpParams = {}) {\n const options = {\n observe: 'response',\n headers: KoalaRequestHeaderHelper.add(TokenFactory.getToken())\n } as {\n headers?: HttpHeaders | {[p: string]: string | string[]};\n observe: \"response\";\n params?: HttpParams | {\n [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\n };\n };\n\n switch (method) {\n case \"post\":\n return this.http.post<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"put\":\n return this.http.put<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"patch\":\n return this.http.patch<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"delete\":\n return this.http.delete<T>(`${this.getUrlBase()}/${url}`, options);\n case \"get\":\n options.params = data;\n return this.http.get<T>(`${this.getUrlBase()}/${url}`, options);\n }\n }\n}\n","import { koala } from \"@koalarx/utils\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaApiRequesterService } from \"./koala.api-requester.service\";\nimport { KoalaResponseInterface } from \"./helpers/error/koala.errors.helper\";\nimport { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\nexport abstract class KoalaApiRequesterBase<EntityType, GetAllType, DataType> {\n\n protected constructor(\n protected koalaService: KoalaApiRequesterService,\n protected endpoint: string,\n isMockup = false\n ) {\n koalaService.apiUrl = KoalaEnvironment.environment?.endpointApi;\n koalaService.isMockup = isMockup;\n }\n\n public getAll(filter?: BehaviorSubject<any> | any) {\n return this.koalaService.request<GetAllType>('get', this.endpoint, this.getParams(filter));\n }\n\n public getById(id: number) {\n return this.koalaService.request<EntityType>('get', this.endpoint + '/' + id);\n }\n\n public getBySomething<Type>(something: any) {\n return this.koalaService.request<Type>('get', this.endpoint + '/' + something);\n }\n\n public save(data: DataType, id?: number) {\n return this.koalaService.request<KoalaResponseInterface>(\n (id ? 'put' : 'post'),\n `${this.endpoint}${(id ? `/${id}` : '')}`,\n data\n );\n }\n\n public delete(id: number) {\n return this.koalaService.request<KoalaResponseInterface>('delete', this.endpoint + '/' + id)\n }\n\n public async cancelRequests() {\n await this.koalaService.cancelRequests();\n }\n\n public async getParams(params?: BehaviorSubject<any> | any) {\n let filter = {} as any;\n if (params instanceof BehaviorSubject) {\n Object.assign(filter, params?.getValue() ?? {});\n } else {\n Object.assign(filter, params ?? {});\n }\n if (\n filter &&\n filter.hasOwnProperty('sort') &&\n filter.hasOwnProperty('order') &&\n filter.hasOwnProperty('limit') &&\n filter.hasOwnProperty('page') &&\n filter.hasOwnProperty('params')\n ) {\n Object.keys(filter.params).forEach(indexName => {\n if (\n `${filter.params[indexName]}` === 'NaN' ||\n filter.params[indexName] === null\n ) {\n filter.params[indexName] = '';\n }\n });\n return koala({})\n .object()\n .merge(filter.params)\n .merge({\n sort: filter.sort,\n order: filter.order,\n limit: filter.limit,\n page: filter.page\n })\n .getValue();\n }\n\n return filter ?? null;\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { KoalaAlertEnum, KoalaAlertService, KoalaRequestCodeToAlertEnumTranslate } from '@koalarx/ui/alert';\nimport { KoalaLanguageHelper } from \"../../page/koala-language.helper\";\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaRequestService {\n\n constructor(private koalaAlertService: KoalaAlertService) {\n }\n\n public request<T>(\n request: Promise<T> | Observable<T>,\n success?: (response: T) => void,\n error?: (error: T) => void\n ) {\n if (request instanceof Promise) {\n request.then((response) => {\n if (success) {\n success(response);\n }\n }).catch(e => {\n if (error) {\n error(e);\n }\n this.showAlertError(e);\n });\n } else {\n return request.subscribe(\n (response) => {\n if (success) {\n success(response);\n }\n },\n (e) => {\n if (error) {\n error(e);\n }\n this.showAlertError(e);\n }\n );\n }\n }\n\n private showAlertError(e: any) {\n const alertEnum = KoalaRequestCodeToAlertEnumTranslate.translate(e.statusCode);\n this.koalaAlertService.create({\n alertEnum,\n message: alertEnum === KoalaAlertEnum.internalServerError\n ? KoalaLanguageHelper.getInternalServerErrorMessage()\n : e.message\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { KoalaOAuth2Service } from \"./services/openid/koala.oauth2.service\";\nimport { KoalaEnvironment, KoalaEnvironmentInterface } from \"./environments/koalaEnvironment\";\nimport { KoalaPageModule } from \"./page/koala.page.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n KoalaPageModule\n ],\n exports: [\n HttpClientModule,\n KoalaPageModule\n ],\n providers: [\n KoalaOAuth2Service\n ]\n})\nexport class NgxKoalaModule {\n static forRoot(environment: KoalaEnvironmentInterface): ModuleWithProviders<NgxKoalaModule> {\n environment.storageOAuthTypeName = environment.storageOAuthTypeName ?? 'koala_ui_oauth_type';\n environment.storageTokenName = environment.storageTokenName ?? 'koala_ui_token';\n\n KoalaEnvironment.environment = environment;\n\n return {\n ngModule: NgxKoalaModule,\n providers: [KoalaOAuth2Service]\n };\n }\n}\n","//#region [COMPONENTS]\nexport * from './lib/loader/loader-bar-page.component';\nexport * from './lib/loader/loader-bar-page.interface';\nexport * from './lib/loader/loader-config.interface';\nexport * from './lib/loader/loader-bar-page.component';\nexport * from './lib/page/notifications/koala.notification.interface';\nexport * from './lib/page/notifications/notification.component';\nexport * from './lib/page/koala-language.helper';\nexport * from './lib/services/openid/koala-oauth2-config.interface';\nexport * from './lib/page/koala.user-menu-options.interface';\nexport * from './lib/page/koala-page-pallet-colors.interface';\nexport * from './lib/page/page.component';\nexport * from './lib/page/koala.page.module';\n//#endregion\n\n//#region [ROUTER]\nexport * from './lib/router/koala.parameter-hash-location-stategy';\n//#endregion\n\n//#region [SERVICES]\nexport * from './lib/services/api-requester/koala.api-requester.service';\nexport * from './lib/services/api-requester/koala.api-requester.base';\nexport * from './lib/services/api-requester/factory/koala.response.factory';\nexport * from './lib/services/api-requester/helpers/error/koala.client.error';\nexport * from './lib/services/api-requester/helpers/error/koala.errors.helper';\nexport * from './lib/services/api-requester/helpers/error/koala.not-found.error';\nexport * from './lib/services/api-requester/helpers/error/koala.success.error';\nexport * from './lib/services/api-requester/helpers/error/koala.unhautorized.error';\nexport * from './lib/services/api-requester/helpers/service/koala.request-header.helper';\nexport * from './lib/services/request/koala.request.service';\nexport * from './lib/services/loader/koala.loader.service';\nexport * from './lib/services/token/koala.token.service';\nexport * from './lib/services/openid/koala.oauth2.service';\nexport * from './lib/services/openid/koala.oauth.config';\n//#endregion\n\nexport * from './lib/ngx-koala.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"koalarx-ui-core.mjs","sources":["../../../projects/core/src/lib/loader/loader-bar-page.component.ts","../../../projects/core/src/lib/loader/loader-bar-page.component.html","../../../projects/core/src/lib/page/notifications/notification.component.ts","../../../projects/core/src/lib/page/notifications/notification.component.html","../../../projects/core/src/lib/page/koala-language.helper.ts","../../../projects/core/src/lib/environments/koalaEnvironment.ts","../../../projects/core/src/lib/services/token/token.factory.ts","../../../projects/core/src/lib/services/token/koala.token.service.ts","../../../projects/core/src/lib/services/openid/koala.oauth.config.ts","../../../projects/core/src/lib/services/loader/koala.loader.service.ts","../../../projects/core/src/lib/services/openid/koala.oauth2.service.ts","../../../projects/core/src/lib/page/page.component.ts","../../../projects/core/src/lib/page/page.component.html","../../../projects/core/src/lib/page/koala.page.module.ts","../../../projects/core/src/lib/router/koala.parameter-hash-location-stategy.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.not-found.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.unhautorized.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.client.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.success.error.ts","../../../projects/core/src/lib/services/api-requester/helpers/error/koala.errors.helper.ts","../../../projects/core/src/lib/services/api-requester/helpers/service/koala.request-header.helper.ts","../../../projects/core/src/lib/services/api-requester/factory/koala.response.factory.ts","../../../projects/core/src/lib/services/api-requester/koala.api-requester.service.ts","../../../projects/core/src/lib/services/api-requester/koala.api-requester.base.ts","../../../projects/core/src/lib/services/request/koala.request.service.ts","../../../projects/core/src/lib/ngx-koala.module.ts","../../../projects/core/src/index.ts","../../../projects/core/src/koalarx-ui-core.ts"],"sourcesContent":["import { ChangeDetectionStrategy, Component, Input } from '@angular/core';\nimport { ProgressBarMode } from '@angular/material/progress-bar';\n\n@Component({\n selector: 'app-loader-page',\n templateUrl: 'loader-bar-page.component.html',\n styleUrls: ['loader-bar-page.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class LoaderBarPageComponent {\n @Input() show: boolean = false;\n @Input() progress: number = 0;\n @Input() typeLoader: ProgressBarMode = 'indeterminate';\n}\n","<div [ngClass]=\"{'bouncedInDown d-block': show}\" class=\"animated loader-bar-page\">\n <mat-progress-bar\n [bufferValue]=\"progress\"\n [mode]=\"typeLoader\"\n [value]=\"progress\"\n color=\"primary\">\n </mat-progress-bar>\n</div>\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnChanges, Output, SimpleChanges } from '@angular/core';\nimport { KoalaNotificationInterface } from './koala.notification.interface';\nimport { Title } from '@angular/platform-browser';\n\n@Component({\n selector: 'koala-notification-list',\n templateUrl: 'notification.component.html',\n styleUrls: ['notification.component.css'],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class NotificationComponent implements OnChanges {\n @Input() notifications: KoalaNotificationInterface[];\n @Output() deleteAll = new EventEmitter<boolean>(false);\n @Output() delete = new EventEmitter<KoalaNotificationInterface>(null);\n\n private appName: string;\n\n constructor(private titleService: Title) {}\n\n ngOnChanges(changes: SimpleChanges) {\n if (!this.appName) {\n this.appName = this.titleService.getTitle();\n }\n if (changes.notifications && this.notifications.length > 0) {\n this.titleService.setTitle(`(${this.notifications.length}) ${this.appName}`);\n } else {\n this.titleService.setTitle(this.appName);\n }\n }\n\n public deleteAllNotifications() {\n this.deleteAll.emit(true);\n }\n\n public deleteNotification(notification: KoalaNotificationInterface) {\n this.delete.emit(notification);\n }\n}\n","<div (click)=\"$event.stopPropagation()\" class=\"notifications-content\">\n <div class=\"title\">\n <mat-icon>info</mat-icon>\n <h2>Notificações</h2>\n <span class=\"spacer\"></span>\n <button (click)=\"deleteAllNotifications()\" *ngIf=\"notifications.length > 0\" class=\"btn-delete-all\"\n mat-icon-button\n matTooltip=\"Excluir Todas\" matTooltipPosition=\"above\">\n <mat-icon>delete_sweep</mat-icon>\n </button>\n </div>\n <mat-action-list *ngIf=\"notifications.length > 0 else noNotifications\">\n <mat-list-item *ngFor=\"let notification of notifications\" [routerLink]=\"notification.redirectTo\" class=\"itemList\">\n <button (click)=\"deleteNotification(notification)\" class=\"delete-notification\" color=\"warn\" mat-icon-button\n matTooltip=\"Excluir\" matTooltipPosition=\"above\"\n mat-list-icon>\n <mat-icon>delete</mat-icon>\n </button>\n <mat-icon class=\"iconList\" mat-list-icon>announcement</mat-icon>\n <h4 class=\"titleList\" mat-line>{{notification.title}}</h4>\n <p [innerHTML]=\"notification.text\" class=\"textList\" mat-line></p>\n </mat-list-item>\n </mat-action-list>\n <ng-template #noNotifications>\n <div class=\"empty\">\n <mat-icon>mood</mat-icon>\n <p>Tudo certo por aqui!</p>\n </div>\n </ng-template>\n</div>\n","export type KoalaLanguageType = 'ptBr'|'enUs';\n\n// @dynamic\nexport class KoalaLanguageHelper {\n private static language: KoalaLanguageType\n\n public static setLanguage(language: KoalaLanguageType) {\n this.language = language;\n }\n\n public static getLanguage() {\n return this.language;\n }\n\n public static getBtnLabel() {\n switch (this.language) {\n case \"enUs\":\n return 'Send';\n default:\n return 'Enviar';\n }\n }\n\n public static getYesMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'Yes';\n default:\n return 'Sim';\n }\n }\n\n public static getNoMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'No';\n default:\n return 'Não';\n }\n }\n\n public static getInternalServerErrorMessage() {\n switch (this.language) {\n case \"enUs\":\n return 'We had a problem with your request.<br/>Sorry for the inconvenience.<br/><br/>Please try again later.';\n default:\n return 'Tivemos um problema com sua requisição.<br/>Sinto muito pelo transtorno.<br/><br/>Gentileza tentar novamente mais tarde.';\n }\n }\n\n public static getRequiredMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `${label} is required.`;\n default:\n return `Nenhum valor informado.`;\n }\n }\n\n public static getInvalidMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `${label} is invalid.`;\n default:\n return `Registro inválido.`;\n }\n }\n\n public static getMinMessage(min: string) {\n switch (this.language) {\n case \"enUs\":\n return `Inform at least the value of ${min}.`;\n default:\n return `Informe no mínimo o valor de ${min}.`\n }\n }\n\n public static getMaxMessage(max: string) {\n switch (this.language) {\n case \"enUs\":\n return `Inform at most the value of ${max}.`;\n default:\n return `Informe no máximo o valor de ${max}.`\n }\n }\n\n public static getMinLengthMessage(minLength: string) {\n switch (this.language) {\n case \"enUs\":\n return `Enter a value with at least ${minLength} characters.`;\n default:\n return `Informe um valor com no mínimo ${minLength} caracteres.`\n }\n }\n\n public static getMaxLengthMessage(maxLength: string) {\n switch (this.language) {\n case \"enUs\":\n return `Enter a value with at most ${maxLength} characters.`;\n default:\n return `Informe um valor com no máximo ${maxLength} caracteres.`\n }\n }\n\n public static getDateMinMessage() {\n switch (this.language) {\n case \"enUs\":\n return `Inform at least the date of `;\n default:\n return `Informe no mínimo a data de `\n }\n }\n\n public static getDateMaxMessage() {\n switch (this.language) {\n case \"enUs\":\n return `Inform at most the date of `;\n default:\n return `Informe no máximo a data de `\n }\n }\n\n public static getAutocompleteMessage(label: string) {\n switch (this.language) {\n case \"enUs\":\n return `You must select a option.`;\n default:\n return `Você deve selecionar uma opção.`;\n }\n }\n}\n","import { KoalaOauth2ConfigInterface } from \"../services/openid/koala-oauth2-config.interface\";\n\nexport interface KoalaEnvironmentOAuthInterface extends KoalaOauth2ConfigInterface {\n name: string;\n}\n\nexport interface KoalaEnvironmentInterface {\n production: boolean;\n storageTokenName?: string;\n storageOAuthTypeName?: string;\n endpointApi?: string;\n authenticator?: string;\n oauthConfig?: KoalaEnvironmentOAuthInterface[];\n}\n\n// @dynamic\nexport class KoalaEnvironment {\n public static environment: KoalaEnvironmentInterface;\n}\n","import { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\n// @dynamic\nexport class TokenFactory {\n private static token?: string;\n\n public static init() {\n if (!!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName)) {\n TokenFactory.setToken(localStorage.getItem(KoalaEnvironment.environment?.storageTokenName));\n }\n }\n\n public static setToken(token: string) {\n localStorage.setItem(KoalaEnvironment.environment?.storageTokenName, token);\n this.token = token;\n }\n\n public static getToken() {\n return this.token;\n }\n\n public static removeToken() {\n localStorage.removeItem(KoalaEnvironment.environment?.storageTokenName);\n this.token = null;\n }\n\n public static hasToken() {\n return !!this.token && !!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName);\n }\n\n public static logout() {\n this.removeToken();\n }\n}\n","import jwt from 'jwt-decode';\n\nimport { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\nimport { TokenFactory } from \"./token.factory\";\n\nexport interface KoalaOAuth2TokenInterface {\n accessToken: string;\n idToken: string;\n refreshToken: string;\n login: string;\n expired: number;\n code: string;\n}\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaTokenService implements OnDestroy {\n private token$ = new BehaviorSubject<string>(null);\n private intervalToken: any;\n\n constructor() {\n this.verifySession();\n }\n\n ngOnDestroy() {\n if (this.intervalToken) {\n clearInterval(this.intervalToken);\n }\n }\n\n public setToken(token: string) {\n if (TokenFactory.hasToken()) { this.token$.next(token); }\n TokenFactory.setToken(token);\n }\n\n public getToken(): BehaviorSubject<string> {\n return this.token$;\n }\n\n public getDecodedToken<T>(): T|null {\n return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);\n }\n\n public getOAuth2Token(): KoalaOAuth2TokenInterface|null {\n return (TokenFactory.hasToken() ? jwt(TokenFactory.getToken()) : null);\n }\n\n public removeToken() {\n TokenFactory.removeToken();\n }\n\n private verifySession() {\n TokenFactory.init();\n this.token$.next(TokenFactory.getToken());\n this.intervalToken = setInterval(() => {\n if (!TokenFactory.hasToken() && this.token$.getValue()) {\n this.token$.next(null);\n } else if (TokenFactory.hasToken() && !this.token$.getValue()) {\n this.token$.next(TokenFactory.getToken());\n }\n }, 300);\n }\n}\n","import { BehaviorSubject } from \"rxjs\";\nimport { KoalaOauth2ConfigInterface } from \"./koala-oauth2-config.interface\";\nimport { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\n// @dynamic\nexport class KoalaOauthConfig {\n public static config = new BehaviorSubject<KoalaOauth2ConfigInterface>(\n KoalaOauthConfig.getOAuthConfig(KoalaOauthConfig.getConfig())\n );\n\n public static getConfig() {\n return localStorage.getItem(KoalaEnvironment.environment?.storageOAuthTypeName);\n }\n\n public static hasConfig() {\n return !!this.getConfig();\n }\n\n public static setConfig(type: string) {\n localStorage.setItem(KoalaEnvironment.environment?.storageOAuthTypeName, type);\n this.config.next(this.getOAuthConfig(type));\n }\n\n private static getOAuthConfig(type?: string) {\n const environment = KoalaEnvironment.environment?.oauthConfig?.find(config => config.name === type) ?? null;\n\n return environment ?? {\n customQueryParams: {\n client_secret: null\n },\n clientId: null,\n scope: null,\n domain: null,\n strictDiscoveryDocumentValidation: false,\n indexLoginName: 'name'\n };\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { BehaviorSubject } from 'rxjs';\nimport { LoaderBarPageInterface } from '../../loader/loader-bar-page.interface';\n\nexport const KOALA_LOADER_SUBJECT = new BehaviorSubject<LoaderBarPageInterface>({\n typeLoader: 'indeterminate',\n progress: 0,\n show: false\n});\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaLoaderService {\n\n public getLoaderSubject() {\n return KOALA_LOADER_SUBJECT;\n }\n\n public create(loaderConfig?: {\n progress?: number;\n typeLoader?: \"buffer\" | \"determinate\" | \"query\" | \"indeterminate\"\n }) {\n KOALA_LOADER_SUBJECT.next({\n show: true,\n progress: loaderConfig.progress ? loaderConfig.progress : 0,\n typeLoader: loaderConfig.typeLoader ? loaderConfig.typeLoader : 'indeterminate'\n });\n }\n\n public dismiss() {\n KOALA_LOADER_SUBJECT.next({\n show: false,\n progress: 0,\n typeLoader: 'indeterminate'\n });\n }\n}\n","import { Injectable, OnDestroy } from '@angular/core';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { koala } from \"@koalarx/utils\";\nimport { Router } from \"@angular/router\";\nimport { KoalaTokenService } from \"../token/koala.token.service\";\nimport { KoalaOauthConfig } from \"./koala.oauth.config\";\nimport { delay } from \"@koalarx/utils/operators/delay\";\nimport { randomString } from \"@koalarx/utils/operators/string\";\n\nexport interface KoalaOAuth2Config {\n redirectUri: string;\n responseType: string;\n clientId: string;\n scope: string;\n issuer: string;\n redirectUriAfterAuth?: string;\n customQueryParams?: object;\n endpointToken?: string;\n endpointClaims?: string;\n}\n\nexport interface KoalaOpenIdConfig {\n authorization_endpoint: string;\n check_session_iframe: string;\n claim_types_supported: string[];\n claims_parameter_supported: boolean;\n claims_supported: string[];\n code_challenge_methods_supported: string[];\n end_session_endpoint: string;\n grant_types_supported: string[];\n id_token_encryption_alg_values_supported: string[];\n id_token_encryption_enc_values_supported: string[];\n id_token_signing_alg_values_supported: string[];\n introspection_endpoint: string;\n issuer: string;\n jwks_uri: string;\n registration_endpoint: string;\n request_object_signing_alg_values_supported: string[];\n request_parameter_supported: boolean;\n request_uri_parameter_supported: boolean;\n response_modes_supported: string[];\n response_types_supported: string[];\n scopes_supported: string[];\n subject_types_supported: string[];\n tls_client_certificate_bound_access_tokens: boolean;\n token_endpoint: string;\n token_endpoint_auth_methods_supported: string[];\n token_endpoint_auth_signing_alg_values_supported: string[];\n token_introspection_endpoint: string;\n userinfo_endpoint: string;\n userinfo_signing_alg_values_supported: string[];\n}\n\nexport type EventType =\n 'loadedConfig'\n | 'getToken'\n | 'getTokenError'\n | 'refreshToken'\n | 'getClaims'\n | 'userAuthenticated'\n | 'authenticate'\n | 'logout'\n | 'errorLoadConfig';\n\nconst STATE_STORAGE_NAME = 'koala_openid_state';\n\n@Injectable()\nexport class KoalaOAuth2Service implements OnDestroy {\n public events = new BehaviorSubject<EventType>(null);\n private config: KoalaOAuth2Config;\n private openIdOptions: KoalaOpenIdConfig;\n private eventSubscription: Subscription;\n private state?: string;\n private code?: string;\n private token?: any = {};\n private claims?: any;\n private refreshTokenInterval?: any;\n\n constructor(\n private http: HttpClient,\n private router: Router,\n private tokenService: KoalaTokenService\n ) {\n this.generateState();\n }\n\n ngOnDestroy() {\n if (this.eventSubscription) {\n this.eventSubscription.unsubscribe();\n }\n if (this.refreshTokenInterval) {\n clearInterval(this.refreshTokenInterval);\n }\n }\n\n public hasOpenIdConfig() {\n return !!this.openIdOptions;\n }\n\n public configure(options: KoalaOAuth2Config) {\n this.config = options;\n }\n\n public loadDiscoveryDocumentAndTryLogin() {\n\n if (this.eventSubscription) {\n this.eventSubscription.unsubscribe();\n }\n this.eventSubscription = this.events.subscribe(event => {\n if (event === 'authenticate') {\n this.generateState();\n localStorage.setItem(STATE_STORAGE_NAME, this.state);\n window.location.href = `${this.openIdOptions.authorization_endpoint}?response_type=${this.config.responseType}&client_id=${this.config.clientId}&state=${this.state}&redirect_uri=${this.config.redirectUri}&scope=${this.config.scope}`;\n } else if (event === 'getToken') {\n const urlParams = new URLSearchParams(window.location.search);\n const state = urlParams.get('state');\n if (state === this.state) {\n const code = urlParams.get('code');\n this.getToken(code);\n } else {\n this.logout();\n }\n } else if (event === 'getClaims' || (event === 'refreshToken' && !this.claims)) {\n this.getClaims();\n }\n });\n\n return new Promise((resolve, reject) => {\n this.http.get<KoalaOpenIdConfig>(`${this.config.issuer}/.well-known/openid-configuration`).subscribe(options => {\n this.openIdOptions = options;\n if (window.location.href.indexOf(`state=${this.state}`) >= 0) {\n this.events.next('getToken');\n } else if (!this.tokenService.getOAuth2Token()) {\n this.events.next('loadedConfig');\n }\n resolve(true);\n }, e => {\n console.error(e);\n this.events.next('errorLoadConfig');\n reject(e);\n });\n });\n }\n\n public async initLoginFlow(name?: string) {\n if (name) {\n KoalaOauthConfig.setConfig(name);\n await delay(1000);\n }\n\n this.events.next('authenticate');\n }\n\n public getIdentityClaims() {\n return this.claims;\n }\n\n public getAccessToken() {\n return this.token.access_token;\n }\n\n public getIdToken() {\n return this.token.id_token;\n }\n\n public getRefreshToken() {\n return this.token.refresh_token;\n }\n\n public getAccessTokenExpiration() {\n const expires_in = new Date();\n expires_in.setSeconds(this.token.expires_in);\n return expires_in.toString();\n }\n\n public getCode() {\n return this.code;\n }\n\n public logout() {\n const logoutInterval = setInterval(() => {\n if (this.hasOpenIdConfig()) {\n if (this.openIdOptions.end_session_endpoint) {\n this.claims = null;\n this.token = null;\n const iframeLogout = document.createElement('iframe');\n iframeLogout.style.display = 'none';\n iframeLogout.src = this.openIdOptions.end_session_endpoint;\n document.querySelector('body').appendChild(iframeLogout);\n }\n this.events.next('logout');\n clearInterval(logoutInterval);\n }\n }, 300);\n }\n\n public initRefreshTokenInterval(code: string, refreshToken: string) {\n if (!this.refreshTokenInterval) {\n this.refreshTokenInterval = setInterval(() => {\n const refreshTokenDate = new Date();\n refreshTokenDate.setMinutes(refreshTokenDate.getMinutes() + 1);\n const token = this.tokenService.getOAuth2Token();\n if (token) {\n const expires_in = token.expired;\n if (expires_in) {\n if (new Date(expires_in) <= refreshTokenDate) {\n this.getToken(code, refreshToken);\n }\n }\n }\n }, 1000);\n }\n }\n\n private getToken(code: string, refreshToken?: string) {\n if (refreshToken) {\n clearInterval(this.refreshTokenInterval);\n this.refreshTokenInterval = null;\n }\n\n const formData = new URLSearchParams();\n let data = koala({\n grant_type: (refreshToken ? 'refresh_token' : 'authorization_code'),\n code,\n redirect_uri: this.config.redirectUri,\n client_id: this.config.clientId\n }).object().merge(this.config.customQueryParams ?? {}).getValue();\n\n if (refreshToken) {\n data = koala(data).object().merge({refresh_token: refreshToken}).getValue();\n }\n\n if (!this.code) {\n this.code = code;\n }\n\n Object.keys(data).forEach(indexName => {\n formData.append(indexName, data[indexName]);\n });\n\n this.http.post(this.config.endpointToken ?? this.openIdOptions.token_endpoint, formData.toString(), {\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded'\n }\n }).subscribe((token: any) => {\n this.token = token;\n this.events.next((refreshToken ? 'refreshToken' : 'getClaims'));\n }, () => this.events.next('getTokenError'));\n }\n\n private getClaims() {\n this.http.get(this.config.endpointClaims ?? this.openIdOptions.userinfo_endpoint, {\n headers: {\n Authorization: `Bearer ${this.getAccessToken()}`\n }\n }).subscribe(userInfo => {\n this.claims = userInfo;\n this.state = null;\n localStorage.removeItem(STATE_STORAGE_NAME);\n this.events.next(this.events.getValue() === 'refreshToken' ? 'refreshToken' : 'userAuthenticated');\n }, () => this.events.next('loadedConfig'));\n }\n\n private generateState() {\n this.state = localStorage.getItem(STATE_STORAGE_NAME) ?\n localStorage.getItem(STATE_STORAGE_NAME) :\n randomString(30, {\n numbers: true,\n uppercase: true,\n lowercase: true\n });\n }\n}\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\nimport { ThemePalette } from '@angular/material/core';\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router } from '@angular/router';\nimport { LoaderBarPageInterface } from '../loader/loader-bar-page.interface';\nimport { BehaviorSubject, Subscription } from 'rxjs';\nimport { KoalaTokenService } from '../services/token/koala.token.service';\nimport { KoalaLoaderService } from '../services/loader/koala.loader.service';\nimport { KoalaNotificationInterface } from './notifications/koala.notification.interface';\nimport { KoalaUserMenuOptionsInterface } from './koala.user-menu-options.interface';\nimport { KoalaPagePalletColorsInterface } from './koala-page-pallet-colors.interface';\nimport { MatDrawer } from '@angular/material/sidenav';\nimport { KoalaMenuService, menuStateSubject } from '@koalarx/ui/menu';\nimport jwtEncode from \"jwt-encode\";\nimport { TokenFactory } from \"../services/token/token.factory\";\nimport { KoalaOAuth2Service } from \"../services/openid/koala.oauth2.service\";\nimport { KoalaEnvironment } from \"../environments/koalaEnvironment\";\nimport { KoalaOauthConfig } from \"../services/openid/koala.oauth.config\";\nimport { KoalaOauth2ConfigInterface } from \"../services/openid/koala-oauth2-config.interface\";\nimport { KoalaLanguageHelper, KoalaLanguageType } from \"./koala-language.helper\";\nimport { DeviceDetectorService } from \"ngx-device-detector\";\n\n@Component({\n selector: 'koala-page',\n templateUrl: 'page.component.html',\n styleUrls: ['page.component.css'],\n providers: [KoalaTokenService],\n changeDetection: ChangeDetectionStrategy.OnPush\n})\nexport class PageComponent implements OnInit {\n @Input() showMenu: boolean = true;\n @Input() color: ThemePalette;\n @Input() logo: string;\n @Input() startMenuOpened = true;\n @Input() showLoaderPage: BehaviorSubject<boolean>;\n @Input() messageLoaderPage: BehaviorSubject<string>;\n @Input() defaultPage: string;\n @Input() openPages: string[];\n @Input() notifications: BehaviorSubject<KoalaNotificationInterface[]>;\n @Input() userMenuOptions: KoalaUserMenuOptionsInterface[] = [];\n @Input() palletColors: KoalaPagePalletColorsInterface;\n @Input() language: KoalaLanguageType = 'ptBr';\n @Output() validatingScope = new EventEmitter<boolean>(false);\n @Output() logoutEmitter = new EventEmitter<boolean>(false);\n @Output() deleteAllNotifications = new EventEmitter<boolean>(false);\n @Output() deleteNotification = new EventEmitter<KoalaNotificationInterface>(null);\n\n public loaderSubject: BehaviorSubject<LoaderBarPageInterface>;\n public username$ = new BehaviorSubject<string>('');\n public firstUserLetter$ = new BehaviorSubject<string>('');\n public currentUrl: string;\n public logged$ = new BehaviorSubject<boolean>(false);\n public validationScope$ = new BehaviorSubject<boolean>(false);\n public isMobile: boolean = this.deviceService.isMobile();\n\n private defaultPalletColors: KoalaPagePalletColorsInterface = {\n scrollbarColor: '#1976D2',\n scrollbarColorHover: '#1565C0',\n userPresentationBackground: '#f1f1f1',\n userPresentationUserBackground: '#1976D2',\n userPresentationUserFontColor: '#fff',\n firstColor: '#fff',\n secondColor: '#F1F1F1',\n bodyBackground: '#eeeeee',\n checkboxBackground: '#1976d2',\n checkboxColor: '#ffffff',\n fontColor: '#1976D2',\n fontHoverColor: '#1976D2',\n fontActiveColor: '#1565C0',\n menuTitleBackground: 'rgba(0,0,0,.1)',\n menuTitleColor: 'rgba(0,0,0,.3)',\n menuBackground: '#fafafa',\n menuOptionsBackground: '#eaeaea',\n menuOptionsColor: '#a5a5a5',\n menuOptionsColorHover: '#1976D2',\n menuOptionsColorActive: '#1565c0',\n toolbarBackground: '#ffffff',\n toolbarColor: '#1976d2',\n listBackground: '#fff',\n listContentBackground: '#fff',\n listTitleItemColor: '#838383',\n listItemColor: '#3e3e3e',\n listItemBackgroudHover: '#F1F1F1',\n listItemBackgroundActive: '#EEE',\n shadowColorTableList: 'rgba(25, 118, 210, .4)'\n };\n private oauthEventsSubscription: Subscription;\n\n @ViewChild('drawer', {static: true}) private menu: MatDrawer;\n\n constructor(\n private tokenService: KoalaTokenService,\n private router: Router,\n private loaderService: KoalaLoaderService,\n private menuService: KoalaMenuService,\n private oauth2Service: KoalaOAuth2Service,\n private deviceService: DeviceDetectorService,\n ) {\n this.loaderSubject = loaderService.getLoaderSubject();\n }\n\n ngOnInit() {\n KoalaLanguageHelper.setLanguage(this.language);\n this.initOAuth2();\n if (this.openPages) {\n if (this.openPages.indexOf('/') < 0) {\n this.openPages.push('/');\n }\n if (this.openPages.indexOf('/login') < 0) {\n this.openPages.push('/login');\n }\n } else {\n this.openPages = [\n '/',\n '/login'\n ];\n }\n\n this.tokenService.getToken()?.subscribe(token => {\n this.logged$.next(!!token);\n if (this.logged$.getValue()) {\n const decodedToken = this.tokenService.getDecodedToken<{ login: string }>();\n this.username$.next(decodedToken.login);\n this.firstUserLetter$.next(decodedToken.login.charAt(0).toUpperCase());\n if (!this.isMobile) {\n this.menuService.open();\n }\n }\n if (this.logged$.getValue() && this.openPages?.indexOf(this.currentUrl) >= 0 && this.defaultPage) {\n this.router.navigate([this.defaultPage]).then();\n } else if (!this.logged$.getValue() && this.currentUrl && this.openPages?.indexOf(this.currentUrl) < 0) {\n this.router.navigate(['login']).then();\n return false;\n }\n });\n this.router.events.subscribe(event => {\n switch (true) {\n case event instanceof NavigationStart: {\n this.loaderService.create({typeLoader: 'indeterminate'});\n break;\n }\n\n case event instanceof NavigationEnd:\n case event instanceof NavigationCancel:\n case event instanceof NavigationError: {\n this.loaderService.dismiss();\n if (event instanceof NavigationEnd) {\n if (this.isMobile) {\n this.menuService.close();\n }\n\n this.currentUrl = event.url.split('?')[0];\n\n if (event.url.indexOf('/login?clientId=') < 0) {\n if (this.logged$.getValue() && this.defaultPage && this.openPages?.indexOf(this.currentUrl) >= 0) {\n this.router.navigate([this.defaultPage]).then();\n return false;\n } else if (!this.logged$.getValue() && this.openPages?.indexOf(this.currentUrl) < 0) {\n this.router.navigate(['login']).then();\n return false;\n }\n }\n }\n break;\n }\n default: {\n break;\n }\n }\n });\n if (this.palletColors) {\n Object.keys(this.defaultPalletColors).forEach(indexName => {\n if (\n !this.palletColors.hasOwnProperty(indexName) ||\n !this.palletColors[indexName]\n ) {\n this.palletColors[indexName] = this.defaultPalletColors[indexName];\n }\n });\n } else {\n this.palletColors = this.defaultPalletColors;\n }\n this.defineColor();\n\n if (this.showMenu) {\n menuStateSubject.subscribe(async (state) => {\n if (this.menu) {\n if (state === 'close') {\n if (this.menu.opened) {\n await this.menu.close();\n }\n } else if (state === 'open') {\n if (!this.menu.opened) {\n await this.menu.open();\n }\n }\n }\n });\n if (this.startMenuOpened && this.logged$.getValue()) {\n if (!this.isMobile) {\n this.menuService.open();\n }\n } else {\n this.menuService.close();\n }\n } else {\n this.menuService.close();\n }\n\n this.validationScope$.subscribe(scope => this.validatingScope.emit(scope));\n }\n\n public async toogleMenu() {\n this.menuService.clearConfig();\n if (this.menu) {\n await this.menu.toggle();\n }\n }\n\n public async logout() {\n if (KoalaEnvironment.environment?.oauthConfig) {\n this.oauth2Service.logout();\n }\n this.menuService.close();\n this.tokenService.removeToken();\n this.tokenService.getToken().next(null);\n this.logoutEmitter.emit(true);\n }\n\n public defineColor() {\n const css = `\n*::-webkit-scrollbar-thumb {background: ${this.palletColors.scrollbarColor};width: 2px;}\n*::-webkit-scrollbar-thumb:hover {background: ${this.palletColors.scrollbarColorHover};}\ninput:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {color: ${this.palletColors.fontColor}!important;}\n.menu-container,\nbody {background: ${this.palletColors.bodyBackground}!important;}\ninput:-webkit-autofill, input:-webkit-autofill:focus, input:-webkit-autofill:hover {-webkit-box-shadow: 0 0 0 1000px ${this.palletColors.firstColor} inset !important;}\n.mat-button-disabled,\ninput::placeholder,\n.mat-form-field-appearance-outline .mat-form-field-outline {color: ${this.palletColors.fontColor}!important;opacity: .6;}\n.mat-hint,\n.mat-expansion-indicator::after,\n.more-items-content .items .titleForm,\nfieldset legend,\n.mat-paginator-container,\n.mat-form-field-flex mat-icon {color: ${this.palletColors.fontColor}!important;}\n.mat-paginator-container,\n.mat-card,\n.mat-expansion-panel,\n.mat-select-panel,\n.mat-autocomplete-panel,\n.mat-menu-panel {background: ${this.palletColors.firstColor}}\n.mat-selected {background-color: rgba(0,0,0,.3)!important;}\n.question p,\n.alert-message,\n.mat-action-row,\n.mat-option,\n.mat-menu-item,\n.mat-menu-item mat-icon {color: ${this.palletColors.fontColor}!important}\n.mat-select-value,\n.mat-select-arrow,\n.mat-form-field input,\n.mat-form-field textarea,\n.mat-form-field-appearance-outline:not(.mat-form-field-invalid) .mat-form-field-outline-thick,\n.mat-form-field label,\n.select-multiple-native select {color: ${this.palletColors.fontColor}!important;caret-color: ${this.palletColors.fontColor}!important;}\n.mat-form-field-underline,\n.mat-form-field-appearance-fill .mat-form-field-underline::before,\n.mat-form-field-ripple {background: ${this.palletColors.fontColor}!important;}\n.mat-checkbox-checked.mat-accent .mat-checkbox-background, .mat-checkbox-indeterminate.mat-accent .mat-checkbox-background,\n.mat-checkbox:not(.mat-checkbox-disabled).mat-accent .mat-checkbox-ripple .mat-ripple-element {background-color: ${this.palletColors.checkboxBackground} !important;}\n.mat-checkbox-checkmark-path {stroke: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-checkmark {fill: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-mixedmark {background-color: ${this.palletColors.checkboxColor} !important;}\n.mat-checkbox-frame {border-color: ${this.palletColors.checkboxOutlineColor}!important;}\n.mat-checkbox-label {color: ${this.palletColors.fontColor}!important;}\n.mat-radio-outer-circle {border-color: ${this.palletColors.checkboxBackground}!important;}\n.mat-radio-ripple .mat-ripple-element, .mat-radio-inner-circle {background-color: ${this.palletColors.checkboxBackground} !important;}\n.home-list-cards .list .mat-list-item-content .mat-icon {color: ${this.palletColors.fontColor};}\n.home-list-cards .list button .mat-badge-content {background: ${this.palletColors.fontColor};}\n.koala-dialog .mat-dialog-title h2 {color: ${this.palletColors.fontColor};}\n.koala-dialog .mat-dialog-title mat-icon {color: ${this.palletColors.fontColor}!important;}\n.koala-dialog .mat-dialog-container {background: ${this.palletColors.firstColor}}\n.list-filter mat-icon {color: ${this.palletColors.filterIconColor}!important;}\nkoala-page .menu-options {background: ${this.palletColors.menuBackground};}\nkoala-page .toolbar {background: ${this.palletColors.toolbarBackground};}\nkoala-page .toolbar .btn-collapse-menu,\nkoala-page .btn-toolbar span{color: ${this.palletColors.toolbarColor};}\nkoala-page .btn-toolbar span.icon-user,\n.user-presentation span.icon-user {background: ${this.palletColors.userPresentationUserBackground};color: ${this.palletColors.userPresentationUserFontColor};}\n.user-presentation {background: ${this.palletColors.userPresentationBackground};}\n.user-presentation span.username {color: ${this.palletColors.toolbarColor};}\n.mat-drawer.mat-drawer-push {background-color: ${this.palletColors.bodyBackground};}\nkoala-menu .title {background: ${this.palletColors.menuTitleBackground};color: ${this.palletColors.menuTitleColor};}\nkoala-menu ul li,\nkoala-menu ul li a {color: ${this.palletColors.menuOptionsColor};}\nkoala-menu ul li:hover,\nkoala-menu ul li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li.active,\nkoala-menu ul li.expanded {color: ${this.palletColors.menuOptionsColorActive} !important;border-left: 4px solid ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}\nkoala-menu ul li.active a,\nkoala-menu ul li.expanded a {color: ${this.palletColors.menuOptionsColorActive} !important;background: ${this.palletColors.menuOptionsBackground} !important;}\nkoala-menu ul li li:hover,\nkoala-menu ul li li:hover a {color: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li li.active,\nkoala-menu ul li li.active a {color: ${this.palletColors.menuOptionsColorActive} !important;}\nkoala-menu ul li koala-icon svg *,\nkoala-menu ul li a koala-icon svg * {fill: ${this.palletColors.menuOptionsColor};}\nkoala-menu ul li:hover koala-icon svg *,\nkoala-menu ul li:hover a koala-icon svg * {fill: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li.active koala-icon *,\nkoala-menu ul li.expanded koala-icon * {fill: ${this.palletColors.menuOptionsColorActive} !important;}\nkoala-menu ul li li:hover koala-icon *,\nkoala-menu ul li li:hover a koala-icon * {fill: ${this.palletColors.menuOptionsColorHover} !important;}\nkoala-menu ul li li.active koala-icon *,\nkoala-menu ul li li.active a koala-icon * {fill: ${this.palletColors.menuOptionsColorActive}!important;}\n.notifications-content .title {color: ${this.palletColors.notificationTitleColor}!important;}\n.notifications-content .empty,\n.notifications-content .titleList {color: ${this.palletColors.notificationContentTitleColor}!important;}\n.notifications-content .iconList {color: ${this.palletColors.notificationContentIconColor}!important;}\n.notifications-content .textList {color: ${this.palletColors.notificationTitleColor}!important;}\n.list-container {box-shadow: 0 1px 3px ${this.palletColors.shadowColorTableList};}\n.list-container .list table.table-hover tr:hover {background: ${this.palletColors.listItemBackgroudHover};}\n.list-container .list table.table-hover tr:active {background: ${this.palletColors.listItemBackgroundActive};}\n.list-container .list-filter .advanced {background: ${this.palletColors.firstColor};}\n.list-container nav.menu-list {background: ${this.palletColors.firstColor};color: rgba(25, 118, 210, .3);}\n.content {background: ${this.palletColors.listContentBackground};}\n.mat-tab-group .mat-tab-label {color: ${this.palletColors.fontColor};}\n.mat-tab-group .mat-ink-bar {background-color: ${this.palletColors.fontColor}!important;}\n.mat-table {background: ${this.palletColors.listBackground};color: ${this.palletColors.fontColor};}\n.mat-table th {color: ${this.palletColors.listTitleItemColor}!important;}\n.mat-sort-header-arrow {color: ${this.palletColors.listItemColor}!important;}\n.mat-table td {color: ${this.palletColors.listItemColor}!important;}`;\n const head = document.head || document.getElementsByTagName('head')[0];\n const style = document.createElement('style');\n head.appendChild(style);\n style.appendChild(document.createTextNode(css));\n }\n\n private initOAuth2() {\n KoalaOauthConfig.config.subscribe(config => this.startConfig(config));\n if (KoalaOauthConfig.hasConfig()) {\n KoalaOauthConfig.setConfig(KoalaOauthConfig.getConfig());\n }\n }\n\n private startConfig(config: KoalaOauth2ConfigInterface) {\n if (config.clientId) {\n this.oauth2Service.configure({\n redirectUri: window.location.origin,\n redirectUriAfterAuth: this.defaultPage,\n responseType: 'code',\n clientId: config.clientId,\n scope: config.scope,\n issuer: config.domain,\n customQueryParams: config.customQueryParams,\n endpointToken: config.endpointToken ?? null,\n endpointClaims: config.endpointClaims ?? null\n });\n this.oauth2Service.loadDiscoveryDocumentAndTryLogin().then();\n\n if (this.oauthEventsSubscription) {\n this.oauthEventsSubscription.unsubscribe();\n }\n this.oauthEventsSubscription = this.oauth2Service.events.subscribe(event => {\n if (event === 'userAuthenticated' || event === 'refreshToken') {\n const claims = this.oauth2Service.getIdentityClaims();\n if (claims && (\n !TokenFactory.hasToken() ||\n (TokenFactory.hasToken() && event === 'refreshToken')\n )) {\n this.tokenService.setToken(jwtEncode({\n accessToken: this.oauth2Service.getAccessToken(),\n idToken: this.oauth2Service.getIdToken(),\n refreshToken: this.oauth2Service.getRefreshToken(),\n login: claims[config.indexLoginName] ?? 'Undefined',\n expired: this.oauth2Service.getAccessTokenExpiration(),\n code: this.oauth2Service.getCode()\n }, 'secret'))\n }\n\n if (event === 'userAuthenticated') {\n setTimeout(() => this.validationScope$.next(false), 300);\n }\n } else if (event === 'getToken') {\n this.validationScope$.next(true);\n }\n });\n }\n }\n}\n","<div *ngIf=\"showLoaderPage | async\" class=\"koala-loader-pg\">\n <div class=\"loader-content\">\n <figure>\n <img [src]=\"logo\" alt=\"Logotipo\"/>\n <figcaption *ngIf=\"(messageLoaderPage | async) as messageLoader\" [innerHTML]=\"messageLoader\"></figcaption>\n </figure>\n <mat-spinner></mat-spinner>\n </div>\n</div>\n<app-loader-page *ngIf=\"(loaderSubject | async) as loader\" [progress]=\"loader.progress\" [show]=\"loader.show\"\n [typeLoader]=\"loader.typeLoader\"></app-loader-page>\n<mat-drawer-container autosize class=\"menu-container\">\n <mat-drawer #drawer class=\"menu-options\" [mode]=\"isMobile ? 'push' : 'side'\">\n <img [src]=\"logo\" alt=\"Logotipo\" id=\"logotipo\"/>\n <ng-content *ngIf=\"showMenu\" select=\"[menu-options]\"></ng-content>\n </mat-drawer>\n\n <mat-toolbar *ngIf=\"!!(logged$ | async) && (username$ | async)\" class=\"toolbar\">\n <img *ngIf=\"!showMenu\" [src]=\"logo\" alt=\"Logotipo Toolbar\" id=\"logotipo-toolbar\"/>\n <button (click)=\"toogleMenu()\" *ngIf=\"showMenu\" [color]=\"color\" class=\"btn-collapse-menu\" mat-icon-button>\n <mat-icon>menu</mat-icon>\n </button>\n <span class=\"spacer\"></span>\n\t <div class=\"menu-toolbar\">\n\t\t <ng-content select=\"[menu-toolbar]\"></ng-content>\n\t </div>\n <div *ngIf=\"(notifications | async) as notificationList\">\n <button *ngIf=\"notifications\" [color]=\"color\" [matMenuTriggerFor]=\"notificationsMenu\" class=\"btn-toolbar\"\n mat-icon-button>\n <mat-icon\n\t [matBadgeHidden]=\"notificationList.length === 0\"\n\t [matBadge]=\"notificationList.length.toString()\"\n\t matBadgeColor=\"warn\">notifications\n </mat-icon>\n </button>\n <mat-menu #notificationsMenu=\"matMenu\" class=\"menu-list\" yPosition=\"below\">\n <koala-notification-list\n (delete)=\"deleteNotification.emit($event)\"\n (deleteAll)=\"deleteAllNotifications.emit($event)\"\n [notifications]=\"notificationList\">\n </koala-notification-list>\n </mat-menu>\n </div>\n <button [color]=\"color\" [matMenuTriggerFor]=\"userOptions\" class=\"btn-toolbar\" mat-button>\n <span>{{username$ | async}}</span>\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span>\n </button>\n <mat-menu #userOptions=\"matMenu\" class=\"user-menu menu-list\" yPosition=\"below\">\n <div class=\"user-presentation\">\n <span class=\"icon-user\">{{firstUserLetter$ | async}}</span><br/>\n <span class=\"username\">{{username$ | async}}</span>\n </div>\n <button (click)=\"btn.action()\" *ngFor=\"let btn of userMenuOptions\" mat-menu-item>\n <mat-icon>{{btn.icon}}</mat-icon>\n <span>{{btn.name}}</span>\n </button>\n <button (click)=\"logout()\" mat-menu-item>\n <mat-icon>exit_to_app</mat-icon>\n <span>{{language === 'ptBr' ? 'Sair' : 'Logout'}}</span>\n </button>\n </mat-menu>\n </mat-toolbar>\n\n <ng-content class=\"page-content\" select=\"[page-content]\"></ng-content>\n\n</mat-drawer-container>\n\n<ng-content class=\"loading-info-content\" select=\"[loading-info-content]\"></ng-content>\n","import { NgModule } from \"@angular/core\";\nimport { CommonModule } from \"@angular/common\";\nimport { PageComponent } from \"./page.component\";\nimport { NotificationComponent } from \"./notifications/notification.component\";\nimport { LoaderBarPageComponent } from \"../loader/loader-bar-page.component\";\nimport { MatBadgeModule } from \"@angular/material/badge\";\nimport { MatProgressBarModule } from \"@angular/material/progress-bar\";\nimport { MatToolbarModule } from \"@angular/material/toolbar\";\nimport { MatTooltipModule } from \"@angular/material/tooltip\";\nimport { MatButtonModule } from \"@angular/material/button\";\nimport { MatIconModule } from \"@angular/material/icon\";\nimport { MatSidenavModule } from \"@angular/material/sidenav\";\nimport { MatListModule } from \"@angular/material/list\";\nimport { MatMenuModule } from \"@angular/material/menu\";\nimport { MatProgressSpinnerModule } from \"@angular/material/progress-spinner\";\nimport { RouterModule } from \"@angular/router\";\n\n@NgModule({\n declarations: [\n PageComponent,\n NotificationComponent,\n LoaderBarPageComponent\n ],\n exports: [\n PageComponent,\n RouterModule\n ],\n imports: [\n CommonModule,\n RouterModule,\n MatBadgeModule,\n MatProgressSpinnerModule,\n MatProgressBarModule,\n MatToolbarModule,\n MatTooltipModule,\n MatButtonModule,\n MatIconModule,\n MatSidenavModule,\n MatListModule,\n MatMenuModule\n ]\n})\nexport class KoalaPageModule {}\n","import { Injectable } from \"@angular/core\";\nimport { HashLocationStrategy } from \"@angular/common\";\nimport { KoalaEnvironment } from \"../environments/koalaEnvironment\";\n\n@Injectable()\nexport class KoalaParameterHashLocationStrategy extends HashLocationStrategy {\n prepareExternalUrl(internal: string): string {\n const hasToken = !!localStorage.getItem(KoalaEnvironment.environment?.storageTokenName);\n return !hasToken ?\n window.location.search + super.prepareExternalUrl(internal) :\n super.prepareExternalUrl(internal);\n }\n}\n","export class KoalaNotFoundError extends Error {\n}\n","export class KoalaUnhautorizedError extends Error {\n}\n","export class KoalaClientError extends Error {\n}\n","export class KoalaSuccessError extends Error {\n}\n","import { KoalaNotFoundError } from \"./koala.not-found.error\";\nimport { KoalaUnhautorizedError } from \"./koala.unhautorized.error\";\nimport { KoalaClientError } from \"./koala.client.error\";\nimport { KoalaSuccessError } from \"./koala.success.error\";\nimport { HttpErrorResponse } from \"@angular/common/http\";\nimport { KoalaAlertEnum } from \"@koalarx/ui/alert\";\n\nexport interface KoalaResponseInterface {\n error: boolean;\n alertEnum: KoalaAlertEnum;\n statusCode?: number;\n urlRequest?: string;\n message: string;\n data?: any;\n}\n\nexport class KoalaErrorsHelper {\n public static generate(e: Error | HttpErrorResponse, urlRequest?: string, customMessage?: string): KoalaResponseInterface {\n\n let errorMessage = {\n error: true,\n message: (customMessage ? customMessage : e.message),\n urlRequest\n } as KoalaResponseInterface;\n\n if (e instanceof KoalaSuccessError) {\n errorMessage.error = false;\n errorMessage.statusCode = 200;\n errorMessage.alertEnum = KoalaAlertEnum.success;\n } else if (e instanceof KoalaNotFoundError) {\n errorMessage.statusCode = 404;\n errorMessage.alertEnum = KoalaAlertEnum.notFound;\n } else if (e instanceof KoalaUnhautorizedError) {\n errorMessage.statusCode = 401;\n errorMessage.alertEnum = KoalaAlertEnum.unhautorized;\n } else if (e instanceof KoalaClientError) {\n errorMessage.statusCode = 400;\n errorMessage.alertEnum = KoalaAlertEnum.badRequest;\n } else if (e instanceof HttpErrorResponse) {\n errorMessage.urlRequest = e.url;\n errorMessage.statusCode = e.status;\n errorMessage.alertEnum = KoalaAlertEnum.internalServerError;\n if (e.error && e.error.message) {\n errorMessage.message = e.error.message;\n }\n } else {\n errorMessage.statusCode = 500;\n errorMessage.alertEnum = KoalaAlertEnum.internalServerError;\n }\n\n return errorMessage;\n }\n}\n","import { koala } from \"@koalarx/utils\";\nimport { HttpHeaders } from \"@angular/common/http\";\nimport { KoalaOauthConfig } from \"../../../openid/koala.oauth.config\";\n\nexport class KoalaRequestHeaderHelper {\n\n public static add(token?: string) {\n const headers = koala({}).object();\n\n if (token) { headers.merge({Authorization: 'Bearer ' + token}); }\n if (KoalaOauthConfig.hasConfig()) { headers.merge({Authenticator: KoalaOauthConfig.getConfig()}); }\n\n return headers.getValue() as HttpHeaders;\n }\n}\n","import { HttpResponse } from '@angular/common/http';\nimport { KoalaErrorsHelper, KoalaResponseInterface } from \"../helpers/error/koala.errors.helper\";\nimport { KoalaNotFoundError } from \"../helpers/error/koala.not-found.error\";\nimport { KoalaClientError } from \"../helpers/error/koala.client.error\";\nimport { KoalaUnhautorizedError } from \"../helpers/error/koala.unhautorized.error\";\nimport { KoalaSuccessError } from \"../helpers/error/koala.success.error\";\nimport { KoalaLanguageHelper } from \"../../../page/koala-language.helper\";\n\n// @dynamic\nexport class KoalaResponseFactory {\n\n public static async generateResponse(response: HttpResponse<any>, urlRequest?: string): Promise<KoalaResponseInterface> {\n return new Promise<KoalaResponseInterface>((resolve, reject) => {\n let alert: KoalaResponseInterface;\n switch (response.status) {\n case 200:\n case 201:\n alert = KoalaErrorsHelper.generate(new KoalaSuccessError(response.body?.message), urlRequest);\n alert.data = response.body;\n resolve(alert);\n break;\n case 400:\n alert = KoalaErrorsHelper.generate(new KoalaClientError(response.body.message), urlRequest);\n reject(alert);\n break;\n case 404:\n alert = KoalaErrorsHelper.generate(new KoalaNotFoundError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 401:\n alert = KoalaErrorsHelper.generate(new KoalaUnhautorizedError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 405:\n alert = KoalaErrorsHelper.generate(new KoalaClientError(response.body?.message), urlRequest);\n reject(alert);\n break;\n case 500:\n default:\n alert = KoalaErrorsHelper.generate(new Error((response && response.body?.message) ? response.body?.message : KoalaLanguageHelper.getInternalServerErrorMessage()), urlRequest);\n reject(alert);\n break;\n }\n });\n }\n}\n","import { Injectable } from \"@angular/core\";\nimport { HttpClient, HttpHeaders, HttpParams, HttpResponse } from \"@angular/common/http\";\nimport { KoalaOAuth2Service } from \"../openid/koala.oauth2.service\";\nimport { Observable, Subscription } from \"rxjs\";\nimport { KoalaErrorsHelper } from \"./helpers/error/koala.errors.helper\";\nimport { KoalaRequestHeaderHelper } from \"./helpers/service/koala.request-header.helper\";\nimport { KoalaResponseFactory } from \"./factory/koala.response.factory\";\nimport { first, map } from \"rxjs/operators\";\nimport { TokenFactory } from \"../token/token.factory\";\nimport { EventSourcePolyfill } from 'event-source-polyfill';\n\nexport type ApiRequesterType = 'get' | 'post' | 'put' | 'patch' | 'delete';\n\n@Injectable({providedIn: \"root\"})\nexport class KoalaApiRequesterService {\n public apiUrl: string;\n public isMockup = false;\n private subscriptions: Subscription[] = [];\n\n constructor(\n private http: HttpClient,\n private oauth2Service: KoalaOAuth2Service\n ) {\n }\n\n public eventStream<T>(url: string, onmessage: (data: T[]) => void, onclose?: () => void) {\n const hub = new URL(`${this.getUrlBase()}/${url}`);\n const eventSource = new EventSourcePolyfill(hub.toJSON(), {\n headers: KoalaRequestHeaderHelper.add(TokenFactory.getToken())\n });\n eventSource.addEventListener('message', (event) => {\n if (typeof event.data !== 'undefined') {\n onmessage(JSON.parse(event.data));\n }\n });\n eventSource.addEventListener('close', () => {\n if (onclose) {\n onclose();\n }\n });\n }\n\n public request<T>(method: ApiRequesterType, url: string, data: any = {}): Observable<T> {\n if (data.__zone_symbol__state) {\n data = data.__zone_symbol__value;\n }\n switch (method) {\n case 'post':\n case 'put':\n case 'patch':\n case 'delete':\n return this.promiseSendData<T>(this.postPutDelete(method, url, data), url);\n case 'get':\n let httpParams = new HttpParams();\n Object.keys(data ?? {}).forEach((key) => {\n let dado = data[key];\n if (typeof dado == \"object\") {\n if (dado && dado.hasOwnProperty('length') && dado.length > 0) {\n dado.forEach(item => {\n httpParams = httpParams.append(`${key.replace('[]', '')}[]`, item);\n });\n } else {\n httpParams = httpParams.append(key, dado);\n }\n } else {\n httpParams = httpParams.append(key, dado);\n }\n });\n return this.promiseGetData<T>(this.get(url, httpParams));\n }\n }\n\n public cancelRequests() {\n for (let subscribe of this.subscriptions.values()) {\n subscribe.unsubscribe();\n }\n }\n\n private get<T>(url: string, params: HttpParams) {\n return this.getMethod<T>('get', url, params)\n .pipe(map(response => {\n return response.body\n }));\n }\n\n private postPutDelete(method: ApiRequesterType, url: string, data: any) {\n return this.getMethod<HttpResponse<any>>(method, url, data);\n }\n\n private promiseGetData<T>(request: Observable<T>): Observable<T> {\n return new Observable<T>(observe => {\n this.subscriptions\n .push(request.pipe(first())\n .subscribe({\n next: response => {\n observe.next(response);\n observe.complete();\n },\n error: e => {\n if (e.status === 401) {\n this.oauth2Service.logout();\n }\n observe.error(KoalaErrorsHelper.generate(e));\n }\n }));\n });\n }\n\n private promiseSendData<T>(request: Observable<HttpResponse<any>>, urlRequest?: string): Observable<T> {\n return new Observable<T>(observe => {\n this.subscriptions\n .push(request.pipe(first())\n .subscribe({\n next: response => KoalaResponseFactory.generateResponse(response, urlRequest)\n .then(success => {\n observe.next(success as any);\n observe.complete();\n })\n .catch(error => {\n if (error.status === 401) {\n this.oauth2Service.logout();\n }\n observe.error(error);\n }),\n error: e => observe.error(KoalaErrorsHelper.generate(e))\n }));\n });\n }\n\n private getUrlBase() {\n return this.isMockup ? `${location.origin}/assets/mockup` : this.apiUrl;\n }\n\n private getMethod<T>(method: ApiRequesterType, url: string, data: any | HttpParams = {}) {\n const options = {\n observe: 'response',\n headers: KoalaRequestHeaderHelper.add(TokenFactory.getToken())\n } as {\n headers?: HttpHeaders | {[p: string]: string | string[]};\n observe: \"response\";\n params?: HttpParams | {\n [param: string]: string | number | boolean | ReadonlyArray<string | number | boolean>;\n };\n };\n\n switch (method) {\n case \"post\":\n return this.http.post<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"put\":\n return this.http.put<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"patch\":\n return this.http.patch<T>(`${this.getUrlBase()}/${url}`, data, options);\n case \"delete\":\n return this.http.delete<T>(`${this.getUrlBase()}/${url}`, options);\n case \"get\":\n options.params = data;\n return this.http.get<T>(`${this.getUrlBase()}/${url}`, options);\n }\n }\n}\n","import { koala } from \"@koalarx/utils\";\nimport { BehaviorSubject } from \"rxjs\";\nimport { KoalaApiRequesterService } from \"./koala.api-requester.service\";\nimport { KoalaResponseInterface } from \"./helpers/error/koala.errors.helper\";\nimport { KoalaEnvironment } from \"../../environments/koalaEnvironment\";\n\nexport abstract class KoalaApiRequesterBase<EntityType, GetAllType, DataType> {\n\n protected constructor(\n protected koalaService: KoalaApiRequesterService,\n protected endpoint: string,\n isMockup = false\n ) {\n koalaService.apiUrl = KoalaEnvironment.environment?.endpointApi;\n koalaService.isMockup = isMockup;\n }\n\n public getAll(filter?: BehaviorSubject<any> | any) {\n return this.koalaService.request<GetAllType>('get', this.endpoint, this.getParams(filter));\n }\n\n public getById(id: number) {\n return this.koalaService.request<EntityType>('get', this.endpoint + '/' + id);\n }\n\n public getBySomething<Type>(something: any) {\n return this.koalaService.request<Type>('get', this.endpoint + '/' + something);\n }\n\n public save(data: DataType, id?: number) {\n return this.koalaService.request<KoalaResponseInterface>(\n (id ? 'put' : 'post'),\n `${this.endpoint}${(id ? `/${id}` : '')}`,\n data\n );\n }\n\n public delete(id: number) {\n return this.koalaService.request<KoalaResponseInterface>('delete', this.endpoint + '/' + id)\n }\n\n public async cancelRequests() {\n await this.koalaService.cancelRequests();\n }\n\n public async getParams(params?: BehaviorSubject<any> | any) {\n let filter = {} as any;\n if (params instanceof BehaviorSubject) {\n Object.assign(filter, params?.getValue() ?? {});\n } else {\n Object.assign(filter, params ?? {});\n }\n if (\n filter &&\n filter.hasOwnProperty('sort') &&\n filter.hasOwnProperty('order') &&\n filter.hasOwnProperty('limit') &&\n filter.hasOwnProperty('page') &&\n filter.hasOwnProperty('params')\n ) {\n Object.keys(filter.params).forEach(indexName => {\n if (\n `${filter.params[indexName]}` === 'NaN' ||\n filter.params[indexName] === null\n ) {\n filter.params[indexName] = '';\n }\n });\n return koala({})\n .object()\n .merge(filter.params)\n .merge({\n sort: filter.sort,\n order: filter.order,\n limit: filter.limit,\n page: filter.page\n })\n .getValue();\n }\n\n return filter ?? null;\n }\n}\n","import { Observable } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { KoalaAlertEnum, KoalaAlertService, KoalaRequestCodeToAlertEnumTranslate } from '@koalarx/ui/alert';\nimport { KoalaLanguageHelper } from \"../../page/koala-language.helper\";\n\n@Injectable({providedIn: \"any\"})\nexport class KoalaRequestService {\n\n constructor(private koalaAlertService: KoalaAlertService) {\n }\n\n public request<T>(\n request: Promise<T> | Observable<T>,\n success?: (response: T) => void,\n error?: (error: T) => void\n ) {\n if (request instanceof Promise) {\n request.then((response) => {\n if (success) {\n success(response);\n }\n }).catch(e => {\n if (error) {\n error(e);\n }\n this.showAlertError(e);\n });\n } else {\n return request.subscribe(\n (response) => {\n if (success) {\n success(response);\n }\n },\n (e) => {\n if (error) {\n error(e);\n }\n this.showAlertError(e);\n }\n );\n }\n }\n\n private showAlertError(e: any) {\n const alertEnum = KoalaRequestCodeToAlertEnumTranslate.translate(e.statusCode);\n this.koalaAlertService.create({\n alertEnum,\n message: alertEnum === KoalaAlertEnum.internalServerError\n ? KoalaLanguageHelper.getInternalServerErrorMessage()\n : e.message\n });\n }\n}\n","import { ModuleWithProviders, NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { KoalaOAuth2Service } from \"./services/openid/koala.oauth2.service\";\nimport { KoalaEnvironment, KoalaEnvironmentInterface } from \"./environments/koalaEnvironment\";\nimport { KoalaPageModule } from \"./page/koala.page.module\";\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n KoalaPageModule\n ],\n exports: [\n HttpClientModule,\n KoalaPageModule\n ],\n providers: [\n KoalaOAuth2Service\n ]\n})\nexport class NgxKoalaModule {\n static forRoot(environment: KoalaEnvironmentInterface): ModuleWithProviders<NgxKoalaModule> {\n environment.storageOAuthTypeName = environment.storageOAuthTypeName ?? 'koala_ui_oauth_type';\n environment.storageTokenName = environment.storageTokenName ?? 'koala_ui_token';\n\n KoalaEnvironment.environment = environment;\n\n return {\n ngModule: NgxKoalaModule,\n providers: [KoalaOAuth2Service]\n };\n }\n}\n","//#region [COMPONENTS]\nexport * from './lib/loader/loader-bar-page.component';\nexport * from './lib/loader/loader-bar-page.interface';\nexport * from './lib/loader/loader-config.interface';\nexport * from './lib/loader/loader-bar-page.component';\nexport * from './lib/page/notifications/koala.notification.interface';\nexport * from './lib/page/notifications/notification.component';\nexport * from './lib/page/koala-language.helper';\nexport * from './lib/services/openid/koala-oauth2-config.interface';\nexport * from './lib/page/koala.user-menu-options.interface';\nexport * from './lib/page/koala-page-pallet-colors.interface';\nexport * from './lib/page/page.component';\nexport * from './lib/page/koala.page.module';\n//#endregion\n\n//#region [ROUTER]\nexport * from './lib/router/koala.parameter-hash-location-stategy';\n//#endregion\n\n//#region [SERVICES]\nexport * from './lib/services/api-requester/koala.api-requester.service';\nexport * from './lib/services/api-requester/koala.api-requester.base';\nexport * from './lib/services/api-requester/factory/koala.response.factory';\nexport * from './lib/services/api-requester/helpers/error/koala.client.error';\nexport * from './lib/services/api-requester/helpers/error/koala.errors.helper';\nexport * from './lib/services/api-requester/helpers/error/koala.not-found.error';\nexport * from './lib/services/api-requester/helpers/error/koala.success.error';\nexport * from './lib/services/api-requester/helpers/error/koala.unhautorized.error';\nexport * from './lib/services/api-requester/helpers/service/koala.request-header.helper';\nexport * from './lib/services/request/koala.request.service';\nexport * from './lib/services/loader/koala.loader.service';\nexport * from './lib/services/token/koala.token.service';\nexport * from './lib/services/openid/koala.oauth2.service';\nexport * from './lib/services/openid/koala.oauth.config';\n//#endregion\n\nexport * from './lib/ngx-koala.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -40,6 +40,7 @@ import { MatBadgeModule } from '@angular/material/badge';
|
|
|
40
40
|
import * as i1$3 from '@koalarx/ui/alert';
|
|
41
41
|
import { KoalaAlertEnum, KoalaRequestCodeToAlertEnumTranslate } from '@koalarx/ui/alert';
|
|
42
42
|
import { map, first } from 'rxjs/operators';
|
|
43
|
+
import { EventSourcePolyfill } from 'event-source-polyfill';
|
|
43
44
|
|
|
44
45
|
class LoaderBarPageComponent {
|
|
45
46
|
constructor() {
|
|
@@ -1095,6 +1096,22 @@ class KoalaApiRequesterService {
|
|
|
1095
1096
|
this.isMockup = false;
|
|
1096
1097
|
this.subscriptions = [];
|
|
1097
1098
|
}
|
|
1099
|
+
eventStream(url, onmessage, onclose) {
|
|
1100
|
+
const hub = new URL(`${this.getUrlBase()}/${url}`);
|
|
1101
|
+
const eventSource = new EventSourcePolyfill(hub.toJSON(), {
|
|
1102
|
+
headers: KoalaRequestHeaderHelper.add(TokenFactory.getToken())
|
|
1103
|
+
});
|
|
1104
|
+
eventSource.addEventListener('message', (event) => {
|
|
1105
|
+
if (typeof event.data !== 'undefined') {
|
|
1106
|
+
onmessage(JSON.parse(event.data));
|
|
1107
|
+
}
|
|
1108
|
+
});
|
|
1109
|
+
eventSource.addEventListener('close', () => {
|
|
1110
|
+
if (onclose) {
|
|
1111
|
+
onclose();
|
|
1112
|
+
}
|
|
1113
|
+
});
|
|
1114
|
+
}
|
|
1098
1115
|
request(method, url, data = {}) {
|
|
1099
1116
|
if (data.__zone_symbol__state) {
|
|
1100
1117
|
data = data.__zone_symbol__value;
|