info-library 2.10.35 → 2.10.36

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.
@@ -1 +1 @@
1
- {"version":3,"file":"info-library.js","sources":["../../../projects/info-library/src/global-config.ts","../../../projects/info-library/src/model/app-config.model.ts","../../../projects/info-library/src/model/data-access.model.ts","../../../projects/info-library/src/model/dialog-result.model.ts","../../../projects/info-library/src/model/dialog.model.ts","../../../projects/info-library/src/enum/page-action.enum.ts","../../../projects/info-library/src/enum/modal-action.enum.ts","../../../projects/info-library/src/model/form-prop.model.ts","../../../projects/info-library/src/model/grid-button.model.ts","../../../projects/info-library/src/model/method-grid-button.model.ts","../../../projects/info-library/src/model/last-search.model.ts","../../../projects/info-library/src/model/login.model.ts","../../../projects/info-library/src/model/pagebar-buttons.model.ts","../../../projects/info-library/src/model/permission.model.ts","../../../projects/info-library/src/model/platform.model.ts","../../../projects/info-library/src/model/session.model.ts","../../../projects/info-library/src/model/notification.model.ts","../../../projects/info-library/src/enum/dialog-buttons.enum.ts","../../../projects/info-library/src/service/translate.service.ts","../../../projects/info-library/src/pipe/translate.pipe.ts","../../../projects/info-library/src/pipe/mask.pipe.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/service/authentication.service.ts","../../../projects/info-library/src/service/theme.service.ts","../../../projects/info-library/src/service/configuration.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.ts","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/info-library.module.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const DICTIONARIES_CONFIG = new InjectionToken<any>('DICTIONARIES_CONFIG');\r\nexport const APICONTROLLER_CONFIG = new InjectionToken<any>('APICONTROLLER_CONFIG');","export class InfoAppConfigModel {\r\n production: boolean = false;\r\n webapiUrl: string = '';\r\n processingUrl: string = '';\r\n theme: string = '';\r\n dictionary: string = '';\r\n ux: Number = 2;\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n}","export class InfoDataAccessModel {\r\n \r\n success: boolean;\r\n messages: string[] = [];\r\n name: string = null;\r\n description: string = null;\r\n data: any;\r\n total: number = 0;\r\n parentId: number = null;\r\n referenceGuid: string = null;\r\n external = false;\r\n\r\n constructor(data: any, success?: boolean, messages?: string[]) {\r\n\r\n if (data != null) {\r\n if (data.Name != null && data.Name != \"\")\r\n this.name = data.Name\r\n\r\n if (data.Description != null && data.Description != \"\")\r\n this.description = data.Description;\r\n\r\n if (data.Total != null)\r\n this.total = data.Total;\r\n \r\n if (data.Success != null)\r\n success = data.Success;\r\n\r\n if (data.Messages)\r\n messages = data.Messages;\r\n\r\n if (data.ParentId != null)\r\n this.parentId = data.ParentId;\r\n\r\n if (data.ReferenceGuid != null)\r\n this.referenceGuid = data.ReferenceGuid;\r\n \r\n if (data.External != null)\r\n this.external = data.External;\r\n\r\n this.data = data.Data;\r\n }\r\n \r\n this.success = success == null ? true : success;\r\n this.messages = messages;\r\n\r\n if (this.messages == null || this.messages == [])\r\n this.messages = new Array();\r\n }\r\n}","import { InfoDialogButtons } from \"../enum/dialog-buttons.enum\";\r\n\r\nexport class InfoDialogResult {\r\n data?: any = null;\r\n button: InfoDialogButtons;\r\n\r\n constructor(button: InfoDialogButtons);\r\n constructor(button: InfoDialogButtons, data?: any) {\r\n this.button = button;\r\n this.data = data;\r\n }\r\n}","export class InfoDialogModel {\r\n\r\n yesOrNo: boolean = false\r\n title: string\r\n message: string = ''\r\n width: number = 450;\r\n\r\n labelOk: string = 'Ok'\r\n labelCancel: string = 'Cancelar'\r\n labelAux: string = null\r\n\r\n colorOk: string = ''\r\n colorCancel: string = ''\r\n colorAux: string = ''\r\n\r\n processingMode: boolean = false;\r\n\r\n disableButtonCancel: boolean = false;\r\n}","export enum InfoPageAction {\r\n None = -1,\r\n\r\n View = 0,\r\n New = 1,\r\n Edit = 2,\r\n Delete = 3,\r\n Search = 4,\r\n}","export enum InfoModalAction {\r\n None,\r\n Ok,\r\n Yes,\r\n No,\r\n Cancel,\r\n Save,\r\n Special,\r\n Aux\r\n}","import { InfoPageAction } from \"../enum/page-action.enum\";\r\nimport { InfoModalAction } from \"../enum/modal-action.enum\";\r\n\r\nexport class InfoFormPropModel {\r\n\r\n title: string;\r\n readonly: boolean;\r\n data: any;\r\n pageAction: InfoPageAction;\r\n modalAction: InfoModalAction = InfoModalAction.None;\r\n modalComponent: any = null;\r\n api: any = null;\r\n\r\n set(pageAction: InfoPageAction, data: any) {\r\n\r\n this.data = data;\r\n this.readonly = pageAction == InfoPageAction.View;\r\n this.pageAction = pageAction;\r\n\r\n switch (pageAction) {\r\n\r\n case InfoPageAction.New:\r\n this.title = 'Novo';\r\n break;\r\n\r\n case InfoPageAction.Search:\r\n this.title = 'Pesquisar';\r\n break;\r\n\r\n case InfoPageAction.View:\r\n this.title = 'Visualizar';\r\n break;\r\n\r\n case InfoPageAction.Edit:\r\n this.title = 'Editar';\r\n break;\r\n\r\n case InfoPageAction.Delete:\r\n this.title = 'Remover';\r\n break;\r\n\r\n default:\r\n this.title = '';\r\n break;\r\n }\r\n }\r\n}","export class InfoGridButtonModel {\r\n \r\n label: string;\r\n passId: boolean;\r\n icon: string;\r\n navigateTo: string;\r\n modalComponent: any = null;\r\n widthModalComponent: Number = 500;\r\n api: any = null;\r\n method: string = null;\r\n showOnlyClass: string = null;\r\n disabledField: string = null;\r\n confirm: boolean;\r\n\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string, confirm: boolean);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function = null, widthModalComponent: Number = null, api: any = null, method: string = null, disabledField: string = null, confirm: boolean = true) {\r\n this.label = label;\r\n this.passId = passId;\r\n this.icon = icon;\r\n this.navigateTo = navigateTo;\r\n \r\n this.modalComponent = modalComponent;\r\n this.widthModalComponent = widthModalComponent;\r\n\r\n this.api = api;\r\n this.method = method;\r\n this.disabledField = disabledField;\r\n this.confirm = confirm;\r\n }\r\n}","export class InfoMethodGridButtonModel {\r\n \r\n label: string;\r\n icon: string;\r\n method: () => any = null;\r\n\r\n constructor(label: string, icon: string, method: () => any)\r\n {\r\n this.label = label;\r\n this.icon = icon;\r\n this.method = method;\r\n }\r\n}","export class InfoLastSearchModel {\r\n url: string = '';\r\n model: any = null;\r\n index: number = 0;\r\n enabledSearch: boolean = false;\r\n}","export class InfoLoginModel {\r\n\r\n success: boolean = false;\r\n messages: string;\r\n data: any;\r\n\r\n constructor(success: boolean, messages: string, data?: any) {\r\n this.success = success;\r\n this.messages = messages;\r\n this.data = data;\r\n }\r\n}","export class InfoPagebarButtonModel {\r\n label: string = '';\r\n url: string = '';\r\n icon: string = '';\r\n modal: any = null;\r\n modalwidth: number = 700;\r\n\r\n constructor(label: string, url: string);\r\n constructor(label: string, url: string, icon: string);\r\n constructor(label: string, url: string, icon: string, modal: any, modalwidth: number);\r\n constructor(label: string, url: string, icon: string = 'chevron_right', modal: any = null, modalwidth: number = 700){\r\n this.label = label;\r\n this.url = url;\r\n this.icon = icon;\r\n this.modal = modal;\r\n this.modalwidth = modalwidth;\r\n }\r\n}","export class InfoPermissionModel {\r\n Acesso: boolean;\r\n URL: string;\r\n ChaveFuncionalidade: string;\r\n}","import { InfoAppConfigModel } from \"./app-config.model\";\r\n\r\nexport class InfoPlatformModel {\r\n\r\n TokenKey: string = 'token';\r\n SessionKey: string = 'sessao';\r\n \r\n ConfigIsNull: boolean = true;\r\n Themes: any = [];\r\n Config: InfoAppConfigModel = new InfoAppConfigModel();\r\n\r\n PaginaAtiva: any;\r\n UnificarTopbar: boolean = true;\r\n MenuMin: boolean = false;\r\n ModoPrime: boolean = false;\r\n\r\n Menu: any = [];\r\n\r\n ShortcutApi: any = null;\r\n\r\n public setConfig(config: InfoAppConfigModel) {\r\n this.Config = config;\r\n this.ConfigIsNull = false;\r\n }\r\n}","import { InfoPermissionModel } from \"./permission.model\";\r\n\r\nexport class InfoSessionModel {\r\n UsuarioId: number;\r\n Usuario: string;\r\n Login: string;\r\n Email: string;\r\n Perfil: string;\r\n EmpresaId: number;\r\n TemaId: number;\r\n Empresa: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Parametros: any[] = null;\r\n TempoInatividade: number;\r\n}","export class InfoNotificationModel {\r\n Count: number = 0;\r\n Itens: InfoNotificationItemModel[] = [];\r\n}\r\n\r\nexport class InfoNotificationItemModel {\r\n Id: number;\r\n Icon: string;\r\n Description: string;\r\n Url: string;\r\n Date: string;\r\n Viewed: boolean;\r\n}","export enum InfoDialogButtons {\r\n Ok,\r\n Cancel,\r\n Yes,\r\n No,\r\n Aux\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { DICTIONARIES_CONFIG } from \"../global-config\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoTranslateService {\r\n private _currentLang: string;\r\n private _key: string = 'currentLang';\r\n\r\n public get currentLang() {\r\n return this._currentLang;\r\n }\r\n\r\n constructor(@Inject(DICTIONARIES_CONFIG) private _translations: any, private _plataforma: InfoPlatformModel) {\r\n \r\n let lang = localStorage.getItem(this._key);\r\n if (lang == null)\r\n this._currentLang = 'pt-br';\r\n else this._currentLang = lang;\r\n }\r\n\r\n public set(lang: string): void {\r\n this._currentLang = lang;\r\n localStorage.setItem(this._key, lang);\r\n }\r\n\r\n public translate(key: string): string {\r\n let translation = key;\r\n\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Values && this._translations[this.currentLang].Values[key]) {\r\n return (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n public getCalendar(): any {\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Calendar) {\r\n return this._translations[this.currentLang].Calendar;\r\n }\r\n }\r\n\r\n public instant(key: string) {\r\n return this.translate(key);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n pure: false\r\n})\r\nexport class InfoTranslatePipe implements PipeTransform {\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) \r\n return;\r\n\r\n return this._translate.instant(value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport { conformToMask } from \"text-mask-core/dist/textMaskCore\";\r\n\r\n@Pipe({\r\n name: 'mask',\r\n pure: false\r\n})\r\nexport class InfoMaskPipe implements PipeTransform {\r\n\r\n constructor( ) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) return;\r\n\r\n let mask = [];\r\n\r\n if (args == 'phone')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]; \r\n else if (args == 'cel')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cep')\r\n mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cpf')\r\n mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else if (args == 'cnpj')\r\n mask = [/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'/',/\\d/,/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else \r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n \r\n return conformToMask(value, mask, {guide: false}).conformedValue; \r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { InfoDataAccessModel } from '../model/data-access.model';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of, ObservableInput } from 'rxjs';\r\nimport { APICONTROLLER_CONFIG } from '../global-config';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private _key: string = 'token';\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, private _http: HttpClient, private _router: Router, private _plataforma: InfoPlatformModel) { }\r\n\r\n public getToken(): string {\r\n this.token = localStorage.getItem(this._key);\r\n\r\n if (this.token == null) {\r\n this._router.navigateByUrl('');\r\n return '';\r\n\r\n } else return 'Bearer ' + this.token;\r\n }\r\n\r\n public getHeaderToken(): HttpHeaders {\r\n return new HttpHeaders().set('Authorization', this.getToken());\r\n }\r\n\r\n public getAPIUrl(controller: any) {\r\n let api = '';\r\n\r\n\t\tif (typeof(controller) == 'number')\r\n\t\t\tapi = this._apiController[controller].toString();\r\n\r\n else api = controller == null ? '' : controller.toString();\r\n \r\n\t\treturn this._plataforma.Config.webapiUrl + (api.replace('_', '/') + '/').toLowerCase();\r\n }\r\n\r\n public getNoToken(controller: any): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + (param == null ? '' : ('?' + param.replace(/null/g, '').replace(/undefined/g, ''))))\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public get(controller: any): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n \r\n return this._http\r\n .get(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + (param == null ? '' : ('?' + param.replace(/null/g, '').replace(/undefined/g, ''))), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public getById(controller: any, id: number): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + id.toString(), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public postNoToken(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + method.toLowerCase(), model)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public post(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + (method == null ? '' : method), model, { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e, false))\r\n );\r\n }\r\n\r\n public delete(controller: any, id: any): Observable<InfoDataAccessModel>\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel>;\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n if (id == undefined || id == null)\r\n alert('Id não informado');\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + \"?id=\" + id.toString(), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public deleteByModel(controller: any, model: any): Observable<InfoDataAccessModel>\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n let httpOptions = {\r\n headers: this.getHeaderToken(),\r\n body: model\r\n }\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()), httpOptions)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public request(controller: any, model: any[], method?: string): Observable<InfoDataAccessModel>\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n let formData = new FormData();\r\n for (let index = 0; index < model.length; index++)\r\n formData.append(model[index].name, model[index]);\r\n\r\n return this._http\r\n .request('POST', this.getAPIUrl(controller) + (method == null ? '' : method) + (param == null ? '' : ('?' + param)), { headers: this.getHeaderToken(), body: formData })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse, redirect: boolean = true): ObservableInput<InfoDataAccessModel> {\r\n if (e.status == 401) \r\n document.location.href = '/#/login';\r\n else if (redirect) \r\n document.location.href = '/#/500';\r\n\r\n let messages: string[] = new Array(e.message);\r\n return of(new InfoDataAccessModel(null, false, messages));\r\n }\r\n}","import { Component, Injectable } from '@angular/core';\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, ObservableInput, of } from 'rxjs';\r\nimport { map, catchError, switchMap } from 'rxjs/operators';\r\nimport { InfoSessionModel } from '../model/session.model';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoLoginModel } from '../model/login.model';\r\nimport { InfoDataService } from '../service/data.service';\r\nimport { InfoFormPropModel } from '../model/form-prop.model';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoModalAction } from '../enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _key: string = 'token';\r\n private _keySessao: string = 'sessao';\r\n private _sessionTimeInterval;\r\n private _sessionTime: number = null;\r\n\r\n constructor(private _router: Router, \r\n private _http: HttpClient, \r\n private _sessao: InfoSessionModel, \r\n private _plataforma: InfoPlatformModel,\r\n private _dataService: InfoDataService,\r\n private _modal: MatDialog) { }\r\n\r\n getSessao(): InfoSessionModel{\r\n return this._sessao;\r\n }\r\n\r\n getPlatform(): InfoPlatformModel {\r\n return this._plataforma;\r\n }\r\n\r\n canActivate(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: RouterStateSnapshot): Observable<boolean> | boolean {\r\n \r\n if (!this.isLogged()) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n const url = activatedRouteSnapshot.data['URL'] || routerStateSnapshot.url;\r\n\r\n this.refreshSessionTime();\r\n this.definePaginaAtiva(url);\r\n\r\n return this.getPermission(url, true)\r\n .pipe(\r\n map(() => {\r\n if (url == '/')\r\n return true;\r\n\r\n if (!this.hasPermission(url))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('novo') > -1 && !this.hasPermission(url, 'new'))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('visualizar') < -1 && activatedRouteSnapshot.paramMap.get('id') != null && !this.hasPermission(url, 'edit'))\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n }, \r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n })\r\n )).pipe(\r\n switchMap(async res => {\r\n const permissao = activatedRouteSnapshot.data['Permissao'];\r\n\r\n if (!permissao)\r\n return true;\r\n\r\n var params = (permissao[2] || '').replace(RegExp(/\\{(.*?)\\}/, 'g'), (_, p) => activatedRouteSnapshot.params[p]);\r\n\r\n var r = await this._dataService.get(permissao[0], permissao[1], params).toPromise();\r\n if (!r.success || r.data != true)\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n isLogged(): boolean {\r\n return (localStorage.getItem(this._key) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n clearInterval(this._sessionTimeInterval);\r\n if (this._sessao.TempoInatividade <= 0) {\r\n this._sessionTime = null;\r\n } else {\r\n this._sessionTime = this._sessao.TempoInatividade;\r\n \r\n if (this._sessao.TempoInatividade <= 0) {\r\n this._sessionTime = null;\r\n return;\r\n }\r\n\r\n this._sessionTimeInterval = setInterval(() => {\r\n if (this._sessionTime == null) {\r\n this._sessionTime = this._sessao.TempoInatividade;\r\n \r\n if (this._sessionTime == null || this._sessionTime <= 0) {\r\n this.refreshSessionTime();\r\n return;\r\n }\r\n }\r\n\r\n if (this._sessionTime > 0)\r\n this._sessionTime--;\r\n else {\r\n clearInterval(this._sessionTimeInterval);\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '400px'\r\n });\r\n \r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n clearInterval(this._sessionTimeInterval);\r\n \r\n if (r == null)\r\n this.logout();\r\n\r\n else if (r.modalAction == InfoModalAction.Yes)\r\n this.refreshSessionTime();\r\n\r\n else this.logout();\r\n });\r\n }\r\n }, 1000);\r\n }\r\n\t}\r\n\r\n login(usuario: string, senha: string): Observable<any> {\r\n this.removeSessao();\r\n\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/autenticar', { Usuario: usuario, Senha: senha })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data.Token);\r\n \r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n trocarEmpresa(usuario: string, empresaId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarempresa', { EmpresaId: empresaId }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n clonar(usuario: string): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/clonar', { Usuario: usuario }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n logout() {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); });\r\n }\r\n\r\n getPermissions(url: string, logAtividade: boolean = false): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/getpermissao?url=' + url + '&logatividade=' + logAtividade.toString(), { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setTrocaSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/TrocarSenha', model, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setRecuperarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/RecuperarSenha', model, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setResetarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/ResetarSenha', model)\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n getLoginResources(): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/app/GetLoginResources')\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n hasPermission(url: string, keyFunction: string = 'view'): boolean {\r\n\r\n if (url == '/' && keyFunction == 'view')\r\n return true;\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n return this._sessao.Permissoes.some(s => s.URL == urlGenerica && s.ChaveFuncionalidade == keyFunction && s.Acesso);\r\n }\r\n\r\n getPermission(url: string, logAtividade: boolean = false): Observable<boolean> {\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n let contemUrl = this._sessao.Permissoes.some(s => s.URL == urlGenerica);\r\n if (contemUrl) {\r\n if (logAtividade) {\r\n return this.validaSessao(url).pipe(map(ret => {\r\n if (!ret.success)\r\n this.logout();\r\n \r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n } else {\r\n return new Observable(function (observer) {\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n }\r\n } else {\r\n return this.getPermissions(urlGenerica, logAtividade).pipe(map(ret => {\r\n let permissao = true;\r\n if (ret.success) {\r\n if (ret.data == null) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n ret.data.forEach(item => {\r\n if (this._sessao.Permissoes.filter(s => s.URL == item.URL && s.ChaveFuncionalidade == item.ChaveFuncionalidade).length == 0)\r\n this._sessao.Permissoes.push(item);\r\n });\r\n\r\n ret.data.some(s => s.URL == urlGenerica)\r\n\r\n localStorage.setItem(this._keySessao, JSON.stringify(this._sessao));\r\n }\r\n\r\n return permissao;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n }\r\n }\r\n\r\n validaSessao(url: string): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/validasessao?url=' + url, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r === true, '', r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n removeSessao() {\r\n Object.keys(localStorage).forEach((key) => {\r\n if (!key.includes('Dashboard')) delete localStorage[key];\r\n });\r\n }\r\n\r\n definePaginaAtiva(url) {\r\n\r\n if (this._plataforma.Menu == null || url == null) {\r\n this._plataforma.PaginaAtiva = null;\r\n return;\r\n }\r\n\r\n let aux: string[] = url.substring(1).replace(/-/g, '').toLowerCase().split('/');\r\n let tituloMenu: string = aux.length > 0 ? aux[0].toString() : url;\r\n\r\n if (tituloMenu.indexOf('ashboard') > -1)\r\n this._plataforma.PaginaAtiva = { Icone: 'widgets', Titulo: 'Dashboard' };\r\n\r\n else {\r\n let item: any = this._plataforma.Menu.filter(m => m.Title.toLowerCase().indexOf(tituloMenu) > -1);\r\n\r\n if (item != null && item.length > 0)\r\n this._plataforma.PaginaAtiva = { Icone: item[0].Icon, Titulo: item[0].Title };\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: 'Plataforma' };\r\n }\r\n }\r\n\r\n getUrlGenerica(url: string): string {\r\n let retorno = \"\";\r\n let urlParts: string[] = url.split('/');\r\n for (var i = 0; i < urlParts.length; i++) {\r\n if (!isNaN(parseFloat(urlParts[i])) || this.isGuid(urlParts[i]) || urlParts[i].toLowerCase() == 'novo')\r\n break;\r\n else\r\n retorno += '/' + urlParts[i];\r\n }\r\n return retorno.substring(1);\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse): ObservableInput<InfoLoginModel> {\r\n if (e.status == 401) \r\n this.logout();\r\n\r\n else if (e.status == 500)\r\n this._router.navigateByUrl('500');\r\n\r\n else if (e.error != null && e.error.error_description != null)\r\n return of(new InfoLoginModel(false, e.error.error_description));\r\n\r\n else return of(new InfoLoginModel(false, 'Houve um problema e não foi possível conectar'));\r\n }\r\n\r\n private isGuid(value) : boolean {\r\n return (value || '').match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n}\r\n\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"Inatividade\" (onsave)=\"ativo(true)\" labelsubmit=\"Sim\" labelcancel=\"({{ time }}) {{ 'Nao' | translate }}\">\r\n <label style=\"font-size:130%\">{{ 'VoceAindaEstaUtilizandoPlataforma' | translate }}</label>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class RefreshSessionTimeModalComponent {\r\n time = 15;\r\n interval;\r\n\r\n\tconstructor(private _ref: MatDialogRef<RefreshSessionTimeModalComponent>) { }\r\n\r\n ngOnInit() {\r\n clearInterval(this.interval);\r\n \r\n this.interval = setInterval(() => {\r\n if (this.time > 0)\r\n this.time--;\r\n else {\r\n this.ativo(false);\r\n clearInterval(this.interval);\r\n }\r\n }, 1000);\r\n }\r\n \r\n ativo(ativo: boolean) {\r\n this._ref.close({ modalAction: ativo ? InfoModalAction.Yes : InfoModalAction.No });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { OverlayContainer } from \"@angular/cdk/overlay\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoSessionModel } from '../model/session.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoThemeService {\r\n\r\n constructor(public _overlay: OverlayContainer, public _plataform: InfoPlatformModel, public _session: InfoSessionModel) { }\r\n\r\n public setTheme(theme) {\r\n // console.log('info-theme.setTheme', theme);\r\n\r\n if (this._plataform.Themes != null){\r\n let item = this._plataform.Themes.find(t => t.name == theme);\r\n this._plataform.UnificarTopbar = item == null ? false : item.unificarTopbar;\r\n }\r\n\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themeClassesToRemove: any = Array.from(_overlay).filter((item: string) => item.includes('-theme'));\r\n \r\n if (themeClassesToRemove && themeClassesToRemove.length > 0)\r\n _overlay.remove(themeClassesToRemove);\r\n\r\n _overlay.remove('alternative-layout');\r\n _overlay.add(theme);\r\n\r\n document.body.removeAttribute('class');\r\n document.body.classList.add(theme);\r\n\r\n if (this._plataform.UnificarTopbar)\r\n document.body.classList.add('alternative-layout');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n \r\n if (this._plataform.ModoPrime)\r\n document.body.classList.add('modo-prime');\r\n\r\n document.body.classList.add('ux' + (this._plataform.Config.ux ? this._plataform.Config.ux : 2));\r\n\r\n sessionStorage.setItem('at', theme);\r\n localStorage.setItem('at', theme);\r\n }\r\n\r\n public setThemeByLoggedCompany() {\r\n // console.log('info-theme.setThemeByLoggedCompany', this._session.TemaId);\r\n this.setTheme(this._session.TemaId > 0 ? `_${this._session.TemaId}-theme` : 'default-theme');\r\n }\r\n\r\n public setMenuMin(value: boolean = null){\r\n this._plataform.MenuMin = value == null ? !this._plataform.MenuMin : value;\r\n\r\n document.body.classList.remove('menu-min');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n\r\n sessionStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n localStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n }\r\n\r\n public setModePrime(prime: boolean = null){\r\n this._plataform.ModoPrime = prime == null ? !this._plataform.ModoPrime : prime;\r\n\r\n document.body.classList.remove('modo-prime');\r\n \r\n if (this._plataform.ModoPrime)\r\n document.body.classList.add('modo-prime');\r\n\r\n sessionStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n localStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { InfoPlatformModel } from \"../model/platform.model\";\r\nimport { InfoAppConfigModel } from \"../model/app-config.model\";\r\nimport { InfoThemeService } from \"./theme.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoConfigurationService {\r\n\r\n constructor(private _http: HttpClient, private _plataforma: InfoPlatformModel, private _themeService: InfoThemeService) { }\r\n\r\n initialize(): Promise<InfoAppConfigModel> {\r\n\r\n return new Promise((r, e) => {\r\n this._http\r\n .get<InfoAppConfigModel>('config.json')\r\n .subscribe(config => {\r\n let activeTheme = sessionStorage.getItem('at') || localStorage.getItem('at');\r\n let menuMin = sessionStorage.getItem('mm') || localStorage.getItem('mm');\r\n let prime = sessionStorage.getItem('mp') || localStorage.getItem('mp');\r\n\r\n this._plataforma.Config = config; \r\n this._plataforma.ConfigIsNull = false;\r\n\r\n if (this._plataforma.Config.ux == null || this._plataforma.Config.ux == undefined)\r\n this._plataforma.Config.ux = 2;\r\n\r\n if (this._plataforma.Config.ux == 2)\r\n menuMin = 'false';\r\n \r\n if (config.production)\r\n this._themeService.setTheme(activeTheme || 'default-theme');\r\n\r\n this._themeService.setMenuMin(menuMin == 'true');\r\n this._themeService.setModePrime(prime == 'true');\r\n\r\n r(config);\r\n });\r\n });\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-alert',\r\n template: `\r\n <div *ngIf=\"messages != [] && messages.length > 0\">\r\n <div class=\"alert\" #alert >\r\n <h5>{{ 'Atencao' | translate }}</h5>\r\n <ng-content></ng-content>\r\n <ul>\r\n <li *ngFor=\"let m of messages\"><mat-icon>error_outline</mat-icon><label [innerHTML]=\"m | translate\"></label></li>\r\n </ul>\r\n <a class=\"close\" (click)=\"onClose()\"><i class=\"material-icons\">clear</i></a>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['alert.component.scss']\r\n})\r\nexport class InfoAlertComponent {\r\n\r\n @Input() messages: string[] = [];\r\n\r\n onClose() {\r\n this.messages = [];\r\n }\r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormControl, ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { debounceTime, switchMap, distinctUntilChanged } from 'rxjs/operators';\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { InfoDataAccessModel } from '../../model';\r\n\r\n@Component({\r\n selector: 'info-autocomplete',\r\n templateUrl: 'autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoAutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoAutoCompleteComponent implements OnInit, ControlValueAccessor {\r\n control = new FormControl();\r\n \r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() getdataonchange = false;\r\n @Input() getdataonchangetime = 300;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() maxlist = 10;\r\n @Input() startwith = false;\r\n @Input() minchar = 1;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n options: any[];\r\n selectedValue: any = null;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n \r\n initialized = false;\r\n\r\n _loading: boolean = false;\r\n @Input()\r\n get loading(){\r\n return this._loading;\r\n }\r\n\r\n set loading(value){\r\n this._loading = value;\r\n \r\n if (this._disabled == null)\r\n this._disabled = false;\r\n\r\n else if (this._disabled.toString() == '')\r\n this._disabled = true;\r\n\r\n if (this._disabled == false)\r\n this.setDisabledState(this.loading);\r\n }\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n }\r\n \r\n _disabled: boolean = null;\r\n @Input()\r\n set disabled(value: boolean) { \r\n if (this._disabled == null)\r\n this._disabled = value;\r\n\r\n if (value)\r\n this.control.disable();\r\n else\r\n this.control.enable();\r\n }\r\n\r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n\r\n if (this.getdataonchange)\r\n return;\r\n\r\n setTimeout(() => {\r\n if (this.selectedValue != null)\r\n if (this._data == null || (this._data != null && this._data.length == 0)) {\r\n this.writeValue(null);\r\n this.selectedValue = null;\r\n } else\r\n this.writeValue(this.selectedValue.Id == null ? this.selectedValue : this.selectedValue.Id);\r\n \r\n else if (this.selectfirst && this.data != null && this.data.length > 0)\r\n this.writeValue(this.data[0].Id);\r\n\r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }, 1000);\r\n }\r\n\r\n constructor(private _dataAcess: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.minchar == null || this.minchar < 0) this.minchar = 1;\r\n this.name = this.placeholder.replace(/ /g, '') + Math.floor(Math.random() * 1000).toString();\r\n\r\n if (!this.getdataonchange) {\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n this.control.valueChanges.subscribe(value => { this.options = this.filter(value)});\r\n } else {\r\n this.control.valueChanges.pipe(\r\n debounceTime(this.getdataonchangetime), \r\n distinctUntilChanged(),\r\n switchMap(value => this.getData(value))\r\n ).subscribe(a => this.data = this.options = a.data);\r\n }\r\n }\r\n\r\n filter(value: any): any[] {\r\n if (value == null || value.length < this.minchar) return [];\r\n let filterValue = value.Nome == null ? value.toString().toLowerCase() : value.Nome;\r\n\r\n if (this.startwith)\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) === 0 || (option.Aux == null ? \"\" : option.Aux.toLowerCase() == filterValue)).slice(0, this.maxlist);\r\n else\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) > -1 || (option.Aux == null ? \"\" : option.Aux.toLowerCase().indexOf(filterValue) > -1)).slice(0, this.maxlist);\r\n }\r\n\r\n getData(value: any = null): Observable<any> {\r\n this.initialized = true;\r\n\r\n if (this.api == null || this.api == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n this.loading = !this.getdataonchange;\r\n this.data = [];\r\n let parameters = this.params;\r\n\r\n if (this.getdataonchange) {\r\n if (value == null || value == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n if (parameters != null && parameters != '')\r\n parameters += '&';\r\n\r\n parameters += `nome=${value.Nome == null ? value.toString().toLowerCase() : value.Nome}&take=${this.maxlist}`;\r\n }\r\n\r\n return this._dataAcess.get(this.api, this.method, parameters);\r\n }\r\n\r\n onBlur(value) {\r\n setTimeout(() => {\r\n if (this.selectedValue != null && this.selectedValue.Id != null)\r\n return;\r\n\r\n if (!value && this.selectedValue != null && this.selectedValue.trim() == '')\r\n this.writeValue(null);\r\n else {\r\n let first = this.filter(value);\r\n if (first != null && first.length > 0)\r\n this.writeValue(first[0].Id);\r\n else\r\n this.writeValue(null);\r\n } \r\n }, 300);\r\n }\r\n\r\n onFocus(value) {\r\n if (this.minchar != null && this.minchar == 0 && (value == null || value == ''))\r\n setTimeout(() => { this.control.setValue(''); }, 200);\r\n }\r\n\r\n displayFn(model): string {\r\n if (model == null || model.Nome == null)\r\n return '';\r\n\r\n let indexSmall = model.Nome.indexOf('<small');\r\n return indexSmall > -1 ? model.Nome.substring(0, indexSmall).trim() : model.Nome;\r\n }\r\n\r\n writeValue(value: any): void {\r\n let obj = this.data.find(r => r.Id == value);\r\n this.control.setValue(obj);\r\n\r\n if (value != null && obj == null)\r\n this.selectedValue = value;\r\n\r\n if (this.onChange != null)\r\n this.onChange(value);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == value));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-big-checkbox',\r\n templateUrl: 'big-checkbox.component.html',\r\n styleUrls: ['big-checkbox.component.scss']\r\n})\r\nexport class InfoBigCheckboxComponent implements OnInit {\r\n\r\n @Input() readonly: boolean = false;\r\n @Input() preload: boolean = true;\r\n @Input() enabledcheckall: boolean = true;\r\n @Input() labelselectall: string = 'Todos';\r\n @Input() labelsearch: string = 'Buscar';\r\n @Input() minchar: number = 0;\r\n @Input() max: number = 20;\r\n @Input() message: string;\r\n @Input() submessage: string = '';\r\n\r\n @Input() value: string = '';\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n\r\n @Input() model: any = [];\r\n @Input() data: any[] = [];\r\n @Input() aux: string = null;\r\n\r\n private _params: any = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n this.getData();\r\n }\r\n\r\n private _paramsmodel: any = null;\r\n @Input()\r\n get paramsmodel(){\r\n return this._paramsmodel;\r\n }\r\n\r\n set paramsmodel(value){\r\n this._paramsmodel = value;\r\n this.getData();\r\n }\r\n\r\n loading: boolean = false;\r\n name: string = '';\r\n\r\n constructor(private _dataService: InfoDataService) { }\r\n\r\n ngOnInit(){\r\n this.submessage = 'Serão exibidos somente os ' + this.max + ' primeiros itens encontrados';\r\n this.name = 'input-search-' + Math.floor(Math.random() * 1000).toString();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n if (this.preload) {\r\n if (this.params == null && this.paramsmodel != null)\r\n this.loadByParamModel(this.paramsmodel);\r\n\r\n else this.load(this.params);\r\n }\r\n }\r\n\r\n load(param: any = null) {\r\n\r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService\r\n .get(this.api, this.method, param).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n loadByParamModel(paramModel: any = null) {\r\n \r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService.post(this.api, paramModel, this.method).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n \r\n this.loading = false;\r\n });\r\n }\r\n\r\n getModel(): any[]{\r\n\r\n if (this.model == null || this.model.length == 0)\r\n return [];\r\n\r\n return this.model.filter(m => this.aux == null || m.Aux == this.aux);\r\n }\r\n\r\n getFilteredData(): any[]{\r\n\r\n if (this.data.length == 0 || this.value.length < this.minchar)\r\n return [];\r\n\r\n return this.data.filter(d => \r\n (this.aux == null || this.aux == d.Aux) &&\r\n this.model.filter(m => m.Id == d.Id).length == 0 && \r\n d.Nome.toLowerCase().indexOf(this.value.toLowerCase()) > -1\r\n\r\n ).slice(0, this.max);\r\n }\r\n\r\n existData(): boolean{\r\n return (this.data != null && \r\n this.data.length > 0 && \r\n this.data.filter(d => this.aux == null || this.aux == d.Aux).length > 0);\r\n }\r\n\r\n add(item: any){\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this.model.push({\r\n Id: item.Id,\r\n Nome: item.Nome,\r\n Aux: (this.aux == null ? item.Aux : this.aux),\r\n Descricao: item.Descricao == null ? item.Nome : item.Descricao,\r\n Selecionado: true\r\n });\r\n }\r\n\r\n selectAll(){\r\n\r\n let removeItems = new Array();\r\n\r\n if (this.aux != null) {\r\n for (var i = 0; i < this.model.length; i++){\r\n if (this.model[i].Aux == this.aux)\r\n removeItems.push(i);\r\n }\r\n }\r\n\r\n removeItems.forEach(index => {\r\n this.model.splice(index, 1);\r\n });\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-card',\r\n templateUrl: 'card.component.html',\r\n styleUrls: ['card.component.scss']\r\n})\r\n\r\nexport class InfoCardComponent {\r\n\r\n @Input() label: string;\r\n @Input() description: string;\r\n @Input() mark: string;\r\n @Input() url: string;\r\n @Input() icon: string;\r\n @Output() onclick = new EventEmitter();\r\n\r\n constructor(private _router: Router) { }\r\n\r\n onCardClick() {\r\n if (this.url == null || this.url == '')\r\n this.onclick.emit();\r\n \r\n else this._router.navigateByUrl(this.url);\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n/**\r\n * O atributo `menu` recebe uma lista responsável pela criação do menu:\r\n * ```\r\n * [{ title: string, url: string, permission: boolean }]\r\n * ```\r\n */\r\n@Component({\r\n selector: 'info-card-menu',\r\n templateUrl: 'card-menu.component.html',\r\n styleUrls: ['card-menu.component.scss']\r\n})\r\nexport class InfoMenuCardComponent implements OnInit {\r\n \r\n @Input() label: string = null;\r\n @Input() description: string = null;\r\n @Input() icon: string = null;\r\n @Input() menu: any[] = [];\r\n @Input() cols: number = 0;\r\n @Input() loadinit: boolean = true;\r\n\r\n menuRows: any[] = [];\r\n col: number = 12;\r\n colClass: string = 'col-md-';\r\n\r\n ngOnInit(){\r\n if (this.loadinit)\r\n this.load();\r\n }\r\n\r\n load() {\r\n this.menuRows = new Array();\r\n\r\n this.menu = this.menu == null ? null : this.menu.filter(i => i.permission == true);\r\n\r\n if (this.menu == null || this.menu.length == 0 || this.cols == null || this.cols == 0){\r\n this.menuRows.push(this.menu);\r\n this.colClass += this.col.toString();\r\n return;\r\n }\r\n\r\n let numberItensRow = Math.ceil(this.menu.length / this.cols);\r\n \r\n for (var i = 0; i < this.cols; i++)\r\n this.menuRows.push(this.menu.slice(i * numberItensRow, (i * numberItensRow) + numberItensRow));\r\n\r\n this.col = 12 / this.cols;\r\n this.colClass += this.col.toString();\r\n }\r\n}","import { Component, OnInit, Input, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-checkbox',\r\n templateUrl: 'checkbox.component.html',\r\n styles: ['.info-checkbox-content { padding-top: 20px; } .info-checkbox-min { padding-top: 0 !important; margin: 0 0 13px !important; } '],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoCheckboxComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoCheckboxComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string = '';\r\n @Input() type: string = null;\r\n @Input() min: boolean = false;\r\n\r\n value: boolean = false;\r\n disabled: boolean = false;\r\n checkboxValue: { true: any, false: any } = { true: true, false: false };\r\n initialized: boolean = false;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n\r\n @Input()\r\n get checked(){\r\n return this.value;\r\n }\r\n\r\n set checked(value) {\r\n\r\n if (this.initialized){\r\n this.value = value;\r\n this.onChangeValue();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.type != null) {\r\n let customType = this.type.split(',');\r\n this.checkboxValue.true = isNaN(Number(customType[0])) ? customType[0] : Number(customType[0]);\r\n this.checkboxValue.false = isNaN(Number(customType[1])) ? customType[1] : Number(customType[1]);\r\n }\r\n\r\n this.value = true;\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n \r\n if (modelValue === undefined || modelValue == null)\r\n this.value = false;\r\n\r\n else this.value = modelValue === this.checkboxValue.true;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.initialized = true;\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onChangeValue() {\r\n let result = this.value ? this.checkboxValue.true : this.checkboxValue.false;\r\n\r\n if (this.onChange != null)\r\n this.onChange(result);\r\n }\r\n}","import { Component, forwardRef, Input, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport createAutoCorrectedDatePipe from \"text-mask-addons/dist/createAutoCorrectedDatePipe\";\r\n\r\nexport const PT_BR_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM Y',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM Y',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date',\r\n templateUrl: './date.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() minDate: Date = null;\r\n @Input() maxDate: Date = null;\r\n\r\n @Input() datefilter: any = null; //Metodo que recebe uma data(moment) e retorna boolean\r\n @Input() dateclass: any = null; //Metodo que recebe uma data(moment) e retorna string\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value != null) {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\r\n }\r\n\r\n this.dateValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","import { Component, forwardRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from \"@angular/material/core\";\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport createAutoCorrectedDatePipe from \"text-mask-addons/dist/createAutoCorrectedDatePipe\";\r\nimport { Moment } from \"moment\";\r\n\r\nexport const PT_BR_DATE_MONTH_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date-month',\r\n templateUrl: './date-month.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateMonthComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateMonthComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_MONTH_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value == null || value == undefined)\r\n this.dateValue = null;\r\n else {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), 1);\r\n this.dateValue = value;\r\n }\r\n \r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n chosenYearHandler(value: Moment) {\r\n let aux = new Date(value.year(), new Date(this.dateValue).getMonth(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n }\r\n\r\n chosenMonthHandler(value: Moment, datepicker: MatDatepicker<Moment>) {\r\n let aux = new Date(value.year(), value.month(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n datepicker.close();\r\n }\r\n \r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-paginator',\r\n templateUrl: 'paginator.component.html',\r\n styleUrls: ['paginator.component.scss']\r\n})\r\n\r\nexport class InfoPaginatorComponent {\r\n\r\n @Input() size = 5;\r\n @Input() min = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n show = false;\r\n indexActive = 0;\r\n total = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n\r\n this.pages = [];\r\n this.total = total;\r\n this.indexActive = this.index;\r\n this.numberPages = Math.ceil(this.total / this.size);\r\n \r\n if (this.total > this.size) {\r\n let i = (this.index > 2) ? (this.index - 2) : 0;\r\n let x = this.numberPages;\r\n\r\n if ((this.index + 2) < this.numberPages){\r\n \r\n let aux = 3;\r\n if (this.index < 2)\r\n aux = (5 - this.index);\r\n\r\n x = (this.index + aux);\r\n }\r\n else if ((this.index - 2) > 0)\r\n i = this.index - (5 - (this.numberPages - this.index));\r\n \r\n if (i < 0)\r\n i = 0;\r\n\r\n if (x > this.numberPages)\r\n x = this.numberPages;\r\n \r\n for (i; i < x; i++)\r\n this.pages.push(i);\r\n\r\n } else {\r\n this.pages.push(0);\r\n }\r\n \r\n this.setDescription();\r\n this.show = true;\r\n }\r\n\r\n goto(index: number) {\r\n \r\n if (this.index == index)\r\n return;\r\n\r\n this.index = index;\r\n this.change.emit(this.index);\r\n }\r\n\r\n next() {\r\n this.goto(this.index + 1);\r\n }\r\n\r\n previous() {\r\n this.goto(this.index - 1);\r\n }\r\n\r\n setDescription(){\r\n let currentInit = (this.size * this.index) + 1;\r\n let currentEnd = this.size * (this.index + 1);\r\n\r\n if (currentEnd > this.total)\r\n currentEnd = this.total;\r\n\r\n this.totalDescription = currentInit + ' - ' + currentEnd + ' de ' + this.total;\r\n }\r\n}","import { Component, OnInit, Inject, Injectable } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from \"@angular/material/dialog\";\r\nimport { InfoDialogModel } from \"../../model/dialog.model\";\r\nimport { InfoDialogResult } from \"../../model/dialog-result.model\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class InfoDialogModal {\r\n\r\n refProcessing: MatDialogRef<InfoDialogComponent>;\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n alert(message: string): Observable<InfoDialogResult> {\r\n\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.labelCancel = null;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n YesOrNo(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.yesOrNo = true;\r\n model.colorOk = 'warn';\r\n model.processingMode = false;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Confirm(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel(); \r\n model.message = message;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Custom(model: InfoDialogModel): Observable<InfoDialogResult> {\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Processing() {\r\n let model = new InfoDialogModel();\r\n model.message = '';\r\n model.yesOrNo = false;\r\n model.labelCancel = null;\r\n model.colorOk = 'warn';\r\n model.processingMode = true;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'info-dialog',\r\n templateUrl: './dialog.component.html'\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n\r\n constructor(public ref: MatDialogRef<InfoDialogComponent>, @Inject(MAT_DIALOG_DATA) public model: InfoDialogModel) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.model.yesOrNo){\r\n this.model.labelOk = 'Sim';\r\n this.model.labelCancel = 'Nao';\r\n }\r\n }\r\n\r\n onclickCancel() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.No : InfoDialogButtons.Cancel));\r\n }\r\n\r\n onclickOk() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.Yes : InfoDialogButtons.Ok));\r\n }\r\n\r\n onclickAux() {\r\n this.ref.close(new InfoDialogResult(InfoDialogButtons.Aux));\r\n }\r\n}","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoFormPropModel } from \"../../model/form-prop.model\";\r\nimport { InfoPaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InfoAuthenticationService } from \"../../service/authentication.service\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { InfoModalAction } from \"../../enum/modal-action.enum\";\r\nimport { InfoPageAction } from \"../../enum/page-action.enum\";\r\nimport { InfoPagebarButtonModel } from \"../../model/pagebar-buttons.model\";\r\nimport { InfoGridButtonModel } from \"../../model/grid-button.model\";\r\nimport { InfoLastSearchModel } from \"../../model/last-search.model\";\r\nimport { InfoMethodGridButtonModel } from \"../../model/method-grid-button.model\";\r\nimport { NgModel, NgForm } from '@angular/forms';\r\nimport { QueryList } from '@angular/core';\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\n\r\n@Component({\r\n selector: 'info-grid',\r\n templateUrl: 'grid.component.html',\r\n styleUrls: ['grid.component.scss'],\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() pagetitle = '';\r\n @Input() prefixtitle = '';\r\n @Input() description = '';\r\n @Input() pagebarbuttons: InfoPagebarButtonModel[] = [];\r\n @Input() fullarea = false;\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() form: any = null;\r\n @Input() width: number = 800;\r\n @Input() parent: any = null;\r\n @Input() apidownload: any = null;\r\n @Input() methoddownload: string = null;\r\n\r\n @Input() backurl = '';\r\n @Input() newurl = '';\r\n @Input() newlabel = 'Novo';\r\n @Input() editurl = '';\r\n @Input() viewurl = '';\r\n @Input() templateurl = '';\r\n\r\n @Input() paged = false;\r\n @Input() size = 15;\r\n @Input() autorefresh = 0;\r\n\r\n @Input() enablednew = true;\r\n @Input() enablededit = true;\r\n @Input() enableddelete = true;\r\n @Input() enabledview = true;\r\n @Input() enabledcancelsearch = true;\r\n @Input() enableddetail = false;\r\n @Input() enabledclassicons = true;\r\n @Input() enabledclickaccess = false;\r\n @Input() enabledclickevent = false;\r\n\r\n @Input() searchopened = false;\r\n @Input() searchonlyonebutton = false;\r\n @Input() disablesearchlast = false;\r\n @Input() statictitle = false;\r\n @Input() disabledcol = '';\r\n @Input() accessicon = 'arrow_forward';\r\n\r\n @Input() loadoninit = true;\r\n @Input() data: any[];\r\n @Input() searchmodel: any = null;\r\n\r\n @Output() onbeforesearch = new EventEmitter();\r\n @Output() onloadcomplete = new EventEmitter();\r\n @Output() onclosemodal = new EventEmitter();\r\n @Output() onnew = new EventEmitter();\r\n @Output() onedit = new EventEmitter();\r\n @Output() onview = new EventEmitter();\r\n @Output() ondelete = new EventEmitter();\r\n @Output() customdelete = new EventEmitter();\r\n\r\n @Input() dynamiccols: string = null;\r\n @Input() buttons: InfoGridButtonModel[] = [];\r\n @Input() searchbuttons: InfoMethodGridButtonModel[] = [];\r\n\r\n @Input() showmessageerror = false;\r\n \r\n @ContentChildren(NgModel) formModel: QueryList<NgModel>;\r\n @ViewChild(NgForm, { static: false }) formSearch: NgForm;\r\n \r\n messages: String[] = [];\r\n resultTitle = '';\r\n enabledSearch = false;\r\n searchModelReset: any = null;\r\n\r\n showPagebar = false;\r\n hasPermissionNew = false;\r\n hasPermissionEdit = false;\r\n hasPermissionDelete = false;\r\n\r\n tableHeight = 0;\r\n loading = false;\r\n pagebarTitle = '';\r\n icons: any[] = [];\r\n colunasItens = [];\r\n colunasHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n\r\n @ViewChild('paginator', { static: false }) paginator: InfoPaginatorComponent;\r\n @Output() parentIdUrlChange = new EventEmitter();\r\n\r\n parentIdUrlValue: number = null;\r\n @Input()\r\n get parentIdUrl() {\r\n return this.parentIdUrlValue;\r\n }\r\n\r\n set parentIdUrl(value) {\r\n this.parentIdUrlValue = value;\r\n this.parentIdUrlChange.emit(this.parentIdUrlValue);\r\n }\r\n\r\n _cols: string = '';\r\n @Input()\r\n get cols() {\r\n return this._cols;\r\n }\r\n\r\n set cols(value) {\r\n this._cols = value;\r\n this.setColumns();\r\n }\r\n\r\n constructor(private _dialog: InfoDialogModal, \r\n public _platform: InfoPlatformModel,\r\n public modal: MatDialog, \r\n private _prop: InfoFormPropModel, \r\n private _dataAccessService: InfoDataService, \r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute,\r\n private _authenticationService: InfoAuthenticationService, \r\n private _changeDetectorRef: ChangeDetectorRef, \r\n private _translate: InfoTranslateService, \r\n private _lastSearch: InfoLastSearchModel,\r\n private _renderer: Renderer2, \r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.url = (this._activatedRoute.snapshot.data['URL'] || this._router.url).toLowerCase();\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.setPagebarTitle();\r\n\r\n if (this.searchmodel != null) {\r\n if (this.method == null)\r\n this.method = 'Search';\r\n\r\n this.searchModelReset = Object.assign({}, this.searchmodel);\r\n }\r\n\r\n else if (this.parent != null && (this.method == null || this.method == ''))\r\n this.method = 'GetByParentId';\r\n\r\n if (!this.disablesearchlast && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url)) {\r\n this.enabledSearch = this._lastSearch.enabledSearch;\r\n \r\n if (this.searchmodel != null && this._lastSearch.model != null)\r\n Object.assign(this.searchmodel, this._lastSearch.model);\r\n }\r\n\r\n if (this.searchopened)\r\n this.enabledSearch = true;\r\n\r\n if (this.autorefresh > 0)\r\n this.currentUrl = location.href;\r\n\r\n this._prop.api = this.api;\r\n this._prop.modalComponent = this.form;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.showPagebar = this.pagetitle != '' || this.prefixtitle != '';\r\n \r\n if (!this.fullarea && this._platform.Config.ux <= 2)\r\n this.fullarea = this.showPagebar;\r\n\r\n if (this.searchmodel && this.formModel.length > 0 && this.formSearch)\r\n this.formModel.toArray().forEach(model => this.formSearch.addControl(model));\r\n\r\n if (!this.disablesearchlast && this.paged && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url))\r\n this.paginator.index = this._lastSearch.index;\r\n\r\n if (this.dynamiccols == null) {\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n }\r\n\r\n else this._dataAccessService\r\n .get(this.api, this.dynamiccols)\r\n .subscribe(r => {\r\n this.cols = r.data;\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n });\r\n\r\n if (this.enabledclickevent)\r\n this.enabledclickaccess = true;\r\n }\r\n\r\n setColumns() {\r\n\r\n if (this.cols == '')\r\n alert('Nenhuma coluna informada');\r\n\r\n if (this.cols != '') {\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let column: string = registro;\r\n let header: string = registro;\r\n let type: string = '';\r\n let width: string = '';\r\n\r\n if (header.indexOf(':') > -1) {\r\n let dados = registro.split(':');\r\n column = dados[0];\r\n header = dados[1];\r\n }\r\n\r\n if (header.indexOf('=') > -1) {\r\n let parts = header.split('=');\r\n\r\n if (column == header)\r\n column = parts[0];\r\n\r\n header = parts[0];\r\n type = parts[1];\r\n }\r\n\r\n let aux = type == '' ? header : type;\r\n if (aux.indexOf('*') > -1) {\r\n let headerInfo = aux.split('*');\r\n\r\n if (type == '') {\r\n if (column == header)\r\n column = headerInfo[0];\r\n\r\n header = headerInfo[0];\r\n\r\n } else type = headerInfo[0];\r\n\r\n width = headerInfo[1];\r\n\r\n if (width.indexOf('%') < 0 && width.indexOf('px') < 0)\r\n width += 'px';\r\n }\r\n\r\n this.colunasItens.push(column);\r\n this.colunasHeaders.push(header);\r\n this.colunasType.push(type == '' ? 'label' : type);\r\n this.colunasWidth.push(width);\r\n });\r\n }\r\n }\r\n\r\n setPagebarTitle() {\r\n let aux = '';\r\n\r\n if (this.prefixtitle != '')\r\n aux = this._translate.translate(this.prefixtitle);\r\n\r\n if (this.resultTitle != '')\r\n aux += (this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.resultTitle);\r\n\r\n if (this.pagetitle != '')\r\n aux += (this.resultTitle != '' || this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.pagetitle);\r\n\r\n this.pagebarTitle = aux;\r\n }\r\n\r\n navigateTo(url: string, passId: boolean, id?: string) {\r\n\r\n if (passId) {\r\n if (url.indexOf(\":id\") > -1)\r\n this._router.navigateByUrl(url.replace(':id', id));\r\n else this._router.navigate([url, id]);\r\n }\r\n\r\n else this._router.navigateByUrl(url);\r\n }\r\n\r\n openCustomModal(modalComponent: any, width: Number, model: any = null) {\r\n\r\n this._prop.set(InfoPageAction.None, model);\r\n this.openModal(modalComponent, width);\r\n }\r\n\r\n getData() {\r\n this.messages = [];\r\n\r\n if (this.api == null || this.api == '') {\r\n this.hideLoad();\r\n return;\r\n \r\n } else if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else if (this.paged)\r\n this.getPaged();\r\n\r\n else if (this.parent == null)\r\n this.getAll();\r\n\r\n else this.getByParentId();\r\n }\r\n\r\n getAll(): any {\r\n\r\n if (this.searchmodel == null)\r\n this._dataAccessService\r\n .get(this.api, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n\r\n else this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n }\r\n\r\n getPaged(): any {\r\n\r\n let params = this.parent == null ? \"\" : \"id=\" + this.parent + \"&\";\r\n params += 'index=' + this.paginator.index + '&size=' + this.size;\r\n\r\n this._dataAccessService\r\n .get(this.api, this.method, params)\r\n .subscribe(r => this.getDataReturn(r, true));\r\n }\r\n\r\n getSearch(): any {\r\n this.onbeforesearch.emit();\r\n\r\n if (this.paged) {\r\n this.searchmodel.Index = this.paginator.index;\r\n this.searchmodel.Size = this.size;\r\n }\r\n\r\n this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r, this.paged));\r\n }\r\n\r\n getByParentId(): any {\r\n this._dataAccessService\r\n .get(this.api, this.method, 'id=' + this.parent)\r\n .subscribe(r => this.getDataReturn(r, false));\r\n }\r\n\r\n getDataReturn(result: any, refreshPaginator: boolean = false) {\r\n \r\n if (!this.disablesearchlast) {\r\n this._lastSearch.url = this._authenticationService.getUrlGenerica(this.url);\r\n this._lastSearch.enabledSearch = this.enabledSearch;\r\n this._lastSearch.model = Object.assign({}, this.searchmodel);\r\n\r\n if (this.paged)\r\n this._lastSearch.index = this.paginator.index;\r\n }\r\n\r\n if (result.success) {\r\n this.data = result.data;\r\n\r\n if (!this.statictitle && result.name != null)\r\n this.resultTitle = this._translate.translate(result.name);\r\n\r\n if (result.description != null)\r\n this.description = result.description;\r\n\r\n if (result.parentId != null)\r\n this.parentIdUrl = result.parentId;\r\n\r\n if (refreshPaginator)\r\n this.paginator.refresh(result.total);\r\n\r\n if (this.autorefresh > 0 && this.currentUrl == location.href)\r\n setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n\r\n this.fillIcons();\r\n\r\n } else {\r\n this.data = [];\r\n if(this.showmessageerror) this.messages = result.messages;\r\n } \r\n\r\n this.hideLoad();\r\n this.onloadcomplete.emit();\r\n }\r\n\r\n changePage(index: number) {\r\n this.loading = true;\r\n this.paginator.index = index;\r\n\r\n if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else this.getPaged();\r\n }\r\n\r\n cancelSearch() {\r\n Object.assign(this.searchmodel, this.searchModelReset);\r\n\r\n if (!this.searchopened)\r\n this.enabledSearch = false;\r\n\r\n this.search();\r\n }\r\n\r\n search() {\r\n this.loading = true;\r\n \r\n if (this.paged)\r\n this.paginator.index = 0;\r\n\r\n this.getData();\r\n }\r\n\r\n add() {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.New, null);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.newurl == null || this.newurl == '')\r\n this.newurl = this.url;\r\n\r\n this.newurl += '/novo';\r\n this.newurl = this.newurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.newurl);\r\n }\r\n\r\n this.onnew.emit();\r\n }\r\n\r\n detail(model: any): void {\r\n this._prop.set(InfoPageAction.Search, model);\r\n this.openModal();\r\n }\r\n\r\n access(model: any): void {\r\n if (this.enabledclickaccess){\r\n if (this.enabledclickevent)\r\n this.onview.emit(model);\r\n \r\n else this.edit(model);\r\n }\r\n }\r\n\r\n view(model: any): void {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n\r\n this.onview.emit(model);\r\n }\r\n\r\n edit(model: any): void {\r\n if (this.hasPermissionEdit) {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.Edit, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.editurl == null || this.editurl == '')\r\n this.editurl = this.url;\r\n\r\n this.editurl = this.editurl.replace('//', '/');\r\n\r\n this._router.navigate([this.editurl, model.Id]);\r\n }\r\n\r\n this.onedit.emit(model);\r\n } else {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n \r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n \r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n \r\n this.onview.emit(model);\r\n }\r\n }\r\n\r\n delete(model: any) {\r\n if(this.customdelete.observers.length > 0) {\r\n this.customdelete.emit(model);\r\n return;\r\n }\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n\r\n this._dataAccessService.delete(this.api, model.Id).subscribe(d => {\r\n this.ondelete.emit(d);\r\n\r\n if (d.success)\r\n this.getData();\r\n else {\r\n this.hideLoad();\r\n if (this.showmessageerror) this.messages = d.messages;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n fillIcons() {\r\n this.icons = [];\r\n\r\n if (this.data == null)\r\n return;\r\n\r\n this.data.forEach(ret => {\r\n\r\n let item = ret['Icon'];\r\n if (item == null)\r\n return;\r\n\r\n if (item.indexOf('|') > -1) {\r\n let retorno = item\r\n .split('|')\r\n .map(icone => {\r\n\r\n if (icone.indexOf(':') > -1) {\r\n let dados = icone.split(':');\r\n return { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else return { Name: item, Icon: icone, Tooltip: '', Principal: true };\r\n\r\n }).filter(a => a.Icon != null && a.Icon != '');\r\n\r\n let index = 0;\r\n retorno.forEach(element => {\r\n if (this.icons.find(a => a.Name == element.Name && a.Icon == element.Icon) == null){\r\n element.Principal = index == 0;\r\n this.icons.push(element);\r\n }\r\n\r\n index++;\r\n });\r\n } else {\r\n let element: any = [];\r\n\r\n if (item.indexOf(':') > -1) {\r\n let dados = item.split(':');\r\n element = { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else element = { Name: item, Icon: item, Tooltip: \"\", Principal: true };\r\n\r\n if (this.icons.find(a => a.Name == element.Name) == null)\r\n this.icons.push(element);\r\n }\r\n });\r\n }\r\n\r\n info(value) {\r\n this._dialog.alert(value);\r\n }\r\n\r\n back() {\r\n this.navigateTo(this.backurl + (this.parentIdUrl == null ? \"\" : \"/\" + this.parentIdUrl), false);\r\n }\r\n\r\n openModal(modalComponent: any = this.form, width: Number = this.width) {\r\n\r\n let ref = this.modal.open(modalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: width + 'px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save)\r\n this.getData();\r\n\r\n this.onclosemodal.emit(r);\r\n });\r\n\r\n ref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n }\r\n\r\n hideLoad() {\r\n this.setPagebarTitle();\r\n this.loading = false;\r\n }\r\n\r\n getPermission() {\r\n this.hasPermissionNew = this._authenticationService.hasPermission(this.url, 'new');\r\n this.hasPermissionEdit = this._authenticationService.hasPermission(this.url, 'edit');\r\n this.hasPermissionDelete = this._authenticationService.hasPermission(this.url, 'remove');\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n download(arquivoId: any) {\r\n if (this.apidownload == null)\r\n alert('API Download está null');\r\n\r\n this._dataAccessService.get(this.apidownload, (this.methoddownload != null ? this.methoddownload : 'Get'), \"id=\" + arquivoId).subscribe(r => {\r\n this.messages = r.messages;\r\n\r\n if (r.success && r.data != null) {\r\n var binaryString = window.atob(r.data.Conteudo);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n\r\n var blob = new Blob([bytes]);\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, r.data.Nome);\r\n } else {\r\n let fileURL = URL.createObjectURL(blob);\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = r.data.Nome;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n eventButton(model: any, api: any, method: string, confirm: boolean = true) {\r\n if (confirm) {\r\n this._dialog\r\n .YesOrNo('MensagemConfirmar')\r\n .subscribe(ret => {\r\n if (ret.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n } else {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n}","import { Component, forwardRef, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-input',\r\n styleUrls: [ 'input.component.scss' ],\r\n templateUrl: 'input.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() maxlength: any;\r\n @Input() type: string = 'text';\r\n @Input() rows: number = 1;\r\n @Input() tabindex: number = 0;\r\n @Input() iconPrefix: string = '';\r\n @Input() iconSuffix: string = '';\r\n @Input() min: number = null;\r\n @Input() max: number = null;\r\n @Input() step: number = null;\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n maskOptions: any = {\r\n align: 'right',\r\n allowNegative: true,\r\n decimal: ',',\r\n precision: 2,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.'\r\n };\r\n \r\n value: string = '';\r\n customMask: string = null;\r\n onChange: any;\r\n onTouched: any;\r\n passwordMode: boolean = false;\r\n\r\n ngOnInit() { \r\n this.passwordMode = this.type.toLocaleLowerCase() == 'password';\r\n }\r\n\r\n private methodIsmask: string = null;\r\n @Input()\r\n get ismask(){\r\n return this.methodIsmask;\r\n }\r\n\r\n set ismask(value){\r\n this.methodIsmask = value;\r\n\r\n if (this.methodIsmask != null) {\r\n this.methodIsmask = this.methodIsmask.toLowerCase();\r\n \r\n if (this.methodIsmask == 'int')\r\n this.maskOptions.precision = 0;\r\n\r\n else if (this.methodIsmask[0] == 'n' && (this.methodIsmask.length == 2 || this.methodIsmask.length == 3))\r\n this.maskOptions.precision = parseInt(this.methodIsmask.replace('n', ''));\r\n\r\n else this.customMask = this.methodIsmask;\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this.onblur != null){\r\n if(this.type == 'number'){\r\n if(this.min != null)\r\n this.value = this.min > Number(this.value) ? null: this.value;\r\n if(this.max != null)\r\n this.value = this.max < Number(this.value) ? null: this.value;\r\n this.onChangeValue();\r\n }\r\n this.onblur.emit(this.value);\r\n }\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","import { Component, Input, OnChanges } from \"@angular/core\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\n\r\n@Component({\r\n selector: 'info-input-list',\r\n templateUrl: 'input-list.component.html',\r\n styleUrls: ['input-list.component.scss']\r\n})\r\nexport class InfoInputListComponent implements OnChanges {\r\n \r\n @Input() model: any = []\r\n @Input() readonly: boolean = false\r\n @Input() percent: boolean = false\r\n @Input() hiddenDe: boolean = false\r\n @Input() disabled: boolean = false\r\n\r\n messages: string[] = [];\r\n novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n constructor(private _dialog: InfoDialogModal) { }\r\n\r\n ngOnChanges() {\r\n if (this.model == null)\r\n this.model = [];\r\n\r\n for (var i = 0; i < this.model.length; i++)\r\n this.model[i].Excluir = false;\r\n }\r\n\r\n getModel(): any[]{\r\n if (!this.model || this.model == null)\r\n return [];\r\n\r\n return this.model.filter(m => !m.Excluir);\r\n }\r\n\r\n add() {\r\n this.messages = [];\r\n\r\n if (this.hiddenDe && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDe');\r\n\r\n if (!this.hiddenDe && this.novoValor.De == null && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDeOuAte');\r\n\r\n if (!this.hiddenDe && this.novoValor.Ate < this.novoValor.De)\r\n this.messages.push('ValorAteMenorQueDe');\r\n\r\n if (this.novoValor.Valor == null)\r\n this.messages.push('InformeValor');\r\n\r\n if (this.messages.length > 0){\r\n\r\n \r\n\r\n return;\r\n }\r\n\r\n this.model.push({ De: this.novoValor.De, Ate: this.novoValor.Ate, Valor: this.novoValor.Valor, Excluir: false });\r\n this.novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n this.ordernar();\r\n }\r\n\r\n remover(item: any){\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.No)\r\n return;\r\n\r\n item.Excluir = true;\r\n this.model.splice(this.model.findIndex(m => m == item), 1);\r\n this.ordernar();\r\n });\r\n }\r\n\r\n ordernar(){\r\n\r\n this.model = this.model.sort((a, b) => { \r\n if (this.hiddenDe ? (a.Ate < b.Ate) : (a.De < b.De))\r\n return -1;\r\n\r\n else if (this.hiddenDe ? (a.Ate > b.Ate) : (a.De > b.De))\r\n return 1;\r\n\r\n else return 0;\r\n });\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\n\r\n@Component({\r\n selector: 'info-list-checkbox',\r\n templateUrl: 'list-checkbox.component.html',\r\n styles: ['ul.checkbox-list { height: 270px; overflow-y: auto }']\r\n})\r\nexport class InfoListCheckboxComponent implements OnInit {\r\n\r\n @Input() filterlabel: string = 'Filtrar';\r\n @Input() filterdescription: string;\r\n\r\n @Input() selectedlabel: string = 'Filtrar';\r\n @Input() selecteddescription: string;\r\n\r\n @Input() model: any[] = [];\r\n @Input() max: number = 0;\r\n @Input() onelist: boolean = false;\r\n\r\n private disabledValue: any;\r\n @Input()\r\n get disabled() {\r\n return this.disabledValue;\r\n }\r\n\r\n set disabled(value) {\r\n this.disabledValue = value;\r\n }\r\n\r\n filterList: string = '';\r\n filterSelected: string = ''; \r\n message: string = \"\";\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n ngOnInit() {\r\n if (this.max != null && this.max > 0)\r\n this.message = this._translate.translate('MensagemTopRegistro').replace('{0}', this.max.toString());\r\n }\r\n \r\n getModel(valor: string, selecionados: boolean = false): any[] {\r\n if (this.max == null || this.max == 0)\r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1);\r\n else \r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1).slice(0, this.max);\r\n }\r\n\r\n marcarFiltrados(valor: string, marcar: boolean, selecionados: boolean = false) {\r\n let ids: any[] = this.getModel(valor, selecionados).map(r => r.Id);\r\n\r\n this.model.forEach((item, index) => {\r\n if (ids.indexOf(item.Id) > -1)\r\n item.Selecionado = marcar; \r\n });\r\n }\r\n\r\n marcarTodos(marcar: boolean) {\r\n this.model.forEach(item => item.Selecionado = marcar);\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-message',\r\n templateUrl: 'message.component.html',\r\n styleUrls: ['message.component.scss']\r\n})\r\n\r\nexport class InfoMessageComponent {\r\n\r\n @Input() color: string = 'info';\r\n @Input() outline: boolean = true;\r\n @Input() close: boolean = false;\r\n @Input() min: boolean = false;\r\n\r\n delete(event: any, message: any) {\r\n event.preventDefault();\r\n message.remove();\r\n }\r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-select',\r\n templateUrl: 'select.component.html',\r\n styleUrls: ['select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() blank = false;\r\n @Input() blankItem: any = null;\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => d.Id == this.selectedValue))\r\n this.writeValue(this.data[0].Id);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.blank = (this.required !== '' && this.required !== 'true' && this.required !== true);\r\n\r\n if (this.blankItem == null)\r\n this.blankItem = { Id: null, Nome: '' };\r\n \r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValue);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == this.selectedValue));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { Component, OnInit, Input, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n host: {\r\n '[class.timeline]': 'true',\r\n '[class.show-date]': 'true'\r\n }\r\n})\r\nexport class InfoTimelineComponent implements OnInit {\r\n @Input() showdate: boolean = true;\r\n @Input() align: string = 'between';\r\n @Input() style: any = '';\r\n @Input() label: string = '';\r\n @Input() data: any[] = [];\r\n\r\n @HostBinding('class.align-left') alignLeft: boolean = false;\r\n @HostBinding('class.align-center') alignCenter: boolean = false;\r\n @HostBinding('class.align-right') alignRight: boolean = false;\r\n @HostBinding('class.align-between') alignBetween: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.alignLeft = (this.align === 'left');\r\n this.alignCenter = (this.align === 'center');\r\n this.alignRight = (this.align === 'right');\r\n this.alignBetween = (this.align === 'between');\r\n }\r\n}","import { Component, forwardRef, Input, SecurityContext, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { AngularEditorComponent, AngularEditorConfig, AngularEditorService } from '@kolkov/angular-editor';\r\n \r\n@Component({\r\n selector: 'info-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoEditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoEditorComponent implements ControlValueAccessor {\r\n\r\n @ViewChild('editor') editor: AngularEditorComponent;\r\n\r\n @Input() required: boolean = false;\r\n\r\n @Input()\r\n get disabled() { return !(this.editorConfig || {}).editable; }\r\n set disabled(value) { this.editorConfig.editable = !value; }\r\n\r\n @Input()\r\n get height() { return (this.editorConfig || {}).height; }\r\n set height(value) { this.editorConfig.height = value || 'auto'; }\r\n\r\n @Input()\r\n get minheight() { return (this.editorConfig || {}).minHeight; }\r\n set minheight(value) { this.editorConfig.minHeight = value || '0'; }\r\n\r\n @Input()\r\n get maxheight() { return (this.editorConfig || {}).maxHeight; }\r\n set maxheight(value) { this.editorConfig.maxHeight = value || 'auto'; }\r\n\r\n @Input()\r\n get width() { return (this.editorConfig || {}).width; }\r\n set width(value) { this.editorConfig.width = value || 'auto'; }\r\n\r\n @Input()\r\n get minwidth() { return (this.editorConfig || {}).minWidth; }\r\n set minwidth(value) { this.editorConfig.minWidth = value || '0'; }\r\n\r\n value: any = '';\r\n \r\n onChange: any;\r\n onTouched: any;\r\n focused = false;\r\n id = null;\r\n\r\n editorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '0',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: '0',\r\n translate: 'yes',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n defaultParagraphSeparator: '',\r\n toolbarPosition: 'top',\r\n fonts: [\r\n {class: 'arial', name: 'Arial'},\r\n {class: 'times-new-roman', name: 'Times New Roman'},\r\n {class: 'calibri', name: 'Calibri'},\r\n {class: 'comic-sans-ms', name: 'Comic Sans MS'}\r\n ],\r\n };\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n this.id = `editor-${this.getGuid()}`;\r\n }\r\n\r\n ngAfterViewInit() {\r\n var _this = this;\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('focus', () => _this.focused = true);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('blur', () => _this.focused = false);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', () => _this.editor.editorToolbar['editorService'].saveSelection());\r\n }\r\n\r\n private getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n onChangeValue() {\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, this.value);\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, modelValue);\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n \r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-multi-select',\r\n templateUrl: 'multi-select.component.html',\r\n styleUrls: ['multi-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMultiSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoMultiSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValues: any[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))\r\n this.writeValue([this.data[0].Id]);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValues = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValues);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { ENTER } from '@angular/cdk/keycodes';\r\nimport { Component, forwardRef, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-chips',\r\n templateUrl: 'chips.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoChipsComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoChipsComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n readonly separatorKeysCodes: number[] = [ENTER];\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n values: string[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n add(event): void {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n if ((value || '').trim()) this.values.push(value.trim());\r\n if (input) input.value = '';\r\n \r\n this.writeValue(this.values);\r\n }\r\n \r\n remove(index): void {\r\n if (index >= 0) this.values.splice(index, 1);\r\n this.writeValue(this.values);\r\n }\r\n \r\n\r\n onBlur() {\r\n this.onblur.emit(this.values);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.values);\r\n }\r\n\r\n writeValue(modelValues: any): void {\r\n this.values = modelValues;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","import { Component, OnInit, Input, Output, EventEmitter, Renderer2, ElementRef } from '@angular/core';\r\nimport { InfoDialogModal } from '../dialog/dialog.component';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InfoDialogButtons } from '../../enum';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoNotificationModel } from '../../model/notification.model';\r\nimport { InfoSessionModel } from '../../model/session.model'; \r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\n\r\n@Component({\r\n selector: 'info-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss']\r\n})\r\nexport class InfoTopbarComponent implements OnInit {\r\n @Input() opened: boolean = false;\r\n @Input() languages: any = [];\r\n @Input() themes: any = [];\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n @Input() profileurl: string = '';\r\n @Input() setthemeonchangecompany: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n modalRef: any = null;\r\n loading: boolean = false;\r\n prodution: boolean = false;\r\n notifications: InfoNotificationModel = new InfoNotificationModel();\r\n\r\n topMenu: any = {\r\n empresa: false,\r\n tema: false,\r\n idioma: false,\r\n notificacao: false,\r\n calendario: false\r\n };\r\n\r\n constructor(private _translateService: InfoTranslateService, \r\n public _authenticationService: InfoAuthenticationService, private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel, private _modal: MatDialog,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n \r\n this.prodution = this._platform.Config.production;\r\n this.getNotifications();\r\n }\r\n\r\n setCompany(company) {\r\n this._authenticationService.trocarEmpresa(this._session.Login, company.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.TemaId = company.TemaId;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n localStorage.setItem(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setLanguage(language: string) {\r\n this._translateService.set(language);\r\n }\r\n\r\n setTheme(theme) {\r\n //console.log('topbar.setTheme', theme);\r\n this._themeService.setTheme(theme);\r\n }\r\n\r\n toggleMode(){\r\n this._themeService.setModePrime();\r\n }\r\n\r\n openFastSearch() {\r\n this.close();\r\n\r\n if (this.modalRef != null) \r\n return;\r\n\r\n this.modalRef = this._modal.open(this.fastsearchform, {\r\n disableClose: true,\r\n width: this.fastsearchformwidth + 'px'\r\n });\r\n\r\n this.modalRef.keydownEvents().subscribe(r => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n this.modalRef.close();\r\n });\r\n\r\n this.modalRef.afterClosed().subscribe(r => { this.modalRef = null });\r\n }\r\n\r\n open(achtiveMenu) {\r\n this.topMenu.empresa = achtiveMenu == 'empresa';\r\n this.topMenu.tema = achtiveMenu == 'tema';\r\n this.topMenu.idioma = achtiveMenu == 'idioma';\r\n this.topMenu.notificacao = achtiveMenu == 'notificacao';\r\n this.topMenu.calendario = achtiveMenu == 'calendario';\r\n }\r\n\r\n close() {\r\n this.topMenu.empresa = false;\r\n this.topMenu.tema = false;\r\n this.topMenu.idioma = false;\r\n this.topMenu.notificacao = false;\r\n this.topMenu.calendario = false;\r\n }\r\n\r\n openSidebar() {\r\n this.opened = !this.opened;\r\n this.onchangestate.emit();\r\n }\r\n\r\n getNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationgetmethod, null).subscribe(r => {\r\n if (r.success) {\r\n this.notifications.Count = r.data.Count;\r\n this.notifications.Itens = r.data.Itens;\r\n\r\n if (this.notificationverifyenabled)\r\n this.verifyNotifications();\r\n\r\n this.ongetnotification.emit(this.notifications);\r\n }\r\n });\r\n }\r\n\r\n verifyNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationverifymethod).subscribe(r => {\r\n if (r.data == -1)\r\n this.logout();\r\n\r\n else if (this.notifications.Count == r.data)\r\n setTimeout(() => { this.verifyNotifications(); }, 15000);\r\n\r\n else this.getNotifications();\r\n\r\n this.onverifynotification.emit({...this.notifications, VerifyCount: r.data});\r\n });\r\n }\r\n\r\n setNotificationStatus(read, access, remove) {\r\n if (this.notifications.Count == 0) return;\r\n\r\n this._dataService.post(this.notificationapi, { Id: '00000000-0000-0000-0000-000000000000', Acesso: access, Leitura: read, Exclusao: remove }, this.notificationpostmethod)\r\n .subscribe(r => this.notifications.Count = 0);\r\n }\r\n\r\n navigate(url: string) {\r\n this._router.navigate([url.replace('/#', '')]);\r\n }\r\n\r\n logout() {\r\n this._dialog.YesOrNo('DesejaRealmenteSair').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes)\r\n this._authenticationService.logout();\r\n });\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\nimport { InfoSessionModel } from \"../../model/session.model\";\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoTopbarComponent } from \"../topbar/topbar.component\";\r\n\r\n@Component({\r\n selector: 'info-main',\r\n templateUrl: 'main.component.html',\r\n styleUrls: ['main.component.scss']\r\n})\r\nexport class InfoMainComponent implements OnInit {\r\n\r\n @Input() opened: boolean = false;\r\n @Input() version: string = null;\r\n @Input() messages: any[] = [];\r\n private _themes: any = [];\r\n\r\n @Input() get themes() { return this._themes; }\r\n set themes(value) {\r\n this._themes = value;\r\n this._platform.Themes = this.themes;\r\n\r\n if (this._session.TemaId > 0 && this.setthemeonchangecompany)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n\r\n @Input() languages: any = [];\r\n @Input() profileurl: string = '';\r\n @Input() loginurl: string = 'login';\r\n\r\n @Input() menuapi: any = null;\r\n @Input() menumethod: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n\r\n @Input() loggeduserapi: any = null;\r\n @Input() loggedusermethod: string = 'GetLoggedUser';\r\n\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n \r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n \r\n @Input() setthemeonchangecompany: boolean = false;\r\n\r\n @Input() shortcutapi: any = null;\r\n\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n @ViewChild('topbar') topbar: InfoTopbarComponent;\r\n\r\n constructor(public _platform: InfoPlatformModel, \r\n private _session: InfoSessionModel, \r\n private _router: Router, \r\n private _dataAccessService: InfoDataService, \r\n private _themeService: InfoThemeService,\r\n private _renderer: Renderer2,\r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n //console.log('info-library.main.ngOnInit');\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\r\n this._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (localStorage.getItem(this._platform.TokenKey) == null)\r\n this._router.navigateByUrl(this.loginurl);\r\n\r\n else this.getLoggedUser();\r\n\r\n if (document.body.classList.length > 0){\r\n let theme = document.body.classList[0];\r\n \r\n if (document.body.classList[0].indexOf('-theme') < 0 && this._platform.Config.theme != null)\r\n theme = '_' + this._platform.Config.theme + '-theme';\r\n \r\n this._themeService.setTheme(theme);\r\n }\r\n }\r\n\r\n onChangeTopBarState() {\r\n this.opened = !this.opened;\r\n }\r\n\r\n onChangeSideBarState(){\r\n this.topbar.openSidebar();\r\n }\r\n\r\n getLoggedUser() {\r\n if (localStorage.getItem(this._platform.SessionKey) != null)\r\n Object.assign(this._session, JSON.parse(localStorage.getItem(this._platform.SessionKey)));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null)\r\n return;\r\n\r\n this._dataAccessService.get(this.loggeduserapi, this.loggedusermethod).subscribe(r => {\r\n if (r.success) {\r\n this._session.UsuarioId = r.data.UsuarioId;\r\n this._session.Usuario = r.data.Usuario;\r\n this._session.Login = r.data.Login;\r\n this._session.Email = r.data.Email;\r\n this._session.Perfil = r.data.Perfil;\r\n this._session.EmpresaId = r.data.EmpresaId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.UltimoAcesso = r.data.UltimoAcesso;\r\n this._session.Master = r.data.Master;\r\n this._session.Clone = r.data.Clone;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.TempoInatividade = r.data.TempoInatividade;\r\n this._session.Versao = r.data.Versao;\r\n this.version = r.data.Versao;\r\n\r\n if (this._session.Parametros.some(p => p.Chave == 'DisclaimerGeral'))\r\n this.messages.push(this._session.Parametros.find(p => p.Chave == 'DisclaimerGeral').Valor);\r\n\r\n if (this._session.TemaId != null)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n });\r\n }\r\n\r\n onGetNotificationsTopBar(event) {\r\n this.ongetnotification.emit(event);\r\n }\r\n\r\n onVerifyNotificationsTopBar(event) {\r\n this.onverifynotification.emit(event);\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class InfoSidebarComponent implements OnInit {\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _themeService: InfoThemeService, public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _lastSearch: InfoLastSearchModel, private _router: Router, private _renderer: Renderer2, private _element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n\r\n this.monitorarUrl();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n monitorarUrl(){\r\n if (this.activemenubyurl){\r\n this.ativarMenu(this._router.url);\r\n\r\n this._router.events.subscribe(e => {\r\n if (e instanceof NavigationStart)\r\n this.ativarMenu(e.url);\r\n });\r\n }\r\n }\r\n\r\n ativarMenu(url: string){\r\n let itemMenu = this.menu.find(m => m.Routing == url);\r\n\r\n if (itemMenu != null)\r\n this.menuAtivo = itemMenu.Title;\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n\r\n toggleSidebar(){\r\n this._themeService.setMenuMin();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-topmenu',\r\n templateUrl: './topmenu.component.html',\r\n styleUrls: ['./topmenu.component.scss']\r\n})\r\nexport class InfoTopMenuComponent implements OnInit {\r\n \r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _lastSearch: InfoLastSearchModel, private _router: Router, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-loading',\r\n template: `\r\n <section class=\"loading-bar\">\r\n <mat-progress-bar [color]=\"color\" [mode]=\"mode\" *ngIf=\"enabled\" >\r\n </mat-progress-bar>\r\n </section>\r\n `,\r\n styles: [`\r\n .loading-bar { height: 1px; }\r\n .loading-bar .mat-progress-bar { height: 1px; margin: 0; }\r\n `]\r\n})\r\nexport class InfoLoadingComponent{\r\n\r\n @Input() enabled: boolean = false;\r\n @Input() mode: string = 'indeterminate';\r\n @Input() color: string = 'primary';\r\n\r\n}","import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n selector: 'info-modal',\r\n templateUrl: './modal.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoModalComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoModalComponent implements ControlValueAccessor {\r\n\r\n @Input() modaltitle: string = '';\r\n @Input() showcloseicon: boolean = false;\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() readonly: boolean = null;\r\n @Input() loading: boolean = false;\r\n @Input() loadingblock: boolean = true;\r\n @Input() form: any = null;\r\n @Input() labelclose: string = 'Fechar';\r\n @Input() labelcancel: string = 'Cancelar';\r\n @Input() labelsubmit: string = 'Salvar';\r\n @Input() messages: String[] = [];\r\n @Input() width: number = null;\r\n\r\n @Output() onsave = new EventEmitter();\r\n @Output() onsuccess = new EventEmitter();\r\n\r\n model: any;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n constructor(private _dataAccessService: InfoDataService, @Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel, private _ref: MatDialogRef<any>) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.modaltitle == '' && this.prop != null && this.prop.title != null)\r\n this.modaltitle = this.prop.title;\r\n\r\n if (this.api == null && this.prop != null && this.prop.api != null)\r\n this.api = this.prop.api;\r\n\r\n if (this.width != null)\r\n this._ref.updateSize(this.width.toString().replace('px', '') + 'px');\r\n\r\n if (this.readonly == null && this.prop != null && this.prop.readonly != null)\r\n this.readonly = this.prop.readonly;\r\n }\r\n\r\n submit() {\r\n if (this.onsave.observers.length > 0) {\r\n this.onsave.next();\r\n return;\r\n }\r\n\r\n this.messages = [];\r\n \r\n if (this.api == null || this.api.toString() == '')\r\n this.messages.push('API não informado');\r\n\r\n if (this.messages.length > 0)\r\n return;\r\n\r\n this.loading = true;\r\n\r\n this._dataAccessService\r\n .post(this.api, this.model, this.method)\r\n .subscribe(r => {\r\n\r\n if (r.success) {\r\n this.prop.modalAction = InfoModalAction.Save;\r\n this.prop.data = this.model;\r\n this._ref.close(this.prop);\r\n\r\n if (this.onsuccess.observers.length > 0)\r\n this.onsuccess.next();\r\n }\r\n\r\n else this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n close() {\r\n this.messages = [];\r\n this.loading = false;\r\n this._ref.close(this.prop);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.model = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void { }\r\n}\r\n","import { Component, Input, Inject, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Router, NavigationStart, GuardsCheckStart, NavigationEnd } from '@angular/router';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoPageAction } from '../../enum/page-action.enum';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n\tselector: 'info-pagebar',\r\n\ttemplateUrl: './pagebar.component.html',\r\n\tstyleUrls: ['./pagebar.component.scss']\r\n})\r\nexport class InfoPagebarComponent {\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: string;\r\n\t@Input() pagetitle: string;\r\n\t@Input() description: string;\r\n\t@Input() backurl: string = null;\r\n\t@Input() access: any = [];\r\n\t@Input() transparent: boolean = false;\r\n\r\n\tloading = false;\r\n\tatalhoId: any = null;\r\n\tpodeCriarAtalho = false;\r\n\texibirAcessos = false;\r\n\r\n\tconstructor(private _router: Router,\r\n\t\t\t\tprivate _modal: MatDialog,\r\n\t\t\t\tprivate _dataService: InfoDataService,\r\n\t\t\t\tprivate _translate: InfoTranslateService,\r\n\t\t\t\tpublic _platform: InfoPlatformModel,\r\n\t\t\t\tprivate _renderer: Renderer2, private _element: ElementRef) { \r\n\t\t_router.events.subscribe(e => {\r\n if (e instanceof NavigationStart || e instanceof GuardsCheckStart)\r\n\t\t\t\tsetTimeout(() => this.loading = true, 0);\r\n\t\t\t\r\n\t\t\telse setTimeout(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (e instanceof NavigationEnd) {\r\n\t\t\t\t\tthis.podeCriarAtalho = !!this._platform.ShortcutApi && this._router.url != '/';\r\n\t\t\t\t\tthis.getAtalho();\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n });\r\n\t}\r\n\r\n\tngOnInit(){\r\n\t\tthis._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\t}\r\n\r\n\tgoBack(){\r\n\t\tthis._router.navigateByUrl(this.backurl);\r\n\t}\r\n\r\n\tgetAtalho() {\r\n\t\tif (!this.podeCriarAtalho)\r\n\t\t\treturn;\r\n\t\tthis.loading = true;\r\n\t\tthis._dataService.get(this._platform.ShortcutApi, 'GetByUrl', 'url='+this._router.url).subscribe(r => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (r.success) this.atalhoId = (r.data || {}).Id;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleAtalho() {\r\n\t\tif (this.atalhoId) {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis._dataService.delete(this._platform.ShortcutApi, this.atalhoId).subscribe(r => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r.success) this.atalhoId = null;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.openModalAtalho().subscribe((r: InfoFormPropModel) => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r && r.modalAction == InfoModalAction.Save) this.getAtalho();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate openModalAtalho() {\r\n\t\tvar prop = new InfoFormPropModel();\r\n\t\tprop.api = this._platform.ShortcutApi;\r\n\t\tprop.set(InfoPageAction.New, { \r\n\t\t\tId: this.atalhoId,\r\n\t\t\tUrl: this._router.url,\r\n\t\t\tTitulo: `${this._translate.translate(this._platform.PaginaAtiva.Titulo)} / ${this._translate.translate(this.pagetitle)}`\r\n\t\t});\r\n\r\n\t\tlet ref = this._modal.open(AtalhoModalComponent, {\r\n data: prop,\r\n\t\t\tdisableClose: true,\r\n\t\t\twidth: '400px'\r\n\t\t});\r\n\t\t\r\n\t\tref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n\r\n return ref.afterClosed();\r\n\t}\r\n}\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"CriarAcessoRapido\" [form]=\"formModal\" [(ngModel)]=\"model\">\r\n\t\t\t<form autocomplete=\"off\" #formModal=\"ngForm\">\r\n\t\t\t\t<div class=\"row\"> \r\n\t\t\t\t\t<info-input class=\"col-md-12\" [(ngModel)]=\"model.Titulo\" placeholder=\"Titulo\" name=\"Titulo\" required></info-input>\r\n\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class AtalhoModalComponent {\r\n\tmodel: any = {};\r\n\tconstructor(@Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel) {\r\n\t\tthis.model = Object.assign({}, prop.data);\r\n\t\tthis.model.Id = this.model.Id || '00000000-0000-0000-0000-000000000000';\r\n\t}\r\n}","import { Directive, ElementRef, Renderer2, Input, forwardRef, Inject, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe';\r\n\r\n@Directive({\r\n host: {\r\n '(input)': 'onInput($event.target.value)',\r\n '(blur)': '_onTouched()'\r\n },\r\n selector: '[setmask]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMaskDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoMaskDirective implements ControlValueAccessor, OnChanges {\r\n private maskInputElement: any\r\n private inputElement: HTMLInputElement\r\n\r\n private lastValue: any\r\n private mask: any\r\n\r\n @Input('setmask') maskType: any\r\n\r\n _onTouched = () => { }\r\n _onChange = (_: any) => { }\r\n\r\n constructor(@Inject(Renderer2) private renderer: Renderer2, @Inject(ElementRef) private element: ElementRef) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.setupMask(true);\r\n\r\n if (this.maskInputElement !== undefined)\r\n this.maskInputElement.update(this.inputElement.value)\r\n }\r\n\r\n writeValue(value: any) {\r\n this.setupMask()\r\n\r\n const normalizedValue = value == null ? '' : value\r\n this.renderer.setProperty(this.inputElement, 'value', normalizedValue)\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.renderer.setProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n }\r\n\r\n onInput(value) {\r\n this.setupMask()\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n\r\n value = this.inputElement.value\r\n\r\n if (this.lastValue !== value) {\r\n this.lastValue = value\r\n this._onChange(value)\r\n }\r\n }\r\n }\r\n\r\n private setupMask(create = false) {\r\n if (!this.inputElement) {\r\n if (this.element.nativeElement.tagName === 'INPUT')\r\n this.inputElement = this.element.nativeElement;\r\n\r\n else this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n }\r\n\r\n if (this.inputElement && create) {\r\n\r\n let pipe = undefined;\r\n\r\n if (this.maskType == 'email')\r\n this.mask = emailMask;\r\n \r\n else if (this.maskType == 'phone')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'cel')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n else if (this.maskType == 'cep')\r\n this.mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'date') {\r\n pipe = createAutoCorrectedDatePipe('dd/mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'datemonth') {\r\n pipe = createAutoCorrectedDatePipe('mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'time') {\r\n pipe = createAutoCorrectedDatePipe('HH:MM');\r\n this.mask = [/\\d/, /\\d/, ':', /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'cpf')\r\n this.mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else if (this.maskType == 'cnpj')\r\n this.mask = [/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'/',/\\d/,/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else this.mask = [];\r\n\r\n let maskConfig = {\r\n mask: this.mask,\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: pipe,\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.maskInputElement = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.inputElement }, maskConfig)\r\n )\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[unmask]'\r\n})\r\nexport class InfoUnmaskDirective {\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n const newValue = this.elementRef.nativeElement.value.replace(/\\D/g, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\n\r\nimport { InfoTranslatePipe } from './pipe/translate.pipe';\r\nimport { InfoMaskPipe } from './pipe/mask.pipe';\r\nimport { InfoMaskDirective } from './directives/mask.directive';\r\nimport { InfoUnmaskDirective } from './directives/unmask.directive';\r\n\r\n// Controls\r\nimport { InfoAlertComponent } from './controls/alert/alert.component';\r\nimport { InfoAutoCompleteComponent } from './controls/autocomplete/autocomplete.component';\r\nimport { InfoBigCheckboxComponent } from './controls/big-checkbox/big-checkbox.component';\r\nimport { InfoCardComponent } from './controls/card/card.component';\r\nimport { InfoMenuCardComponent } from './controls/card-menu/card-menu.component';\r\nimport { InfoCheckboxComponent } from './controls/checkbox/checkbox.component';\r\nimport { InfoDateComponent } from './controls/date/date.component';\r\nimport { InfoDateMonthComponent } from './controls/date-month/date-month.component';\r\nimport { InfoGridComponent } from './controls/grid/grid.component';\r\nimport { InfoInputComponent } from './controls/input/input.component';\r\nimport { InfoInputListComponent } from './controls/input-list/input-list.component';\r\nimport { InfoListCheckboxComponent } from './controls/list-checkbox/list-checkbox.component';\r\nimport { InfoMessageComponent } from './controls/message/message.component';\r\nimport { InfoPaginatorComponent } from './controls/paginator/paginator.component';\r\nimport { InfoSelectComponent } from './controls/select/select.component';\r\nimport { InfoTimelineComponent } from './controls/timeline/timeline.component';\r\nimport { InfoEditorComponent } from './controls/editor/editor.component';\r\nimport { InfoMultiSelectComponent } from './controls/multi-select/multi-select.component';\r\nimport { InfoChipsComponent } from './controls/chips/chips.component';\r\n\r\n// Layouts\r\nimport { InfoDialogComponent } from './layouts/dialog/dialog.component';\r\nimport { InfoLoadingComponent } from './layouts/loading/loading.component';\r\nimport { InfoMainComponent } from './layouts/main/main.component';\r\nimport { InfoModalComponent } from './layouts/modal/modal.component';\r\nimport { InfoPagebarComponent, AtalhoModalComponent } from './layouts/pagebar/pagebar.component';\r\nimport { InfoSidebarComponent } from './layouts/sidebar/sidebar.component';\r\nimport { InfoTopbarComponent } from './layouts/topbar/topbar.component';\r\nimport { RefreshSessionTimeModalComponent } from './service/authentication.service';\r\nimport { InfoTopMenuComponent } from './layouts/topmenu/topmenu.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tHttpClientModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatCardModule,\r\n\t\tMatIconModule,\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatListModule,\r\n\t\tMatSelectModule,\r\n\t\tMatCheckboxModule,\r\n\t\tMatRadioModule,\r\n\t\tMatButtonModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatMomentDateModule,\r\n\t\tMatDialogModule,\r\n\t\tMatProgressBarModule,\r\n\t\tMatAutocompleteModule,\r\n\t\tMatTooltipModule,\r\n\t\tRouterModule,\r\n\t\tCurrencyMaskModule,\r\n\t\tAngularEditorModule,\r\n\t\tMatChipsModule,\r\n\t],\r\n\tdeclarations: [\r\n\t\tInfoTranslatePipe,\r\n\t\tInfoMaskPipe,\r\n\r\n\t\tInfoMaskDirective,\r\n\t\tInfoUnmaskDirective,\r\n\r\n\t\tInfoAlertComponent,\r\n\t\tInfoAutoCompleteComponent,\r\n\t\tInfoBigCheckboxComponent,\r\n\t\tInfoCardComponent,\r\n\t\tInfoMenuCardComponent,\r\n\t\tInfoCheckboxComponent,\r\n\t\tInfoDateComponent,\r\n\t\tInfoDateMonthComponent,\r\n\t\tInfoGridComponent,\r\n\t\tInfoInputComponent,\r\n\t\tInfoInputListComponent,\r\n\t\tInfoListCheckboxComponent,\r\n\t\tInfoMessageComponent,\r\n\t\tInfoPaginatorComponent,\r\n\t\tInfoSelectComponent,\r\n\t\tInfoTimelineComponent,\r\n\t\tInfoEditorComponent,\r\n\t\tInfoMultiSelectComponent,\r\n\t\tInfoChipsComponent,\r\n\r\n\t\tInfoDialogComponent,\r\n\t\tInfoLoadingComponent,\r\n\t\tInfoMainComponent,\r\n\t\tInfoModalComponent,\r\n\t\tInfoPagebarComponent,\r\n\t\tInfoSidebarComponent,\r\n\t\tInfoTopbarComponent,\r\n\t\tInfoTopMenuComponent,\r\n\t\tAtalhoModalComponent,\r\n\t\tRefreshSessionTimeModalComponent,\r\n\t],\r\n\texports: [\r\n\t\tInfoTranslatePipe,\r\n\t\tInfoMaskPipe,\r\n\r\n\t\tInfoAlertComponent,\r\n\t\tInfoAutoCompleteComponent,\r\n\t\tInfoBigCheckboxComponent,\r\n\t\tInfoCardComponent,\r\n\t\tInfoMenuCardComponent,\r\n\t\tInfoCheckboxComponent,\r\n\t\tInfoDateComponent,\r\n\t\tInfoDateMonthComponent,\r\n\t\tInfoGridComponent,\r\n\t\tInfoInputComponent,\r\n\t\tInfoInputListComponent,\r\n\t\tInfoListCheckboxComponent,\r\n\t\tInfoMessageComponent,\r\n\t\tInfoPaginatorComponent,\r\n\t\tInfoSelectComponent,\r\n\t\tInfoTimelineComponent,\r\n\t\tInfoEditorComponent,\r\n\t\tInfoMultiSelectComponent,\r\n\t\tInfoChipsComponent,\r\n\r\n\t\tInfoDialogComponent,\r\n\t\tInfoLoadingComponent,\r\n\t\tInfoMainComponent,\r\n\t\tInfoModalComponent,\r\n\t\tInfoPagebarComponent,\r\n\t\tInfoSidebarComponent,\r\n\t\tInfoTopbarComponent,\r\n\t\tInfoTopMenuComponent,\r\n\t],\r\n\tschemas: [\r\n\t\tCUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n\tentryComponents: [\r\n\t\tInfoDialogComponent,\r\n\t\tAtalhoModalComponent,\r\n\t\tRefreshSessionTimeModalComponent\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info-library.js","sources":["../../../projects/info-library/src/global-config.ts","../../../projects/info-library/src/model/app-config.model.ts","../../../projects/info-library/src/model/data-access.model.ts","../../../projects/info-library/src/model/dialog-result.model.ts","../../../projects/info-library/src/model/dialog.model.ts","../../../projects/info-library/src/enum/page-action.enum.ts","../../../projects/info-library/src/enum/modal-action.enum.ts","../../../projects/info-library/src/model/form-prop.model.ts","../../../projects/info-library/src/model/grid-button.model.ts","../../../projects/info-library/src/model/method-grid-button.model.ts","../../../projects/info-library/src/model/last-search.model.ts","../../../projects/info-library/src/model/login.model.ts","../../../projects/info-library/src/model/pagebar-buttons.model.ts","../../../projects/info-library/src/model/permission.model.ts","../../../projects/info-library/src/model/platform.model.ts","../../../projects/info-library/src/model/session.model.ts","../../../projects/info-library/src/model/notification.model.ts","../../../projects/info-library/src/enum/dialog-buttons.enum.ts","../../../projects/info-library/src/service/translate.service.ts","../../../projects/info-library/src/pipe/translate.pipe.ts","../../../projects/info-library/src/pipe/mask.pipe.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/service/authentication.service.ts","../../../projects/info-library/src/service/theme.service.ts","../../../projects/info-library/src/service/configuration.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.ts","../../../projects/info-library/src/controls/checkbox/checkbox.component.ts","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/info-library.module.ts"],"sourcesContent":["import { InjectionToken } from \"@angular/core\";\r\n\r\nexport const DICTIONARIES_CONFIG = new InjectionToken<any>('DICTIONARIES_CONFIG');\r\nexport const APICONTROLLER_CONFIG = new InjectionToken<any>('APICONTROLLER_CONFIG');","export class InfoAppConfigModel {\r\n production: boolean = false;\r\n webapiUrl: string = '';\r\n processingUrl: string = '';\r\n theme: string = '';\r\n dictionary: string = '';\r\n ux: Number = 2;\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n}","export class InfoDataAccessModel {\r\n \r\n success: boolean;\r\n messages: string[] = [];\r\n name: string = null;\r\n description: string = null;\r\n data: any;\r\n total: number = 0;\r\n parentId: number = null;\r\n referenceGuid: string = null;\r\n external = false;\r\n\r\n constructor(data: any, success?: boolean, messages?: string[]) {\r\n\r\n if (data != null) {\r\n if (data.Name != null && data.Name != \"\")\r\n this.name = data.Name\r\n\r\n if (data.Description != null && data.Description != \"\")\r\n this.description = data.Description;\r\n\r\n if (data.Total != null)\r\n this.total = data.Total;\r\n \r\n if (data.Success != null)\r\n success = data.Success;\r\n\r\n if (data.Messages)\r\n messages = data.Messages;\r\n\r\n if (data.ParentId != null)\r\n this.parentId = data.ParentId;\r\n\r\n if (data.ReferenceGuid != null)\r\n this.referenceGuid = data.ReferenceGuid;\r\n \r\n if (data.External != null)\r\n this.external = data.External;\r\n\r\n this.data = data.Data;\r\n }\r\n \r\n this.success = success == null ? true : success;\r\n this.messages = messages;\r\n\r\n if (this.messages == null || this.messages == [])\r\n this.messages = new Array();\r\n }\r\n}","import { InfoDialogButtons } from \"../enum/dialog-buttons.enum\";\r\n\r\nexport class InfoDialogResult {\r\n data?: any = null;\r\n button: InfoDialogButtons;\r\n\r\n constructor(button: InfoDialogButtons);\r\n constructor(button: InfoDialogButtons, data?: any) {\r\n this.button = button;\r\n this.data = data;\r\n }\r\n}","export class InfoDialogModel {\r\n\r\n yesOrNo: boolean = false\r\n title: string\r\n message: string = ''\r\n width: number = 450;\r\n\r\n labelOk: string = 'Ok'\r\n labelCancel: string = 'Cancelar'\r\n labelAux: string = null\r\n\r\n colorOk: string = ''\r\n colorCancel: string = ''\r\n colorAux: string = ''\r\n\r\n processingMode: boolean = false;\r\n\r\n disableButtonCancel: boolean = false;\r\n}","export enum InfoPageAction {\r\n None = -1,\r\n\r\n View = 0,\r\n New = 1,\r\n Edit = 2,\r\n Delete = 3,\r\n Search = 4,\r\n}","export enum InfoModalAction {\r\n None,\r\n Ok,\r\n Yes,\r\n No,\r\n Cancel,\r\n Save,\r\n Special,\r\n Aux\r\n}","import { InfoPageAction } from \"../enum/page-action.enum\";\r\nimport { InfoModalAction } from \"../enum/modal-action.enum\";\r\n\r\nexport class InfoFormPropModel {\r\n\r\n title: string;\r\n readonly: boolean;\r\n data: any;\r\n pageAction: InfoPageAction;\r\n modalAction: InfoModalAction = InfoModalAction.None;\r\n modalComponent: any = null;\r\n api: any = null;\r\n\r\n set(pageAction: InfoPageAction, data: any) {\r\n\r\n this.data = data;\r\n this.readonly = pageAction == InfoPageAction.View;\r\n this.pageAction = pageAction;\r\n\r\n switch (pageAction) {\r\n\r\n case InfoPageAction.New:\r\n this.title = 'Novo';\r\n break;\r\n\r\n case InfoPageAction.Search:\r\n this.title = 'Pesquisar';\r\n break;\r\n\r\n case InfoPageAction.View:\r\n this.title = 'Visualizar';\r\n break;\r\n\r\n case InfoPageAction.Edit:\r\n this.title = 'Editar';\r\n break;\r\n\r\n case InfoPageAction.Delete:\r\n this.title = 'Remover';\r\n break;\r\n\r\n default:\r\n this.title = '';\r\n break;\r\n }\r\n }\r\n}","export class InfoGridButtonModel {\r\n \r\n label: string;\r\n passId: boolean;\r\n icon: string;\r\n navigateTo: string;\r\n modalComponent: any = null;\r\n widthModalComponent: Number = 500;\r\n api: any = null;\r\n method: string = null;\r\n showOnlyClass: string = null;\r\n disabledField: string = null;\r\n confirm: boolean;\r\n\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function, widthModalComponent: Number, api: any, method: string, disabledField: string, confirm: boolean);\r\n constructor(label: string, passId: boolean, icon: string, navigateTo: string, modalComponent: Function = null, widthModalComponent: Number = null, api: any = null, method: string = null, disabledField: string = null, confirm: boolean = true) {\r\n this.label = label;\r\n this.passId = passId;\r\n this.icon = icon;\r\n this.navigateTo = navigateTo;\r\n \r\n this.modalComponent = modalComponent;\r\n this.widthModalComponent = widthModalComponent;\r\n\r\n this.api = api;\r\n this.method = method;\r\n this.disabledField = disabledField;\r\n this.confirm = confirm;\r\n }\r\n}","export class InfoMethodGridButtonModel {\r\n \r\n label: string;\r\n icon: string;\r\n method: () => any = null;\r\n\r\n constructor(label: string, icon: string, method: () => any)\r\n {\r\n this.label = label;\r\n this.icon = icon;\r\n this.method = method;\r\n }\r\n}","export class InfoLastSearchModel {\r\n url: string = '';\r\n model: any = null;\r\n index: number = 0;\r\n enabledSearch: boolean = false;\r\n}","export class InfoLoginModel {\r\n\r\n success: boolean = false;\r\n messages: string;\r\n data: any;\r\n\r\n constructor(success: boolean, messages: string, data?: any) {\r\n this.success = success;\r\n this.messages = messages;\r\n this.data = data;\r\n }\r\n}","export class InfoPagebarButtonModel {\r\n label: string = '';\r\n url: string = '';\r\n icon: string = '';\r\n modal: any = null;\r\n modalwidth: number = 700;\r\n\r\n constructor(label: string, url: string);\r\n constructor(label: string, url: string, icon: string);\r\n constructor(label: string, url: string, icon: string, modal: any, modalwidth: number);\r\n constructor(label: string, url: string, icon: string = 'chevron_right', modal: any = null, modalwidth: number = 700){\r\n this.label = label;\r\n this.url = url;\r\n this.icon = icon;\r\n this.modal = modal;\r\n this.modalwidth = modalwidth;\r\n }\r\n}","export class InfoPermissionModel {\r\n Acesso: boolean;\r\n URL: string;\r\n ChaveFuncionalidade: string;\r\n}","import { InfoAppConfigModel } from \"./app-config.model\";\r\n\r\nexport class InfoPlatformModel {\r\n\r\n TokenKey: string = 'token';\r\n SessionKey: string = 'sessao';\r\n \r\n ConfigIsNull: boolean = true;\r\n Themes: any = [];\r\n Config: InfoAppConfigModel = new InfoAppConfigModel();\r\n\r\n PaginaAtiva: any;\r\n UnificarTopbar: boolean = true;\r\n MenuMin: boolean = false;\r\n ModoPrime: boolean = false;\r\n\r\n Menu: any = [];\r\n\r\n ShortcutApi: any = null;\r\n\r\n public setConfig(config: InfoAppConfigModel) {\r\n this.Config = config;\r\n this.ConfigIsNull = false;\r\n }\r\n}","import { InfoPermissionModel } from \"./permission.model\";\r\n\r\nexport class InfoSessionModel {\r\n UsuarioId: number;\r\n Usuario: string;\r\n Login: string;\r\n Email: string;\r\n Perfil: string;\r\n EmpresaId: number;\r\n TemaId: number;\r\n Empresa: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Parametros: any[] = null;\r\n TempoInatividade: number;\r\n}","export class InfoNotificationModel {\r\n Count: number = 0;\r\n Itens: InfoNotificationItemModel[] = [];\r\n}\r\n\r\nexport class InfoNotificationItemModel {\r\n Id: number;\r\n Icon: string;\r\n Description: string;\r\n Url: string;\r\n Date: string;\r\n Viewed: boolean;\r\n}","export enum InfoDialogButtons {\r\n Ok,\r\n Cancel,\r\n Yes,\r\n No,\r\n Aux\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { DICTIONARIES_CONFIG } from \"../global-config\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoTranslateService {\r\n private _currentLang: string;\r\n private _key: string = 'currentLang';\r\n\r\n public get currentLang() {\r\n return this._currentLang;\r\n }\r\n\r\n constructor(@Inject(DICTIONARIES_CONFIG) private _translations: any, private _plataforma: InfoPlatformModel) {\r\n \r\n let lang = localStorage.getItem(this._key);\r\n if (lang == null)\r\n this._currentLang = 'pt-br';\r\n else this._currentLang = lang;\r\n }\r\n\r\n public set(lang: string): void {\r\n this._currentLang = lang;\r\n localStorage.setItem(this._key, lang);\r\n }\r\n\r\n public translate(key: string): string {\r\n let translation = key;\r\n\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Values && this._translations[this.currentLang].Values[key]) {\r\n return (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n }\r\n\r\n return translation;\r\n }\r\n\r\n public getCalendar(): any {\r\n if (this._translations[this.currentLang] && this._translations[this.currentLang].Calendar) {\r\n return this._translations[this.currentLang].Calendar;\r\n }\r\n }\r\n\r\n public instant(key: string) {\r\n return this.translate(key);\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\n\r\n@Pipe({\r\n name: 'translate',\r\n pure: false\r\n})\r\nexport class InfoTranslatePipe implements PipeTransform {\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) \r\n return;\r\n\r\n return this._translate.instant(value);\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport { conformToMask } from \"text-mask-core/dist/textMaskCore\";\r\n\r\n@Pipe({\r\n name: 'mask',\r\n pure: false\r\n})\r\nexport class InfoMaskPipe implements PipeTransform {\r\n\r\n constructor( ) { }\r\n\r\n transform(value: string, args?: any): any {\r\n if (!value) return;\r\n\r\n let mask = [];\r\n\r\n if (args == 'phone')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]; \r\n else if (args == 'cel')\r\n mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cep')\r\n mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n else if (args == 'cpf')\r\n mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else if (args == 'cnpj')\r\n mask = [/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'/',/\\d/,/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n else \r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n \r\n return conformToMask(value, mask, {guide: false}).conformedValue; \r\n }\r\n}","import { Injectable, Inject } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { HttpClient, HttpHeaders, HttpErrorResponse } from '@angular/common/http';\r\nimport { InfoDataAccessModel } from '../model/data-access.model';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { Observable, of, ObservableInput } from 'rxjs';\r\nimport { APICONTROLLER_CONFIG } from '../global-config';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private _key: string = 'token';\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, private _http: HttpClient, private _router: Router, private _plataforma: InfoPlatformModel) { }\r\n\r\n public getToken(): string {\r\n this.token = localStorage.getItem(this._key);\r\n\r\n if (this.token == null) {\r\n this._router.navigateByUrl('');\r\n return '';\r\n\r\n } else return 'Bearer ' + this.token;\r\n }\r\n\r\n public getHeaderToken(): HttpHeaders {\r\n return new HttpHeaders().set('Authorization', this.getToken());\r\n }\r\n\r\n public getAPIUrl(controller: any) {\r\n let api = '';\r\n\r\n\t\tif (typeof(controller) == 'number')\r\n\t\t\tapi = this._apiController[controller].toString();\r\n\r\n else api = controller == null ? '' : controller.toString();\r\n \r\n\t\treturn this._plataforma.Config.webapiUrl + (api.replace('_', '/') + '/').toLowerCase();\r\n }\r\n\r\n public getNoToken(controller: any): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public getNoToken(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + (param == null ? '' : ('?' + param.replace(/null/g, '').replace(/undefined/g, ''))))\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public get(controller: any): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public get(controller: any, method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n \r\n return this._http\r\n .get(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + (param == null ? '' : ('?' + param.replace(/null/g, '').replace(/undefined/g, ''))), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public getById(controller: any, id: number): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .get(this.getAPIUrl(controller) + id.toString(), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public postNoToken(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public postNoToken(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + method.toLowerCase(), model)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public post(controller: any, model: any): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public post(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n return this._http\r\n .post(this.getAPIUrl(controller) + (method == null ? '' : method), model, { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e, false))\r\n );\r\n }\r\n\r\n public delete(controller: any, id: any): Observable<InfoDataAccessModel>\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel>;\r\n public delete(controller: any, id: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n if (id == undefined || id == null)\r\n alert('Id não informado');\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()) + \"?id=\" + id.toString(), { headers: this.getHeaderToken() })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public deleteByModel(controller: any, model: any): Observable<InfoDataAccessModel>\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel>;\r\n public deleteByModel(controller: any, model: any, method?: string): Observable<InfoDataAccessModel> {\r\n\r\n let httpOptions = {\r\n headers: this.getHeaderToken(),\r\n body: model\r\n }\r\n\r\n return this._http\r\n .delete(this.getAPIUrl(controller) + (method == null ? '' : method.toLowerCase()), httpOptions)\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n public request(controller: any, model: any[], method?: string): Observable<InfoDataAccessModel>\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel>;\r\n public request(controller: any, model: any[], method?: string, param?: string): Observable<InfoDataAccessModel> {\r\n\r\n let formData = new FormData();\r\n for (let index = 0; index < model.length; index++)\r\n formData.append(model[index].name, model[index]);\r\n\r\n return this._http\r\n .request('POST', this.getAPIUrl(controller) + (method == null ? '' : method) + (param == null ? '' : ('?' + param)), { headers: this.getHeaderToken(), body: formData })\r\n .pipe(\r\n map(r => new InfoDataAccessModel(r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse, redirect: boolean = true): ObservableInput<InfoDataAccessModel> {\r\n if (e.status == 401) \r\n document.location.href = '/#/login';\r\n else if (redirect) \r\n document.location.href = '/#/500';\r\n\r\n let messages: string[] = new Array(e.message);\r\n return of(new InfoDataAccessModel(null, false, messages));\r\n }\r\n}","import { Component, Injectable } from '@angular/core';\r\nimport { CanActivate, RouterStateSnapshot, ActivatedRouteSnapshot, Router } from '@angular/router';\r\nimport { HttpClient, HttpErrorResponse } from '@angular/common/http';\r\nimport { Observable, ObservableInput, of } from 'rxjs';\r\nimport { map, catchError, switchMap } from 'rxjs/operators';\r\nimport { InfoSessionModel } from '../model/session.model';\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoLoginModel } from '../model/login.model';\r\nimport { InfoDataService } from '../service/data.service';\r\nimport { InfoFormPropModel } from '../model/form-prop.model';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoModalAction } from '../enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _key: string = 'token';\r\n private _keySessao: string = 'sessao';\r\n private _sessionTimeInterval;\r\n private _sessionTime: number = null;\r\n\r\n constructor(private _router: Router, \r\n private _http: HttpClient, \r\n private _sessao: InfoSessionModel, \r\n private _plataforma: InfoPlatformModel,\r\n private _dataService: InfoDataService,\r\n private _modal: MatDialog) { }\r\n\r\n getSessao(): InfoSessionModel{\r\n return this._sessao;\r\n }\r\n\r\n getPlatform(): InfoPlatformModel {\r\n return this._plataforma;\r\n }\r\n\r\n canActivate(activatedRouteSnapshot: ActivatedRouteSnapshot, routerStateSnapshot: RouterStateSnapshot): Observable<boolean> | boolean {\r\n \r\n if (!this.isLogged()) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n const url = activatedRouteSnapshot.data['URL'] || routerStateSnapshot.url;\r\n\r\n this.refreshSessionTime();\r\n this.definePaginaAtiva(url);\r\n\r\n return this.getPermission(url, true)\r\n .pipe(\r\n map(() => {\r\n if (url == '/')\r\n return true;\r\n\r\n if (!this.hasPermission(url))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('novo') > -1 && !this.hasPermission(url, 'new'))\r\n this._router.navigateByUrl('permission');\r\n\r\n if (url.indexOf('visualizar') < -1 && activatedRouteSnapshot.paramMap.get('id') != null && !this.hasPermission(url, 'edit'))\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n }, \r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n })\r\n )).pipe(\r\n switchMap(async res => {\r\n const permissao = activatedRouteSnapshot.data['Permissao'];\r\n\r\n if (!permissao)\r\n return true;\r\n\r\n var params = (permissao[2] || '').replace(RegExp(/\\{(.*?)\\}/, 'g'), (_, p) => activatedRouteSnapshot.params[p]);\r\n\r\n var r = await this._dataService.get(permissao[0], permissao[1], params).toPromise();\r\n if (!r.success || r.data != true)\r\n this._router.navigateByUrl('permission');\r\n\r\n return true;\r\n })\r\n );\r\n }\r\n\r\n isLogged(): boolean {\r\n return (localStorage.getItem(this._key) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n clearInterval(this._sessionTimeInterval);\r\n if (this._sessao.TempoInatividade <= 0) {\r\n this._sessionTime = null;\r\n } else {\r\n this._sessionTime = this._sessao.TempoInatividade;\r\n \r\n if (this._sessao.TempoInatividade <= 0) {\r\n this._sessionTime = null;\r\n return;\r\n }\r\n\r\n this._sessionTimeInterval = setInterval(() => {\r\n if (this._sessionTime == null) {\r\n this._sessionTime = this._sessao.TempoInatividade;\r\n \r\n if (this._sessionTime == null || this._sessionTime <= 0) {\r\n this.refreshSessionTime();\r\n return;\r\n }\r\n }\r\n\r\n if (this._sessionTime > 0)\r\n this._sessionTime--;\r\n else {\r\n clearInterval(this._sessionTimeInterval);\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '400px'\r\n });\r\n \r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n clearInterval(this._sessionTimeInterval);\r\n \r\n if (r == null)\r\n this.logout();\r\n\r\n else if (r.modalAction == InfoModalAction.Yes)\r\n this.refreshSessionTime();\r\n\r\n else this.logout();\r\n });\r\n }\r\n }, 1000);\r\n }\r\n\t}\r\n\r\n login(usuario: string, senha: string, reCaptchaToken: string = null): Observable<any> {\r\n this.removeSessao();\r\n\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/autenticar', { Usuario: usuario, Senha: senha, ReCaptchaToken: reCaptchaToken })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data.Token);\r\n \r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n trocarEmpresa(usuario: string, empresaId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarempresa', { EmpresaId: empresaId }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n \r\n clonar(usuario: string): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/clonar', { Usuario: usuario }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n localStorage.setItem(this._key, r.Data);\r\n\r\n return new InfoLoginModel(r.Success, r.Messages, r.Data);\r\n }),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n logout() {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); });\r\n }\r\n\r\n getPermissions(url: string, logAtividade: boolean = false): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/getpermissao?url=' + url + '&logatividade=' + logAtividade.toString(), { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setTrocaSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/TrocarSenha', model, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setRecuperarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/RecuperarSenha', model, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n setResetarSenha(model: any): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/ResetarSenha', model)\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n getLoginResources(): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/app/GetLoginResources')\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r.Success, r.Messages, r.Data)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n hasPermission(url: string, keyFunction: string = 'view'): boolean {\r\n\r\n if (url == '/' && keyFunction == 'view')\r\n return true;\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n return this._sessao.Permissoes.some(s => s.URL == urlGenerica && s.ChaveFuncionalidade == keyFunction && s.Acesso);\r\n }\r\n\r\n getPermission(url: string, logAtividade: boolean = false): Observable<boolean> {\r\n\r\n let urlGenerica = this.getUrlGenerica(url);\r\n let contemUrl = this._sessao.Permissoes.some(s => s.URL == urlGenerica);\r\n if (contemUrl) {\r\n if (logAtividade) {\r\n return this.validaSessao(url).pipe(map(ret => {\r\n if (!ret.success)\r\n this.logout();\r\n \r\n return true;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n } else {\r\n return new Observable(function (observer) {\r\n observer.next(true);\r\n observer.complete();\r\n });\r\n }\r\n } else {\r\n return this.getPermissions(urlGenerica, logAtividade).pipe(map(ret => {\r\n let permissao = true;\r\n if (ret.success) {\r\n if (ret.data == null) {\r\n this.logout();\r\n return true;\r\n }\r\n\r\n ret.data.forEach(item => {\r\n if (this._sessao.Permissoes.filter(s => s.URL == item.URL && s.ChaveFuncionalidade == item.ChaveFuncionalidade).length == 0)\r\n this._sessao.Permissoes.push(item);\r\n });\r\n\r\n ret.data.some(s => s.URL == urlGenerica)\r\n\r\n localStorage.setItem(this._keySessao, JSON.stringify(this._sessao));\r\n }\r\n\r\n return permissao;\r\n }),\r\n catchError(error => { \r\n if (error.status == 401) this.logout();\r\n return of(true);\r\n }));\r\n }\r\n }\r\n\r\n validaSessao(url: string): Observable<any> {\r\n return this._http\r\n .get(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/validasessao?url=' + url, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => new InfoLoginModel(r === true, '', r)),\r\n catchError((e: HttpErrorResponse) => this.errorHandling(e))\r\n );\r\n }\r\n\r\n removeSessao() {\r\n Object.keys(localStorage).forEach((key) => {\r\n if (!key.includes('Dashboard')) delete localStorage[key];\r\n });\r\n }\r\n\r\n definePaginaAtiva(url) {\r\n\r\n if (this._plataforma.Menu == null || url == null) {\r\n this._plataforma.PaginaAtiva = null;\r\n return;\r\n }\r\n\r\n let aux: string[] = url.substring(1).replace(/-/g, '').toLowerCase().split('/');\r\n let tituloMenu: string = aux.length > 0 ? aux[0].toString() : url;\r\n\r\n if (tituloMenu.indexOf('ashboard') > -1)\r\n this._plataforma.PaginaAtiva = { Icone: 'widgets', Titulo: 'Dashboard' };\r\n\r\n else {\r\n let item: any = this._plataforma.Menu.filter(m => m.Title.toLowerCase().indexOf(tituloMenu) > -1);\r\n\r\n if (item != null && item.length > 0)\r\n this._plataforma.PaginaAtiva = { Icone: item[0].Icon, Titulo: item[0].Title };\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: 'Plataforma' };\r\n }\r\n }\r\n\r\n getUrlGenerica(url: string): string {\r\n let retorno = \"\";\r\n let urlParts: string[] = url.split('/');\r\n for (var i = 0; i < urlParts.length; i++) {\r\n if (!isNaN(parseFloat(urlParts[i])) || this.isGuid(urlParts[i]) || urlParts[i].toLowerCase() == 'novo')\r\n break;\r\n else\r\n retorno += '/' + urlParts[i];\r\n }\r\n return retorno.substring(1);\r\n }\r\n\r\n private errorHandling(e: HttpErrorResponse): ObservableInput<InfoLoginModel> {\r\n if (e.status == 401) \r\n this.logout();\r\n\r\n else if (e.status == 500)\r\n this._router.navigateByUrl('500');\r\n\r\n else if (e.error != null && e.error.error_description != null)\r\n return of(new InfoLoginModel(false, e.error.error_description));\r\n\r\n else return of(new InfoLoginModel(false, 'Houve um problema e não foi possível conectar'));\r\n }\r\n\r\n private isGuid(value) : boolean {\r\n return (value || '').match('^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$') !== null;\r\n }\r\n}\r\n\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"Inatividade\" (onsave)=\"ativo(true)\" labelsubmit=\"Sim\" labelcancel=\"({{ time }}) {{ 'Nao' | translate }}\">\r\n <label style=\"font-size:130%\">{{ 'VoceAindaEstaUtilizandoPlataforma' | translate }}</label>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class RefreshSessionTimeModalComponent {\r\n time = 15;\r\n interval;\r\n\r\n\tconstructor(private _ref: MatDialogRef<RefreshSessionTimeModalComponent>) { }\r\n\r\n ngOnInit() {\r\n clearInterval(this.interval);\r\n \r\n this.interval = setInterval(() => {\r\n if (this.time > 0)\r\n this.time--;\r\n else {\r\n this.ativo(false);\r\n clearInterval(this.interval);\r\n }\r\n }, 1000);\r\n }\r\n \r\n ativo(ativo: boolean) {\r\n this._ref.close({ modalAction: ativo ? InfoModalAction.Yes : InfoModalAction.No });\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\nimport { OverlayContainer } from \"@angular/cdk/overlay\";\r\nimport { InfoPlatformModel } from '../model/platform.model';\r\nimport { InfoSessionModel } from '../model/session.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoThemeService {\r\n\r\n constructor(public _overlay: OverlayContainer, public _plataform: InfoPlatformModel, public _session: InfoSessionModel) { }\r\n\r\n public setTheme(theme) {\r\n // console.log('info-theme.setTheme', theme);\r\n\r\n if (this._plataform.Themes != null){\r\n let item = this._plataform.Themes.find(t => t.name == theme);\r\n this._plataform.UnificarTopbar = item == null ? false : item.unificarTopbar;\r\n }\r\n\r\n let _overlay = this._overlay.getContainerElement().classList;\r\n let themeClassesToRemove: any = Array.from(_overlay).filter((item: string) => item.includes('-theme'));\r\n \r\n if (themeClassesToRemove && themeClassesToRemove.length > 0)\r\n _overlay.remove(themeClassesToRemove);\r\n\r\n _overlay.remove('alternative-layout');\r\n _overlay.add(theme);\r\n\r\n document.body.removeAttribute('class');\r\n document.body.classList.add(theme);\r\n\r\n if (this._plataform.UnificarTopbar)\r\n document.body.classList.add('alternative-layout');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n \r\n if (this._plataform.ModoPrime)\r\n document.body.classList.add('modo-prime');\r\n\r\n document.body.classList.add('ux' + (this._plataform.Config.ux ? this._plataform.Config.ux : 2));\r\n\r\n sessionStorage.setItem('at', theme);\r\n localStorage.setItem('at', theme);\r\n }\r\n\r\n public setThemeByLoggedCompany() {\r\n // console.log('info-theme.setThemeByLoggedCompany', this._session.TemaId);\r\n this.setTheme(this._session.TemaId > 0 ? `_${this._session.TemaId}-theme` : 'default-theme');\r\n }\r\n\r\n public setMenuMin(value: boolean = null){\r\n this._plataform.MenuMin = value == null ? !this._plataform.MenuMin : value;\r\n\r\n document.body.classList.remove('menu-min');\r\n \r\n if (this._plataform.MenuMin)\r\n document.body.classList.add('menu-min');\r\n\r\n sessionStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n localStorage.setItem('mm', this._plataform.MenuMin.toString());\r\n }\r\n\r\n public setModePrime(prime: boolean = null){\r\n this._plataform.ModoPrime = prime == null ? !this._plataform.ModoPrime : prime;\r\n\r\n document.body.classList.remove('modo-prime');\r\n \r\n if (this._plataform.ModoPrime)\r\n document.body.classList.add('modo-prime');\r\n\r\n sessionStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n localStorage.setItem('mp', this._plataform.ModoPrime.toString());\r\n }\r\n}","import { Injectable, Inject } from \"@angular/core\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { InfoPlatformModel } from \"../model/platform.model\";\r\nimport { InfoAppConfigModel } from \"../model/app-config.model\";\r\nimport { InfoThemeService } from \"./theme.service\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoConfigurationService {\r\n\r\n constructor(private _http: HttpClient, private _plataforma: InfoPlatformModel, private _themeService: InfoThemeService) { }\r\n\r\n initialize(): Promise<InfoAppConfigModel> {\r\n\r\n return new Promise((r, e) => {\r\n this._http\r\n .get<InfoAppConfigModel>('config.json')\r\n .subscribe(config => {\r\n let activeTheme = sessionStorage.getItem('at') || localStorage.getItem('at');\r\n let menuMin = sessionStorage.getItem('mm') || localStorage.getItem('mm');\r\n let prime = sessionStorage.getItem('mp') || localStorage.getItem('mp');\r\n\r\n this._plataforma.Config = config; \r\n this._plataforma.ConfigIsNull = false;\r\n\r\n if (this._plataforma.Config.ux == null || this._plataforma.Config.ux == undefined)\r\n this._plataforma.Config.ux = 2;\r\n\r\n if (this._plataforma.Config.ux == 2)\r\n menuMin = 'false';\r\n \r\n if (config.production)\r\n this._themeService.setTheme(activeTheme || 'default-theme');\r\n\r\n this._themeService.setMenuMin(menuMin == 'true');\r\n this._themeService.setModePrime(prime == 'true');\r\n\r\n r(config);\r\n });\r\n });\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-alert',\r\n template: `\r\n <div *ngIf=\"messages != [] && messages.length > 0\">\r\n <div class=\"alert\" #alert >\r\n <h5>{{ 'Atencao' | translate }}</h5>\r\n <ng-content></ng-content>\r\n <ul>\r\n <li *ngFor=\"let m of messages\"><mat-icon>error_outline</mat-icon><label [innerHTML]=\"m | translate\"></label></li>\r\n </ul>\r\n <a class=\"close\" (click)=\"onClose()\"><i class=\"material-icons\">clear</i></a>\r\n </div>\r\n </div>\r\n `,\r\n styleUrls: ['alert.component.scss']\r\n})\r\nexport class InfoAlertComponent {\r\n\r\n @Input() messages: string[] = [];\r\n\r\n onClose() {\r\n this.messages = [];\r\n }\r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { FormControl, ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { debounceTime, switchMap, distinctUntilChanged } from 'rxjs/operators';\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { Observable } from \"rxjs\";\r\nimport { InfoDataAccessModel } from '../../model';\r\n\r\n@Component({\r\n selector: 'info-autocomplete',\r\n templateUrl: 'autocomplete.component.html',\r\n styleUrls: ['./autocomplete.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoAutoCompleteComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoAutoCompleteComponent implements OnInit, ControlValueAccessor {\r\n control = new FormControl();\r\n \r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() getdataonchange = false;\r\n @Input() getdataonchangetime = 300;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() maxlist = 10;\r\n @Input() startwith = false;\r\n @Input() minchar = 1;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n options: any[];\r\n selectedValue: any = null;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n \r\n initialized = false;\r\n\r\n _loading: boolean = false;\r\n @Input()\r\n get loading(){\r\n return this._loading;\r\n }\r\n\r\n set loading(value){\r\n this._loading = value;\r\n \r\n if (this._disabled == null)\r\n this._disabled = false;\r\n\r\n else if (this._disabled.toString() == '')\r\n this._disabled = true;\r\n\r\n if (this._disabled == false)\r\n this.setDisabledState(this.loading);\r\n }\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n }\r\n \r\n _disabled: boolean = null;\r\n @Input()\r\n set disabled(value: boolean) { \r\n if (this._disabled == null)\r\n this._disabled = value;\r\n\r\n if (value)\r\n this.control.disable();\r\n else\r\n this.control.enable();\r\n }\r\n\r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n\r\n if (this.getdataonchange)\r\n return;\r\n\r\n setTimeout(() => {\r\n if (this.selectedValue != null)\r\n if (this._data == null || (this._data != null && this._data.length == 0)) {\r\n this.writeValue(null);\r\n this.selectedValue = null;\r\n } else\r\n this.writeValue(this.selectedValue.Id == null ? this.selectedValue : this.selectedValue.Id);\r\n \r\n else if (this.selectfirst && this.data != null && this.data.length > 0)\r\n this.writeValue(this.data[0].Id);\r\n\r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }, 1000);\r\n }\r\n\r\n constructor(private _dataAcess: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n if (this.minchar == null || this.minchar < 0) this.minchar = 1;\r\n this.name = this.placeholder.replace(/ /g, '') + Math.floor(Math.random() * 1000).toString();\r\n\r\n if (!this.getdataonchange) {\r\n this.getData().subscribe(a => { this.data = a.data; this.loading = false; });\r\n this.control.valueChanges.subscribe(value => { this.options = this.filter(value)});\r\n } else {\r\n this.control.valueChanges.pipe(\r\n debounceTime(this.getdataonchangetime), \r\n distinctUntilChanged(),\r\n switchMap(value => this.getData(value))\r\n ).subscribe(a => this.data = this.options = a.data);\r\n }\r\n }\r\n\r\n filter(value: any): any[] {\r\n if (value == null || value.length < this.minchar) return [];\r\n let filterValue = value.Nome == null ? value.toString().toLowerCase() : value.Nome;\r\n\r\n if (this.startwith)\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) === 0 || (option.Aux == null ? \"\" : option.Aux.toLowerCase() == filterValue)).slice(0, this.maxlist);\r\n else\r\n return this.data.filter(option => option.Nome.toLowerCase().indexOf(filterValue) > -1 || (option.Aux == null ? \"\" : option.Aux.toLowerCase().indexOf(filterValue) > -1)).slice(0, this.maxlist);\r\n }\r\n\r\n getData(value: any = null): Observable<any> {\r\n this.initialized = true;\r\n\r\n if (this.api == null || this.api == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n this.loading = !this.getdataonchange;\r\n this.data = [];\r\n let parameters = this.params;\r\n\r\n if (this.getdataonchange) {\r\n if (value == null || value == '')\r\n return new Observable<InfoDataAccessModel>();\r\n\r\n if (parameters != null && parameters != '')\r\n parameters += '&';\r\n\r\n parameters += `nome=${value.Nome == null ? value.toString().toLowerCase() : value.Nome}&take=${this.maxlist}`;\r\n }\r\n\r\n return this._dataAcess.get(this.api, this.method, parameters);\r\n }\r\n\r\n onBlur(value) {\r\n setTimeout(() => {\r\n if (this.selectedValue != null && this.selectedValue.Id != null)\r\n return;\r\n\r\n if (!value && this.selectedValue != null && this.selectedValue.trim() == '')\r\n this.writeValue(null);\r\n else {\r\n let first = this.filter(value);\r\n if (first != null && first.length > 0)\r\n this.writeValue(first[0].Id);\r\n else\r\n this.writeValue(null);\r\n } \r\n }, 300);\r\n }\r\n\r\n onFocus(value) {\r\n if (this.minchar != null && this.minchar == 0 && (value == null || value == ''))\r\n setTimeout(() => { this.control.setValue(''); }, 200);\r\n }\r\n\r\n displayFn(model): string {\r\n if (model == null || model.Nome == null)\r\n return '';\r\n\r\n let indexSmall = model.Nome.indexOf('<small');\r\n return indexSmall > -1 ? model.Nome.substring(0, indexSmall).trim() : model.Nome;\r\n }\r\n\r\n writeValue(value: any): void {\r\n let obj = this.data.find(r => r.Id == value);\r\n this.control.setValue(obj);\r\n\r\n if (value != null && obj == null)\r\n this.selectedValue = value;\r\n\r\n if (this.onChange != null)\r\n this.onChange(value);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == value));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-big-checkbox',\r\n templateUrl: 'big-checkbox.component.html',\r\n styleUrls: ['big-checkbox.component.scss']\r\n})\r\nexport class InfoBigCheckboxComponent implements OnInit {\r\n\r\n @Input() readonly: boolean = false;\r\n @Input() preload: boolean = true;\r\n @Input() enabledcheckall: boolean = true;\r\n @Input() labelselectall: string = 'Todos';\r\n @Input() labelsearch: string = 'Buscar';\r\n @Input() minchar: number = 0;\r\n @Input() max: number = 20;\r\n @Input() message: string;\r\n @Input() submessage: string = '';\r\n\r\n @Input() value: string = '';\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n\r\n @Input() model: any = [];\r\n @Input() data: any[] = [];\r\n @Input() aux: string = null;\r\n\r\n private _params: any = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n this.getData();\r\n }\r\n\r\n private _paramsmodel: any = null;\r\n @Input()\r\n get paramsmodel(){\r\n return this._paramsmodel;\r\n }\r\n\r\n set paramsmodel(value){\r\n this._paramsmodel = value;\r\n this.getData();\r\n }\r\n\r\n loading: boolean = false;\r\n name: string = '';\r\n\r\n constructor(private _dataService: InfoDataService) { }\r\n\r\n ngOnInit(){\r\n this.submessage = 'Serão exibidos somente os ' + this.max + ' primeiros itens encontrados';\r\n this.name = 'input-search-' + Math.floor(Math.random() * 1000).toString();\r\n this.getData();\r\n }\r\n\r\n getData() {\r\n if (this.preload) {\r\n if (this.params == null && this.paramsmodel != null)\r\n this.loadByParamModel(this.paramsmodel);\r\n\r\n else this.load(this.params);\r\n }\r\n }\r\n\r\n load(param: any = null) {\r\n\r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService\r\n .get(this.api, this.method, param).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n loadByParamModel(paramModel: any = null) {\r\n \r\n if (this.api == null)\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this._dataService.post(this.api, paramModel, this.method).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n \r\n this.loading = false;\r\n });\r\n }\r\n\r\n getModel(): any[]{\r\n\r\n if (this.model == null || this.model.length == 0)\r\n return [];\r\n\r\n return this.model.filter(m => this.aux == null || m.Aux == this.aux);\r\n }\r\n\r\n getFilteredData(): any[]{\r\n\r\n if (this.data.length == 0 || this.value.length < this.minchar)\r\n return [];\r\n\r\n return this.data.filter(d => \r\n (this.aux == null || this.aux == d.Aux) &&\r\n this.model.filter(m => m.Id == d.Id).length == 0 && \r\n d.Nome.toLowerCase().indexOf(this.value.toLowerCase()) > -1\r\n\r\n ).slice(0, this.max);\r\n }\r\n\r\n existData(): boolean{\r\n return (this.data != null && \r\n this.data.length > 0 && \r\n this.data.filter(d => this.aux == null || this.aux == d.Aux).length > 0);\r\n }\r\n\r\n add(item: any){\r\n \r\n if (this.model == null)\r\n this.model = [];\r\n\r\n this.model.push({\r\n Id: item.Id,\r\n Nome: item.Nome,\r\n Aux: (this.aux == null ? item.Aux : this.aux),\r\n Descricao: item.Descricao == null ? item.Nome : item.Descricao,\r\n Selecionado: true\r\n });\r\n }\r\n\r\n selectAll(){\r\n\r\n let removeItems = new Array();\r\n\r\n if (this.aux != null) {\r\n for (var i = 0; i < this.model.length; i++){\r\n if (this.model[i].Aux == this.aux)\r\n removeItems.push(i);\r\n }\r\n }\r\n\r\n removeItems.forEach(index => {\r\n this.model.splice(index, 1);\r\n });\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-card',\r\n templateUrl: 'card.component.html',\r\n styleUrls: ['card.component.scss']\r\n})\r\n\r\nexport class InfoCardComponent {\r\n\r\n @Input() label: string;\r\n @Input() description: string;\r\n @Input() mark: string;\r\n @Input() url: string;\r\n @Input() icon: string;\r\n @Output() onclick = new EventEmitter();\r\n\r\n constructor(private _router: Router) { }\r\n\r\n onCardClick() {\r\n if (this.url == null || this.url == '')\r\n this.onclick.emit();\r\n \r\n else this._router.navigateByUrl(this.url);\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\n\r\n/**\r\n * O atributo `menu` recebe uma lista responsável pela criação do menu:\r\n * ```\r\n * [{ title: string, url: string, permission: boolean }]\r\n * ```\r\n */\r\n@Component({\r\n selector: 'info-card-menu',\r\n templateUrl: 'card-menu.component.html',\r\n styleUrls: ['card-menu.component.scss']\r\n})\r\nexport class InfoMenuCardComponent implements OnInit {\r\n \r\n @Input() label: string = null;\r\n @Input() description: string = null;\r\n @Input() icon: string = null;\r\n @Input() menu: any[] = [];\r\n @Input() cols: number = 0;\r\n @Input() loadinit: boolean = true;\r\n\r\n menuRows: any[] = [];\r\n col: number = 12;\r\n colClass: string = 'col-md-';\r\n\r\n ngOnInit(){\r\n if (this.loadinit)\r\n this.load();\r\n }\r\n\r\n load() {\r\n this.menuRows = new Array();\r\n\r\n this.menu = this.menu == null ? null : this.menu.filter(i => i.permission == true);\r\n\r\n if (this.menu == null || this.menu.length == 0 || this.cols == null || this.cols == 0){\r\n this.menuRows.push(this.menu);\r\n this.colClass += this.col.toString();\r\n return;\r\n }\r\n\r\n let numberItensRow = Math.ceil(this.menu.length / this.cols);\r\n \r\n for (var i = 0; i < this.cols; i++)\r\n this.menuRows.push(this.menu.slice(i * numberItensRow, (i * numberItensRow) + numberItensRow));\r\n\r\n this.col = 12 / this.cols;\r\n this.colClass += this.col.toString();\r\n }\r\n}","import { Component, OnInit, Input, forwardRef } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-checkbox',\r\n templateUrl: 'checkbox.component.html',\r\n styles: ['.info-checkbox-content { padding-top: 20px; } .info-checkbox-min { padding-top: 0 !important; margin: 0 0 13px !important; } '],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoCheckboxComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoCheckboxComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string = '';\r\n @Input() type: string = null;\r\n @Input() min: boolean = false;\r\n\r\n value: boolean = false;\r\n disabled: boolean = false;\r\n checkboxValue: { true: any, false: any } = { true: true, false: false };\r\n initialized: boolean = false;\r\n\r\n onChange: any;\r\n onTouched: any;\r\n\r\n @Input()\r\n get checked(){\r\n return this.value;\r\n }\r\n\r\n set checked(value) {\r\n\r\n if (this.initialized){\r\n this.value = value;\r\n this.onChangeValue();\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n if (this.type != null) {\r\n let customType = this.type.split(',');\r\n this.checkboxValue.true = isNaN(Number(customType[0])) ? customType[0] : Number(customType[0]);\r\n this.checkboxValue.false = isNaN(Number(customType[1])) ? customType[1] : Number(customType[1]);\r\n }\r\n\r\n this.value = true;\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n \r\n if (modelValue === undefined || modelValue == null)\r\n this.value = false;\r\n\r\n else this.value = modelValue === this.checkboxValue.true;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.initialized = true;\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onChangeValue() {\r\n let result = this.value ? this.checkboxValue.true : this.checkboxValue.false;\r\n\r\n if (this.onChange != null)\r\n this.onChange(result);\r\n }\r\n}","import { Component, forwardRef, Input, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport createAutoCorrectedDatePipe from \"text-mask-addons/dist/createAutoCorrectedDatePipe\";\r\n\r\nexport const PT_BR_DATE_FORMATS = {\r\n parse: {\r\n dateInput: 'DD/MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'DD/MM/YYYY',\r\n monthYearLabel: 'MMM Y',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM Y',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date',\r\n templateUrl: './date.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() minDate: Date = null;\r\n @Input() maxDate: Date = null;\r\n\r\n @Input() datefilter: any = null; //Metodo que recebe uma data(moment) e retorna boolean\r\n @Input() dateclass: any = null; //Metodo que recebe uma data(moment) e retorna string\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value != null) {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), value.getDate());\r\n }\r\n\r\n this.dateValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","import { Component, forwardRef, Input, OnInit, ViewChild } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { MAT_DATE_LOCALE, DateAdapter, MAT_DATE_FORMATS } from \"@angular/material/core\";\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from \"@angular/material-moment-adapter\";\r\nimport { MatDatepicker } from '@angular/material/datepicker';\r\nimport { createTextMaskInputElement } from \"text-mask-core/dist/textMaskCore\";\r\nimport createAutoCorrectedDatePipe from \"text-mask-addons/dist/createAutoCorrectedDatePipe\";\r\nimport { Moment } from \"moment\";\r\n\r\nexport const PT_BR_DATE_MONTH_FORMATS = {\r\n parse: {\r\n dateInput: 'MM/YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM/YYYY',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n },\r\n};\r\n\r\n@Component({\r\n selector: 'info-date-month',\r\n templateUrl: './date-month.component.html',\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoDateMonthComponent),\r\n multi: true\r\n },\r\n { provide: MAT_DATE_LOCALE, useValue: 'pt-BR' },\r\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\r\n { provide: MAT_DATE_FORMATS, useValue: PT_BR_DATE_MONTH_FORMATS },\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } }]\r\n})\r\nexport class InfoDateMonthComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() required: boolean = false;\r\n\r\n @ViewChild('inputDate', { static: false }) input;\r\n\r\n dateValue: any;\r\n dateMask: any;\r\n onChange;\r\n onTouched;\r\n\r\n ngAfterViewInit() {\r\n\r\n let config = {\r\n mask: [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/],\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: createAutoCorrectedDatePipe(PT_BR_DATE_MONTH_FORMATS.parse.dateInput.toLowerCase()),\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.dateMask = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.input.nativeElement }, config)\r\n );\r\n }\r\n\r\n onInputDate(value) {\r\n this.dateMask.update(value);\r\n }\r\n\r\n onChangeValue() {\r\n if (this.onChange != null)\r\n this.onChange(this.dateValue);\r\n }\r\n\r\n writeValue(value: any): void {\r\n if (value == null || value == undefined)\r\n this.dateValue = null;\r\n else {\r\n value = new Date(value);\r\n value.setMinutes(value.getMinutes() + value.getTimezoneOffset());\r\n value = new Date(value.getFullYear(), value.getMonth(), 1);\r\n this.dateValue = value;\r\n }\r\n \r\n this.onChangeValue();\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n chosenYearHandler(value: Moment) {\r\n let aux = new Date(value.year(), new Date(this.dateValue).getMonth(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n }\r\n\r\n chosenMonthHandler(value: Moment, datepicker: MatDatepicker<Moment>) {\r\n let aux = new Date(value.year(), value.month(), 1);\r\n this.dateValue = aux;\r\n this.onChangeValue();\r\n datepicker.close();\r\n }\r\n \r\n onKeyPress(e){\r\n if (e.keyCode == 13)\r\n this.onChangeValue();\r\n }\r\n}","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-paginator',\r\n templateUrl: 'paginator.component.html',\r\n styleUrls: ['paginator.component.scss']\r\n})\r\n\r\nexport class InfoPaginatorComponent {\r\n\r\n @Input() size = 5;\r\n @Input() min = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n show = false;\r\n indexActive = 0;\r\n total = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n\r\n this.pages = [];\r\n this.total = total;\r\n this.indexActive = this.index;\r\n this.numberPages = Math.ceil(this.total / this.size);\r\n \r\n if (this.total > this.size) {\r\n let i = (this.index > 2) ? (this.index - 2) : 0;\r\n let x = this.numberPages;\r\n\r\n if ((this.index + 2) < this.numberPages){\r\n \r\n let aux = 3;\r\n if (this.index < 2)\r\n aux = (5 - this.index);\r\n\r\n x = (this.index + aux);\r\n }\r\n else if ((this.index - 2) > 0)\r\n i = this.index - (5 - (this.numberPages - this.index));\r\n \r\n if (i < 0)\r\n i = 0;\r\n\r\n if (x > this.numberPages)\r\n x = this.numberPages;\r\n \r\n for (i; i < x; i++)\r\n this.pages.push(i);\r\n\r\n } else {\r\n this.pages.push(0);\r\n }\r\n \r\n this.setDescription();\r\n this.show = true;\r\n }\r\n\r\n goto(index: number) {\r\n \r\n if (this.index == index)\r\n return;\r\n\r\n this.index = index;\r\n this.change.emit(this.index);\r\n }\r\n\r\n next() {\r\n this.goto(this.index + 1);\r\n }\r\n\r\n previous() {\r\n this.goto(this.index - 1);\r\n }\r\n\r\n setDescription(){\r\n let currentInit = (this.size * this.index) + 1;\r\n let currentEnd = this.size * (this.index + 1);\r\n\r\n if (currentEnd > this.total)\r\n currentEnd = this.total;\r\n\r\n this.totalDescription = currentInit + ' - ' + currentEnd + ' de ' + this.total;\r\n }\r\n}","import { Component, OnInit, Inject, Injectable } from \"@angular/core\";\r\nimport { MatDialogRef, MAT_DIALOG_DATA, MatDialog } from \"@angular/material/dialog\";\r\nimport { InfoDialogModel } from \"../../model/dialog.model\";\r\nimport { InfoDialogResult } from \"../../model/dialog-result.model\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { Observable } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class InfoDialogModal {\r\n\r\n refProcessing: MatDialogRef<InfoDialogComponent>;\r\n\r\n constructor(public dialog: MatDialog) { }\r\n\r\n alert(message: string): Observable<InfoDialogResult> {\r\n\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.labelCancel = null;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n YesOrNo(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel();\r\n model.message = message;\r\n model.yesOrNo = true;\r\n model.colorOk = 'warn';\r\n model.processingMode = false;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Confirm(message: string): Observable<InfoDialogResult> {\r\n let model = new InfoDialogModel(); \r\n model.message = message;\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Custom(model: InfoDialogModel): Observable<InfoDialogResult> {\r\n model.processingMode = false;\r\n\r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: model.width + 'px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n\r\n Processing() {\r\n let model = new InfoDialogModel();\r\n model.message = '';\r\n model.yesOrNo = false;\r\n model.labelCancel = null;\r\n model.colorOk = 'warn';\r\n model.processingMode = true;\r\n \r\n let ref = this.dialog.open(InfoDialogComponent, {\r\n data: model,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n return ref.afterClosed();\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'info-dialog',\r\n templateUrl: './dialog.component.html'\r\n})\r\nexport class InfoDialogComponent implements OnInit {\r\n\r\n constructor(public ref: MatDialogRef<InfoDialogComponent>, @Inject(MAT_DIALOG_DATA) public model: InfoDialogModel) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.model.yesOrNo){\r\n this.model.labelOk = 'Sim';\r\n this.model.labelCancel = 'Nao';\r\n }\r\n }\r\n\r\n onclickCancel() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.No : InfoDialogButtons.Cancel));\r\n }\r\n\r\n onclickOk() {\r\n this.ref.close(new InfoDialogResult(this.model.yesOrNo ? InfoDialogButtons.Yes : InfoDialogButtons.Ok));\r\n }\r\n\r\n onclickAux() {\r\n this.ref.close(new InfoDialogResult(InfoDialogButtons.Aux));\r\n }\r\n}","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef } from \"@angular/core\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoFormPropModel } from \"../../model/form-prop.model\";\r\nimport { InfoPaginatorComponent } from \"../paginator/paginator.component\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { InfoAuthenticationService } from \"../../service/authentication.service\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\nimport { InfoModalAction } from \"../../enum/modal-action.enum\";\r\nimport { InfoPageAction } from \"../../enum/page-action.enum\";\r\nimport { InfoPagebarButtonModel } from \"../../model/pagebar-buttons.model\";\r\nimport { InfoGridButtonModel } from \"../../model/grid-button.model\";\r\nimport { InfoLastSearchModel } from \"../../model/last-search.model\";\r\nimport { InfoMethodGridButtonModel } from \"../../model/method-grid-button.model\";\r\nimport { NgModel, NgForm } from '@angular/forms';\r\nimport { QueryList } from '@angular/core';\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\n\r\n@Component({\r\n selector: 'info-grid',\r\n templateUrl: 'grid.component.html',\r\n styleUrls: ['grid.component.scss'],\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridComponent implements OnInit, AfterViewInit {\r\n\r\n @Input() pagetitle = '';\r\n @Input() prefixtitle = '';\r\n @Input() description = '';\r\n @Input() pagebarbuttons: InfoPagebarButtonModel[] = [];\r\n @Input() fullarea = false;\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() form: any = null;\r\n @Input() width: number = 800;\r\n @Input() parent: any = null;\r\n @Input() apidownload: any = null;\r\n @Input() methoddownload: string = null;\r\n\r\n @Input() backurl = '';\r\n @Input() newurl = '';\r\n @Input() newlabel = 'Novo';\r\n @Input() editurl = '';\r\n @Input() viewurl = '';\r\n @Input() templateurl = '';\r\n\r\n @Input() paged = false;\r\n @Input() size = 15;\r\n @Input() autorefresh = 0;\r\n\r\n @Input() enablednew = true;\r\n @Input() enablededit = true;\r\n @Input() enableddelete = true;\r\n @Input() enabledview = true;\r\n @Input() enabledcancelsearch = true;\r\n @Input() enableddetail = false;\r\n @Input() enabledclassicons = true;\r\n @Input() enabledclickaccess = false;\r\n @Input() enabledclickevent = false;\r\n\r\n @Input() searchopened = false;\r\n @Input() searchonlyonebutton = false;\r\n @Input() disablesearchlast = false;\r\n @Input() statictitle = false;\r\n @Input() disabledcol = '';\r\n @Input() accessicon = 'arrow_forward';\r\n\r\n @Input() loadoninit = true;\r\n @Input() data: any[];\r\n @Input() searchmodel: any = null;\r\n\r\n @Output() onbeforesearch = new EventEmitter();\r\n @Output() onloadcomplete = new EventEmitter();\r\n @Output() onclosemodal = new EventEmitter();\r\n @Output() onnew = new EventEmitter();\r\n @Output() onedit = new EventEmitter();\r\n @Output() onview = new EventEmitter();\r\n @Output() ondelete = new EventEmitter();\r\n @Output() customdelete = new EventEmitter();\r\n\r\n @Input() dynamiccols: string = null;\r\n @Input() buttons: InfoGridButtonModel[] = [];\r\n @Input() searchbuttons: InfoMethodGridButtonModel[] = [];\r\n\r\n @Input() showmessageerror = false;\r\n \r\n @ContentChildren(NgModel) formModel: QueryList<NgModel>;\r\n @ViewChild(NgForm, { static: false }) formSearch: NgForm;\r\n \r\n messages: String[] = [];\r\n resultTitle = '';\r\n enabledSearch = false;\r\n searchModelReset: any = null;\r\n\r\n showPagebar = false;\r\n hasPermissionNew = false;\r\n hasPermissionEdit = false;\r\n hasPermissionDelete = false;\r\n\r\n tableHeight = 0;\r\n loading = false;\r\n pagebarTitle = '';\r\n icons: any[] = [];\r\n colunasItens = [];\r\n colunasHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n\r\n @ViewChild('paginator', { static: false }) paginator: InfoPaginatorComponent;\r\n @Output() parentIdUrlChange = new EventEmitter();\r\n\r\n parentIdUrlValue: number = null;\r\n @Input()\r\n get parentIdUrl() {\r\n return this.parentIdUrlValue;\r\n }\r\n\r\n set parentIdUrl(value) {\r\n this.parentIdUrlValue = value;\r\n this.parentIdUrlChange.emit(this.parentIdUrlValue);\r\n }\r\n\r\n _cols: string = '';\r\n @Input()\r\n get cols() {\r\n return this._cols;\r\n }\r\n\r\n set cols(value) {\r\n this._cols = value;\r\n this.setColumns();\r\n }\r\n\r\n constructor(private _dialog: InfoDialogModal, \r\n public _platform: InfoPlatformModel,\r\n public modal: MatDialog, \r\n private _prop: InfoFormPropModel, \r\n private _dataAccessService: InfoDataService, \r\n private _router: Router,\r\n private _activatedRoute: ActivatedRoute,\r\n private _authenticationService: InfoAuthenticationService, \r\n private _changeDetectorRef: ChangeDetectorRef, \r\n private _translate: InfoTranslateService, \r\n private _lastSearch: InfoLastSearchModel,\r\n private _renderer: Renderer2, \r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this.url = (this._activatedRoute.snapshot.data['URL'] || this._router.url).toLowerCase();\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.setPagebarTitle();\r\n\r\n if (this.searchmodel != null) {\r\n if (this.method == null)\r\n this.method = 'Search';\r\n\r\n this.searchModelReset = Object.assign({}, this.searchmodel);\r\n }\r\n\r\n else if (this.parent != null && (this.method == null || this.method == ''))\r\n this.method = 'GetByParentId';\r\n\r\n if (!this.disablesearchlast && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url)) {\r\n this.enabledSearch = this._lastSearch.enabledSearch;\r\n \r\n if (this.searchmodel != null && this._lastSearch.model != null)\r\n Object.assign(this.searchmodel, this._lastSearch.model);\r\n }\r\n\r\n if (this.searchopened)\r\n this.enabledSearch = true;\r\n\r\n if (this.autorefresh > 0)\r\n this.currentUrl = location.href;\r\n\r\n this._prop.api = this.api;\r\n this._prop.modalComponent = this.form;\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.showPagebar = this.pagetitle != '' || this.prefixtitle != '';\r\n \r\n if (!this.fullarea && this._platform.Config.ux <= 2)\r\n this.fullarea = this.showPagebar;\r\n\r\n if (this.searchmodel && this.formModel.length > 0 && this.formSearch)\r\n this.formModel.toArray().forEach(model => this.formSearch.addControl(model));\r\n\r\n if (!this.disablesearchlast && this.paged && this._authenticationService.getUrlGenerica(this._lastSearch.url) == this._authenticationService.getUrlGenerica(this.url))\r\n this.paginator.index = this._lastSearch.index;\r\n\r\n if (this.dynamiccols == null) {\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n }\r\n\r\n else this._dataAccessService\r\n .get(this.api, this.dynamiccols)\r\n .subscribe(r => {\r\n this.cols = r.data;\r\n this.setColumns();\r\n this.getPermission();\r\n\r\n if (this.loadoninit)\r\n this.getData();\r\n\r\n else this.hideLoad();\r\n });\r\n\r\n if (this.enabledclickevent)\r\n this.enabledclickaccess = true;\r\n }\r\n\r\n setColumns() {\r\n\r\n if (this.cols == '')\r\n alert('Nenhuma coluna informada');\r\n\r\n if (this.cols != '') {\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let column: string = registro;\r\n let header: string = registro;\r\n let type: string = '';\r\n let width: string = '';\r\n\r\n if (header.indexOf(':') > -1) {\r\n let dados = registro.split(':');\r\n column = dados[0];\r\n header = dados[1];\r\n }\r\n\r\n if (header.indexOf('=') > -1) {\r\n let parts = header.split('=');\r\n\r\n if (column == header)\r\n column = parts[0];\r\n\r\n header = parts[0];\r\n type = parts[1];\r\n }\r\n\r\n let aux = type == '' ? header : type;\r\n if (aux.indexOf('*') > -1) {\r\n let headerInfo = aux.split('*');\r\n\r\n if (type == '') {\r\n if (column == header)\r\n column = headerInfo[0];\r\n\r\n header = headerInfo[0];\r\n\r\n } else type = headerInfo[0];\r\n\r\n width = headerInfo[1];\r\n\r\n if (width.indexOf('%') < 0 && width.indexOf('px') < 0)\r\n width += 'px';\r\n }\r\n\r\n this.colunasItens.push(column);\r\n this.colunasHeaders.push(header);\r\n this.colunasType.push(type == '' ? 'label' : type);\r\n this.colunasWidth.push(width);\r\n });\r\n }\r\n }\r\n\r\n setPagebarTitle() {\r\n let aux = '';\r\n\r\n if (this.prefixtitle != '')\r\n aux = this._translate.translate(this.prefixtitle);\r\n\r\n if (this.resultTitle != '')\r\n aux += (this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.resultTitle);\r\n\r\n if (this.pagetitle != '')\r\n aux += (this.resultTitle != '' || this.prefixtitle != '' ? ' / ' : '') + this._translate.translate(this.pagetitle);\r\n\r\n this.pagebarTitle = aux;\r\n }\r\n\r\n navigateTo(url: string, passId: boolean, id?: string) {\r\n\r\n if (passId) {\r\n if (url.indexOf(\":id\") > -1)\r\n this._router.navigateByUrl(url.replace(':id', id));\r\n else this._router.navigate([url, id]);\r\n }\r\n\r\n else this._router.navigateByUrl(url);\r\n }\r\n\r\n openCustomModal(modalComponent: any, width: Number, model: any = null) {\r\n\r\n this._prop.set(InfoPageAction.None, model);\r\n this.openModal(modalComponent, width);\r\n }\r\n\r\n getData() {\r\n this.messages = [];\r\n\r\n if (this.api == null || this.api == '') {\r\n this.hideLoad();\r\n return;\r\n \r\n } else if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else if (this.paged)\r\n this.getPaged();\r\n\r\n else if (this.parent == null)\r\n this.getAll();\r\n\r\n else this.getByParentId();\r\n }\r\n\r\n getAll(): any {\r\n\r\n if (this.searchmodel == null)\r\n this._dataAccessService\r\n .get(this.api, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n\r\n else this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r));\r\n }\r\n\r\n getPaged(): any {\r\n\r\n let params = this.parent == null ? \"\" : \"id=\" + this.parent + \"&\";\r\n params += 'index=' + this.paginator.index + '&size=' + this.size;\r\n\r\n this._dataAccessService\r\n .get(this.api, this.method, params)\r\n .subscribe(r => this.getDataReturn(r, true));\r\n }\r\n\r\n getSearch(): any {\r\n this.onbeforesearch.emit();\r\n\r\n if (this.paged) {\r\n this.searchmodel.Index = this.paginator.index;\r\n this.searchmodel.Size = this.size;\r\n }\r\n\r\n this._dataAccessService\r\n .post(this.api, this.searchmodel, this.method)\r\n .subscribe(r => this.getDataReturn(r, this.paged));\r\n }\r\n\r\n getByParentId(): any {\r\n this._dataAccessService\r\n .get(this.api, this.method, 'id=' + this.parent)\r\n .subscribe(r => this.getDataReturn(r, false));\r\n }\r\n\r\n getDataReturn(result: any, refreshPaginator: boolean = false) {\r\n \r\n if (!this.disablesearchlast) {\r\n this._lastSearch.url = this._authenticationService.getUrlGenerica(this.url);\r\n this._lastSearch.enabledSearch = this.enabledSearch;\r\n this._lastSearch.model = Object.assign({}, this.searchmodel);\r\n\r\n if (this.paged)\r\n this._lastSearch.index = this.paginator.index;\r\n }\r\n\r\n if (result.success) {\r\n this.data = result.data;\r\n\r\n if (!this.statictitle && result.name != null)\r\n this.resultTitle = this._translate.translate(result.name);\r\n\r\n if (result.description != null)\r\n this.description = result.description;\r\n\r\n if (result.parentId != null)\r\n this.parentIdUrl = result.parentId;\r\n\r\n if (refreshPaginator)\r\n this.paginator.refresh(result.total);\r\n\r\n if (this.autorefresh > 0 && this.currentUrl == location.href)\r\n setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n\r\n this.fillIcons();\r\n\r\n } else {\r\n this.data = [];\r\n if(this.showmessageerror) this.messages = result.messages;\r\n } \r\n\r\n this.hideLoad();\r\n this.onloadcomplete.emit();\r\n }\r\n\r\n changePage(index: number) {\r\n this.loading = true;\r\n this.paginator.index = index;\r\n\r\n if (this.searchmodel != null)\r\n this.getSearch();\r\n\r\n else this.getPaged();\r\n }\r\n\r\n cancelSearch() {\r\n Object.assign(this.searchmodel, this.searchModelReset);\r\n\r\n if (!this.searchopened)\r\n this.enabledSearch = false;\r\n\r\n this.search();\r\n }\r\n\r\n search() {\r\n this.loading = true;\r\n \r\n if (this.paged)\r\n this.paginator.index = 0;\r\n\r\n this.getData();\r\n }\r\n\r\n add() {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.New, null);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.newurl == null || this.newurl == '')\r\n this.newurl = this.url;\r\n\r\n this.newurl += '/novo';\r\n this.newurl = this.newurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.newurl);\r\n }\r\n\r\n this.onnew.emit();\r\n }\r\n\r\n detail(model: any): void {\r\n this._prop.set(InfoPageAction.Search, model);\r\n this.openModal();\r\n }\r\n\r\n access(model: any): void {\r\n if (this.enabledclickaccess){\r\n if (this.enabledclickevent)\r\n this.onview.emit(model);\r\n \r\n else this.edit(model);\r\n }\r\n }\r\n\r\n view(model: any): void {\r\n\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n\r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n\r\n this.onview.emit(model);\r\n }\r\n\r\n edit(model: any): void {\r\n if (this.hasPermissionEdit) {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.Edit, model);\r\n this.openModal();\r\n\r\n } else {\r\n if (this.editurl == null || this.editurl == '')\r\n this.editurl = this.url;\r\n\r\n this.editurl = this.editurl.replace('//', '/');\r\n\r\n this._router.navigate([this.editurl, model.Id]);\r\n }\r\n\r\n this.onedit.emit(model);\r\n } else {\r\n if (this.form != null) {\r\n this._prop.set(InfoPageAction.View, model);\r\n this.openModal();\r\n \r\n } else {\r\n if (this.viewurl == null || this.viewurl == '')\r\n this.viewurl = this.url;\r\n \r\n this.viewurl += '/' + model.Id + (this.enabledclickaccess ? '' : '/visualizar');\r\n this.viewurl = this.viewurl.replace('//', '/');\r\n \r\n this._router.navigateByUrl(this.viewurl);\r\n }\r\n \r\n this.onview.emit(model);\r\n }\r\n }\r\n\r\n delete(model: any) {\r\n if(this.customdelete.observers.length > 0) {\r\n this.customdelete.emit(model);\r\n return;\r\n }\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n\r\n this._dataAccessService.delete(this.api, model.Id).subscribe(d => {\r\n this.ondelete.emit(d);\r\n\r\n if (d.success)\r\n this.getData();\r\n else {\r\n this.hideLoad();\r\n if (this.showmessageerror) this.messages = d.messages;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n fillIcons() {\r\n this.icons = [];\r\n\r\n if (this.data == null)\r\n return;\r\n\r\n this.data.forEach(ret => {\r\n\r\n let item = ret['Icon'];\r\n if (item == null)\r\n return;\r\n\r\n if (item.indexOf('|') > -1) {\r\n let retorno = item\r\n .split('|')\r\n .map(icone => {\r\n\r\n if (icone.indexOf(':') > -1) {\r\n let dados = icone.split(':');\r\n return { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else return { Name: item, Icon: icone, Tooltip: '', Principal: true };\r\n\r\n }).filter(a => a.Icon != null && a.Icon != '');\r\n\r\n let index = 0;\r\n retorno.forEach(element => {\r\n if (this.icons.find(a => a.Name == element.Name && a.Icon == element.Icon) == null){\r\n element.Principal = index == 0;\r\n this.icons.push(element);\r\n }\r\n\r\n index++;\r\n });\r\n } else {\r\n let element: any = [];\r\n\r\n if (item.indexOf(':') > -1) {\r\n let dados = item.split(':');\r\n element = { Name: item, Icon: dados[0], Tooltip: dados[1], Principal: true };\r\n\r\n } else element = { Name: item, Icon: item, Tooltip: \"\", Principal: true };\r\n\r\n if (this.icons.find(a => a.Name == element.Name) == null)\r\n this.icons.push(element);\r\n }\r\n });\r\n }\r\n\r\n info(value) {\r\n this._dialog.alert(value);\r\n }\r\n\r\n back() {\r\n this.navigateTo(this.backurl + (this.parentIdUrl == null ? \"\" : \"/\" + this.parentIdUrl), false);\r\n }\r\n\r\n openModal(modalComponent: any = this.form, width: Number = this.width) {\r\n\r\n let ref = this.modal.open(modalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: width + 'px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n if (r == null)\r\n return;\r\n\r\n if (r.modalAction == InfoModalAction.Save)\r\n this.getData();\r\n\r\n this.onclosemodal.emit(r);\r\n });\r\n\r\n ref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n }\r\n\r\n hideLoad() {\r\n this.setPagebarTitle();\r\n this.loading = false;\r\n }\r\n\r\n getPermission() {\r\n this.hasPermissionNew = this._authenticationService.hasPermission(this.url, 'new');\r\n this.hasPermissionEdit = this._authenticationService.hasPermission(this.url, 'edit');\r\n this.hasPermissionDelete = this._authenticationService.hasPermission(this.url, 'remove');\r\n this._changeDetectorRef.detectChanges();\r\n }\r\n\r\n download(arquivoId: any) {\r\n if (this.apidownload == null)\r\n alert('API Download está null');\r\n\r\n this._dataAccessService.get(this.apidownload, (this.methoddownload != null ? this.methoddownload : 'Get'), \"id=\" + arquivoId).subscribe(r => {\r\n this.messages = r.messages;\r\n\r\n if (r.success && r.data != null) {\r\n var binaryString = window.atob(r.data.Conteudo);\r\n var binaryLen = binaryString.length;\r\n var bytes = new Uint8Array(binaryLen);\r\n for (var i = 0; i < binaryLen; i++) {\r\n var ascii = binaryString.charCodeAt(i);\r\n bytes[i] = ascii;\r\n }\r\n\r\n var blob = new Blob([bytes]);\r\n if (window.navigator && window.navigator.msSaveOrOpenBlob) {\r\n window.navigator.msSaveOrOpenBlob(blob, r.data.Nome);\r\n } else {\r\n let fileURL = URL.createObjectURL(blob);\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = r.data.Nome;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n this.loading = false;\r\n });\r\n }\r\n\r\n eventButton(model: any, api: any, method: string, confirm: boolean = true) {\r\n if (confirm) {\r\n this._dialog\r\n .YesOrNo('MensagemConfirmar')\r\n .subscribe(ret => {\r\n if (ret.button == InfoDialogButtons.Yes) {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n } else {\r\n this.loading = true;\r\n this._dataAccessService.post(api, model, method).subscribe(r => {\r\n if (r.success)\r\n this.getData();\r\n else if(this.showmessageerror)\r\n this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n }\r\n}","import { Component, forwardRef, Input, OnInit, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-input',\r\n styleUrls: [ 'input.component.scss' ],\r\n templateUrl: 'input.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoInputComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoInputComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n @Input() required: boolean = false;\r\n @Input() maxlength: any;\r\n @Input() type: string = 'text';\r\n @Input() rows: number = 1;\r\n @Input() tabindex: number = 0;\r\n @Input() iconPrefix: string = '';\r\n @Input() iconSuffix: string = '';\r\n @Input() min: number = null;\r\n @Input() max: number = null;\r\n @Input() step: number = null;\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n maskOptions: any = {\r\n align: 'right',\r\n allowNegative: true,\r\n decimal: ',',\r\n precision: 2,\r\n prefix: '',\r\n suffix: '',\r\n thousands: '.'\r\n };\r\n \r\n value: string = '';\r\n customMask: string = null;\r\n onChange: any;\r\n onTouched: any;\r\n passwordMode: boolean = false;\r\n\r\n ngOnInit() { \r\n this.passwordMode = this.type.toLocaleLowerCase() == 'password';\r\n }\r\n\r\n private methodIsmask: string = null;\r\n @Input()\r\n get ismask(){\r\n return this.methodIsmask;\r\n }\r\n\r\n set ismask(value){\r\n this.methodIsmask = value;\r\n\r\n if (this.methodIsmask != null) {\r\n this.methodIsmask = this.methodIsmask.toLowerCase();\r\n \r\n if (this.methodIsmask == 'int')\r\n this.maskOptions.precision = 0;\r\n\r\n else if (this.methodIsmask[0] == 'n' && (this.methodIsmask.length == 2 || this.methodIsmask.length == 3))\r\n this.maskOptions.precision = parseInt(this.methodIsmask.replace('n', ''));\r\n\r\n else this.customMask = this.methodIsmask;\r\n }\r\n }\r\n\r\n onBlur() {\r\n if (this.onblur != null){\r\n if(this.type == 'number'){\r\n if(this.min != null)\r\n this.value = this.min > Number(this.value) ? null: this.value;\r\n if(this.max != null)\r\n this.value = this.max < Number(this.value) ? null: this.value;\r\n this.onChangeValue();\r\n }\r\n this.onblur.emit(this.value);\r\n }\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = modelValue;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","import { Component, Input, OnChanges } from \"@angular/core\";\r\nimport { InfoDialogModal } from \"../../layouts/dialog/dialog.component\";\r\nimport { InfoDialogButtons } from \"../../enum/dialog-buttons.enum\";\r\n\r\n@Component({\r\n selector: 'info-input-list',\r\n templateUrl: 'input-list.component.html',\r\n styleUrls: ['input-list.component.scss']\r\n})\r\nexport class InfoInputListComponent implements OnChanges {\r\n \r\n @Input() model: any = []\r\n @Input() readonly: boolean = false\r\n @Input() percent: boolean = false\r\n @Input() hiddenDe: boolean = false\r\n @Input() disabled: boolean = false\r\n\r\n messages: string[] = [];\r\n novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n constructor(private _dialog: InfoDialogModal) { }\r\n\r\n ngOnChanges() {\r\n if (this.model == null)\r\n this.model = [];\r\n\r\n for (var i = 0; i < this.model.length; i++)\r\n this.model[i].Excluir = false;\r\n }\r\n\r\n getModel(): any[]{\r\n if (!this.model || this.model == null)\r\n return [];\r\n\r\n return this.model.filter(m => !m.Excluir);\r\n }\r\n\r\n add() {\r\n this.messages = [];\r\n\r\n if (this.hiddenDe && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDe');\r\n\r\n if (!this.hiddenDe && this.novoValor.De == null && this.novoValor.Ate == null)\r\n this.messages.push('InformeUmValorDeOuAte');\r\n\r\n if (!this.hiddenDe && this.novoValor.Ate < this.novoValor.De)\r\n this.messages.push('ValorAteMenorQueDe');\r\n\r\n if (this.novoValor.Valor == null)\r\n this.messages.push('InformeValor');\r\n\r\n if (this.messages.length > 0){\r\n\r\n \r\n\r\n return;\r\n }\r\n\r\n this.model.push({ De: this.novoValor.De, Ate: this.novoValor.Ate, Valor: this.novoValor.Valor, Excluir: false });\r\n this.novoValor = { De: null, Ate: null, Valor: null, Excluir: false };\r\n\r\n this.ordernar();\r\n }\r\n\r\n remover(item: any){\r\n\r\n this._dialog.YesOrNo('MensagemExcluir').subscribe(r => {\r\n if (r.button == InfoDialogButtons.No)\r\n return;\r\n\r\n item.Excluir = true;\r\n this.model.splice(this.model.findIndex(m => m == item), 1);\r\n this.ordernar();\r\n });\r\n }\r\n\r\n ordernar(){\r\n\r\n this.model = this.model.sort((a, b) => { \r\n if (this.hiddenDe ? (a.Ate < b.Ate) : (a.De < b.De))\r\n return -1;\r\n\r\n else if (this.hiddenDe ? (a.Ate > b.Ate) : (a.De > b.De))\r\n return 1;\r\n\r\n else return 0;\r\n });\r\n }\r\n}","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { InfoTranslateService } from \"../../service/translate.service\";\r\n\r\n@Component({\r\n selector: 'info-list-checkbox',\r\n templateUrl: 'list-checkbox.component.html',\r\n styles: ['ul.checkbox-list { height: 270px; overflow-y: auto }']\r\n})\r\nexport class InfoListCheckboxComponent implements OnInit {\r\n\r\n @Input() filterlabel: string = 'Filtrar';\r\n @Input() filterdescription: string;\r\n\r\n @Input() selectedlabel: string = 'Filtrar';\r\n @Input() selecteddescription: string;\r\n\r\n @Input() model: any[] = [];\r\n @Input() max: number = 0;\r\n @Input() onelist: boolean = false;\r\n\r\n private disabledValue: any;\r\n @Input()\r\n get disabled() {\r\n return this.disabledValue;\r\n }\r\n\r\n set disabled(value) {\r\n this.disabledValue = value;\r\n }\r\n\r\n filterList: string = '';\r\n filterSelected: string = ''; \r\n message: string = \"\";\r\n\r\n constructor(private _translate: InfoTranslateService) { }\r\n\r\n ngOnInit() {\r\n if (this.max != null && this.max > 0)\r\n this.message = this._translate.translate('MensagemTopRegistro').replace('{0}', this.max.toString());\r\n }\r\n \r\n getModel(valor: string, selecionados: boolean = false): any[] {\r\n if (this.max == null || this.max == 0)\r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1);\r\n else \r\n return this.model.filter(r => (selecionados ? r.Selecionado : r.Selecionado == r.Selecionado) && r.Descricao.toLowerCase().indexOf(valor.toLowerCase()) > -1).slice(0, this.max);\r\n }\r\n\r\n marcarFiltrados(valor: string, marcar: boolean, selecionados: boolean = false) {\r\n let ids: any[] = this.getModel(valor, selecionados).map(r => r.Id);\r\n\r\n this.model.forEach((item, index) => {\r\n if (ids.indexOf(item.Id) > -1)\r\n item.Selecionado = marcar; \r\n });\r\n }\r\n\r\n marcarTodos(marcar: boolean) {\r\n this.model.forEach(item => item.Selecionado = marcar);\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-message',\r\n templateUrl: 'message.component.html',\r\n styleUrls: ['message.component.scss']\r\n})\r\n\r\nexport class InfoMessageComponent {\r\n\r\n @Input() color: string = 'info';\r\n @Input() outline: boolean = true;\r\n @Input() close: boolean = false;\r\n @Input() min: boolean = false;\r\n\r\n delete(event: any, message: any) {\r\n event.preventDefault();\r\n message.remove();\r\n }\r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-select',\r\n templateUrl: 'select.component.html',\r\n styleUrls: ['select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() blank = false;\r\n @Input() blankItem: any = null;\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => d.Id == this.selectedValue))\r\n this.writeValue(this.data[0].Id);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.blank = (this.required !== '' && this.required !== 'true' && this.required !== true);\r\n\r\n if (this.blankItem == null)\r\n this.blankItem = { Id: null, Nome: '' };\r\n \r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValue = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValue);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.find(r => r.Id == this.selectedValue));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { Component, OnInit, Input, HostBinding } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'info-timeline',\r\n templateUrl: './timeline.component.html',\r\n styleUrls: ['./timeline.component.scss'],\r\n host: {\r\n '[class.timeline]': 'true',\r\n '[class.show-date]': 'true'\r\n }\r\n})\r\nexport class InfoTimelineComponent implements OnInit {\r\n @Input() showdate: boolean = true;\r\n @Input() align: string = 'between';\r\n @Input() style: any = '';\r\n @Input() label: string = '';\r\n @Input() data: any[] = [];\r\n\r\n @HostBinding('class.align-left') alignLeft: boolean = false;\r\n @HostBinding('class.align-center') alignCenter: boolean = false;\r\n @HostBinding('class.align-right') alignRight: boolean = false;\r\n @HostBinding('class.align-between') alignBetween: boolean = false;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n this.alignLeft = (this.align === 'left');\r\n this.alignCenter = (this.align === 'center');\r\n this.alignRight = (this.align === 'right');\r\n this.alignBetween = (this.align === 'between');\r\n }\r\n}","import { Component, forwardRef, Input, SecurityContext, ViewChild } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { AngularEditorComponent, AngularEditorConfig, AngularEditorService } from '@kolkov/angular-editor';\r\n \r\n@Component({\r\n selector: 'info-editor',\r\n templateUrl: './editor.component.html',\r\n styleUrls: ['./editor.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoEditorComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoEditorComponent implements ControlValueAccessor {\r\n\r\n @ViewChild('editor') editor: AngularEditorComponent;\r\n\r\n @Input() required: boolean = false;\r\n\r\n @Input()\r\n get disabled() { return !(this.editorConfig || {}).editable; }\r\n set disabled(value) { this.editorConfig.editable = !value; }\r\n\r\n @Input()\r\n get height() { return (this.editorConfig || {}).height; }\r\n set height(value) { this.editorConfig.height = value || 'auto'; }\r\n\r\n @Input()\r\n get minheight() { return (this.editorConfig || {}).minHeight; }\r\n set minheight(value) { this.editorConfig.minHeight = value || '0'; }\r\n\r\n @Input()\r\n get maxheight() { return (this.editorConfig || {}).maxHeight; }\r\n set maxheight(value) { this.editorConfig.maxHeight = value || 'auto'; }\r\n\r\n @Input()\r\n get width() { return (this.editorConfig || {}).width; }\r\n set width(value) { this.editorConfig.width = value || 'auto'; }\r\n\r\n @Input()\r\n get minwidth() { return (this.editorConfig || {}).minWidth; }\r\n set minwidth(value) { this.editorConfig.minWidth = value || '0'; }\r\n\r\n value: any = '';\r\n \r\n onChange: any;\r\n onTouched: any;\r\n focused = false;\r\n id = null;\r\n\r\n editorConfig: AngularEditorConfig = {\r\n editable: true,\r\n spellcheck: true,\r\n height: 'auto',\r\n minHeight: '0',\r\n maxHeight: 'auto',\r\n width: 'auto',\r\n minWidth: '0',\r\n translate: 'yes',\r\n enableToolbar: true,\r\n showToolbar: true,\r\n defaultParagraphSeparator: '',\r\n toolbarPosition: 'top',\r\n fonts: [\r\n {class: 'arial', name: 'Arial'},\r\n {class: 'times-new-roman', name: 'Times New Roman'},\r\n {class: 'calibri', name: 'Calibri'},\r\n {class: 'comic-sans-ms', name: 'Comic Sans MS'}\r\n ],\r\n };\r\n\r\n constructor(private _sanitizer: DomSanitizer) {}\r\n\r\n ngOnInit() {\r\n this.id = `editor-${this.getGuid()}`;\r\n }\r\n\r\n ngAfterViewInit() {\r\n var _this = this;\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('focus', () => _this.focused = true);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('blur', () => _this.focused = false);\r\n document.querySelector(`#${this.id} .angular-editor-textarea`).addEventListener('mouseout', () => _this.editor.editorToolbar['editorService'].saveSelection());\r\n }\r\n\r\n private getGuid() : string {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {\r\n const r = Math.random() * 16 | 0, v = c === 'x' ? r : ( r & 0x3 | 0x8 );\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n onChangeValue() {\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, this.value);\r\n if (this.onChange != null)\r\n this.onChange(this.value);\r\n }\r\n\r\n writeValue(modelValue: any): void {\r\n this.value = this._sanitizer.sanitize(SecurityContext.HTML, modelValue);\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n \r\n}","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\n\r\n@Component({\r\n selector: 'info-multi-select',\r\n templateUrl: 'multi-select.component.html',\r\n styleUrls: ['multi-select.component.scss'],\r\n providers: [{\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMultiSelectComponent),\r\n multi: true\r\n }]\r\n})\r\nexport class InfoMultiSelectComponent implements OnInit, ControlValueAccessor {\r\n\r\n @Input() placeholder = '';\r\n @Input() name = '';\r\n @Input() required: any = false;\r\n @Input() selectfirst = false;\r\n @Input() disablednoregisters = false;\r\n @Input() api: any = null;\r\n @Input() method = 'getchavevalor';\r\n @Input() loading = false;\r\n @Input() disabled = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValues: any[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n private initialized = false;\r\n \r\n _params: string = null;\r\n @Input()\r\n get params(){\r\n return this._params;\r\n }\r\n\r\n set params(value){\r\n this._params = value;\r\n\r\n if (this.initialized)\r\n this.getData();\r\n }\r\n \r\n _data: any = [];\r\n @Input()\r\n get data(){\r\n return this._data;\r\n }\r\n\r\n set data(value){\r\n this._data = value;\r\n \r\n if (this.selectfirst && this.data != null && this.data.length > 0 && !this.data.some(d => this.selectedValues?.indexOf(d.Id) > -1))\r\n this.writeValue([this.data[0].Id]);\r\n \r\n if (this.disablednoregisters)\r\n this.setDisabledState((this.data == null || this.data.length == 0));\r\n }\r\n\r\n constructor(private _dataAcessService: InfoDataService) { }\r\n\r\n ngOnInit() {\r\n this.name += this.placeholder.replace(/ /g, '');\r\n this.getData();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.selectedValues = value;\r\n this.onChangeValue();\r\n }\r\n\r\n getData() {\r\n this.initialized = true;\r\n \r\n if (this.api == null || (this.params != null && this.params.toLowerCase().indexOf('undefined') > -1))\r\n return;\r\n\r\n this.loading = true;\r\n this.data = [];\r\n \r\n this._dataAcessService.get(this.api, this.method, this.params).subscribe(r => {\r\n if (r.success)\r\n this.data = r.data;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.selectedValues);\r\n\r\n if (this.onselecteditem != null)\r\n this.onselecteditem.emit(this.data == null ? null : this.data.filter(r => this.selectedValues?.indexOf(r.Id) > -1));\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = this.disablednoregisters && (this.data == null || this.data.length == 0) ? true : isDisabled;\r\n }\r\n}","import { ENTER } from '@angular/cdk/keycodes';\r\nimport { Component, forwardRef, Input, Output, EventEmitter } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'info-chips',\r\n templateUrl: 'chips.component.html',\r\n providers:[\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoChipsComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoChipsComponent implements ControlValueAccessor {\r\n\r\n @Input() placeholder: string;\r\n @Input() disabled: boolean = false;\r\n @Input() readonly: boolean = false;\r\n readonly separatorKeysCodes: number[] = [ENTER];\r\n\r\n @Output() onblur = new EventEmitter();\r\n \r\n values: string[] = [];\r\n onChange: any;\r\n onTouched: any;\r\n\r\n add(event): void {\r\n const input = event.input;\r\n const value = event.value;\r\n\r\n if ((value || '').trim()) this.values.push(value.trim());\r\n if (input) input.value = '';\r\n \r\n this.writeValue(this.values);\r\n }\r\n \r\n remove(index): void {\r\n if (index >= 0) this.values.splice(index, 1);\r\n this.writeValue(this.values);\r\n }\r\n \r\n\r\n onBlur() {\r\n this.onblur.emit(this.values);\r\n }\r\n\r\n onChangeValue(){\r\n if (this.onChange != null)\r\n this.onChange(this.values);\r\n }\r\n\r\n writeValue(modelValues: any): void {\r\n this.values = modelValues;\r\n this.onChangeValue();\r\n }\r\n \r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n \r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n}","import { Component, OnInit, Input, Output, EventEmitter, Renderer2, ElementRef } from '@angular/core';\r\nimport { InfoDialogModal } from '../dialog/dialog.component';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InfoDialogButtons } from '../../enum';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoNotificationModel } from '../../model/notification.model';\r\nimport { InfoSessionModel } from '../../model/session.model'; \r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\n\r\n@Component({\r\n selector: 'info-topbar',\r\n templateUrl: './topbar.component.html',\r\n styleUrls: ['./topbar.component.scss']\r\n})\r\nexport class InfoTopbarComponent implements OnInit {\r\n @Input() opened: boolean = false;\r\n @Input() languages: any = [];\r\n @Input() themes: any = [];\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n @Input() profileurl: string = '';\r\n @Input() setthemeonchangecompany: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n modalRef: any = null;\r\n loading: boolean = false;\r\n prodution: boolean = false;\r\n notifications: InfoNotificationModel = new InfoNotificationModel();\r\n\r\n topMenu: any = {\r\n empresa: false,\r\n tema: false,\r\n idioma: false,\r\n notificacao: false,\r\n calendario: false\r\n };\r\n\r\n constructor(private _translateService: InfoTranslateService, \r\n public _authenticationService: InfoAuthenticationService, private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel, private _modal: MatDialog,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n \r\n this.prodution = this._platform.Config.production;\r\n this.getNotifications();\r\n }\r\n\r\n setCompany(company) {\r\n this._authenticationService.trocarEmpresa(this._session.Login, company.Id).subscribe(res => {\r\n if (res.success) {\r\n\r\n document.body.setAttribute('loading', 'true');\r\n \r\n this._session.Permissoes = [];\r\n this._session.EmpresaId = company.Id;\r\n this._session.Empresa = company.Nome;\r\n this._session.TemaId = company.TemaId;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n localStorage.setItem(this._platform.SessionKey, JSON.stringify(this._session));\r\n this._router.navigateByUrl('').then(r => location.reload());\r\n \r\n } else this._authenticationService.logout();\r\n }, err => this._authenticationService.logout());\r\n }\r\n\r\n setLanguage(language: string) {\r\n this._translateService.set(language);\r\n }\r\n\r\n setTheme(theme) {\r\n //console.log('topbar.setTheme', theme);\r\n this._themeService.setTheme(theme);\r\n }\r\n\r\n toggleMode(){\r\n this._themeService.setModePrime();\r\n }\r\n\r\n openFastSearch() {\r\n this.close();\r\n\r\n if (this.modalRef != null) \r\n return;\r\n\r\n this.modalRef = this._modal.open(this.fastsearchform, {\r\n disableClose: true,\r\n width: this.fastsearchformwidth + 'px'\r\n });\r\n\r\n this.modalRef.keydownEvents().subscribe(r => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n this.modalRef.close();\r\n });\r\n\r\n this.modalRef.afterClosed().subscribe(r => { this.modalRef = null });\r\n }\r\n\r\n open(achtiveMenu) {\r\n this.topMenu.empresa = achtiveMenu == 'empresa';\r\n this.topMenu.tema = achtiveMenu == 'tema';\r\n this.topMenu.idioma = achtiveMenu == 'idioma';\r\n this.topMenu.notificacao = achtiveMenu == 'notificacao';\r\n this.topMenu.calendario = achtiveMenu == 'calendario';\r\n }\r\n\r\n close() {\r\n this.topMenu.empresa = false;\r\n this.topMenu.tema = false;\r\n this.topMenu.idioma = false;\r\n this.topMenu.notificacao = false;\r\n this.topMenu.calendario = false;\r\n }\r\n\r\n openSidebar() {\r\n this.opened = !this.opened;\r\n this.onchangestate.emit();\r\n }\r\n\r\n getNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationgetmethod, null).subscribe(r => {\r\n if (r.success) {\r\n this.notifications.Count = r.data.Count;\r\n this.notifications.Itens = r.data.Itens;\r\n\r\n if (this.notificationverifyenabled)\r\n this.verifyNotifications();\r\n\r\n this.ongetnotification.emit(this.notifications);\r\n }\r\n });\r\n }\r\n\r\n verifyNotifications() {\r\n if (!this._authenticationService.isLogged() || this.notificationapi == null)\r\n return;\r\n\r\n this._dataService.get(this.notificationapi, this.notificationverifymethod).subscribe(r => {\r\n if (r.data == -1)\r\n this.logout();\r\n\r\n else if (this.notifications.Count == r.data)\r\n setTimeout(() => { this.verifyNotifications(); }, 15000);\r\n\r\n else this.getNotifications();\r\n\r\n this.onverifynotification.emit({...this.notifications, VerifyCount: r.data});\r\n });\r\n }\r\n\r\n setNotificationStatus(read, access, remove) {\r\n if (this.notifications.Count == 0) return;\r\n\r\n this._dataService.post(this.notificationapi, { Id: '00000000-0000-0000-0000-000000000000', Acesso: access, Leitura: read, Exclusao: remove }, this.notificationpostmethod)\r\n .subscribe(r => this.notifications.Count = 0);\r\n }\r\n\r\n navigate(url: string) {\r\n this._router.navigate([url.replace('/#', '')]);\r\n }\r\n\r\n logout() {\r\n this._dialog.YesOrNo('DesejaRealmenteSair').subscribe(r => {\r\n if (r.button == InfoDialogButtons.Yes)\r\n this._authenticationService.logout();\r\n });\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\nimport { InfoDataService } from \"../../service/data.service\";\r\nimport { InfoPlatformModel } from \"../../model/platform.model\";\r\nimport { InfoSessionModel } from \"../../model/session.model\";\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoTopbarComponent } from \"../topbar/topbar.component\";\r\n\r\n@Component({\r\n selector: 'info-main',\r\n templateUrl: 'main.component.html',\r\n styleUrls: ['main.component.scss']\r\n})\r\nexport class InfoMainComponent implements OnInit {\r\n\r\n @Input() opened: boolean = false;\r\n @Input() version: string = null;\r\n @Input() messages: any[] = [];\r\n private _themes: any = [];\r\n\r\n @Input() get themes() { return this._themes; }\r\n set themes(value) {\r\n this._themes = value;\r\n this._platform.Themes = this.themes;\r\n\r\n if (this._session.TemaId > 0 && this.setthemeonchangecompany)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n\r\n @Input() languages: any = [];\r\n @Input() profileurl: string = '';\r\n @Input() loginurl: string = 'login';\r\n\r\n @Input() menuapi: any = null;\r\n @Input() menumethod: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n\r\n @Input() loggeduserapi: any = null;\r\n @Input() loggedusermethod: string = 'GetLoggedUser';\r\n\r\n @Input() notificationapi: any = null;\r\n @Input() notificationgetmethod: string = 'Get';\r\n @Input() notificationpostmethod: string = 'PostNotification';\r\n @Input() notificationverifymethod: string = 'Verify';\r\n @Input() notificationverifyenabled: boolean = true;\r\n \r\n @Input() fastsearchform: any = null;\r\n @Input() fastsearchformwidth: number = 1200;\r\n @Input() fastsearchtitle: string = 'PesquisaRapidaCarteira';\r\n \r\n @Input() setthemeonchangecompany: boolean = false;\r\n\r\n @Input() shortcutapi: any = null;\r\n\r\n @Output() ongetnotification = new EventEmitter();\r\n @Output() onverifynotification = new EventEmitter();\r\n\r\n @ViewChild('topbar') topbar: InfoTopbarComponent;\r\n\r\n constructor(public _platform: InfoPlatformModel, \r\n private _session: InfoSessionModel, \r\n private _router: Router, \r\n private _dataAccessService: InfoDataService, \r\n private _themeService: InfoThemeService,\r\n private _renderer: Renderer2,\r\n private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n //console.log('info-library.main.ngOnInit');\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\r\n this._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (localStorage.getItem(this._platform.TokenKey) == null)\r\n this._router.navigateByUrl(this.loginurl);\r\n\r\n else this.getLoggedUser();\r\n\r\n if (document.body.classList.length > 0){\r\n let theme = document.body.classList[0];\r\n \r\n if (document.body.classList[0].indexOf('-theme') < 0 && this._platform.Config.theme != null)\r\n theme = '_' + this._platform.Config.theme + '-theme';\r\n \r\n this._themeService.setTheme(theme);\r\n }\r\n }\r\n\r\n onChangeTopBarState() {\r\n this.opened = !this.opened;\r\n }\r\n\r\n onChangeSideBarState(){\r\n this.topbar.openSidebar();\r\n }\r\n\r\n getLoggedUser() {\r\n if (localStorage.getItem(this._platform.SessionKey) != null)\r\n Object.assign(this._session, JSON.parse(localStorage.getItem(this._platform.SessionKey)));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null)\r\n return;\r\n\r\n this._dataAccessService.get(this.loggeduserapi, this.loggedusermethod).subscribe(r => {\r\n if (r.success) {\r\n this._session.UsuarioId = r.data.UsuarioId;\r\n this._session.Usuario = r.data.Usuario;\r\n this._session.Login = r.data.Login;\r\n this._session.Email = r.data.Email;\r\n this._session.Perfil = r.data.Perfil;\r\n this._session.EmpresaId = r.data.EmpresaId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.UltimoAcesso = r.data.UltimoAcesso;\r\n this._session.Master = r.data.Master;\r\n this._session.Clone = r.data.Clone;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.TempoInatividade = r.data.TempoInatividade;\r\n this._session.Versao = r.data.Versao;\r\n this.version = r.data.Versao;\r\n\r\n if (this._session.Parametros.some(p => p.Chave == 'DisclaimerGeral'))\r\n this.messages.push(this._session.Parametros.find(p => p.Chave == 'DisclaimerGeral').Valor);\r\n\r\n if (this._session.TemaId != null)\r\n this._themeService.setThemeByLoggedCompany();\r\n }\r\n });\r\n }\r\n\r\n onGetNotificationsTopBar(event) {\r\n this.ongetnotification.emit(event);\r\n }\r\n\r\n onVerifyNotificationsTopBar(event) {\r\n this.onverifynotification.emit(event);\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoThemeService } from '../../service/theme.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { NavigationStart, Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n styleUrls: ['./sidebar.component.scss']\r\n})\r\nexport class InfoSidebarComponent implements OnInit {\r\n\r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Input() activemenubyurl: boolean = false;\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _themeService: InfoThemeService, public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _lastSearch: InfoLastSearchModel, private _router: Router, private _renderer: Renderer2, private _element: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n\r\n this.monitorarUrl();\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n monitorarUrl(){\r\n if (this.activemenubyurl){\r\n this.ativarMenu(this._router.url);\r\n\r\n this._router.events.subscribe(e => {\r\n if (e instanceof NavigationStart)\r\n this.ativarMenu(e.url);\r\n });\r\n }\r\n }\r\n\r\n ativarMenu(url: string){\r\n let itemMenu = this.menu.find(m => m.Routing == url);\r\n\r\n if (itemMenu != null)\r\n this.menuAtivo = itemMenu.Title;\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n\r\n toggleSidebar(){\r\n this._themeService.setMenuMin();\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2 } from '@angular/core';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoAuthenticationService } from '../../service/authentication.service';\r\nimport { InfoLastSearchModel } from '../../model/last-search.model';\r\nimport { InfoSessionModel } from '../../model/session.model';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'info-topmenu',\r\n templateUrl: './topmenu.component.html',\r\n styleUrls: ['./topmenu.component.scss']\r\n})\r\nexport class InfoTopMenuComponent implements OnInit {\r\n \r\n @Input() api: any = null;\r\n @Input() method: string = 'GetMenu';\r\n @Output() onchangestate = new EventEmitter();\r\n\r\n loading: boolean = false;\r\n menu: any = [];\r\n openSubmenu: string = '';\r\n menuAtivo: string = 'Dashboard';\r\n\r\n constructor(private _dataAcessService: InfoDataService, private _authentication: InfoAuthenticationService, \r\n private _lastSearch: InfoLastSearchModel, private _router: Router, \r\n public _session: InfoSessionModel, public _platform: InfoPlatformModel,\r\n private _renderer: Renderer2, private _element: ElementRef) { }\r\n\r\n ngOnInit() {\r\n if (!this._authentication.isLogged() || this.api == null)\r\n return;\r\n\r\n this._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n this.loading = true;\r\n\r\n this._dataAcessService\r\n .get(this.api, this.method)\r\n .subscribe(r => {\r\n if (r.success){\r\n this.menu = r.data;\r\n this._platform.Menu = r.data;\r\n this._authentication.definePaginaAtiva(this._router.url);\r\n }\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n toggle(e: Event, menuItem: any) {\r\n\r\n e.preventDefault();\r\n\r\n if (!menuItem.Enabled)\r\n return;\r\n\r\n if (!menuItem.Active)\r\n for (let i = 0; i < this.menu.length; i++)\r\n this.menu[i].Active = false;\r\n\r\n menuItem.Active = !menuItem.Active;\r\n }\r\n\r\n access(menu: string){\r\n this.menuAtivo = menu;\r\n this.openSubmenu = '';\r\n \r\n this.resetLastSearch();\r\n }\r\n\r\n toggleSubmenu(menu) {\r\n this.openSubmenu = this.openSubmenu == menu ? '' : menu;\r\n }\r\n\r\n resetLastSearch(){\r\n this._lastSearch.model = null;\r\n this._lastSearch.url = '';\r\n }\r\n\r\n changeSidebar() {\r\n this.onchangestate.emit();\r\n }\r\n}","import { Component, Input } from \"@angular/core\";\r\n\r\n@Component({\r\n selector: 'info-loading',\r\n template: `\r\n <section class=\"loading-bar\">\r\n <mat-progress-bar [color]=\"color\" [mode]=\"mode\" *ngIf=\"enabled\" >\r\n </mat-progress-bar>\r\n </section>\r\n `,\r\n styles: [`\r\n .loading-bar { height: 1px; }\r\n .loading-bar .mat-progress-bar { height: 1px; margin: 0; }\r\n `]\r\n})\r\nexport class InfoLoadingComponent{\r\n\r\n @Input() enabled: boolean = false;\r\n @Input() mode: string = 'indeterminate';\r\n @Input() color: string = 'primary';\r\n\r\n}","import { Component, Input, Output, EventEmitter, forwardRef, Inject } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n selector: 'info-modal',\r\n templateUrl: './modal.component.html',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoModalComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoModalComponent implements ControlValueAccessor {\r\n\r\n @Input() modaltitle: string = '';\r\n @Input() showcloseicon: boolean = false;\r\n @Input() api: any = null;\r\n @Input() method: string = null;\r\n @Input() readonly: boolean = null;\r\n @Input() loading: boolean = false;\r\n @Input() loadingblock: boolean = true;\r\n @Input() form: any = null;\r\n @Input() labelclose: string = 'Fechar';\r\n @Input() labelcancel: string = 'Cancelar';\r\n @Input() labelsubmit: string = 'Salvar';\r\n @Input() messages: String[] = [];\r\n @Input() width: number = null;\r\n\r\n @Output() onsave = new EventEmitter();\r\n @Output() onsuccess = new EventEmitter();\r\n\r\n model: any;\r\n onChange: any;\r\n onTouched: any;\r\n\r\n constructor(private _dataAccessService: InfoDataService, @Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel, private _ref: MatDialogRef<any>) { }\r\n\r\n ngOnInit() {\r\n\r\n if (this.modaltitle == '' && this.prop != null && this.prop.title != null)\r\n this.modaltitle = this.prop.title;\r\n\r\n if (this.api == null && this.prop != null && this.prop.api != null)\r\n this.api = this.prop.api;\r\n\r\n if (this.width != null)\r\n this._ref.updateSize(this.width.toString().replace('px', '') + 'px');\r\n\r\n if (this.readonly == null && this.prop != null && this.prop.readonly != null)\r\n this.readonly = this.prop.readonly;\r\n }\r\n\r\n submit() {\r\n if (this.onsave.observers.length > 0) {\r\n this.onsave.next();\r\n return;\r\n }\r\n\r\n this.messages = [];\r\n \r\n if (this.api == null || this.api.toString() == '')\r\n this.messages.push('API não informado');\r\n\r\n if (this.messages.length > 0)\r\n return;\r\n\r\n this.loading = true;\r\n\r\n this._dataAccessService\r\n .post(this.api, this.model, this.method)\r\n .subscribe(r => {\r\n\r\n if (r.success) {\r\n this.prop.modalAction = InfoModalAction.Save;\r\n this.prop.data = this.model;\r\n this._ref.close(this.prop);\r\n\r\n if (this.onsuccess.observers.length > 0)\r\n this.onsuccess.next();\r\n }\r\n\r\n else this.messages = r.messages;\r\n\r\n this.loading = false;\r\n });\r\n }\r\n\r\n close() {\r\n this.messages = [];\r\n this.loading = false;\r\n this._ref.close(this.prop);\r\n }\r\n\r\n writeValue(obj: any): void {\r\n this.model = obj;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void { }\r\n}\r\n","import { Component, Input, Inject, ElementRef, Renderer2 } from '@angular/core';\r\nimport { Router, NavigationStart, GuardsCheckStart, NavigationEnd } from '@angular/router';\r\nimport { InfoPlatformModel } from '../../model/platform.model';\r\nimport { InfoDataService } from '../../service/data.service';\r\nimport { InfoTranslateService } from '../../service/translate.service';\r\nimport { MatDialog, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { InfoFormPropModel } from '../../model/form-prop.model';\r\nimport { InfoPageAction } from '../../enum/page-action.enum';\r\nimport { InfoModalAction } from '../../enum/modal-action.enum';\r\n\r\n@Component({\r\n\tselector: 'info-pagebar',\r\n\ttemplateUrl: './pagebar.component.html',\r\n\tstyleUrls: ['./pagebar.component.scss']\r\n})\r\nexport class InfoPagebarComponent {\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: string;\r\n\t@Input() pagetitle: string;\r\n\t@Input() description: string;\r\n\t@Input() backurl: string = null;\r\n\t@Input() access: any = [];\r\n\t@Input() transparent: boolean = false;\r\n\r\n\tloading = false;\r\n\tatalhoId: any = null;\r\n\tpodeCriarAtalho = false;\r\n\texibirAcessos = false;\r\n\r\n\tconstructor(private _router: Router,\r\n\t\t\t\tprivate _modal: MatDialog,\r\n\t\t\t\tprivate _dataService: InfoDataService,\r\n\t\t\t\tprivate _translate: InfoTranslateService,\r\n\t\t\t\tpublic _platform: InfoPlatformModel,\r\n\t\t\t\tprivate _renderer: Renderer2, private _element: ElementRef) { \r\n\t\t_router.events.subscribe(e => {\r\n if (e instanceof NavigationStart || e instanceof GuardsCheckStart)\r\n\t\t\t\tsetTimeout(() => this.loading = true, 0);\r\n\t\t\t\r\n\t\t\telse setTimeout(() => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (e instanceof NavigationEnd) {\r\n\t\t\t\t\tthis.podeCriarAtalho = !!this._platform.ShortcutApi && this._router.url != '/';\r\n\t\t\t\t\tthis.getAtalho();\r\n\t\t\t\t}\r\n\t\t\t}, 0);\r\n });\r\n\t}\r\n\r\n\tngOnInit(){\r\n\t\tthis._renderer.addClass(this._element.nativeElement, 'uxc' + this._platform.Config.ux);\r\n \r\n if (this._platform.Config.topMenu)\r\n this._renderer.addClass(this._element.nativeElement, 'topmenu');\r\n\t}\r\n\r\n\tgoBack(){\r\n\t\tthis._router.navigateByUrl(this.backurl);\r\n\t}\r\n\r\n\tgetAtalho() {\r\n\t\tif (!this.podeCriarAtalho)\r\n\t\t\treturn;\r\n\t\tthis.loading = true;\r\n\t\tthis._dataService.get(this._platform.ShortcutApi, 'GetByUrl', 'url='+this._router.url).subscribe(r => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tif (r.success) this.atalhoId = (r.data || {}).Id;\r\n\t\t});\r\n\t}\r\n\r\n\ttoggleAtalho() {\r\n\t\tif (this.atalhoId) {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis._dataService.delete(this._platform.ShortcutApi, this.atalhoId).subscribe(r => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r.success) this.atalhoId = null;\r\n\t\t\t});\r\n\t\t} else {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.openModalAtalho().subscribe((r: InfoFormPropModel) => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (r && r.modalAction == InfoModalAction.Save) this.getAtalho();\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\r\n\tprivate openModalAtalho() {\r\n\t\tvar prop = new InfoFormPropModel();\r\n\t\tprop.api = this._platform.ShortcutApi;\r\n\t\tprop.set(InfoPageAction.New, { \r\n\t\t\tId: this.atalhoId,\r\n\t\t\tUrl: this._router.url,\r\n\t\t\tTitulo: `${this._translate.translate(this._platform.PaginaAtiva.Titulo)} / ${this._translate.translate(this.pagetitle)}`\r\n\t\t});\r\n\r\n\t\tlet ref = this._modal.open(AtalhoModalComponent, {\r\n data: prop,\r\n\t\t\tdisableClose: true,\r\n\t\t\twidth: '400px'\r\n\t\t});\r\n\t\t\r\n\t\tref.keydownEvents().subscribe((r) => {\r\n if (!this.loading && (r.key == \"Escape\" || r.key == \"Esc\" || r.key == \"27\"))\r\n ref.close();\r\n });\r\n\r\n return ref.afterClosed();\r\n\t}\r\n}\r\n@Component({\r\n\ttemplate: `\r\n\t\t<info-modal modaltitle=\"CriarAcessoRapido\" [form]=\"formModal\" [(ngModel)]=\"model\">\r\n\t\t\t<form autocomplete=\"off\" #formModal=\"ngForm\">\r\n\t\t\t\t<div class=\"row\"> \r\n\t\t\t\t\t<info-input class=\"col-md-12\" [(ngModel)]=\"model.Titulo\" placeholder=\"Titulo\" name=\"Titulo\" required></info-input>\r\n\t\t\t\t</div>\r\n\t\t\t</form>\r\n\t\t</info-modal>\r\n\t`\r\n})\r\nexport class AtalhoModalComponent {\r\n\tmodel: any = {};\r\n\tconstructor(@Inject(MAT_DIALOG_DATA) public prop: InfoFormPropModel) {\r\n\t\tthis.model = Object.assign({}, prop.data);\r\n\t\tthis.model.Id = this.model.Id || '00000000-0000-0000-0000-000000000000';\r\n\t}\r\n}","import { Directive, ElementRef, Renderer2, Input, forwardRef, Inject, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor } from '@angular/forms'\r\nimport { createTextMaskInputElement } from 'text-mask-core/dist/textMaskCore'\r\nimport emailMask from 'text-mask-addons/dist/emailMask';\r\nimport createAutoCorrectedDatePipe from 'text-mask-addons/dist/createAutoCorrectedDatePipe';\r\n\r\n@Directive({\r\n host: {\r\n '(input)': 'onInput($event.target.value)',\r\n '(blur)': '_onTouched()'\r\n },\r\n selector: '[setmask]',\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => InfoMaskDirective),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class InfoMaskDirective implements ControlValueAccessor, OnChanges {\r\n private maskInputElement: any\r\n private inputElement: HTMLInputElement\r\n\r\n private lastValue: any\r\n private mask: any\r\n\r\n @Input('setmask') maskType: any\r\n\r\n _onTouched = () => { }\r\n _onChange = (_: any) => { }\r\n\r\n constructor(@Inject(Renderer2) private renderer: Renderer2, @Inject(ElementRef) private element: ElementRef) { }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n this.setupMask(true);\r\n\r\n if (this.maskInputElement !== undefined)\r\n this.maskInputElement.update(this.inputElement.value)\r\n }\r\n\r\n writeValue(value: any) {\r\n this.setupMask()\r\n\r\n const normalizedValue = value == null ? '' : value\r\n this.renderer.setProperty(this.inputElement, 'value', normalizedValue)\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n }\r\n }\r\n\r\n registerOnChange(fn: (value: any) => any): void { this._onChange = fn }\r\n\r\n registerOnTouched(fn: () => any): void { this._onTouched = fn }\r\n\r\n setDisabledState(isDisabled: boolean) {\r\n this.renderer.setProperty(this.element.nativeElement, 'disabled', isDisabled)\r\n }\r\n\r\n onInput(value) {\r\n this.setupMask()\r\n\r\n if (this.maskInputElement !== undefined) {\r\n this.maskInputElement.update(value)\r\n\r\n value = this.inputElement.value\r\n\r\n if (this.lastValue !== value) {\r\n this.lastValue = value\r\n this._onChange(value)\r\n }\r\n }\r\n }\r\n\r\n private setupMask(create = false) {\r\n if (!this.inputElement) {\r\n if (this.element.nativeElement.tagName === 'INPUT')\r\n this.inputElement = this.element.nativeElement;\r\n\r\n else this.inputElement = this.element.nativeElement.getElementsByTagName('INPUT')[0];\r\n }\r\n\r\n if (this.inputElement && create) {\r\n\r\n let pipe = undefined;\r\n\r\n if (this.maskType == 'email')\r\n this.mask = emailMask;\r\n \r\n else if (this.maskType == 'phone')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'cel')\r\n this.mask = ['(', /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/];\r\n\r\n else if (this.maskType == 'cep')\r\n this.mask = [/\\d/, /\\d/, /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/];\r\n \r\n else if (this.maskType == 'date') {\r\n pipe = createAutoCorrectedDatePipe('dd/mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'datemonth') {\r\n pipe = createAutoCorrectedDatePipe('mm/yyyy');\r\n this.mask = [/\\d/, /\\d/, '/', /\\d/, /\\d/, /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'time') {\r\n pipe = createAutoCorrectedDatePipe('HH:MM');\r\n this.mask = [/\\d/, /\\d/, ':', /\\d/, /\\d/];\r\n }\r\n else if (this.maskType == 'cpf')\r\n this.mask = [/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else if (this.maskType == 'cnpj')\r\n this.mask = [/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'.',/\\d/,/\\d/,/\\d/,'/',/\\d/,/\\d/,/\\d/,/\\d/,'-',/\\d/,/\\d/];\r\n\r\n else this.mask = [];\r\n\r\n let maskConfig = {\r\n mask: this.mask,\r\n guide: true,\r\n placeholderChar: '_',\r\n pipe: pipe,\r\n modelClean: true,\r\n keepCharPositions: false,\r\n };\r\n\r\n this.maskInputElement = createTextMaskInputElement(\r\n Object.assign({ inputElement: this.inputElement }, maskConfig)\r\n )\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, HostListener } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[unmask]'\r\n})\r\nexport class InfoUnmaskDirective {\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n const newValue = this.elementRef.nativeElement.value.replace(/\\D/g, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { CurrencyMaskModule } from 'ng2-currency-mask';\r\nimport { MatMomentDateModule } from '@angular/material-moment-adapter';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { AngularEditorModule } from '@kolkov/angular-editor';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\n\r\nimport { InfoTranslatePipe } from './pipe/translate.pipe';\r\nimport { InfoMaskPipe } from './pipe/mask.pipe';\r\nimport { InfoMaskDirective } from './directives/mask.directive';\r\nimport { InfoUnmaskDirective } from './directives/unmask.directive';\r\n\r\n// Controls\r\nimport { InfoAlertComponent } from './controls/alert/alert.component';\r\nimport { InfoAutoCompleteComponent } from './controls/autocomplete/autocomplete.component';\r\nimport { InfoBigCheckboxComponent } from './controls/big-checkbox/big-checkbox.component';\r\nimport { InfoCardComponent } from './controls/card/card.component';\r\nimport { InfoMenuCardComponent } from './controls/card-menu/card-menu.component';\r\nimport { InfoCheckboxComponent } from './controls/checkbox/checkbox.component';\r\nimport { InfoDateComponent } from './controls/date/date.component';\r\nimport { InfoDateMonthComponent } from './controls/date-month/date-month.component';\r\nimport { InfoGridComponent } from './controls/grid/grid.component';\r\nimport { InfoInputComponent } from './controls/input/input.component';\r\nimport { InfoInputListComponent } from './controls/input-list/input-list.component';\r\nimport { InfoListCheckboxComponent } from './controls/list-checkbox/list-checkbox.component';\r\nimport { InfoMessageComponent } from './controls/message/message.component';\r\nimport { InfoPaginatorComponent } from './controls/paginator/paginator.component';\r\nimport { InfoSelectComponent } from './controls/select/select.component';\r\nimport { InfoTimelineComponent } from './controls/timeline/timeline.component';\r\nimport { InfoEditorComponent } from './controls/editor/editor.component';\r\nimport { InfoMultiSelectComponent } from './controls/multi-select/multi-select.component';\r\nimport { InfoChipsComponent } from './controls/chips/chips.component';\r\n\r\n// Layouts\r\nimport { InfoDialogComponent } from './layouts/dialog/dialog.component';\r\nimport { InfoLoadingComponent } from './layouts/loading/loading.component';\r\nimport { InfoMainComponent } from './layouts/main/main.component';\r\nimport { InfoModalComponent } from './layouts/modal/modal.component';\r\nimport { InfoPagebarComponent, AtalhoModalComponent } from './layouts/pagebar/pagebar.component';\r\nimport { InfoSidebarComponent } from './layouts/sidebar/sidebar.component';\r\nimport { InfoTopbarComponent } from './layouts/topbar/topbar.component';\r\nimport { RefreshSessionTimeModalComponent } from './service/authentication.service';\r\nimport { InfoTopMenuComponent } from './layouts/topmenu/topmenu.component';\r\n\r\n@NgModule({\r\n\timports: [\r\n\t\tCommonModule,\r\n\t\tHttpClientModule,\r\n\t\tFormsModule,\r\n\t\tReactiveFormsModule,\r\n\t\tMatCardModule,\r\n\t\tMatIconModule,\r\n\t\tMatInputModule,\r\n\t\tMatFormFieldModule,\r\n\t\tMatListModule,\r\n\t\tMatSelectModule,\r\n\t\tMatCheckboxModule,\r\n\t\tMatRadioModule,\r\n\t\tMatButtonModule,\r\n\t\tMatDatepickerModule,\r\n\t\tMatMomentDateModule,\r\n\t\tMatDialogModule,\r\n\t\tMatProgressBarModule,\r\n\t\tMatAutocompleteModule,\r\n\t\tMatTooltipModule,\r\n\t\tRouterModule,\r\n\t\tCurrencyMaskModule,\r\n\t\tAngularEditorModule,\r\n\t\tMatChipsModule,\r\n\t],\r\n\tdeclarations: [\r\n\t\tInfoTranslatePipe,\r\n\t\tInfoMaskPipe,\r\n\r\n\t\tInfoMaskDirective,\r\n\t\tInfoUnmaskDirective,\r\n\r\n\t\tInfoAlertComponent,\r\n\t\tInfoAutoCompleteComponent,\r\n\t\tInfoBigCheckboxComponent,\r\n\t\tInfoCardComponent,\r\n\t\tInfoMenuCardComponent,\r\n\t\tInfoCheckboxComponent,\r\n\t\tInfoDateComponent,\r\n\t\tInfoDateMonthComponent,\r\n\t\tInfoGridComponent,\r\n\t\tInfoInputComponent,\r\n\t\tInfoInputListComponent,\r\n\t\tInfoListCheckboxComponent,\r\n\t\tInfoMessageComponent,\r\n\t\tInfoPaginatorComponent,\r\n\t\tInfoSelectComponent,\r\n\t\tInfoTimelineComponent,\r\n\t\tInfoEditorComponent,\r\n\t\tInfoMultiSelectComponent,\r\n\t\tInfoChipsComponent,\r\n\r\n\t\tInfoDialogComponent,\r\n\t\tInfoLoadingComponent,\r\n\t\tInfoMainComponent,\r\n\t\tInfoModalComponent,\r\n\t\tInfoPagebarComponent,\r\n\t\tInfoSidebarComponent,\r\n\t\tInfoTopbarComponent,\r\n\t\tInfoTopMenuComponent,\r\n\t\tAtalhoModalComponent,\r\n\t\tRefreshSessionTimeModalComponent,\r\n\t],\r\n\texports: [\r\n\t\tInfoTranslatePipe,\r\n\t\tInfoMaskPipe,\r\n\r\n\t\tInfoAlertComponent,\r\n\t\tInfoAutoCompleteComponent,\r\n\t\tInfoBigCheckboxComponent,\r\n\t\tInfoCardComponent,\r\n\t\tInfoMenuCardComponent,\r\n\t\tInfoCheckboxComponent,\r\n\t\tInfoDateComponent,\r\n\t\tInfoDateMonthComponent,\r\n\t\tInfoGridComponent,\r\n\t\tInfoInputComponent,\r\n\t\tInfoInputListComponent,\r\n\t\tInfoListCheckboxComponent,\r\n\t\tInfoMessageComponent,\r\n\t\tInfoPaginatorComponent,\r\n\t\tInfoSelectComponent,\r\n\t\tInfoTimelineComponent,\r\n\t\tInfoEditorComponent,\r\n\t\tInfoMultiSelectComponent,\r\n\t\tInfoChipsComponent,\r\n\r\n\t\tInfoDialogComponent,\r\n\t\tInfoLoadingComponent,\r\n\t\tInfoMainComponent,\r\n\t\tInfoModalComponent,\r\n\t\tInfoPagebarComponent,\r\n\t\tInfoSidebarComponent,\r\n\t\tInfoTopbarComponent,\r\n\t\tInfoTopMenuComponent,\r\n\t],\r\n\tschemas: [\r\n\t\tCUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n\tentryComponents: [\r\n\t\tInfoDialogComponent,\r\n\t\tAtalhoModalComponent,\r\n\t\tRefreshSessionTimeModalComponent\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }"],"names":[],"mappings":"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"}