info-library 2.14.21 → 2.14.23-beta.1

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.mjs","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/utils/utilities.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.html","../../../projects/info-library/src/layouts/modal/modal.component.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/autocomplete/autocomplete.component.html","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.html","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.html","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.html","../../../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/checkbox/checkbox.component.html","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date/date.component.html","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/controls/message/message.component.html","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.html","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/controls/input/input.component.html","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.html","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/controls/grid/grid.component.html","../../../projects/info-library/src/controls/grid/grid.modal.html","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.html","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.html","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/select/select.component.html","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.html","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/editor/editor.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.html","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.html","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.html","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.html","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/main/main.component.html","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/info-library.module.ts","../../../projects/info-library/src/info-library.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 style: string = '';\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n title: string = '';\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.length == 0)\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 = 'tk';\r\n SessionKey: string = 'ss';\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 PaginaLimpa: 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 UnidadeId: number;\r\n TemaId: number;\r\n Empresa: string;\r\n Unidade: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n DataMovimentacao: Date;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Unidades: any[] = [];\r\n Parametros: any[] = null;\r\n MFA: boolean;\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 = sessionStorage.getItem(this._key) || 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 sessionStorage.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 translation = (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n if (typeof translation != 'string')\r\n translation = 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 if (args === false)\r\n return value;\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 let upperCase = true;\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 = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n else {\r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n upperCase = false;\r\n }\r\n\r\n let maskedValue = conformToMask(value, mask, {guide: false}).conformedValue;\r\n \r\n return upperCase ? maskedValue.toUpperCase : maskedValue;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n 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 getGuidEmpty() : string {\r\n return '00000000-0000-0000-0000-000000000000';\r\n }\r\n\r\n 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 base64ToArrayBuffer(base64): any {\r\n var binaryString = window.atob(base64);\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 return bytes;\r\n }\r\n\r\n openOrDownload(title, blob) {\r\n let fileURL = URL.createObjectURL(blob);\r\n \r\n if (title.indexOf(\"pdf\") > -1)\r\n window.open(fileURL, title);\r\n else {\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = title;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n\r\n removerAcentos(val: string) : string {\r\n if (val == null)\r\n return '';\r\n var normalizeFunction = String.prototype.normalize ? (str) => str.normalize('NFD') : (str) => str;\r\n return normalizeFunction(val).replace(/[\\u0300-\\u036f]/g, \"\")\r\n }\r\n\r\n getFormatos(): any[] {\r\n return [ { Id: \"EXCEL\", Nome: \"Excel\", MimeType: \"application/vnd.ms-excel\", Extensao: \"xls\" },\r\n { Id: \"PDF\", Nome: \"PDF\", MimeType: \"application/pdf\", Extensao: \"pdf\" } ];\r\n }\r\n\r\n getFormatosExcel(): any[] {\r\n return [ { Id: 'PP', Nome: 'Excel Português com Separador Decimal [.]' },\r\n { Id: 'PV', Nome: 'Excel Português com Separador Decimal [,]' },\r\n { Id: 'IP', Nome: 'Excel Inglês com Separador Decimal [.]' },\r\n { Id: 'IV', Nome: 'Excel Inglês com Separador Decimal [,]' } ];\r\n }\r\n\r\n getStatus(): any[] {\r\n return [ { Id: \"A\", Nome: \"Ativo\" },\r\n { Id: \"P\", Nome: \"Pendente\" } ];\r\n }\r\n\r\n getStatusCompleto(): any[] {\r\n return [ { Id: \"C\", Nome: \"Cadastrado\", Selecionado: true },\r\n { Id: \"F\", Nome: \"Feito\", Selecionado: false },\r\n { Id: \"O\", Nome: \"Conferido\", Selecionado: true },\r\n { Id: \"R\", Nome: \"Rejeitado\", Selecionado: false },\r\n { Id: \"I\", Nome: \"Inativo\", Selecionado: false } ];\r\n }\r\n\r\n getStatusProcessamento(): any[] {\r\n return [ { Id: \"A\", Nome: \"AguardandoProcessamento\" },\r\n { Id: \"E\", Nome: \"EmProcessamento\" },\r\n { Id: \"P\", Nome: \"Processado\" },\r\n { Id: \"I\", Nome: \"Inativo\" },\r\n { Id: \"Z\", Nome: \"Erro\" } ];\r\n }\r\n\r\n getFormatoIdiomas(): any[] {\r\n return [ { Id: \"en\", Nome: \"English\" },\r\n { Id: \"pt-BR\", Nome: \"Português\" } ];\r\n }\r\n\r\n getGeneros(): any[] {\r\n return [ { Id: 'M', Nome: 'Masculino' },\r\n { Id: 'F', Nome: 'Feminino' } ];\r\n }\r\n\r\n getTiposEvidencia(): any[] {\r\n return [ { Id: 1, Nome: 'Telefone'},\r\n { Id: 2, Nome: 'Email'},\r\n {Id: 3, Nome: 'Documento'} ];\r\n }\r\n\r\n getOrdens(): any[] {\r\n return [ {Id: \"nome-asc\", Nome: \"NomeCrescente\"},\r\n {Id: \"nome-desc\", Nome: \"NomeDecrescente\"},\r\n {Id: \"valor-asc\", Nome: \"ValorCrescente\"},\r\n {Id: \"valor-desc\", Nome: \"ValorDecrescente\"} ];\r\n }\r\n\r\n validarEmail(form, value, control) {\r\n if (!value)\r\n return;\r\n \r\n let pattern = /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/;\r\n let emails: string[] = value.split(';');\r\n let invalido = emails.some(email => email && !pattern.test(email.trim()));\r\n\r\n if (invalido)\r\n form.form.controls[control].setErrors( { 'invalid': true } );\r\n }\r\n\r\n setLocalStorage(key: string, value: any) {\r\n localStorage.setItem(key, this.criptografar(value));\r\n }\r\n\r\n getLocalStorage(key: string): any {\r\n var data = this.descriptografar(localStorage.getItem(key));\r\n if (data == null || data == '') return null;\r\n return data;\r\n }\r\n\r\n isIE() {\r\n var userAgent = navigator.userAgent;\r\n return userAgent.indexOf(\"MSIE \") > -1 || userAgent.indexOf(\"Trident/\") > -1;\r\n }\r\n\r\n retornaTexto(texto) {\r\n var div = document.createElement(\"div\")\r\n div.innerHTML = texto;\r\n return div.innerText || div.textContent;\r\n }\r\n\r\n criptografar(texto) {\r\n try {\r\n return CryptoJS.AES.encrypt(texto, \"GKxLtQg2at\").toString();\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n \r\n descriptografar(texto) {\r\n try {\r\n return CryptoJS.AES.decrypt(texto, \"GKxLtQg2at\").toString(CryptoJS.enc.Utf8);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n \r\n}\r\n\r\nexport abstract class StaticUtils {\r\n \r\n static validarCnpj(cnpj: string): boolean {\r\n const cnpjOriginal = (cnpj || '');\r\n cnpj = cnpjOriginal.toUpperCase().slice(0, 12);\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n \r\n return cnpjOriginal == cnpj;\r\n }\r\n\r\n static validarCpf(cpf: string) {\r\n const cpfOriginal = (cpf || '');\r\n cpf = cpfOriginal.toUpperCase().slice(0, 9);\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n\r\n return cpfOriginal == cpf;\r\n }\r\n \r\n private static getDigito(soma: number) {\r\n return (soma % 11) <= 1 ? 0 : (11 - (soma % 11));\r\n }\r\n \r\n private static getSomaCnpj(cnpj: string) {\r\n const peso = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n if (cnpj.length == 12) peso.shift();\r\n \r\n return Array.from(cnpj)\r\n .map((c, i) => (isNaN(Number(c)) ? c.charCodeAt(0) - 48 : Number(c)) * peso[i])\r\n .reduce((a, b) => a + b, 0);\r\n }\r\n\r\n private static getSomaCpf(cpf: string) {\r\n const fator = cpf.length == 9 ? 10 : 11;\r\n return Array.from(cpf).map((c, i) => Number(c) * (fator - i)).reduce((a, b) => a + b, 0);\r\n }\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\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, \r\n private _http: HttpClient, \r\n private _router: Router, \r\n private _plataforma: InfoPlatformModel, \r\n private _utilities: Utilities) { }\r\n\r\n public getToken(): string {\r\n this.token = this._utilities.getLocalStorage(this._plataforma.TokenKey);\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 || '').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 || '').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 || '').toLowerCase(), 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 || '').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 || '').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 || '').toLowerCase() + (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, 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}","<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || (form != null && !form.form.valid)\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","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 this._ref.keydownEvents().subscribe((r) => {\r\n if (r.ctrlKey && r.key == \"Enter\" && !(this.loading || (this.form != null && !this.form.form.valid)) && this.labelsubmit != '' && !this.readonly)\r\n this.submit();\r\n });\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 var dataInicial = this.model[\"DataInicial\"];\r\n var dataFinal = this.model[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n return;\r\n }\r\n\r\n var dataInicio = this.model[\"DataInicio\"];\r\n var dataFim = this.model[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n return;\r\n }\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, 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\nimport { Title } from '@angular/platform-browser';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _sessionTimeInterval;\r\n private _sessionActive: boolean = true;\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 private _utilities: Utilities, \r\n private _translate: InfoTranslateService, \r\n private _title: Title) { }\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() || !this._sessionActive) {\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 setTimeout(() => {\r\n this.refreshSessionTime(); \r\n }, 1000);\r\n\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 (this._utilities.getLocalStorage(this._plataforma.TokenKey) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n if (!this._sessionActive)\r\n return;\r\n\r\n clearInterval(this._sessionTimeInterval);\r\n\r\n if (this._sessao.TempoInatividade == null || this._sessao.TempoInatividade <= 0)\r\n return;\r\n \r\n let tempoSessao = this._sessao.TempoInatividade;\r\n localStorage.setItem('ms', new Date().valueOf().toString());\r\n \r\n this._sessionTimeInterval = setInterval(() => {\r\n\r\n if (tempoSessao > 0) {\r\n tempoSessao--;\r\n return;\r\n }\r\n \r\n let tempoRestante = Math.round(this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000));\r\n\r\n if (!isNaN(tempoRestante) && tempoRestante > 0){\r\n tempoSessao = tempoRestante;\r\n return;\r\n }\r\n \r\n clearInterval(this._sessionTimeInterval);\r\n this._sessionActive = false;\r\n\r\n if (isNaN(tempoRestante))\r\n this.logout();\r\n \r\n else this.showMessage();\r\n }, 1000);\r\n\t}\r\n\r\n showMessage(){\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n\r\n if (r != null && (r.modalAction == InfoModalAction.Yes || (this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000)) > 0)){\r\n this._sessionActive = true;\r\n this.refreshSessionTime();\r\n }\r\n\r\n else this.logout();\r\n });\r\n }\r\n\r\n login(usuario: string, senha: string, reCaptchaToken: string = null, codigo2FA: 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, Codigo2FA: codigo2FA })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 trocarUnidade(usuario: string, empresaId: number, unidadeId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarunidade', { EmpresaId: empresaId, UnidadeId: unidadeId }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 if (this.isLogged()) {\r\n this._http.post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/Logout', null, { headers: this._dataService.getHeaderToken() })\r\n .subscribe(() => {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n });\r\n }\r\n else {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n }\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 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 this._utilities.setLocalStorage(this._plataforma.SessionKey, JSON.stringify(this._sessao));\r\n }\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 }\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') && !key.includes('cols')) \r\n 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 let parametrosUrl: string[] = url.split('/').slice(2);\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 let subTitulo = \"\";\r\n for (var i = 0; i < parametrosUrl.length; i++) {\r\n if (!this.isGuid(parametrosUrl[i]) && isNaN(parseFloat(parametrosUrl[i])))\r\n subTitulo += \" - \" + this._translate.translate(this.toPascalCase(parametrosUrl[i]));\r\n }\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 this._title.setTitle(`${this._translate.translate(this._plataforma.Config.title || \"Plataforma\")} - ${this._translate.translate(item[0].Title)}`+ subTitulo);\r\n }\r\n\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: this._plataforma.Config.title || '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 private toPascalCase(value: string): string{\r\n return value.replace(/(^\\w|-\\w)/g, (w1, w2, i) => i == 0 ? w1.toUpperCase() : w1[1].toUpperCase());\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 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\r\n document.body.removeAttribute('class');\r\n\r\n if(!this._plataform.ModoPrime){\r\n document.body.classList.add(theme);\r\n _overlay.add(theme);\r\n }\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 this.setModePrime(true);\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 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 let _overlay = this._overlay.getContainerElement().classList;\r\n let themesClassToRemove = Array.from(_overlay).filter(item => item.includes('-theme'));\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 let themePrime = 'default-prime';\r\n if (this._session.TemaId > 0)\r\n themePrime = `_${this._session.TemaId}-prime`;\r\n else if (localStorage.getItem('at') != null)\r\n themePrime = localStorage.getItem('at').replace('-theme', '-prime');\r\n document.body.classList.add(themePrime);\r\n\r\n if (themesClassToRemove && themesClassToRemove.length > 0) {\r\n for (let themeToRemove of themesClassToRemove) {\r\n _overlay.remove(themeToRemove);\r\n document.body.classList.remove(themeToRemove);\r\n }\r\n }\r\n } else if (this._session.TemaId != null) {\r\n this.setThemeByLoggedCompany();\r\n }\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 var cssFile = document.createElement('link');\r\n cssFile.href = this._plataforma.Config.webapiUrl.replace(/\\/api\\/$/ig, '') + '/layout/temas.css';\r\n cssFile.type = 'text/css';\r\n cssFile.rel = 'stylesheet';\r\n \r\n document.head.appendChild(cssFile);\r\n \r\n if (this._plataforma.Config.style != null){\r\n var cssClient = document.createElement('link');\r\n cssClient.href = '/assets/' + this._plataforma.Config.style + '/style.css';\r\n cssClient.type = 'text/css';\r\n cssClient.rel = 'stylesheet';\r\n document.head.appendChild(cssClient);\r\n }\r\n\r\n if (activeTheme == null || activeTheme == undefined)\r\n activeTheme = `_${this._plataforma.Config.theme}-theme`;\r\n\r\n this._themeService.setTheme(activeTheme || 'default-theme');\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}","<mat-form-field>\r\n <input matInput type=\"text\" [(ngModel)]=\"selectedValue\" [placeholder]=\"placeholder | translate\" [formControl]=\"control\" [matAutocomplete]=\"auto\" \r\n [required]=\"required\" (blur)=\"onBlur($event.target.value)\" (focus)=\"onFocus($event.target.value)\" #inputAuto>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option\" (onSelectionChange)=\"writeValue(option.Id)\" [innerHTML]=\"option.Nome\" >\r\n </mat-option>\r\n </mat-autocomplete>\r\n \r\n <mat-icon matSuffix style=\"color: #aaa\">spellcheck</mat-icon>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { UntypedFormControl, 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 UntypedFormControl();\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 = 500;\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 @Input() notoken: boolean = false;\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)) && !this.loading) {\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 let model = parameters.split(\"&\").map(c => ({ [c.split(\"=\")[0].charAt(0).toUpperCase() + c.split(\"=\")[0].substring(1)]: c.split(\"=\")[1] })).reduce((a,b) => ({...a, ...b}));\r\n return this.notoken ? this._dataAcess.postNoToken(this.api, model, this.method) : this._dataAcess.post(this.api, model, this.method);\r\n }\r\n\r\n return this.notoken ? this._dataAcess.getNoToken(this.api, this.method, parameters) : 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}","<mat-selection-list class=\"col-md-12 mb-3\">\r\n <mat-list-option class=\"silver\" (click)=\"selectAll()\" [selected]=\"getModel().length == 0\" [disabled]=\"readonly\" *ngIf=\"enabledcheckall\">\r\n <label>{{ labelselectall | translate }}</label>\r\n </mat-list-option>\r\n\r\n <mat-list-option *ngFor=\"let item of getModel(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 1 }\" [selected]=\"item.Selecionado\" (click)=\"item.Selecionado = !item.Selecionado\" [disabled]=\"readonly\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n </mat-list-option>\r\n</mat-selection-list>\r\n \r\n<ng-container *ngIf=\"existData()\" >\r\n <mat-form-field class=\"col-md-12 mb-4 input-search\">\r\n <input matInput placeholder=\"{{ message | translate}}\" [name]=\"name\" autocomplete=\"false\" [(ngModel)]=\"value\" autocomplete=\"off\" >\r\n <mat-icon matSuffix >search</mat-icon>\r\n <mat-hint class=\"mt-2\">{{ submessage | translate}}</mat-hint>\r\n </mat-form-field>\r\n \r\n <mat-list class=\"col-md-12\" >\r\n <mat-list-item *ngFor=\"let item of getFilteredData(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" (click)=\"add(item)\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-container>\r\n\r\n<div class=\"col-md-12 none-data\" *ngIf=\"!existData()\" >\r\n <mat-icon>info_outline</mat-icon> {{ 'NenhumItemEncontrado' | translate }}\r\n</div>","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}","<mat-card (click)=\"onCardClick()\">\r\n <mat-card-content>\r\n <h4>{{ label | translate }}</h4>\r\n <p *ngIf=\"description\" [innerHTML]=\"description | translate\"></p>\r\n <mark *ngIf=\"mark\"><small>{{ mark }}</small></mark>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","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}","<mat-card>\r\n <mat-card-content>\r\n <h6 *ngIf=\"label != null\" [innerHTML]=\"label | translate\" ></h6>\r\n <p *ngIf=\"description != null\">{{ description | translate }}</p>\r\n\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let row of menuRows\">\r\n <mat-nav-list [ngClass]=\"colClass\">\r\n <ng-container *ngFor=\"let item of row\">\r\n <mat-list-item *ngIf=\"item.permission\" href=\"#\" [routerLink]=\"item.url\" >\r\n <a title=\"no\" title=\"{{ item.title | translate }}\" md-line>{{ item.title | translate }}</a>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-footer *ngIf=\"icon == null\">\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","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}","<section class=\"info-checkbox-content mat-form-field-margin \" [ngClass]=\"{ 'info-checkbox-min': min }\">\r\n <mat-checkbox [(ngModel)]=\"value\" (change)=\"onChangeValue()\" [disabled]=\"disabled\"><div [innerHtml]=\"placeholder | translate\"></div></mat-checkbox>\r\n</section>","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\";\r\nimport moment from \"moment\";\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 = new Date(1800, 0, 1);\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.dateValue != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n \r\n if (this.maxDate != null && moment(this.dateValue).isAfter(moment(this.maxDate)))\r\n this.dateValue = this.maxDate;\r\n }\r\n\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}","<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker [dateClass]=\"dateclass\" #datepicker></mat-datepicker>\r\n</mat-form-field>","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\";\r\nimport { Moment } from \"moment\";\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 @Input() changeonlyonmonth: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\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 if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n\r\n this.onChange(this.dateValue);\r\n }\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 if (this.changeonlyonmonth)\r\n return;\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}","<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field> ","<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","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 @Input() show = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n _total = 0;\r\n @Input()\r\n get total(){\r\n return this._total;\r\n }\r\n\r\n set total(value){\r\n this._total = value;\r\n this.initialize();\r\n }\r\n\r\n onChange: any;\r\n indexActive = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n this.total = total;\r\n }\r\n\r\n initialize() {\r\n this.pages = [];\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 if (currentInit == null || currentEnd == null) return;\r\n\r\n this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');\r\n }\r\n}","<div class=\"message\" [ngClass]=\"{\r\n 'success-message': color === 'success',\r\n 'info-message': color === 'info',\r\n 'warning-message': color === 'warning',\r\n 'danger-message': color === 'danger',\r\n 'with-close': close,\r\n 'min': min }\" #message>\r\n <ng-content></ng-content>\r\n <a href=\"#\" class=\"close\" *ngIf=\"close\" (click)=\"delete($event, message)\"><i class=\"material-icons\">clear</i></a>\r\n</div>","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}","<h1 mat-dialog-title *ngIf=\"model.title\" [innerHTML]=\"model.title | translate\" ></h1>\r\n\r\n<div mat-dialog-content class=\"mb-3\">\r\n <p *ngIf=\"!model.processingMode\" [innerHTML]=\"model.message | translate\"></p>\r\n <info-message *ngIf=\"model.processingMode\" color=\"danger\">{{ 'A plataforma está efetuando o processamento em segundo plano.<br /> Isto pode levar alguns minutos e assim que concluído, uma notificação será enviada.' | translate}}</info-message>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"buttons\">\r\n <button mat-button (click)=\"onclickAux()\" [color]=\"model.colorAux\" *ngIf=\"model.labelAux\" >{{ model.labelAux | translate }}</button>\r\n <button mat-button (click)=\"onclickOk()\" [color]=\"model.colorOk\" cdkFocusInitial>{{ model.labelOk | translate }}</button>\r\n <button mat-button (click)=\"onclickCancel()\" [color]=\"model.colorCancel\" *ngIf=\"model.labelCancel\" >{{ model.labelCancel | translate }}</button>\r\n</div> ","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 { 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 { createAutoCorrectedDatePipe, emailMask } from 'text-mask-addons';\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 = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n pipe = (value) => value?.toUpperCase();\r\n }\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, Input } 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 @Input('unmask') maskType: string\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n let regex = this.maskType == 'cnpj' ? /[^a-zA-Z0-9]/g : /\\D/g\r\n const newValue = this.elementRef.nativeElement.value.replace(regex, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>","import { Component, forwardRef, Input, OnInit, Output, EventEmitter, Optional, Self, Injector, Directive, ViewChild } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgControl, NG_VALIDATORS, FormControl, Validators, ValidatorFn, AbstractControl, ValidationErrors, Validator } from \"@angular/forms\";\r\nimport { StaticUtils, Utilities } from \"../../utils/utilities\";\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 private control: NgControl\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 = -99999999999999.999999999;\r\n @Input() max: number = 99999999999999.999999999;\r\n @Input() step: number = null;\r\n @Input() validate: boolean = false;\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 errorMessage: string = null;\r\n formControl: AbstractControl = new FormControl();\r\n\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n ngAfterViewInit() {\r\n this.control = this.injector.get(NgControl, null);\r\n if (this.control)\r\n this.formControl = this.control.control; \r\n }\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 validarCampo() {\r\n if (!this.validate)\r\n return;\r\n\r\n this.errorMessage = null;\r\n\r\n if (this.value && this.customMask == 'cnpj' && !StaticUtils.validarCnpj(this.value))\r\n this.errorMessage = 'CNPJInvalido';\r\n else if (this.value && this.customMask == 'cpf' && !StaticUtils.validarCpf(this.value))\r\n this.errorMessage = 'CPFInvalido';\r\n\r\n if (!!this.errorMessage && this.formControl) {\r\n this.formControl.setErrors({invalid: true});\r\n }\r\n }\r\n\r\n onBlur() {\r\n this.validarCampo();\r\n if (this.type == 'number' || (this.ismask != null && this.ismask.startsWith(\"n\"))) {\r\n if (this.min != null)\r\n this.value = this.min > Number(this.value) ? null : this.value;\r\n\r\n if (this.max != null)\r\n this.value = this.max < Number(this.value) ? null : this.value;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n if (this.onblur != null)\r\n this.onblur.emit(this.value);\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}","<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [innerHTML]=\"pagetitle | translate\"></h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>","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\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: 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\tprivate _pageTitle: string;\r\n\tget pagetitle(){\r\n\t\treturn this._pageTitle;\r\n\t}\r\n\r\n\t@Input('pagetitle') set pagetitle(value: string){ \r\n\t\tthis._pageTitle = value.replace(/\\(/g, '<small>(').replace(/\\)/g, ')</small>');\r\n\t}\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}","<info-pagebar *ngIf=\"showPagebar\" icon=\"work\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <!-- <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div> -->\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data; let j = index\" [ngClass]=\"{ 'default-color': !enabledclassicons }\" [class]=\"mod.Class\" (click)=\"access(mod)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td [ngClass]=\"{ 'td-expansivel': mod[col].length > limitcharacters && enabledexpand == true}\" *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\">\r\n <label [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === true\" [innerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || '' \"></label>\r\n <label class=\"break-word\" [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <div *ngIf=\"enabledexpand == true && mod[col].length > limitcharacters\" [ngClass]=\"{'mostrar-mais-expandido': colunasItensExpandidos[j][i] }\" class=\"mostrar-mais\" (click)=\"mostrarMais(j,i)\">\r\n <mat-icon [ngClass]=\"{'icone-expandido': colunasItensExpandidos[j][i] }\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <!-- <button mat-icon-button type=\"button\" [matTooltip]=\"'Visualizar' | translate\" (click)=\"view(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>visibility</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Editar' | translate\" (click)=\"edit(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","<info-modal (onsave)=\"save()\" modaltitle=\"CustomizarTabela\" >\r\n <info-message color=\"warning\" class=\"min\">\r\n <ul>\r\n <li><mat-icon class=\"icon-out\">info</mat-icon>{{ 'CustomizarTabelaDescricao1' | translate }}</li>\r\n <li><mat-icon class=\"icon-out\">dangerous</mat-icon>{{ 'CustomizarTabelaDescricao2' | translate }}</li>\r\n </ul>\r\n \r\n </info-message>\r\n \r\n <ul class=\"listagem\">\r\n <ng-container *ngFor=\"let item of colunas\" >\r\n <li *ngIf=\"item.GridAtual\" >\r\n <info-checkbox [(ngModel)]=\"item.Exibir\" [placeholder]=\"item.Nome\" [name]=\"'chkcoluna' + item.Nome\" ></info-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</info-modal>","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef, Inject } 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 { MAT_DIALOG_DATA, MatDialog, MatDialogRef } 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() enabledcols = true;\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 @Input() enabledexpand = 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 @Input() defaultnewobject: any = null;\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 colunasPadraoHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n colunasTranslate = [];\r\n colunasHtml = [];\r\n colunasItensExpandidos = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n chaveStorage: string = 'cols';\r\n identificador: string = null;\r\n limitcharacters: number = 250;\r\n callTimeout: any;\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 clearTimeout(this.callTimeout);\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.identificador = this.api + '_' + this.method;\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 }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.callTimeout);\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\r\n let colunasOcultas = [];\r\n if (localStorage.getItem(this.chaveStorage) != null){\r\n let dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (dadosStorage.findIndex(c => c.Identificador == this.identificador) > -1){\r\n colunasOcultas = dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n\r\n if (colunasOcultas.length > 0)\r\n colunasOcultas = colunasOcultas.filter(c => !c.Exibir).map(c => c.Nome);\r\n }\r\n }\r\n\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasPadraoHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n this.colunasTranslate = [];\r\n this.colunasHtml = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let translate: boolean = registro.indexOf('#') == -1;\r\n let html: boolean = registro.indexOf('@') == -1;\r\n registro = registro.replace(/#/g, '').replace(/@/g, '');\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 if (colunasOcultas.indexOf(header) < 0) {\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 this.colunasTranslate.push(translate);\r\n this.colunasHtml.push(html);\r\n }\r\n\r\n this.colunasPadraoHeaders.push(header);\r\n });\r\n\r\n if (this.colunasItens.length == 1 && this.colunasWidth.length == 1)\r\n this.colunasWidth[0] = '100%';\r\n }\r\n }\r\n\r\n setItensExpandidos() {\r\n this.colunasItensExpandidos = [];\r\n for (let i = 0; i < this.data?.length; i++) {\r\n let row = [];\r\n for (let j = 0; j < this.colunasItens?.length; j++) {\r\n row.push(false);\r\n }\r\n this.colunasItensExpandidos.push(row);\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 this.messages = [];\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 var dataInicial = this.searchmodel[\"DataInicial\"];\r\n var dataFinal = this.searchmodel[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n var dataInicio = this.searchmodel[\"DataInicio\"];\r\n var dataFim = this.searchmodel[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n this.hideLoad();\r\n return;\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 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 clearTimeout(this.callTimeout);\r\n this.callTimeout = setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n }\r\n \r\n this.fillIcons();\r\n this.setItensExpandidos();\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, this.defaultnewobject);\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 mostrarMais(linha, coluna) {\r\n this.colunasItensExpandidos[linha][coluna] = !this.colunasItensExpandidos[linha][coluna] \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 customizeTable(){\r\n this._prop.set(InfoPageAction.Edit, { \r\n Identificador: this.identificador, \r\n Colunas: this.colunasPadraoHeaders, \r\n Chave: this.chaveStorage \r\n });\r\n\r\n this._prop.modalAction = InfoModalAction.None;\r\n let ref = this.modal.open(InfoGridModalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: '500px'\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.setColumns();\r\n this.getData();\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 this._prop.modalAction = InfoModalAction.None;\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.loading = true;\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 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}\r\n\r\n@Component({\r\n templateUrl: 'grid.modal.html',\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridModalComponent {\r\n\r\n identificador: string;\r\n chaveStorage: string;\r\n colunas: any = [];\r\n dadosStorage: any = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public _prop: InfoFormPropModel, private _ref: MatDialogRef<InfoGridModalComponent>, private _modal: MatDialog){\r\n }\r\n\r\n ngOnInit(){\r\n this.identificador = this._prop.data.Identificador;\r\n this.chaveStorage = this._prop.data.Chave;\r\n\r\n let colunasGrid = this._prop.data.Colunas.map(c => { return { Nome: c, Exibir: true, GridAtual: true }; });\r\n\r\n if (localStorage.getItem(this.chaveStorage) == null)\r\n localStorage.setItem(this.chaveStorage, JSON.stringify([]));\r\n\r\n this.dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (this.dadosStorage.findIndex(c => c.Identificador == this.identificador) < 0)\r\n this.dadosStorage.push({ Identificador: this.identificador, Colunas: colunasGrid });\r\n\r\n let colunasGeral = this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n \r\n //Adiciona possíveis novas colunas\r\n colunasGrid.filter(g => colunasGeral.map(c => c.Nome).indexOf(g.Nome) < 0).forEach(novaColuna => {\r\n colunasGeral.push(novaColuna);\r\n });\r\n\r\n //Exibe apenas as colunas presentes no grid atual\r\n this.colunas = colunasGeral.map(c => ({ ...c, GridAtual: colunasGrid.findIndex(g => g.Nome == c.Nome) > -1 }));\r\n }\r\n\r\n save(){\r\n this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas = this.colunas;\r\n localStorage.setItem(this.chaveStorage, JSON.stringify(this.dadosStorage));\r\n \r\n this._prop.modalAction = InfoModalAction.Save;\r\n this._ref.close(this._prop);\r\n }\r\n}","<div class=\"row\" *ngIf=\"!disabled\" >\r\n <info-input placeholder=\"{{ 'De' | translate}} {{ percent ? '%' : '' }}\" name=\"De\" [(ngModel)]=\"novoValor.De\" *ngIf=\"!hiddenDe\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Ate' | translate}} {{ percent ? '%' : '' }}\" name=\"Ate\" [(ngModel)]=\"novoValor.Ate\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Valor' | translate}} {{ percent ? '%' : '' }}\" name=\"Valor\" [(ngModel)]=\"novoValor.Valor\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <div class=\"col-md-3\">\r\n <button mat-button type=\"button\" color=\"primary\" (click)=\"add()\" class=\"mt-2\" ><mat-icon class=\"fs-20\">add_circle_outline</mat-icon> {{ 'AddValor' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-md-12\" *ngIf=\"model == null || getModel().length == 0\" ><mat-icon style=\"top: 6px;\" class=\"mr-2\">info_outline</mat-icon> {{ 'UtilizeCamposAcimaAdicionarItens' | translate }}</div>\r\n\r\n<ul *ngIf=\"model != null\" id=\"list-values\" >\r\n<li class=\"row header\" *ngIf=\"disabled\">\r\n <label class=\"col-md-3\" *ngIf=\"!hiddenDe\" >{{ 'De' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Ate' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Valor' | translate }}</label>\r\n</li>\r\n\r\n<li *ngFor=\"let item of getModel(); let i = index\" class=\"row\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" >\r\n <div class=\"col-md-3\" *ngIf=\"!hiddenDe\" >\r\n <info-input name=\"ListaValorDe\" [ngModel]=\"item.De\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorAte\" [ngModel]=\"item.Ate\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorValor\" [ngModel]=\"item.Valor\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <ng-container *ngIf=\"!disabled\">\r\n <!-- <button type=\"button\" matTooltip=\"{{ 'OrdernarAcima' | translate }}\" mat-icon-button [disabled]=\"item.Indice <= 0\" (click)=\"alterarIndice(item, item.Indice - 1)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button type=\"button\" matTooltip=\"{{ 'OrdernarAbaixo' | translate }}\" mat-icon-button [disabled]=\"item.Indice >= (model.length - 1)\" (click)=\"alterarIndice(item, item.Indice + 1)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button> -->\r\n <button type=\"button\" color=\"warn\" matTooltip=\"{{ 'Excluir' | translate }}\" mat-icon-button (click)=\"remover(item)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n</li>\r\n</ul>\r\n\r\n\r\n<info-alert [messages]=\"messages\"></info-alert>","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 mask: string = \"n2\";\r\n @Input() \r\n get ismask() {\r\n return this.mask;\r\n }\r\n\r\n set ismask(value) {\r\n this.mask = (value == null ? this.mask : value);\r\n }\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}","<div class=\"row\">\r\n <div [ngClass]=\"{'col-md-6': !onelist, 'col-md-12': onelist}\" class=\"pr-0\">\r\n <mat-form-field class=\"col-md-12\" >\r\n <input matInput placeholder=\"{{ filterlabel | translate}}\" name=\"FilterList\" [(ngModel)]=\"filterList\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ filterdescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterList, true)\">{{'MarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(true)\">{{'MarcarTodos' | translate}}</a>\r\n <a (click)=\"marcarFiltrados(filterList, false)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterList)\" [(value)]=\"item.Id\">\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n\r\n <div class=\"col-md-6 pr-0\" *ngIf=\"!onelist\">\r\n <mat-form-field class=\"col-md-12\">\r\n <input matInput placeholder=\"{{ selectedlabel | translate}}\" name=\"FilterSelected\" [(ngModel)]=\"filterSelected\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ selecteddescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterSelected, false, true)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterSelected, true)\" [(value)]=\"item.Id\" >\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [indeterminate]=\"true\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n</div>","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, todos = false): any[] {\r\n if (todos || 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, true).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}","<mat-form-field>\r\n <mat-select [placeholder]=\"placeholder | translate\" [(ngModel)]=\"selectedValue\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\">\r\n <mat-option *ngIf=\"blank\" [value]=\"blankItem.Id\">{{ blankItem.Nome | translate }}</mat-option>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\" [innerHTML]=\"i.Nome | translate:(notranslate===null)\"></mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","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 @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n translatValue: boolean = true;\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 let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n\r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if (this.selectedValue) this.onChangeValue();\r\n }\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}","<span class=\"line\"></span>\r\n\r\n<div class=\"timeline-box\">\r\n <div class=\"box-label\" *ngIf=\"label != ''\">\r\n <div class=\"label-text\">{{label}}</div>\r\n </div>\r\n\r\n <div class=\"box-items\">\r\n <div class=\"item\" *ngFor=\"let item of data\">\r\n <div class=\"item-point\" [ngStyle]=\"{ 'border-color': item.PointColor }\"></div>\r\n <div class=\"item-content\">\r\n <h2 *ngIf=\"item.Title\">{{item.Title}}</h2>\r\n <p [innerHTML]=\"item.Content | translate\"></p>\r\n <h3 *ngIf=\"item.Date\">{{ item.Date }} às {{ item.Hour }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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 @Input() enabledhtmlmode: boolean = false;\r\n @Input() sanitize: boolean = true;\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 sanitize: false,\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 if (this.sanitize)\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.sanitize ? this._sanitizer.sanitize(SecurityContext.HTML, modelValue) : 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}","<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [attr.htmlmode]=\"enabledhtmlmode\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n","<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate:(notranslate===null)\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","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 @Input() notranslate: any = null;\r\n @Input() notoken: boolean = 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 let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n \r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if ((this.selectedValues || []).length > 0) this.onChangeValue();\r\n }\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}","<mat-form-field>\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let item of values; let i = index\" [removable]=\"!disabled\" (removed)=\"remove(i)\">\r\n {{item}}\r\n <mat-icon matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"placeholder | translate\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"onBlur()\">\r\n </mat-chip-list>\r\n </mat-form-field>","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}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-navbar\">\r\n <a class=\"logo\" >\r\n <i class=\"logo-img\"></i>\r\n <i class=\"logo-img-resp\"></i>\r\n </a>\r\n \r\n <div class=\"nav-items\">\r\n <div class=\"nav-item usuario-logado\" [class.separador]=\"_session.Empresas.length > 1 || _session.Unidades\">\r\n <dl (click)=\"navigate(profileurl)\">\r\n <dt>{{ _session.Perfil }}</dt>\r\n <dd>{{ _session.Usuario }}</dd>\r\n </dl>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Empresas.length > 1\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <dl (click)=\"open('empresa')\">\r\n <dt>{{ 'Empresa' | translate }}</dt>\r\n <dd>{{ _session.Empresa }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Empresas' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Unidade\" [ngClass]=\"{ 'opened' : topMenu.unidade }\">\r\n <dl (click)=\"open('unidade')\">\r\n <dt>{{ 'Unidade' | translate }}</dt>\r\n <dd>{{ _session.Unidade }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Unidades' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let unity of _session.Unidades\" >\r\n <a (click)=\"setUnity(unity); divModal.click();\">{{ unity.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-infoia\" [ngClass]=\"{ 'opened': topMenu.infoia }\" *ngIf=\"enabledia\">\r\n <button mat-icon-button (click)=\"open('infoia')\" [matTooltip]=\"'Info IA' | translate\">\r\n <label>{{ 'InfoIA' | translate }}</label>\r\n <mat-icon>diversity_2</mat-icon>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita infoia\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'InfoIA' | translate }}</h4>\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita\" >\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Notificacoes' | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n \r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <dl>\r\n <dt>{{ 'Dia' | translate }} {{ item.Date }}</dt>\r\n <dd [innerHtml]=\"item.Description | translate\"></dd>\r\n </dl>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"nav-item\">\r\n <button mat-icon-button (click)=\"alternarModo()\" [matTooltip]=\"'AlternarModo' | translate\"><mat-icon>brightness_6</mat-icon></button>\r\n </div> -->\r\n \r\n <div class=\"nav-item selecao-tema\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Temas' | translate }}</h4>\r\n \r\n <ul class=\"temas\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"_platform.Config.enabledPrime\">\r\n <button mat-icon-button [matTooltip]=\"(_platform.ModoPrime ? 'ModoPadrao' : 'Prime') | translate\" (click)=\"toggleMode()\"><mat-icon>brightness_6</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"nav-item selecao-idioma\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Idiomas' | translate }}</h4>\r\n \r\n <ul class=\"idiomas\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n \r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-navbar\">\r\n <div class=\"sessao-clone text-lightgray\" *ngIf=\"_session.Clone\">\r\n <div><label>({{ 'ModoClone' | translate }})</label></div>\r\n </div>\r\n\r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n\r\n <h1 id=\"page-title\" class=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon> {{ _platform.PaginaAtiva.Titulo | translate }}\r\n </h1>\r\n\r\n <div class=\"nav-items\">\r\n <div class=\"nav-item user-profile\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <button mat-button (click)=\"open('empresa')\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <div class=\"name\">\r\n <label>{{ \"Empresa\" | translate }}</label>\r\n <span>{{ _session.Empresa }}</span>\r\n </div>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Empresa' | translate }}</h4>\r\n\r\n <ul class=\"company\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Notificacoes' | translate }}</h4>\r\n\r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications_off</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n\r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <mat-icon>{{ item.Icon }}</mat-icon>\r\n <div class=\"content\">\r\n <span class=\"desc\" [innerHtml]=\"item.Description | translate\"></span>\r\n <span class=\"date\">{{ item.Date }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Idioma' | translate }}</h4>\r\n <ul class=\"languages\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Temas' | translate }}</h4>\r\n <ul class=\"themes\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"profileurl != ''\">\r\n <button mat-icon-button [matTooltip]=\"'MeuPerfil' | translate\" [routerLink]=\"profileurl\"><mat-icon>person</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<section class=\"loading-bar\" *ngIf=\"loading\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar></section>\r\n<div class=\"block\" *ngIf=\"loading\"></div>","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\nimport { Utilities } from '../../utils/utilities';\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 @Input() enabledia: 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 unidade: false,\r\n infoia: 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, \r\n private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, \r\n private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, \r\n public _platform: InfoPlatformModel, \r\n private _modal: MatDialog,\r\n private _renderer: Renderer2, \r\n public _element: ElementRef, \r\n private _utilities: Utilities) { }\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.Unidades || [])[0] || {}).TemaId || company.TemaId;\r\n this._session.Unidades = company.Unidades;\r\n this._session.UnidadeId = ((company.Unidades || []) || {}).Id;\r\n this._session.Unidade = ((company.Unidades || []) || {}).Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n \r\n if ((company.Unidades || []).length > 0) {\r\n this.setUnity(company.Unidades[0]);\r\n } else 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 setUnity(unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, this._session.EmpresaId, unity.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.TemaId = unity.TemaId ?? this._session.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(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 setCompanyUnity(company, unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, company.Id, unity.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.Unidades = company.Unidades;\r\n this._session.TemaId = unity.TemaId ?? company.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(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 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.unidade = achtiveMenu == 'unidade';\r\n this.topMenu.infoia = achtiveMenu == 'infoia';\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.unidade = false;\r\n this.topMenu.infoia = 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}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-sidebar\" [ngClass]=\"{ 'opened': openSubmenu }\" >\r\n <nav>\r\n <div class=\"main-menu\">\r\n <a id=\"menu-min-icon\" (click)=\"toggleSidebar()\">\r\n <mat-icon [ngClass]=\"{ 'min': _platform.MenuMin }\">menu</mat-icon>\r\n </a>\r\n\r\n <ul *ngIf=\"menu\">\r\n \r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n \r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\">{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a class=\"item-link\" (click)=\"toggleSubmenu(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\" >{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <div class=\"sub-menu\">\r\n <h4>{{ m.Title | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n <div class=\"sub-menu-overlay\" (click)=\"openSubmenu = ''\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-sidebar\">\r\n\r\n <div class=\"logo\">\r\n <a href=\"/\" >\r\n <i class=\"logo-img\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"info\">\r\n <span>{{ _session.Usuario }}</span>\r\n <small>{{ _session.Perfil }}</small>\r\n </div>\r\n\r\n <nav>\r\n <div class=\"main-menu\">\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n <ul *ngIf=\"menu\">\r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'has-sub': m.Sub != null, 'active': m.Active, 'menu-item-group': m.Group, 'disabled': !m.Enabled }\">\r\n \r\n <!-- Grupos -->\r\n <span class=\"group-title\" *ngIf=\"m.Group\">{{ m.Title }} </span>\r\n \r\n <!-- Itens -->\r\n <a href=\"#\" [routerLink]=\"m.Routing\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && m.Enabled\" (click)=\"toggle($event, m);resetLastSearch();\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n </a>\r\n \r\n <a class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && !m.Enabled\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }} \r\n </a>\r\n \r\n <!-- Item com submenu -->\r\n <a href=\"#\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub != null\" (click)=\"toggle($event, m)\">\r\n <mat-icon class=\"icon\">{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n <i class=\"caret fa fa-angle-right\" *ngIf=\"m.Sub\"></i>\r\n </a>\r\n \r\n <!-- Sub Menu -->\r\n <ul class=\"sub\" *ngIf=\"!m.Group && m.Sub != null\">\r\n <li class=\"menu-item\" *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"resetLastSearch()\" class=\"item-link\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"sidebar-overlay\"></div>","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, public _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}","<nav>\r\n <ul *ngIf=\"menu\">\r\n <li *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" (click)=\"access(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a (click)=\"toggleSubmenu(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <div class=\"sub-menu\">\r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n</nav>","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}","<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar #sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\" *ngIf=\"ready\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>","import { Component, ElementRef, EventEmitter, HostListener, 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\nimport { InfoSidebarComponent } from \"../sidebar/sidebar.component\";\r\nimport { Utilities } from \"../../utils/utilities\";\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 @Input() enabledia: boolean = false;\r\n private _themes: any = [];\r\n\r\n protected ready: boolean = false;\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 @ViewChild('sidebar') sidebar: InfoSidebarComponent;\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 private _utilities: Utilities) { }\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._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (this._utilities.getLocalStorage(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 @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) { \r\n if (this.opened &&\r\n !this.sidebar._element.nativeElement.contains(targetElement) &&\r\n !this.topbar._element.nativeElement.contains(targetElement))\r\n this.onChangeSideBarState();\r\n }\r\n\r\n getLoggedUser() {\r\n var cSession = this._utilities.getLocalStorage(this._platform.SessionKey);\r\n if (cSession != null)\r\n Object.assign(this._session, JSON.parse(cSession));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null) {\r\n this.ready = true;\r\n return;\r\n }\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.UnidadeId = r.data.UnidadeId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.Unidade = r.data.Unidade;\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.DataMovimentacao = r.data.DataMovimentacao;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Unidades = r.data.Unidades;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.MFA = r.data.MFA;\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 this.ready = true;\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, 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 { 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\nimport { Utilities } from './utils/utilities';\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, InfoGridModalComponent } 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 imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatListModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatProgressBarModule,\r\n MatAutocompleteModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n CurrencyMaskModule,\r\n AngularEditorModule,\r\n MatChipsModule,\r\n ],\r\n declarations: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoMaskDirective,\r\n InfoUnmaskDirective,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n AtalhoModalComponent,\r\n RefreshSessionTimeModalComponent,\r\n ],\r\n exports: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n providers: [\r\n Utilities\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.InfoPlatformModel","i1.InfoTranslateService","i2","i3.InfoPlatformModel","i4.Utilities","_c1","_c0","i1","i3.InfoSessionModel","i4.InfoPlatformModel","i5.InfoDataService","i6","i7.Utilities","i8.InfoTranslateService","i2.InfoPlatformModel","i3.InfoThemeService","i1.InfoDataService","_c2","i3.InfoDataService","i4.InfoTranslateService","i5.InfoPlatformModel","_c4","_c3","i1.InfoDialogModal","i3","i4.InfoFormPropModel","i7.InfoAuthenticationService","i9.InfoLastSearchModel","i2.InfoAuthenticationService","i4.InfoThemeService","i5","i6.InfoDialogModal","i7.InfoSessionModel","i8.InfoPlatformModel","i9","i10.Utilities","i4.InfoSessionModel","i6.InfoLastSearchModel","i7","i3.InfoLastSearchModel","i4","i5.InfoSessionModel","i6.InfoPlatformModel","i2.InfoSessionModel","i4.InfoDataService","i5.InfoThemeService","i6.Utilities"],"mappings":"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"}
1
+ {"version":3,"file":"info-library.mjs","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/utils/utilities.ts","../../../projects/info-library/src/service/data.service.ts","../../../projects/info-library/src/controls/alert/alert.component.ts","../../../projects/info-library/src/layouts/modal/modal.component.html","../../../projects/info-library/src/layouts/modal/modal.component.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/autocomplete/autocomplete.component.html","../../../projects/info-library/src/controls/autocomplete/autocomplete.component.ts","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.html","../../../projects/info-library/src/controls/big-checkbox/big-checkbox.component.ts","../../../projects/info-library/src/controls/card/card.component.html","../../../projects/info-library/src/controls/card/card.component.ts","../../../projects/info-library/src/controls/card-menu/card-menu.component.html","../../../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/checkbox/checkbox.component.html","../../../projects/info-library/src/controls/date/date.component.ts","../../../projects/info-library/src/controls/date/date.component.html","../../../projects/info-library/src/controls/date-month/date-month.component.ts","../../../projects/info-library/src/controls/date-month/date-month.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.html","../../../projects/info-library/src/controls/paginator/paginator.component.ts","../../../projects/info-library/src/controls/message/message.component.html","../../../projects/info-library/src/controls/message/message.component.ts","../../../projects/info-library/src/layouts/dialog/dialog.component.html","../../../projects/info-library/src/layouts/dialog/dialog.component.ts","../../../projects/info-library/src/directives/mask.directive.ts","../../../projects/info-library/src/directives/unmask.directive.ts","../../../projects/info-library/src/controls/input/input.component.html","../../../projects/info-library/src/controls/input/input.component.ts","../../../projects/info-library/src/layouts/pagebar/pagebar.component.html","../../../projects/info-library/src/layouts/pagebar/pagebar.component.ts","../../../projects/info-library/src/controls/grid/grid.component.html","../../../projects/info-library/src/controls/grid/grid.modal.html","../../../projects/info-library/src/controls/grid/grid.component.ts","../../../projects/info-library/src/controls/input-list/input-list.component.html","../../../projects/info-library/src/controls/input-list/input-list.component.ts","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.html","../../../projects/info-library/src/controls/list-checkbox/list-checkbox.component.ts","../../../projects/info-library/src/controls/select/select.component.html","../../../projects/info-library/src/controls/select/select.component.ts","../../../projects/info-library/src/controls/timeline/timeline.component.html","../../../projects/info-library/src/controls/timeline/timeline.component.ts","../../../projects/info-library/src/controls/editor/editor.component.ts","../../../projects/info-library/src/controls/editor/editor.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.html","../../../projects/info-library/src/controls/multi-select/multi-select.component.ts","../../../projects/info-library/src/controls/chips/chips.component.html","../../../projects/info-library/src/controls/chips/chips.component.ts","../../../projects/info-library/src/layouts/topbar/topbar.component.html","../../../projects/info-library/src/layouts/topbar/topbar.component.ts","../../../projects/info-library/src/layouts/sidebar/sidebar.component.html","../../../projects/info-library/src/layouts/sidebar/sidebar.component.ts","../../../projects/info-library/src/layouts/topmenu/topmenu.component.html","../../../projects/info-library/src/layouts/topmenu/topmenu.component.ts","../../../projects/info-library/src/layouts/main/main.component.html","../../../projects/info-library/src/layouts/main/main.component.ts","../../../projects/info-library/src/layouts/loading/loading.component.ts","../../../projects/info-library/src/info-library.module.ts","../../../projects/info-library/src/info-library.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 style: string = '';\r\n topMenu: boolean = false;\r\n enabledPrime: boolean = false;\r\n title: string = '';\r\n headers: any = [];\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.length == 0)\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 = 'tk';\r\n SessionKey: string = 'ss';\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 PaginaLimpa: 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 UnidadeId: number;\r\n TemaId: number;\r\n Empresa: string;\r\n Unidade: string;\r\n UltimoAcesso: Date;\r\n Master: boolean;\r\n Versao: string;\r\n Clone: boolean;\r\n DataMovimentacao: Date;\r\n OcultarNomeCliente: boolean;\r\n Permissoes: InfoPermissionModel[] = [];\r\n Empresas: any[] = [];\r\n Unidades: any[] = [];\r\n Parametros: any[] = null;\r\n MFA: boolean;\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 = sessionStorage.getItem(this._key) || 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 sessionStorage.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 translation = (this._translations[this.currentLang].Values[this._plataforma.Config.dictionary] || {})[key] || this._translations[this.currentLang].Values[key];\r\n if (typeof translation != 'string')\r\n translation = 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 if (args === false)\r\n return value;\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 let upperCase = true;\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 = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n else {\r\n mask = Array.from(args).map(c => c == '0' ? /\\d/ : c);\r\n upperCase = false;\r\n }\r\n\r\n let maskedValue = conformToMask(value, mask, {guide: false}).conformedValue;\r\n \r\n return upperCase ? maskedValue.toUpperCase : maskedValue;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport * as CryptoJS from 'crypto-js';\r\n\r\n@Injectable()\r\nexport class Utilities {\r\n 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 getGuidEmpty() : string {\r\n return '00000000-0000-0000-0000-000000000000';\r\n }\r\n\r\n 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 base64ToArrayBuffer(base64): any {\r\n var binaryString = window.atob(base64);\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 return bytes;\r\n }\r\n\r\n openOrDownload(title, blob) {\r\n let fileURL = URL.createObjectURL(blob);\r\n \r\n if (title.indexOf(\"pdf\") > -1)\r\n window.open(fileURL, title);\r\n else {\r\n let elementA: HTMLAnchorElement = document.createElement('a') as HTMLAnchorElement;\r\n elementA.href = fileURL;\r\n elementA.download = title;\r\n document.body.appendChild(elementA);\r\n elementA.click(); \r\n document.body.removeChild(elementA);\r\n }\r\n }\r\n\r\n removerAcentos(val: string) : string {\r\n if (val == null)\r\n return '';\r\n var normalizeFunction = String.prototype.normalize ? (str) => str.normalize('NFD') : (str) => str;\r\n return normalizeFunction(val).replace(/[\\u0300-\\u036f]/g, \"\")\r\n }\r\n\r\n getFormatos(): any[] {\r\n return [ { Id: \"EXCEL\", Nome: \"Excel\", MimeType: \"application/vnd.ms-excel\", Extensao: \"xls\" },\r\n { Id: \"PDF\", Nome: \"PDF\", MimeType: \"application/pdf\", Extensao: \"pdf\" } ];\r\n }\r\n\r\n getFormatosExcel(): any[] {\r\n return [ { Id: 'PP', Nome: 'Excel Português com Separador Decimal [.]' },\r\n { Id: 'PV', Nome: 'Excel Português com Separador Decimal [,]' },\r\n { Id: 'IP', Nome: 'Excel Inglês com Separador Decimal [.]' },\r\n { Id: 'IV', Nome: 'Excel Inglês com Separador Decimal [,]' } ];\r\n }\r\n\r\n getStatus(): any[] {\r\n return [ { Id: \"A\", Nome: \"Ativo\" },\r\n { Id: \"P\", Nome: \"Pendente\" } ];\r\n }\r\n\r\n getStatusCompleto(): any[] {\r\n return [ { Id: \"C\", Nome: \"Cadastrado\", Selecionado: true },\r\n { Id: \"F\", Nome: \"Feito\", Selecionado: false },\r\n { Id: \"O\", Nome: \"Conferido\", Selecionado: true },\r\n { Id: \"R\", Nome: \"Rejeitado\", Selecionado: false },\r\n { Id: \"I\", Nome: \"Inativo\", Selecionado: false } ];\r\n }\r\n\r\n getStatusProcessamento(): any[] {\r\n return [ { Id: \"A\", Nome: \"AguardandoProcessamento\" },\r\n { Id: \"E\", Nome: \"EmProcessamento\" },\r\n { Id: \"P\", Nome: \"Processado\" },\r\n { Id: \"I\", Nome: \"Inativo\" },\r\n { Id: \"Z\", Nome: \"Erro\" } ];\r\n }\r\n\r\n getFormatoIdiomas(): any[] {\r\n return [ { Id: \"en\", Nome: \"English\" },\r\n { Id: \"pt-BR\", Nome: \"Português\" } ];\r\n }\r\n\r\n getGeneros(): any[] {\r\n return [ { Id: 'M', Nome: 'Masculino' },\r\n { Id: 'F', Nome: 'Feminino' } ];\r\n }\r\n\r\n getTiposEvidencia(): any[] {\r\n return [ { Id: 1, Nome: 'Telefone'},\r\n { Id: 2, Nome: 'Email'},\r\n {Id: 3, Nome: 'Documento'} ];\r\n }\r\n\r\n getOrdens(): any[] {\r\n return [ {Id: \"nome-asc\", Nome: \"NomeCrescente\"},\r\n {Id: \"nome-desc\", Nome: \"NomeDecrescente\"},\r\n {Id: \"valor-asc\", Nome: \"ValorCrescente\"},\r\n {Id: \"valor-desc\", Nome: \"ValorDecrescente\"} ];\r\n }\r\n\r\n validarEmail(form, value, control) {\r\n if (!value)\r\n return;\r\n \r\n let pattern = /^([a-zA-Z0-9_\\-\\.]+)@([a-zA-Z0-9_\\-\\.]+)\\.([a-zA-Z]{2,5})$/;\r\n let emails: string[] = value.split(';');\r\n let invalido = emails.some(email => email && !pattern.test(email.trim()));\r\n\r\n if (invalido)\r\n form.form.controls[control].setErrors( { 'invalid': true } );\r\n }\r\n\r\n setLocalStorage(key: string, value: any) {\r\n localStorage.setItem(key, this.criptografar(value));\r\n }\r\n\r\n getLocalStorage(key: string): any {\r\n var data = this.descriptografar(localStorage.getItem(key));\r\n if (data == null || data == '') return null;\r\n return data;\r\n }\r\n\r\n isIE() {\r\n var userAgent = navigator.userAgent;\r\n return userAgent.indexOf(\"MSIE \") > -1 || userAgent.indexOf(\"Trident/\") > -1;\r\n }\r\n\r\n retornaTexto(texto) {\r\n var div = document.createElement(\"div\")\r\n div.innerHTML = texto;\r\n return div.innerText || div.textContent;\r\n }\r\n\r\n criptografar(texto) {\r\n try {\r\n return CryptoJS.AES.encrypt(texto, \"GKxLtQg2at\").toString();\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n \r\n descriptografar(texto) {\r\n try {\r\n return CryptoJS.AES.decrypt(texto, \"GKxLtQg2at\").toString(CryptoJS.enc.Utf8);\r\n } catch (e) {\r\n return null;\r\n }\r\n }\r\n\r\n \r\n}\r\n\r\nexport abstract class StaticUtils {\r\n \r\n static validarCnpj(cnpj: string): boolean {\r\n const cnpjOriginal = (cnpj || '');\r\n cnpj = cnpjOriginal.toUpperCase().slice(0, 12);\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n cnpj = cnpj + this.getDigito(this.getSomaCnpj(cnpj));\r\n \r\n return cnpjOriginal == cnpj;\r\n }\r\n\r\n static validarCpf(cpf: string) {\r\n const cpfOriginal = (cpf || '');\r\n cpf = cpfOriginal.toUpperCase().slice(0, 9);\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n cpf = cpf + this.getDigito(this.getSomaCpf(cpf));\r\n\r\n return cpfOriginal == cpf;\r\n }\r\n \r\n private static getDigito(soma: number) {\r\n return (soma % 11) <= 1 ? 0 : (11 - (soma % 11));\r\n }\r\n \r\n private static getSomaCnpj(cnpj: string) {\r\n const peso = [6, 5, 4, 3, 2, 9, 8, 7, 6, 5, 4, 3, 2];\r\n if (cnpj.length == 12) peso.shift();\r\n \r\n return Array.from(cnpj)\r\n .map((c, i) => (isNaN(Number(c)) ? c.charCodeAt(0) - 48 : Number(c)) * peso[i])\r\n .reduce((a, b) => a + b, 0);\r\n }\r\n\r\n private static getSomaCpf(cpf: string) {\r\n const fator = cpf.length == 9 ? 10 : 11;\r\n return Array.from(cpf).map((c, i) => Number(c) * (fator - i)).reduce((a, b) => a + b, 0);\r\n }\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\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoDataService {\r\n\r\n private token: string;\r\n\r\n constructor(@Inject(APICONTROLLER_CONFIG) private _apiController: any, \r\n private _http: HttpClient, \r\n private _router: Router, \r\n private _plataforma: InfoPlatformModel, \r\n private _utilities: Utilities) { }\r\n\r\n public getToken(): string {\r\n this.token = this._utilities.getLocalStorage(this._plataforma.TokenKey);\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 getHeaderDefault(): HttpHeaders {\r\n let headers = new HttpHeaders();\r\n if (this._plataforma.Config.headers != null)\r\n this._plataforma.Config.headers.forEach(item => headers = headers.set(item.key, item.value)); \r\n return headers;\r\n }\r\n\r\n public getHeaderToken(): HttpHeaders {\r\n return this.getHeaderDefault().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 || '').toLowerCase() + (param == null ? '' : ('?' + param.replace(/null/g, '').replace(/undefined/g, ''))), { headers: this.getHeaderDefault() })\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 || '').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, { headers: this.getHeaderDefault() })\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 || '').toLowerCase(), 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 || '').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 || '').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 || '').toLowerCase() + (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, 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}","<h2 mat-dialog-title >\r\n <label [innerHTML]=\"modaltitle | translate\"></label>\r\n <mat-icon class=\"close-icon\" (click)=\"close()\" *ngIf=\"showcloseicon\" >close</mat-icon>\r\n\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n</h2>\r\n\r\n<mat-dialog-content class=\"info-modal-content\">\r\n <ng-content></ng-content>\r\n</mat-dialog-content>\r\n\r\n<mat-dialog-actions>\r\n <ng-content select=\"[buttons]\"></ng-content>\r\n <div *ngIf=\"(labelclose != '' && readonly) || (labelcancel != '' && !readonly) || (labelsubmit != '' && !readonly)\" class=\"ml-5\">\r\n <button mat-button *ngIf=\"labelclose != '' && readonly\" type=\"button\" (click)=\"close()\" [disabled]=\"loading\">{{ labelclose | translate }}</button>\r\n <button mat-button *ngIf=\"labelcancel != '' && !readonly\" type=\"button\" (click)=\"close()\" color=\"warn\" [disabled]=\"loading\">{{ labelcancel | translate }}</button>\r\n <button mat-button *ngIf=\"labelsubmit != '' && !readonly\" type=\"button\" [disabled]=\"loading || (form != null && !form.form.valid)\" (click)=\"submit()\" >{{ labelsubmit | translate }}</button>\r\n </div> \r\n</mat-dialog-actions>\r\n\r\n<div class=\"block\" *ngIf=\"loading && loadingblock\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","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 this._ref.keydownEvents().subscribe((r) => {\r\n if (r.ctrlKey && r.key == \"Enter\" && !(this.loading || (this.form != null && !this.form.form.valid)) && this.labelsubmit != '' && !this.readonly)\r\n this.submit();\r\n });\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 var dataInicial = this.model[\"DataInicial\"];\r\n var dataFinal = this.model[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n return;\r\n }\r\n\r\n var dataInicio = this.model[\"DataInicio\"];\r\n var dataFim = this.model[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n return;\r\n }\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, 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\nimport { Title } from '@angular/platform-browser';\r\nimport { InfoTranslateService } from '../service/translate.service';\r\nimport { Utilities } from '../utils/utilities';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class InfoAuthenticationService implements CanActivate {\r\n private _sessionTimeInterval;\r\n private _sessionActive: boolean = true;\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 private _utilities: Utilities, \r\n private _translate: InfoTranslateService, \r\n private _title: Title) { }\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() || !this._sessionActive) {\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 setTimeout(() => {\r\n this.refreshSessionTime(); \r\n }, 1000);\r\n\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 (this._utilities.getLocalStorage(this._plataforma.TokenKey) != null);\r\n }\r\n\r\n\trefreshSessionTime() {\r\n if (!this._sessionActive)\r\n return;\r\n\r\n clearInterval(this._sessionTimeInterval);\r\n\r\n if (this._sessao.TempoInatividade == null || this._sessao.TempoInatividade <= 0)\r\n return;\r\n \r\n let tempoSessao = this._sessao.TempoInatividade;\r\n localStorage.setItem('ms', new Date().valueOf().toString());\r\n \r\n this._sessionTimeInterval = setInterval(() => {\r\n\r\n if (tempoSessao > 0) {\r\n tempoSessao--;\r\n return;\r\n }\r\n \r\n let tempoRestante = Math.round(this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000));\r\n\r\n if (!isNaN(tempoRestante) && tempoRestante > 0){\r\n tempoSessao = tempoRestante;\r\n return;\r\n }\r\n \r\n clearInterval(this._sessionTimeInterval);\r\n this._sessionActive = false;\r\n\r\n if (isNaN(tempoRestante))\r\n this.logout();\r\n \r\n else this.showMessage();\r\n }, 1000);\r\n\t}\r\n\r\n showMessage(){\r\n let ref = this._modal.open(RefreshSessionTimeModalComponent, {\r\n data: null,\r\n disableClose: true,\r\n width: '500px'\r\n });\r\n\r\n ref.afterClosed().subscribe((r: InfoFormPropModel) => {\r\n\r\n if (r != null && (r.modalAction == InfoModalAction.Yes || (this._sessao.TempoInatividade - ((new Date().valueOf() - parseInt(localStorage.getItem('ms'))) / 1000)) > 0)){\r\n this._sessionActive = true;\r\n this.refreshSessionTime();\r\n }\r\n\r\n else this.logout();\r\n });\r\n }\r\n\r\n login(usuario: string, senha: string, reCaptchaToken: string = null, codigo2FA: 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, Codigo2FA: codigo2FA }, { headers: this._dataService.getHeaderDefault() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 trocarUnidade(usuario: string, empresaId: number, unidadeId: number): Observable<any> {\r\n return this._http\r\n .post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/trocarunidade', { EmpresaId: empresaId, UnidadeId: unidadeId }, { headers: this._dataService.getHeaderToken() })\r\n .pipe(\r\n map((r: any) => {\r\n if (r.Success && r.Data != null)\r\n this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 this._utilities.setLocalStorage(this._plataforma.TokenKey, 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 if (this.isLogged()) {\r\n this._http.post(this._plataforma.Config.webapiUrl + 'centrocontrole/usuario/Logout', null, { headers: this._dataService.getHeaderToken() })\r\n .subscribe(() => {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n });\r\n }\r\n else {\r\n this.removeSessao();\r\n this._router.navigateByUrl('login').then(r => { location.reload(); }); \r\n }\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, { headers: this._dataService.getHeaderDefault() })\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', { headers: this._dataService.getHeaderDefault() })\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 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 this._utilities.setLocalStorage(this._plataforma.SessionKey, JSON.stringify(this._sessao));\r\n }\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 }\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') && !key.includes('cols')) \r\n 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 let parametrosUrl: string[] = url.split('/').slice(2);\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 let subTitulo = \"\";\r\n for (var i = 0; i < parametrosUrl.length; i++) {\r\n if (!this.isGuid(parametrosUrl[i]) && isNaN(parseFloat(parametrosUrl[i])))\r\n subTitulo += \" - \" + this._translate.translate(this.toPascalCase(parametrosUrl[i]));\r\n }\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 this._title.setTitle(`${this._translate.translate(this._plataforma.Config.title || \"Plataforma\")} - ${this._translate.translate(item[0].Title)}`+ subTitulo);\r\n }\r\n\r\n else this._plataforma.PaginaAtiva = { Icone: 'security', Titulo: this._plataforma.Config.title || '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 private toPascalCase(value: string): string{\r\n return value.replace(/(^\\w|-\\w)/g, (w1, w2, i) => i == 0 ? w1.toUpperCase() : w1[1].toUpperCase());\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 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\r\n document.body.removeAttribute('class');\r\n\r\n if(!this._plataform.ModoPrime){\r\n document.body.classList.add(theme);\r\n _overlay.add(theme);\r\n }\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 this.setModePrime(true);\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 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 let _overlay = this._overlay.getContainerElement().classList;\r\n let themesClassToRemove = Array.from(_overlay).filter(item => item.includes('-theme'));\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 let themePrime = 'default-prime';\r\n if (this._session.TemaId > 0)\r\n themePrime = `_${this._session.TemaId}-prime`;\r\n else if (localStorage.getItem('at') != null)\r\n themePrime = localStorage.getItem('at').replace('-theme', '-prime');\r\n document.body.classList.add(themePrime);\r\n\r\n if (themesClassToRemove && themesClassToRemove.length > 0) {\r\n for (let themeToRemove of themesClassToRemove) {\r\n _overlay.remove(themeToRemove);\r\n document.body.classList.remove(themeToRemove);\r\n }\r\n }\r\n } else if (this._session.TemaId != null) {\r\n this.setThemeByLoggedCompany();\r\n }\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\nimport { forEach } from \"@angular-devkit/schematics\";\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 const xmlhttp = new XMLHttpRequest();\r\n xmlhttp.open(\"GET\", this._plataforma.Config.webapiUrl.replace(/\\/api\\/$/ig, '') + '/layout/temas.css', false);\r\n if (this._plataforma.Config.headers != null) {\r\n this._plataforma.Config.headers.forEach(header => {\r\n xmlhttp.setRequestHeader(header.key, header.value); \r\n });\r\n }\r\n xmlhttp.send();\r\n var cssFile = document.createElement('style');\r\n cssFile.innerHTML = xmlhttp.responseText; \r\n document.head.appendChild(cssFile);\r\n \r\n if (this._plataforma.Config.style != null){\r\n var cssClient = document.createElement('link');\r\n cssClient.href = '/assets/' + this._plataforma.Config.style + '/style.css';\r\n cssClient.type = 'text/css';\r\n cssClient.rel = 'stylesheet';\r\n document.head.appendChild(cssClient);\r\n }\r\n\r\n if (activeTheme == null || activeTheme == undefined)\r\n activeTheme = `_${this._plataforma.Config.theme}-theme`;\r\n\r\n this._themeService.setTheme(activeTheme || 'default-theme');\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}","<mat-form-field>\r\n <input matInput type=\"text\" [(ngModel)]=\"selectedValue\" [placeholder]=\"placeholder | translate\" [formControl]=\"control\" [matAutocomplete]=\"auto\" \r\n [required]=\"required\" (blur)=\"onBlur($event.target.value)\" (focus)=\"onFocus($event.target.value)\" #inputAuto>\r\n\r\n <mat-autocomplete #auto=\"matAutocomplete\" [displayWith]=\"displayFn\">\r\n <mat-option *ngFor=\"let option of options\" [value]=\"option\" (onSelectionChange)=\"writeValue(option.Id)\" [innerHTML]=\"option.Nome\" >\r\n </mat-option>\r\n </mat-autocomplete>\r\n \r\n <mat-icon matSuffix style=\"color: #aaa\">spellcheck</mat-icon>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar>\r\n</section>","import { Component, Input, OnInit, forwardRef, Output, EventEmitter } from \"@angular/core\";\r\nimport { UntypedFormControl, 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 UntypedFormControl();\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 = 500;\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 @Input() notoken: boolean = false;\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)) && !this.loading) {\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 let model = parameters.split(\"&\").map(c => ({ [c.split(\"=\")[0].charAt(0).toUpperCase() + c.split(\"=\")[0].substring(1)]: c.split(\"=\")[1] })).reduce((a,b) => ({...a, ...b}));\r\n return this.notoken ? this._dataAcess.postNoToken(this.api, model, this.method) : this._dataAcess.post(this.api, model, this.method);\r\n }\r\n\r\n return this.notoken ? this._dataAcess.getNoToken(this.api, this.method, parameters) : 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}","<mat-selection-list class=\"col-md-12 mb-3\">\r\n <mat-list-option class=\"silver\" (click)=\"selectAll()\" [selected]=\"getModel().length == 0\" [disabled]=\"readonly\" *ngIf=\"enabledcheckall\">\r\n <label>{{ labelselectall | translate }}</label>\r\n </mat-list-option>\r\n\r\n <mat-list-option *ngFor=\"let item of getModel(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 1 }\" [selected]=\"item.Selecionado\" (click)=\"item.Selecionado = !item.Selecionado\" [disabled]=\"readonly\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n </mat-list-option>\r\n</mat-selection-list>\r\n \r\n<ng-container *ngIf=\"existData()\" >\r\n <mat-form-field class=\"col-md-12 mb-4 input-search\">\r\n <input matInput placeholder=\"{{ message | translate}}\" [name]=\"name\" autocomplete=\"false\" [(ngModel)]=\"value\" autocomplete=\"off\" >\r\n <mat-icon matSuffix >search</mat-icon>\r\n <mat-hint class=\"mt-2\">{{ submessage | translate}}</mat-hint>\r\n </mat-form-field>\r\n \r\n <mat-list class=\"col-md-12\" >\r\n <mat-list-item *ngFor=\"let item of getFilteredData(); let i = index\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" (click)=\"add(item)\">\r\n <div *ngIf=\"item.Descricao == null\" [innerHTML]=\"item.Nome\"></div>\r\n <div *ngIf=\"item.Descricao != null\" [innerHTML]=\"item.Descricao\"></div>\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </mat-list-item>\r\n </mat-list>\r\n</ng-container>\r\n\r\n<div class=\"col-md-12 none-data\" *ngIf=\"!existData()\" >\r\n <mat-icon>info_outline</mat-icon> {{ 'NenhumItemEncontrado' | translate }}\r\n</div>","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}","<mat-card (click)=\"onCardClick()\">\r\n <mat-card-content>\r\n <h4>{{ label | translate }}</h4>\r\n <p *ngIf=\"description\" [innerHTML]=\"description | translate\"></p>\r\n <mark *ngIf=\"mark\"><small>{{ mark }}</small></mark>\r\n </mat-card-content>\r\n <mat-card-footer>\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","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}","<mat-card>\r\n <mat-card-content>\r\n <h6 *ngIf=\"label != null\" [innerHTML]=\"label | translate\" ></h6>\r\n <p *ngIf=\"description != null\">{{ description | translate }}</p>\r\n\r\n <div class=\"row\">\r\n <ng-container *ngFor=\"let row of menuRows\">\r\n <mat-nav-list [ngClass]=\"colClass\">\r\n <ng-container *ngFor=\"let item of row\">\r\n <mat-list-item *ngIf=\"item.permission\" href=\"#\" [routerLink]=\"item.url\" >\r\n <a title=\"no\" title=\"{{ item.title | translate }}\" md-line>{{ item.title | translate }}</a>\r\n </mat-list-item>\r\n </ng-container>\r\n </mat-nav-list>\r\n </ng-container>\r\n </div>\r\n </mat-card-content>\r\n <mat-card-footer *ngIf=\"icon == null\">\r\n <mat-icon>{{icon}}</mat-icon>\r\n </mat-card-footer>\r\n</mat-card>","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}","<section class=\"info-checkbox-content mat-form-field-margin \" [ngClass]=\"{ 'info-checkbox-min': min }\">\r\n <mat-checkbox [(ngModel)]=\"value\" (change)=\"onChangeValue()\" [disabled]=\"disabled\"><div [innerHtml]=\"placeholder | translate\"></div></mat-checkbox>\r\n</section>","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\";\r\nimport moment from \"moment\";\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 = new Date(1800, 0, 1);\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.dateValue != null) {\r\n if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n \r\n if (this.maxDate != null && moment(this.dateValue).isAfter(moment(this.maxDate)))\r\n this.dateValue = this.maxDate;\r\n }\r\n\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}","<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\" [max]=\"maxDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\"\r\n [matDatepickerFilter]=\"datefilter\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker [dateClass]=\"dateclass\" #datepicker></mat-datepicker>\r\n</mat-form-field>","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\";\r\nimport { Moment } from \"moment\";\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 @Input() changeonlyonmonth: boolean = false;\r\n @Input() minDate: Date = new Date(1800, 0, 1);\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 if (moment(this.dateValue).isBefore(moment(this.minDate)))\r\n this.dateValue = this.minDate;\r\n\r\n this.onChange(this.dateValue);\r\n }\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 if (this.changeonlyonmonth)\r\n return;\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}","<mat-form-field>\r\n <input matInput [placeholder]=\"placeholder | translate\" [(ngModel)]=\"dateValue\" [disabled]=\"disabled\" [required]=\"required\" [min]=\"minDate\"\r\n (dateChange)=\"onChangeValue()\" (input)=\"onInputDate($event.target.value)\" (keypress)=\"onKeyPress($event)\" (blur)=\"onChangeValue()\" [matDatepicker]=\"datepicker\" #inputDate >\r\n\r\n <mat-datepicker-toggle matSuffix [for]=\"datepicker\"></mat-datepicker-toggle>\r\n <mat-datepicker #datepicker startView=\"multi-year\" (yearSelected)=\"chosenYearHandler($event)\" (monthSelected)=\"chosenMonthHandler($event, datepicker)\"></mat-datepicker>\r\n</mat-form-field> ","<div class=\"info-paginator\" *ngIf=\"show\" >\r\n <div class=\"row\">\r\n <div class=\"col-md-2\" [ngClass]=\"{ 'descriptions-min': min == true, 'descriptions': min != true }\">\r\n <label class=\"total\" *ngIf=\"totalDescription != null\">{{totalDescription}}</label>\r\n </div>\r\n <div class=\"col-md align-right\" [ngClass]=\"{ 'pages-min': min == true, 'pages': min != true }\">\r\n <ul>\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(0)\" [disabled]=\"index == 0\" [matTooltip]=\"'Primeira' | translate\" >\r\n <mat-icon>first_page</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"previous()\" [disabled]=\"index == 0\" [matTooltip]=\"'Anterior' | translate\" >\r\n <mat-icon>chevron_left</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li *ngFor=\"let page of pages\" >\r\n <button mat-button (click)=\"goto(page)\" [ngClass]=\"{\r\n 'active': page === indexActive\r\n }\" >{{page + 1}}</button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"next()\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Proxima' | translate\" >\r\n <mat-icon>chevron_right</mat-icon>\r\n </button>\r\n </li>\r\n\r\n <li class=\"icon\">\r\n <button mat-button (click)=\"goto(numberPages - 1)\" [disabled]=\"index >= (numberPages - 1)\" [matTooltip]=\"'Ultima' | translate\" >\r\n <mat-icon>last_page</mat-icon>\r\n </button>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n</div>","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 @Input() show = false;\r\n @Output() index = 0;\r\n @Output() change = new EventEmitter<number>();\r\n\r\n _total = 0;\r\n @Input()\r\n get total(){\r\n return this._total;\r\n }\r\n\r\n set total(value){\r\n this._total = value;\r\n this.initialize();\r\n }\r\n\r\n onChange: any;\r\n indexActive = 0;\r\n numberPages = 1;\r\n pages = [];\r\n totalDescription = '';\r\n\r\n refresh(total: number) {\r\n this.total = total;\r\n }\r\n\r\n initialize() {\r\n this.pages = [];\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 if (currentInit == null || currentEnd == null) return;\r\n\r\n this.totalDescription = currentInit.toLocaleString('pt-BR') + ' - ' + currentEnd.toLocaleString('pt-BR') + ' de ' + this.total.toLocaleString('pt-BR');\r\n }\r\n}","<div class=\"message\" [ngClass]=\"{\r\n 'success-message': color === 'success',\r\n 'info-message': color === 'info',\r\n 'warning-message': color === 'warning',\r\n 'danger-message': color === 'danger',\r\n 'with-close': close,\r\n 'min': min }\" #message>\r\n <ng-content></ng-content>\r\n <a href=\"#\" class=\"close\" *ngIf=\"close\" (click)=\"delete($event, message)\"><i class=\"material-icons\">clear</i></a>\r\n</div>","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}","<h1 mat-dialog-title *ngIf=\"model.title\" [innerHTML]=\"model.title | translate\" ></h1>\r\n\r\n<div mat-dialog-content class=\"mb-3\">\r\n <p *ngIf=\"!model.processingMode\" [innerHTML]=\"model.message | translate\"></p>\r\n <info-message *ngIf=\"model.processingMode\" color=\"danger\">{{ 'A plataforma está efetuando o processamento em segundo plano.<br /> Isto pode levar alguns minutos e assim que concluído, uma notificação será enviada.' | translate}}</info-message>\r\n</div>\r\n\r\n<div mat-dialog-actions class=\"buttons\">\r\n <button mat-button (click)=\"onclickAux()\" [color]=\"model.colorAux\" *ngIf=\"model.labelAux\" >{{ model.labelAux | translate }}</button>\r\n <button mat-button (click)=\"onclickOk()\" [color]=\"model.colorOk\" cdkFocusInitial>{{ model.labelOk | translate }}</button>\r\n <button mat-button (click)=\"onclickCancel()\" [color]=\"model.colorCancel\" *ngIf=\"model.labelCancel\" >{{ model.labelCancel | translate }}</button>\r\n</div> ","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 { 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 { createAutoCorrectedDatePipe, emailMask } from 'text-mask-addons';\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 = [/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'.',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'/',/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,/[a-zA-Z0-9]/,'-',/\\d/,/\\d/];\r\n pipe = (value) => value?.toUpperCase();\r\n }\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, Input } 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 @Input('unmask') maskType: string\r\n\r\n constructor(private elementRef: ElementRef, private model: NgControl) { }\r\n\r\n @HostListener('input') inputChange() {\r\n let regex = this.maskType == 'cnpj' ? /[^a-zA-Z0-9]/g : /\\D/g\r\n const newValue = this.elementRef.nativeElement.value.replace(regex, '')\r\n this.model.control.setValue(newValue);\r\n }\r\n}","<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask == null\" >\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <input matInput [type]=\"type\" [step]=\"step\" [min]=\"min\" [max]=\"max\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-icon class=\"show-password\" *ngIf=\"passwordMode\" (click)=\"type = (type == 'password') ? 'text' : 'password'\" matSuffix >visibility{{ type == 'password' ? '' : '_off' }}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type != 'color' && type != 'textarea' && ismask != null\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n\r\n <input matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask == null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [options]=\"maskOptions\" currencyMask>\r\n\r\n <input matInput [formControl]=\"formControl\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (ngModelChange)=\"onChangeValue()\" (blur)=\"onBlur()\" *ngIf=\"customMask != null\"\r\n [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\" [setmask]=\"customMask\" [unmask]=\"customMask\">\r\n\r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field *ngIf=\"type == 'textarea'\">\r\n <mat-icon *ngIf=\"iconPrefix\" matPrefix style=\"color: #aaa\">{{iconPrefix}}</mat-icon>\r\n \r\n <textarea matInput [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\" [rows]=\"rows\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\"></textarea>\r\n\r\n <mat-error *ngIf=\"errorMessage\">{{errorMessage | translate}}</mat-error>\r\n</mat-form-field>\r\n\r\n<mat-form-field class=\"input-color\" *ngIf=\"type == 'color'\">\r\n \r\n <div class=\"input-color-container\">\r\n <input #colorInput style=\"width: 0px;visibility: hidden;\" type=\"color\" [(ngModel)]=\"value\" (change)=\"writeValue(value)\" [readonly]=\"readonly\" [disabled]=\"disabled\">\r\n <div class=\"color-picker\" [style.background-color]=\"value\" (click)=\"colorInput.click()\"></div>\r\n \r\n <input matInput type=\"text\" [tabindex]=\"tabindex\" [placeholder]=\"placeholder | translate\" [(ngModel)]=\"value\" (input)=\"onChangeValue()\" (blur)=\"onBlur()\"\r\n [maxlength]=\"maxlength\" [readonly]=\"readonly\" [disabled]=\"disabled\" [required]=\"required\">\r\n \r\n <mat-icon *ngIf=\"iconSuffix\" matSuffix style=\"color: #aaa\">{{iconSuffix}}</mat-icon>\r\n </div>\r\n</mat-form-field>","import { Component, forwardRef, Input, OnInit, Output, EventEmitter, Optional, Self, Injector, Directive, ViewChild } from \"@angular/core\";\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, NgControl, NG_VALIDATORS, FormControl, Validators, ValidatorFn, AbstractControl, ValidationErrors, Validator } from \"@angular/forms\";\r\nimport { StaticUtils, Utilities } from \"../../utils/utilities\";\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 private control: NgControl\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 = -99999999999999.999999999;\r\n @Input() max: number = 99999999999999.999999999;\r\n @Input() step: number = null;\r\n @Input() validate: boolean = false;\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 errorMessage: string = null;\r\n formControl: AbstractControl = new FormControl();\r\n\r\n\r\n constructor(private injector: Injector) { }\r\n\r\n ngAfterViewInit() {\r\n this.control = this.injector.get(NgControl, null);\r\n if (this.control)\r\n this.formControl = this.control.control; \r\n }\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 validarCampo() {\r\n if (!this.validate)\r\n return;\r\n\r\n this.errorMessage = null;\r\n\r\n if (this.value && this.customMask == 'cnpj' && !StaticUtils.validarCnpj(this.value))\r\n this.errorMessage = 'CNPJInvalido';\r\n else if (this.value && this.customMask == 'cpf' && !StaticUtils.validarCpf(this.value))\r\n this.errorMessage = 'CPFInvalido';\r\n\r\n if (!!this.errorMessage && this.formControl) {\r\n this.formControl.setErrors({invalid: true});\r\n }\r\n }\r\n\r\n onBlur() {\r\n this.validarCampo();\r\n if (this.type == 'number' || (this.ismask != null && this.ismask.startsWith(\"n\"))) {\r\n if (this.min != null)\r\n this.value = this.min > Number(this.value) ? null : this.value;\r\n\r\n if (this.max != null)\r\n this.value = this.max < Number(this.value) ? null : this.value;\r\n\r\n this.onChangeValue();\r\n }\r\n\r\n if (this.onblur != null)\r\n this.onblur.emit(this.value);\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}","<div [ngStyle]=\"{ 'marginTop': margintop + 'px' }\" [ngClass]=\"{ 'transparent': transparent }\" >\r\n \r\n <ng-container *ngIf=\"_platform.Config.ux >= 3\" >\r\n <h2 [innerHTML]=\"pagetitle | translate\"></h2>\r\n \r\n <div class=\"link-button\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}</button>\r\n\r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n <hr>\r\n </ng-container>\r\n \r\n <div class=\"row\" *ngIf=\"_platform.Config.ux <= 2\" >\r\n <div class=\"col-md-6\">\r\n <h2>\r\n <label id=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon>\r\n {{ _platform.PaginaAtiva.Titulo | translate }}\r\n\r\n <ng-container *ngIf=\"pagetitle != null && pagetitle != ''\"> / </ng-container>\r\n </label>\r\n <label [outerHTML]=\"pagetitle | translate\"></label>\r\n </h2>\r\n <button *ngIf=\"podeCriarAtalho\" type=\"button\" mat-icon-button class=\"shortcut-button\" [ngClass]=\"{ 'tem-atalho': !!atalhoId }\" (click)=\"toggleAtalho()\" [disabled]=\"loading\">\r\n <mat-icon inline>{{ atalhoId ? 'star' : 'star_border' }}</mat-icon>\r\n </button>\r\n \r\n <p class=\"pagebar-description\" [innerHTML]=\"description | translate\"></p>\r\n </div>\r\n\r\n <div class=\"col-md-6 align-right buttons\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl\" color=\"primary\" (click)=\"goBack()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{ 'Voltar' | translate}}\r\n </button>\r\n \r\n <ng-container *ngTemplateOutlet=\"content\"></ng-container>\r\n\r\n <dl *ngIf=\"(access || []).length > 0\" class=\"acesso-rapido\" (mouseenter)=\"exibirAcessos = true\" (mouseleave)=\"exibirAcessos = false\">\r\n <dt>\r\n <mat-icon class=\"fs-20\">share</mat-icon>\r\n </dt>\r\n <dd *ngIf=\"exibirAcessos\">\r\n <ul>\r\n <li *ngFor=\"let a of access\">\r\n <a target=\"_blank\" [routerLink]=\"a.Url\" ><mat-icon>chevron_right</mat-icon> {{ a.Label | translate }}</a>\r\n </li>\r\n </ul> \r\n </dd>\r\n </dl>\r\n </div>\r\n </div>\r\n</div>\r\n<section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n</section>\r\n\r\n<ng-template #content><ng-content></ng-content></ng-template>","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\r\n\t@Input() margintop = 0;\r\n\t@Input() icon: 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\tprivate _pageTitle: string;\r\n\tget pagetitle(){\r\n\t\treturn this._pageTitle;\r\n\t}\r\n\r\n\t@Input('pagetitle') set pagetitle(value: string){ \r\n\t\tthis._pageTitle = value.replace(/\\(/g, '<small>(').replace(/\\)/g, ')</small>');\r\n\t}\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}","<info-pagebar *ngIf=\"showPagebar\" icon=\"work\" [pagetitle]=\"pagebarTitle\" [description]=\"description\">\r\n <button mat-button type=\"button\" *ngIf=\"backurl != null && backurl != ''\" color=\"primary\" (click)=\"back()\">\r\n <mat-icon class=\"fs-20\">chevron_left</mat-icon>{{\"Voltar\" | translate}}\r\n </button>\r\n\r\n <ng-container *ngFor=\"let b of pagebarbuttons\">\r\n <button type=\"button\" mat-button color=\"primary\" (click)=\"b.modal == null ? navigateTo(b.url, false, null) : openCustomModal(b.modal, b.modalwidth, null)\">\r\n <mat-icon *ngIf=\"b.icon != 'chevron_right'\" class=\"fs-20\">{{ b.icon }}</mat-icon>\r\n {{ b.label | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && !enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search</mat-icon> {{ \"Pesquisar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"searchmodel != null && enabledSearch\" color=\"primary\" (click)=\"enabledSearch = !enabledSearch\">\r\n <mat-icon class=\"fs-20\">search_off</mat-icon> {{ \"Ocultar\" | translate}}\r\n </button>\r\n\r\n <button mat-button type=\"button\" *ngIf=\"enablednew && hasPermissionNew\" color=\"primary\" (click)=\"add()\">\r\n <mat-icon class=\"fs-20\">add</mat-icon> {{ newlabel | translate}}\r\n </button>\r\n</info-pagebar>\r\n\r\n<div [ngClass]=\"{ 'table-full': fullarea }\">\r\n <div class=\"table-responsive white\">\r\n <div class=\"table-title grid-search\" [ngStyle]=\"{ 'padding': (enabledSearch ? 10 : 0) + 'px 20px' }\">\r\n <form autocomplete=\"off\" #formSearch=\"ngForm\" (ngSubmit)=\"search()\">\r\n <div *ngIf=\"enabledSearch\" class=\"search-container row\">\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '10' : '9' }}\">\r\n <div class=\"row\">\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n <div class=\"col-md-{{(searchbuttons || []).length == 0 ? '2' : '3' }} align-right\" *ngIf=\"searchmodel != null\">\r\n <div class=\"search-buttons \">\r\n <ng-container *ngIf=\"searchonlyonebutton\">\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n {{ 'Buscar' | translate }}\r\n </button>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!searchonlyonebutton\">\r\n <button mat-button type=\"button\" color=\"warn\" (click)=\"cancelSearch()\" *ngIf=\"enabledcancelsearch\">\r\n <mat-icon class=\"fs-20\">close</mat-icon>\r\n </button>\r\n <button mat-button type=\"submit\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\">\r\n <mat-icon class=\"fs-20\">search</mat-icon>\r\n </button>\r\n \r\n <ng-container *ngFor=\"let b of searchbuttons\">\r\n <button mat-button type=\"button\" color=\"primary\" [disabled]=\"formSearch.invalid || loading\" (click)=\"b.method()\">\r\n <mat-icon *ngIf=\"b.icon\" class=\"fs-20\">{{b.icon | translate}}</mat-icon> {{b.label | translate}}\r\n </button>\r\n </ng-container>\r\n \r\n </ng-container>\r\n </div>\r\n </div>\r\n </div>\r\n </form>\r\n </div>\r\n\r\n <fieldset *ngIf=\"!showPagebar\"><legend [innerHTML]=\"pagebarTitle | translate\"></legend></fieldset>\r\n <section class=\"loading-bar\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\"></mat-progress-bar></section>\r\n\r\n <!-- <div id=\"auto-refresh\" *ngIf=\"autorefresh > 0\">\r\n <i class=\"material-icons\" matTooltip=\"{{ 'AutoRefresh' | translate }} {{ autorefresh }} seg\" matTooltipPosition=\"left\">access_time</i>\r\n </div> -->\r\n\r\n <table class=\"table table-hover\" [ngStyle]=\"{ 'min-height.px': tableHeight }\" [ngClass]=\"{ 'loading': loading, 'clickaccess': enabledclickaccess }\" *ngIf=\"data != null\">\r\n <thead>\r\n <tr>\r\n <th style=\"width: 5%;\" *ngIf=\"enabledclassicons && data?.length > 0 && data[0]?.Icon != null\"></th>\r\n\r\n <ng-container *ngFor=\"let col of colunasHeaders; let i = index\">\r\n <th *ngIf=\"colunasWidth[i] == ''\" [class]=\"'col_' + col.toLowerCase()\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n <th *ngIf=\"colunasWidth[i] != ''\" [ngStyle]=\"{ 'width': colunasWidth[i] }\" [ngClass]=\"{ 'text-center': colunasType[i] == 'check', 'align-right': colunasType[i].startsWith('n') }\">{{ col | translate }}</th>\r\n </ng-container>\r\n\r\n <th class=\"actions align-right buttons\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || enableddetail || enabledview || enabledcols || ((disabledcol == '') && enablededit && hasPermissionEdit) || ((disabledcol == '') && enableddelete && hasPermissionDelete)\">\r\n <button mat-icon-button type=\"button\"[matTooltip]=\"newlabel | translate\" matTooltipPosition=\"left\" (click)=\"add()\" *ngIf=\"!showPagebar && enablednew && hasPermissionNew\">\r\n <mat-icon>add_circle_outline</mat-icon>\r\n </button>\r\n <button mat-icon-button type=\"button\" class=\"managercols\" [matTooltip]=\"'CustomizarTabela' | translate\" matTooltipPosition=\"left\" (click)=\"customizeTable()\" *ngIf=\"enabledcols\">\r\n <mat-icon class=\"icon-out\">settings</mat-icon>\r\n </button>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody class=\"grid-content\">\r\n <tr *ngFor=\"let mod of data; let j = index\" [ngClass]=\"{ 'default-color': !enabledclassicons }\" [class]=\"mod.Class\" (click)=\"access(mod)\">\r\n <td *ngIf=\"enabledclassicons && mod?.Icon != null\">\r\n <ng-container *ngFor=\"let icon of icons\">\r\n <i class=\"material-icons\" [matTooltip]=\"icon.Tooltip | translate\" *ngIf=\"icon.Name == mod.Icon\" [ngClass]=\"{ 'icone-secundario': icon.Principal == false }\">{{icon.Icon}}</i>\r\n </ng-container>\r\n </td>\r\n\r\n <ng-container *ngFor=\"let col of colunasItens; let i = index\">\r\n <td *ngIf=\"mod[col] == null || mod[col] == undefined\"></td>\r\n <ng-container [ngSwitch]=\"colunasType[i]\" *ngIf=\"mod[col] != null && mod[col] != undefined\">\r\n <ng-container *ngSwitchCase=\"'label'\">\r\n <td [ngClass]=\"{ 'td-expansivel': mod[col].length > limitcharacters && enabledexpand == true}\" *ngIf=\"mod[col] !== true && mod[col] !== false && mod[col] !== 0 && mod[col] !== '0'\">\r\n <label [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === true\" [innerHTML]=\"(mod[col] | translate:colunasTranslate[i]) || '' \"></label>\r\n <label class=\"break-word\" [ngClass]=\"{'label-expansivel': enabledexpand == true && mod[col].length > limitcharacters, 'label-expandida': colunasItensExpandidos[j][i] }\" *ngIf=\"colunasHtml[i] === false\">{{ (mod[col] | translate:colunasHtml[i]) || '' }}</label>\r\n <div *ngIf=\"enabledexpand == true && mod[col].length > limitcharacters\" [ngClass]=\"{'mostrar-mais-expandido': colunasItensExpandidos[j][i] }\" class=\"mostrar-mais\" (click)=\"mostrarMais(j,i)\">\r\n <mat-icon [ngClass]=\"{'icone-expandido': colunasItensExpandidos[j][i] }\">keyboard_arrow_down</mat-icon>\r\n </div>\r\n <p *ngIf=\"i == 0 && mod.Badge != null && mod.Badge != undefined\">{{ mod.Badge | translate:colunasTranslate[i] }}</p>\r\n </td>\r\n <td *ngIf=\"mod[col] === true\"><mat-icon>check_box</mat-icon></td>\r\n <td *ngIf=\"mod[col] === false\"><mat-icon>check_box_outline_blank</mat-icon></td>\r\n <td *ngIf=\"mod[col] === 0 || mod[col] === '0'\">0</td>\r\n </ng-container>\r\n\r\n <td nowrap *ngSwitchCase=\"'date'\" [innerHTML]=\"mod[col] | date:'shortDate'\"></td>\r\n <td nowrap *ngSwitchCase=\"'datetime'\">{{ mod[col] | date:'shortDate' }} {{ mod[col] | date:'mediumTime' }}</td>\r\n <td nowrap *ngSwitchCase=\"'monthyear'\" [innerHTML]=\"mod[col] | date:'MM/yyyy'\"></td>\r\n <td nowrap *ngSwitchCase=\"'n0'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.0-0' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n2'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.2-2' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n4'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.4-4' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n6'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.6-6' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n9'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.9-9' }}</td>\r\n <td nowrap *ngSwitchCase=\"'n12'\" [class]=\"'align-right ' + (mod[col] < 0 ? 'text-red' : '')\">{{ mod[col] | number:'1.12-12' }}</td>\r\n \r\n <td *ngSwitchCase=\"'check'\" class=\"text-center\">\r\n <ng-container *ngIf=\"mod[col] != null && (mod[col] === true || mod[col] == 1 || mod[col].toLowerCase() == 's'); then checked; else unchecked\"></ng-container>\r\n <ng-template #checked><mat-icon>check_box</mat-icon></ng-template>\r\n <ng-template #unchecked><mat-icon>check_box_outline_blank</mat-icon></ng-template>\r\n </td>\r\n </ng-container>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"enabledclickaccess\">\r\n <td class=\"td-actions clickaccess\">\r\n <button mat-icon-button type=\"button\" (click)=\"access(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>{{accessicon || 'arrow_forward'}}</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"!enabledclickaccess\">\r\n <td class=\"td-actions\" *ngIf=\"(templateurl != '') || (buttons != null && buttons.length > 0) || (mod.Download != null) || enableddetail || (mod?.Info != null) || enabledview || ((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || ((disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete)\">\r\n\r\n <a mat-icon-button href=\"{{ templateurl.replace('{id}', mod.Id) }}\" target=\"_blank\" [matTooltip]=\"'Abrir' | translate\" *ngIf=\"templateurl != ''\">\r\n <mat-icon>visibility</mat-icon>\r\n </a>\r\n\r\n <ng-container *ngFor=\"let b of buttons\">\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"b.label | translate\" (click)=\"b.modalComponent != null ? openCustomModal(b.modalComponent, b.widthModalComponent, mod) : b.api != null ? eventButton(mod, b.api, b.method, b.confirm) : navigateTo(b.navigateTo, b.passId, mod.Id)\" *ngIf=\"b.showOnlyClass == null || b.showOnlyClass == mod.Class\" [disabled]=\"b.disabledField && mod[b.disabledField] === true\">\r\n <mat-icon>{{b.icon}}</mat-icon>\r\n </button>\r\n </ng-container>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Download' | translate\" (click)=\"download(mod.Download)\" *ngIf=\"mod.Download != null\">\r\n <mat-icon>file_download</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Detalhe' | translate\" (click)=\"detail(mod)\" *ngIf=\"enableddetail\">\r\n <mat-icon>list</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Informacao' | translate\" (click)=\"info(mod?.Info)\" *ngIf=\"mod?.Info != null\" [disabled]=\"mod?.Info == ''\">\r\n <mat-icon>info</mat-icon>\r\n </button>\r\n \r\n <!-- <button mat-icon-button type=\"button\" [matTooltip]=\"'Visualizar' | translate\" (click)=\"view(mod)\" *ngIf=\"enabledview\">\r\n <mat-icon>visibility</mat-icon>\r\n </button>\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Editar' | translate\" (click)=\"edit(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit\">\r\n <mat-icon>edit</mat-icon>\r\n </button> -->\r\n \r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Excluir' | translate\" (click)=\"delete(mod)\" *ngIf=\"(disabledcol == '' || mod[disabledcol] === true) && enableddelete && hasPermissionDelete && !mod.HideDelete\">\r\n <mat-icon>delete</mat-icon>\r\n </button>\r\n\r\n <button mat-icon-button type=\"button\" [matTooltip]=\"'Acessar' | translate\" (click)=\"edit(mod)\" *ngIf=\"((disabledcol == '' || mod[disabledcol] === true) && enablededit && hasPermissionEdit) || enabledview\">\r\n <mat-icon>arrow_forward</mat-icon>\r\n </button>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n <span class=\"blank-table\" *ngIf=\"data != null && data.length == 0\">{{\"NenhumItemEncontrado\" | translate}}</span>\r\n\r\n <info-paginator #paginator [hidden]=\"!paged || (data != null && data.length == 0)\" [size]=\"size\" (change)=\"changePage($event)\" ></info-paginator>\r\n </div>\r\n</div>\r\n\r\n<div class=\"block\" *ngIf=\"loading\"></div>\r\n<info-alert [messages]=\"messages\"></info-alert>","<info-modal (onsave)=\"save()\" modaltitle=\"CustomizarTabela\" >\r\n <info-message color=\"warning\" class=\"min\">\r\n <ul>\r\n <li><mat-icon class=\"icon-out\">info</mat-icon>{{ 'CustomizarTabelaDescricao1' | translate }}</li>\r\n <li><mat-icon class=\"icon-out\">dangerous</mat-icon>{{ 'CustomizarTabelaDescricao2' | translate }}</li>\r\n </ul>\r\n \r\n </info-message>\r\n \r\n <ul class=\"listagem\">\r\n <ng-container *ngFor=\"let item of colunas\" >\r\n <li *ngIf=\"item.GridAtual\" >\r\n <info-checkbox [(ngModel)]=\"item.Exibir\" [placeholder]=\"item.Nome\" [name]=\"'chkcoluna' + item.Nome\" ></info-checkbox>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n</info-modal>","import { Component, OnInit, Input, AfterViewInit, EventEmitter, Output, ViewChild, ChangeDetectorRef, ContentChildren, Renderer2, ElementRef, Inject } 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 { MAT_DIALOG_DATA, MatDialog, MatDialogRef } 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() enabledcols = true;\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 @Input() enabledexpand = 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 @Input() defaultnewobject: any = null;\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 colunasPadraoHeaders = [];\r\n colunasType = [];\r\n colunasWidth = [];\r\n colunasTranslate = [];\r\n colunasHtml = [];\r\n colunasItensExpandidos = [];\r\n currentUrl: string = null;\r\n url: string = null;\r\n chaveStorage: string = 'cols';\r\n identificador: string = null;\r\n limitcharacters: number = 250;\r\n callTimeout: any;\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 clearTimeout(this.callTimeout);\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.identificador = this.api + '_' + this.method;\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 }\r\n\r\n ngOnDestroy() {\r\n clearTimeout(this.callTimeout);\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\r\n let colunasOcultas = [];\r\n if (localStorage.getItem(this.chaveStorage) != null){\r\n let dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (dadosStorage.findIndex(c => c.Identificador == this.identificador) > -1){\r\n colunasOcultas = dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n\r\n if (colunasOcultas.length > 0)\r\n colunasOcultas = colunasOcultas.filter(c => !c.Exibir).map(c => c.Nome);\r\n }\r\n }\r\n\r\n this.colunasItens = [];\r\n this.colunasHeaders = [];\r\n this.colunasPadraoHeaders = [];\r\n this.colunasType = [];\r\n this.colunasWidth = [];\r\n this.colunasTranslate = [];\r\n this.colunasHtml = [];\r\n \r\n this.cols.split(',').forEach(registro => {\r\n\r\n let translate: boolean = registro.indexOf('#') == -1;\r\n let html: boolean = registro.indexOf('@') == -1;\r\n registro = registro.replace(/#/g, '').replace(/@/g, '');\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 if (colunasOcultas.indexOf(header) < 0) {\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 this.colunasTranslate.push(translate);\r\n this.colunasHtml.push(html);\r\n }\r\n\r\n this.colunasPadraoHeaders.push(header);\r\n });\r\n\r\n if (this.colunasItens.length == 1 && this.colunasWidth.length == 1)\r\n this.colunasWidth[0] = '100%';\r\n }\r\n }\r\n\r\n setItensExpandidos() {\r\n this.colunasItensExpandidos = [];\r\n for (let i = 0; i < this.data?.length; i++) {\r\n let row = [];\r\n for (let j = 0; j < this.colunasItens?.length; j++) {\r\n row.push(false);\r\n }\r\n this.colunasItensExpandidos.push(row);\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 this.messages = [];\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 var dataInicial = this.searchmodel[\"DataInicial\"];\r\n var dataFinal = this.searchmodel[\"DataFinal\"];\r\n if (dataInicial != null && dataFinal != null && new Date(dataInicial) > new Date(dataFinal)) {\r\n this.messages.push('DataInicialMaiorFinal');\r\n this.hideLoad();\r\n return;\r\n }\r\n\r\n var dataInicio = this.searchmodel[\"DataInicio\"];\r\n var dataFim = this.searchmodel[\"DataFim\"];\r\n if (dataInicio != null && dataFim != null && new Date(dataInicio) > new Date(dataFim)) {\r\n this.messages.push('DataInicioMaiorFim');\r\n this.hideLoad();\r\n return;\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 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 clearTimeout(this.callTimeout);\r\n this.callTimeout = setTimeout(() => { this.getData(); }, this.autorefresh * 1000);\r\n }\r\n \r\n this.fillIcons();\r\n this.setItensExpandidos();\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, this.defaultnewobject);\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 mostrarMais(linha, coluna) {\r\n this.colunasItensExpandidos[linha][coluna] = !this.colunasItensExpandidos[linha][coluna] \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 customizeTable(){\r\n this._prop.set(InfoPageAction.Edit, { \r\n Identificador: this.identificador, \r\n Colunas: this.colunasPadraoHeaders, \r\n Chave: this.chaveStorage \r\n });\r\n\r\n this._prop.modalAction = InfoModalAction.None;\r\n let ref = this.modal.open(InfoGridModalComponent, {\r\n data: this._prop,\r\n disableClose: true,\r\n width: '500px'\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.setColumns();\r\n this.getData();\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 this._prop.modalAction = InfoModalAction.None;\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.loading = true;\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 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}\r\n\r\n@Component({\r\n templateUrl: 'grid.modal.html',\r\n providers: [InfoFormPropModel]\r\n})\r\nexport class InfoGridModalComponent {\r\n\r\n identificador: string;\r\n chaveStorage: string;\r\n colunas: any = [];\r\n dadosStorage: any = null;\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public _prop: InfoFormPropModel, private _ref: MatDialogRef<InfoGridModalComponent>, private _modal: MatDialog){\r\n }\r\n\r\n ngOnInit(){\r\n this.identificador = this._prop.data.Identificador;\r\n this.chaveStorage = this._prop.data.Chave;\r\n\r\n let colunasGrid = this._prop.data.Colunas.map(c => { return { Nome: c, Exibir: true, GridAtual: true }; });\r\n\r\n if (localStorage.getItem(this.chaveStorage) == null)\r\n localStorage.setItem(this.chaveStorage, JSON.stringify([]));\r\n\r\n this.dadosStorage = JSON.parse(localStorage.getItem(this.chaveStorage));\r\n\r\n if (this.dadosStorage.findIndex(c => c.Identificador == this.identificador) < 0)\r\n this.dadosStorage.push({ Identificador: this.identificador, Colunas: colunasGrid });\r\n\r\n let colunasGeral = this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas;\r\n \r\n //Adiciona possíveis novas colunas\r\n colunasGrid.filter(g => colunasGeral.map(c => c.Nome).indexOf(g.Nome) < 0).forEach(novaColuna => {\r\n colunasGeral.push(novaColuna);\r\n });\r\n\r\n //Exibe apenas as colunas presentes no grid atual\r\n this.colunas = colunasGeral.map(c => ({ ...c, GridAtual: colunasGrid.findIndex(g => g.Nome == c.Nome) > -1 }));\r\n }\r\n\r\n save(){\r\n this.dadosStorage.find(c => c.Identificador == this.identificador).Colunas = this.colunas;\r\n localStorage.setItem(this.chaveStorage, JSON.stringify(this.dadosStorage));\r\n \r\n this._prop.modalAction = InfoModalAction.Save;\r\n this._ref.close(this._prop);\r\n }\r\n}","<div class=\"row\" *ngIf=\"!disabled\" >\r\n <info-input placeholder=\"{{ 'De' | translate}} {{ percent ? '%' : '' }}\" name=\"De\" [(ngModel)]=\"novoValor.De\" *ngIf=\"!hiddenDe\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Ate' | translate}} {{ percent ? '%' : '' }}\" name=\"Ate\" [(ngModel)]=\"novoValor.Ate\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <info-input placeholder=\"{{ 'Valor' | translate}} {{ percent ? '%' : '' }}\" name=\"Valor\" [(ngModel)]=\"novoValor.Valor\" class=\"col-md-3\" [ismask]=\"mask\"></info-input>\r\n <div class=\"col-md-3\">\r\n <button mat-button type=\"button\" color=\"primary\" (click)=\"add()\" class=\"mt-2\" ><mat-icon class=\"fs-20\">add_circle_outline</mat-icon> {{ 'AddValor' | translate }}</button>\r\n </div>\r\n</div>\r\n\r\n<div class=\"col-md-12\" *ngIf=\"model == null || getModel().length == 0\" ><mat-icon style=\"top: 6px;\" class=\"mr-2\">info_outline</mat-icon> {{ 'UtilizeCamposAcimaAdicionarItens' | translate }}</div>\r\n\r\n<ul *ngIf=\"model != null\" id=\"list-values\" >\r\n<li class=\"row header\" *ngIf=\"disabled\">\r\n <label class=\"col-md-3\" *ngIf=\"!hiddenDe\" >{{ 'De' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Ate' | translate }}</label>\r\n <label class=\"col-md-3\" >{{ 'Valor' | translate }}</label>\r\n</li>\r\n\r\n<li *ngFor=\"let item of getModel(); let i = index\" class=\"row\" [ngClass]=\"{ 'silver': i % 2 == 0 }\" >\r\n <div class=\"col-md-3\" *ngIf=\"!hiddenDe\" >\r\n <info-input name=\"ListaValorDe\" [ngModel]=\"item.De\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorAte\" [ngModel]=\"item.Ate\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <info-input name=\"ListaValorValor\" [ngModel]=\"item.Valor\" [disabled]=\"true\" [iconSuffix]=\"(percent ? '%' : 'null')\" [ismask]=\"mask\"></info-input>\r\n </div>\r\n\r\n <div class=\"col-md-3\">\r\n <ng-container *ngIf=\"!disabled\">\r\n <!-- <button type=\"button\" matTooltip=\"{{ 'OrdernarAcima' | translate }}\" mat-icon-button [disabled]=\"item.Indice <= 0\" (click)=\"alterarIndice(item, item.Indice - 1)\">\r\n <mat-icon>arrow_upward</mat-icon>\r\n </button>\r\n <button type=\"button\" matTooltip=\"{{ 'OrdernarAbaixo' | translate }}\" mat-icon-button [disabled]=\"item.Indice >= (model.length - 1)\" (click)=\"alterarIndice(item, item.Indice + 1)\">\r\n <mat-icon>arrow_downward</mat-icon>\r\n </button> -->\r\n <button type=\"button\" color=\"warn\" matTooltip=\"{{ 'Excluir' | translate }}\" mat-icon-button (click)=\"remover(item)\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </ng-container>\r\n </div>\r\n</li>\r\n</ul>\r\n\r\n\r\n<info-alert [messages]=\"messages\"></info-alert>","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 mask: string = \"n2\";\r\n @Input() \r\n get ismask() {\r\n return this.mask;\r\n }\r\n\r\n set ismask(value) {\r\n this.mask = (value == null ? this.mask : value);\r\n }\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}","<div class=\"row\">\r\n <div [ngClass]=\"{'col-md-6': !onelist, 'col-md-12': onelist}\" class=\"pr-0\">\r\n <mat-form-field class=\"col-md-12\" >\r\n <input matInput placeholder=\"{{ filterlabel | translate}}\" name=\"FilterList\" [(ngModel)]=\"filterList\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ filterdescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterList, true)\">{{'MarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(true)\">{{'MarcarTodos' | translate}}</a>\r\n <a (click)=\"marcarFiltrados(filterList, false)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterList)\" [(value)]=\"item.Id\">\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n\r\n <div class=\"col-md-6 pr-0\" *ngIf=\"!onelist\">\r\n <mat-form-field class=\"col-md-12\">\r\n <input matInput placeholder=\"{{ selectedlabel | translate}}\" name=\"FilterSelected\" [(ngModel)]=\"filterSelected\" >\r\n </mat-form-field>\r\n\r\n <div class=\"col-md-12\">\r\n <label class=\"description\" *ngIf=\"filterdescription != '' || selecteddescription != ''\"> {{ selecteddescription | translate }}</label>\r\n <div class=\"actions\" *ngIf=\"!disabled\">\r\n <a (click)=\"marcarFiltrados(filterSelected, false, true)\">{{'DesmarcarFiltrados' | translate}}</a>\r\n <a (click)=\"marcarTodos(false)\">{{'DesmarcarTodos' | translate}}</a>\r\n </div>\r\n\r\n <ul class=\"checkbox-list\">\r\n <li *ngFor=\"let item of getModel(filterSelected, true)\" [(value)]=\"item.Id\" >\r\n <mat-checkbox [(ngModel)]=\"item.Selecionado\" [indeterminate]=\"true\" [disabled]=\"disabled\"><span [innerHTML]=\"item.Descricao\"></span></mat-checkbox>\r\n </li>\r\n </ul>\r\n </div>\r\n <div class=\"col-md-12 align-right\"><small>{{message}}</small></div>\r\n </div>\r\n</div>","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, todos = false): any[] {\r\n if (todos || 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, true).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}","<mat-form-field>\r\n <mat-select [placeholder]=\"placeholder | translate\" [(ngModel)]=\"selectedValue\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\">\r\n <mat-option *ngIf=\"blank\" [value]=\"blankItem.Id\">{{ blankItem.Nome | translate }}</mat-option>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\" [innerHTML]=\"i.Nome | translate:(notranslate===null)\"></mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","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 @Input() notranslate: any = null;\r\n @Input() notoken: boolean = false;\r\n\r\n @Output() onselecteditem = new EventEmitter();\r\n\r\n selectedValue: any = null;\r\n translatValue: boolean = true;\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 let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n\r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if (this.selectedValue) this.onChangeValue();\r\n }\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}","<span class=\"line\"></span>\r\n\r\n<div class=\"timeline-box\">\r\n <div class=\"box-label\" *ngIf=\"label != ''\">\r\n <div class=\"label-text\">{{label}}</div>\r\n </div>\r\n\r\n <div class=\"box-items\">\r\n <div class=\"item\" *ngFor=\"let item of data\">\r\n <div class=\"item-point\" [ngStyle]=\"{ 'border-color': item.PointColor }\"></div>\r\n <div class=\"item-content\">\r\n <h2 *ngIf=\"item.Title\">{{item.Title}}</h2>\r\n <p [innerHTML]=\"item.Content | translate\"></p>\r\n <h3 *ngIf=\"item.Date\">{{ item.Date }} às {{ item.Hour }}</h3>\r\n </div>\r\n </div>\r\n </div>\r\n</div>","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 @Input() enabledhtmlmode: boolean = false;\r\n @Input() sanitize: boolean = true;\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 sanitize: false,\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 if (this.sanitize)\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.sanitize ? this._sanitizer.sanitize(SecurityContext.HTML, modelValue) : 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}","<angular-editor [attr.id]=\"id\" [attr.focused]=\"focused\" [attr.htmlmode]=\"enabledhtmlmode\" [(ngModel)]=\"value\" name=\"editor\" [config]=\"editorConfig\" (ngModelChange)=\"onChangeValue()\" [required]=\"required\" #editor></angular-editor>\r\n","<mat-form-field>\r\n <mat-label>{{placeholder | translate}}</mat-label>\r\n\r\n <mat-select [(ngModel)]=\"selectedValues\" (selectionChange)=\"onChangeValue()\" [disabled]=\"disabled || loading\" [required]=\"required\" multiple>\r\n <mat-option *ngFor=\"let i of data\" [value]=\"i.Id\">\r\n <span [innerHtml]=\"i.Nome | translate:(notranslate===null)\"></span>\r\n </mat-option>\r\n </mat-select>\r\n</mat-form-field>\r\n\r\n<section class=\"select-loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\" *ngIf=\"loading\" >\r\n </mat-progress-bar>\r\n</section>","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 @Input() notranslate: any = null;\r\n @Input() notoken: boolean = 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 let observable = this.notoken ?\r\n this._dataAcessService.getNoToken(this.api, this.method, this.params) :\r\n this._dataAcessService.get(this.api, this.method, this.params);\r\n \r\n observable.subscribe(r => {\r\n if (r.success) {\r\n this.data = r.data;\r\n if ((this.selectedValues || []).length > 0) this.onChangeValue();\r\n }\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}","<mat-form-field>\r\n <mat-chip-list #chipList>\r\n <mat-chip *ngFor=\"let item of values; let i = index\" [removable]=\"!disabled\" (removed)=\"remove(i)\">\r\n {{item}}\r\n <mat-icon matChipRemove *ngIf=\"!disabled\">cancel</mat-icon>\r\n </mat-chip>\r\n <input [placeholder]=\"placeholder | translate\"\r\n [matChipInputFor]=\"chipList\"\r\n [matChipInputSeparatorKeyCodes]=\"separatorKeysCodes\"\r\n (matChipInputTokenEnd)=\"add($event)\"\r\n [disabled]=\"disabled\"\r\n (blur)=\"onBlur()\">\r\n </mat-chip-list>\r\n </mat-form-field>","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}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-navbar\">\r\n <a class=\"logo\" >\r\n <i class=\"logo-img\"></i>\r\n <i class=\"logo-img-resp\"></i>\r\n </a>\r\n \r\n <div class=\"nav-items\">\r\n <div class=\"nav-item usuario-logado\" [class.separador]=\"_session.Empresas.length > 1 || _session.Unidades\">\r\n <dl (click)=\"navigate(profileurl)\">\r\n <dt>{{ _session.Perfil }}</dt>\r\n <dd>{{ _session.Usuario }}</dd>\r\n </dl>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Empresas.length > 1\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <dl (click)=\"open('empresa')\">\r\n <dt>{{ 'Empresa' | translate }}</dt>\r\n <dd>{{ _session.Empresa }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Empresas' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-empresa\" *ngIf=\"_session.Unidade\" [ngClass]=\"{ 'opened' : topMenu.unidade }\">\r\n <dl (click)=\"open('unidade')\">\r\n <dt>{{ 'Unidade' | translate }}</dt>\r\n <dd>{{ _session.Unidade }}</dd>\r\n </dl>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Unidades' | translate }}</h4>\r\n \r\n <ul class=\"empresas\">\r\n <li *ngFor=\"let unity of _session.Unidades\" >\r\n <a (click)=\"setUnity(unity); divModal.click();\">{{ unity.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item selecao-infoia\" [ngClass]=\"{ 'opened': topMenu.infoia }\" *ngIf=\"enabledia\">\r\n <button mat-icon-button (click)=\"open('infoia')\" [matTooltip]=\"'Info IA' | translate\">\r\n <label>{{ 'InfoIA' | translate }}</label>\r\n <mat-icon>diversity_2</mat-icon>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita infoia\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'InfoIA' | translate }}</h4>\r\n <div>\r\n <ng-content></ng-content>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n \r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n \r\n <div class=\"menu-lateral-direita\" >\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Notificacoes' | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n \r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <dl>\r\n <dt>{{ 'Dia' | translate }} {{ item.Date }}</dt>\r\n <dd [innerHtml]=\"item.Description | translate\"></dd>\r\n </dl>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <!-- <div class=\"nav-item\">\r\n <button mat-icon-button (click)=\"alternarModo()\" [matTooltip]=\"'AlternarModo' | translate\"><mat-icon>brightness_6</mat-icon></button>\r\n </div> -->\r\n \r\n <div class=\"nav-item selecao-tema\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Temas' | translate }}</h4>\r\n \r\n <ul class=\"temas\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"_platform.Config.enabledPrime\">\r\n <button mat-icon-button [matTooltip]=\"(_platform.ModoPrime ? 'ModoPadrao' : 'Prime') | translate\" (click)=\"toggleMode()\"><mat-icon>brightness_6</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"nav-item selecao-idioma\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n \r\n <div class=\"menu-lateral-direita\">\r\n <mat-icon class=\"fechar\" (click)=\"close()\">close</mat-icon>\r\n <h4>{{ 'Idiomas' | translate }}</h4>\r\n \r\n <ul class=\"idiomas\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n \r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n \r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-navbar\">\r\n <div class=\"sessao-clone text-lightgray\" *ngIf=\"_session.Clone\">\r\n <div><label>({{ 'ModoClone' | translate }})</label></div>\r\n </div>\r\n\r\n <div class=\"navbar-button\" [ngClass]=\"{ 'open' : opened }\" (click)=\"openSidebar()\">\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n <span></span>\r\n </div>\r\n\r\n <h1 id=\"page-title\" class=\"page-title\" *ngIf=\"_platform.PaginaAtiva\">\r\n <mat-icon>{{ _platform.PaginaAtiva.Icone }}</mat-icon> {{ _platform.PaginaAtiva.Titulo | translate }}\r\n </h1>\r\n\r\n <div class=\"nav-items\">\r\n <div class=\"nav-item user-profile\" [ngClass]=\"{ 'opened' : topMenu.empresa }\">\r\n <button mat-button (click)=\"open('empresa')\">\r\n <mat-icon>fingerprint</mat-icon>\r\n <div class=\"name\">\r\n <label>{{ \"Empresa\" | translate }}</label>\r\n <span>{{ _session.Empresa }}</span>\r\n </div>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Empresa' | translate }}</h4>\r\n\r\n <ul class=\"company\">\r\n <li *ngFor=\"let company of _session.Empresas\" >\r\n <a (click)=\"setCompany(company); divModal.click();\">{{ company.Nome }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened' : topMenu.notificacao }\" *ngIf=\"notificationapi\">\r\n <button mat-icon-button (click)=\"setNotificationStatus(true, false, false);open('notificacao')\" [matTooltip]=\"'Notificacoes' | translate\"><mat-icon>notifications_none</mat-icon>\r\n <span class=\"badge\" *ngIf=\"notifications.Count > 0\">{{ notifications.Count }}</span>\r\n </button>\r\n\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Notificacoes' | translate }}</h4>\r\n\r\n <ul>\r\n <li *ngIf=\"notifications.Itens.length == 0\">\r\n <a style=\"cursor: default;\">\r\n <mat-icon>notifications_off</mat-icon>\r\n <div class=\"content\">\r\n <span>{{ 'TNotificacoesNenhuma' | translate }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n\r\n <ng-container *ngIf=\"notifications.Itens.length > 0\">\r\n <li *ngFor=\"let item of notifications.Itens\">\r\n <a (click)=\"navigate(item.Url);close()\">\r\n <mat-icon>{{ item.Icon }}</mat-icon>\r\n <div class=\"content\">\r\n <span class=\"desc\" [innerHtml]=\"item.Description | translate\"></span>\r\n <span class=\"date\">{{ item.Date }}</span>\r\n </div>\r\n </a>\r\n </li>\r\n </ng-container>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.idioma }\" *ngIf=\"languages.length > 0\">\r\n <button mat-icon-button (click)=\"open('idioma')\" [matTooltip]=\"'Idioma' | translate\"><mat-icon>public</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Idioma' | translate }}</h4>\r\n <ul class=\"languages\">\r\n <li *ngFor=\"let lang of languages\">\r\n <a (click)=\"setLanguage(lang.lang); divModal.click();\">{{ lang.name | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div class=\"nav-item\" [ngClass]=\"{ 'opened': topMenu.tema }\" *ngIf=\"!prodution && themes.length > 0\">\r\n <button mat-icon-button (click)=\"open('tema')\" [matTooltip]=\"'Tema' | translate\"><mat-icon>invert_colors</mat-icon></button>\r\n <div class=\"dropdown-menu\">\r\n <h4 class=\"menu-title\">{{ 'Temas' | translate }}</h4>\r\n <ul class=\"themes\">\r\n <li *ngFor=\"let theme of themes\">\r\n <a (click)=\"setTheme(theme.name); divModal.click();\"> {{ theme.description | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </div>\r\n \r\n <div class=\"nav-item\" *ngIf=\"fastsearchform\">\r\n <button mat-icon-button (click)=\"openFastSearch()\" [matTooltip]=\"fastsearchtitle | translate\">\r\n <mat-icon>search</mat-icon>\r\n </button>\r\n </div>\r\n\r\n <div class=\"nav-item\" *ngIf=\"profileurl != ''\">\r\n <button mat-icon-button [matTooltip]=\"'MeuPerfil' | translate\" [routerLink]=\"profileurl\"><mat-icon>person</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"nav-item\">\r\n <button mat-icon-button [matTooltip]=\"'Sair' | translate\" (click)=\"logout()\"><mat-icon>power_settings_new</mat-icon></button>\r\n </div>\r\n\r\n <div class=\"items-overlay\" (click)=\"close()\" #divModal></div>\r\n </div>\r\n </div>\r\n</ng-container>\r\n\r\n<section class=\"loading-bar\" *ngIf=\"loading\"><mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar></section>\r\n<div class=\"block\" *ngIf=\"loading\"></div>","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\nimport { Utilities } from '../../utils/utilities';\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 @Input() enabledia: 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 unidade: false,\r\n infoia: 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, \r\n private _dataService: InfoDataService, \r\n private _themeService: InfoThemeService, \r\n private _router: Router, private _dialog: InfoDialogModal, \r\n public _session: InfoSessionModel, \r\n public _platform: InfoPlatformModel, \r\n private _modal: MatDialog,\r\n private _renderer: Renderer2, \r\n public _element: ElementRef, \r\n private _utilities: Utilities) { }\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.Unidades || [])[0] || {}).TemaId || company.TemaId;\r\n this._session.Unidades = company.Unidades;\r\n this._session.UnidadeId = ((company.Unidades || []) || {}).Id;\r\n this._session.Unidade = ((company.Unidades || []) || {}).Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(this._platform.SessionKey, JSON.stringify(this._session));\r\n \r\n if ((company.Unidades || []).length > 0) {\r\n this.setUnity(company.Unidades[0]);\r\n } else 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 setUnity(unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, this._session.EmpresaId, unity.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.TemaId = unity.TemaId ?? this._session.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(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 setCompanyUnity(company, unity) {\r\n this._authenticationService.trocarUnidade(this._session.Login, company.Id, unity.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.Unidades = company.Unidades;\r\n this._session.TemaId = unity.TemaId ?? company.TemaId;\r\n this._session.UnidadeId = unity.Id;\r\n this._session.Unidade = unity.Nome;\r\n this._themeService.setThemeByLoggedCompany();\r\n\r\n localStorage.removeItem(\"Dashboard\");\r\n this._utilities.setLocalStorage(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 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.unidade = achtiveMenu == 'unidade';\r\n this.topMenu.infoia = achtiveMenu == 'infoia';\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.unidade = false;\r\n this.topMenu.infoia = 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}","<ng-container *ngIf=\"_platform.Config.ux >= 3\">\r\n <div class=\"site-sidebar\" [ngClass]=\"{ 'opened': openSubmenu }\" >\r\n <nav>\r\n <div class=\"main-menu\">\r\n <a id=\"menu-min-icon\" (click)=\"toggleSidebar()\">\r\n <mat-icon [ngClass]=\"{ 'min': _platform.MenuMin }\">menu</mat-icon>\r\n </a>\r\n\r\n <ul *ngIf=\"menu\">\r\n \r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n \r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\">{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a class=\"item-link\" (click)=\"toggleSubmenu(m.Title);tooltip.hide();\" >\r\n <mat-icon #tooltip=\"matTooltip\" [matTooltip]=\"m.Title | translate\" [matTooltipDisabled]=\"!_platform.MenuMin\" matTooltipPosition=\"right\" [matTooltipShowDelay]=\"600\" matTooltipClass=\"mat-tooltip\" >{{ m.Icon }}</mat-icon>\r\n <label class=\"title\">{{ m.Title | translate }}</label>\r\n </a>\r\n \r\n <div class=\"sub-menu\">\r\n <h4>{{ m.Title | translate }}</h4>\r\n \r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" class=\"item-link\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n <div class=\"sub-menu-overlay\" (click)=\"openSubmenu = ''\"></div>\r\n </div>\r\n</ng-container>\r\n\r\n<ng-container *ngIf=\"_platform.Config.ux <= 2\">\r\n <div class=\"site-sidebar\">\r\n\r\n <div class=\"logo\">\r\n <a href=\"/\" >\r\n <i class=\"logo-img\"></i>\r\n </a>\r\n </div>\r\n\r\n <div class=\"info\">\r\n <span>{{ _session.Usuario }}</span>\r\n <small>{{ _session.Perfil }}</small>\r\n </div>\r\n\r\n <nav>\r\n <div class=\"main-menu\">\r\n <section class=\"loading-bar\" *ngIf=\"loading\">\r\n <mat-progress-bar color=\"primary\" mode=\"indeterminate\"></mat-progress-bar>\r\n </section>\r\n <ul *ngIf=\"menu\">\r\n <li class=\"menu-item\" *ngFor=\"let m of menu\" [ngClass]=\"{ 'has-sub': m.Sub != null, 'active': m.Active, 'menu-item-group': m.Group, 'disabled': !m.Enabled }\">\r\n \r\n <!-- Grupos -->\r\n <span class=\"group-title\" *ngIf=\"m.Group\">{{ m.Title }} </span>\r\n \r\n <!-- Itens -->\r\n <a href=\"#\" [routerLink]=\"m.Routing\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && m.Enabled\" (click)=\"toggle($event, m);resetLastSearch();\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n </a>\r\n \r\n <a class=\"item-link\" *ngIf=\"!m.Group && m.Sub == null && !m.Enabled\">\r\n <mat-icon>{{ m.Icon }}</mat-icon>{{ m.Title | translate }} \r\n </a>\r\n \r\n <!-- Item com submenu -->\r\n <a href=\"#\" class=\"item-link\" *ngIf=\"!m.Group && m.Sub != null\" (click)=\"toggle($event, m)\">\r\n <mat-icon class=\"icon\">{{ m.Icon }}</mat-icon>{{ m.Title | translate }}\r\n <i class=\"caret fa fa-angle-right\" *ngIf=\"m.Sub\"></i>\r\n </a>\r\n \r\n <!-- Sub Menu -->\r\n <ul class=\"sub\" *ngIf=\"!m.Group && m.Sub != null\">\r\n <li class=\"menu-item\" *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"resetLastSearch()\" class=\"item-link\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </div>\r\n </nav>\r\n </div>\r\n</ng-container>\r\n\r\n<div class=\"sidebar-overlay\"></div>","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, public _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}","<nav>\r\n <ul *ngIf=\"menu\">\r\n <li *ngFor=\"let m of menu\" [ngClass]=\"{ 'active': menuAtivo == m.Title, 'disabled': !m.Enabled, 'opened': openSubmenu == m.Title }\">\r\n <a *ngIf=\"m.Sub == null\" [routerLink]=\"m.Routing\" (click)=\"access(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <ng-container *ngIf=\"m.Sub != null\">\r\n <a (click)=\"toggleSubmenu(m.Title)\" >{{ m.Title | translate }} </a>\r\n\r\n <div class=\"sub-menu\">\r\n <ul>\r\n <li *ngFor=\"let s of m.Sub\">\r\n <a [routerLink]=\"s.Routing\" (click)=\"changeSidebar();access(m.Title);\" >{{ s.Title | translate }}</a>\r\n </li>\r\n </ul>\r\n </div>\r\n </ng-container>\r\n </li>\r\n </ul>\r\n</nav>","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}","<div class=\"site-container\" [ngClass]=\"{ 'open-sidebar': opened }\">\r\n \r\n <info-topbar #topbar\r\n [themes]=\"themes\" \r\n [languages]=\"languages\" \r\n [profileurl]=\"profileurl\"\r\n [notificationapi]=\"notificationapi\" \r\n [notificationgetmethod]=\"notificationgetmethod\" \r\n [notificationpostmethod]=\"notificationpostmethod\"\r\n [notificationverifymethod]=\"notificationverifymethod\"\r\n [notificationverifyenabled]=\"notificationverifyenabled\"\r\n [fastsearchform]=\"fastsearchform\"\r\n [fastsearchformwidth]=\"fastsearchformwidth\"\r\n [fastsearchtitle]=\"fastsearchtitle\"\r\n [setthemeonchangecompany]=\"setthemeonchangecompany\"\r\n (onchangestate)=\"onChangeTopBarState()\"\r\n (ongetnotification)=\"onGetNotificationsTopBar($event)\"\r\n (onverifynotification)=\"onVerifyNotificationsTopBar($event)\"\r\n [enabledia]=\"enabledia\">\r\n <ng-content select=\"[infoia]\"></ng-content>\r\n </info-topbar>\r\n \r\n <info-topmenu *ngIf=\"_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-topmenu>\r\n\r\n <info-sidebar #sidebar *ngIf=\"!_platform.Config.topMenu\"\r\n [api]=\"menuapi\" \r\n [method]=\"menumethod\" \r\n [activemenubyurl]=\"activemenubyurl\"\r\n (onchangestate)=\"onChangeSideBarState()\">\r\n </info-sidebar>\r\n\r\n <main class=\"main-content\">\r\n <div class=\"main-content-wrap\">\r\n <ng-content select=\"[main]\" *ngIf=\"ready\"></ng-content>\r\n </div>\r\n\r\n <div class=\"footer row\">\r\n <div class=\"copyright col-9\">{{ 'Copyright' | translate}}</div>\r\n <div class=\"version col-3\" *ngIf=\"version\">{{ 'Versao' | translate}} {{ version }}</div>\r\n </div>\r\n \r\n <info-alert [messages]=\"messages\"></info-alert>\r\n </main>\r\n</div>","import { Component, ElementRef, EventEmitter, HostListener, 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\nimport { InfoSidebarComponent } from \"../sidebar/sidebar.component\";\r\nimport { Utilities } from \"../../utils/utilities\";\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 @Input() enabledia: boolean = false;\r\n private _themes: any = [];\r\n\r\n protected ready: boolean = false;\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 @ViewChild('sidebar') sidebar: InfoSidebarComponent;\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 private _utilities: Utilities) { }\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._platform.Themes = this.themes;\r\n this._platform.ShortcutApi = this.shortcutapi;\r\n\r\n if (this._utilities.getLocalStorage(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 @HostListener('document:click', ['$event.target'])\r\n public onClick(targetElement) { \r\n if (this.opened &&\r\n !this.sidebar._element.nativeElement.contains(targetElement) &&\r\n !this.topbar._element.nativeElement.contains(targetElement))\r\n this.onChangeSideBarState();\r\n }\r\n\r\n getLoggedUser() {\r\n var cSession = this._utilities.getLocalStorage(this._platform.SessionKey);\r\n if (cSession != null)\r\n Object.assign(this._session, JSON.parse(cSession));\r\n\r\n if (this._session.UsuarioId != null || this.loggeduserapi == null) {\r\n this.ready = true;\r\n return;\r\n }\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.UnidadeId = r.data.UnidadeId;\r\n this._session.TemaId = r.data.TemaId;\r\n this._session.Empresa = r.data.Empresa;\r\n this._session.Unidade = r.data.Unidade;\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.DataMovimentacao = r.data.DataMovimentacao;\r\n this._session.OcultarNomeCliente = r.data.OcultarNomeCliente;\r\n this._session.Empresas = r.data.Empresas;\r\n this._session.Unidades = r.data.Unidades;\r\n this._session.Parametros = r.data.Parametros;\r\n this._session.MFA = r.data.MFA;\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 this.ready = true;\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, 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 { 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\nimport { Utilities } from './utils/utilities';\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, InfoGridModalComponent } 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 imports: [\r\n CommonModule,\r\n HttpClientModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n MatCardModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatFormFieldModule,\r\n MatListModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatRadioModule,\r\n MatButtonModule,\r\n MatDatepickerModule,\r\n MatMomentDateModule,\r\n MatDialogModule,\r\n MatProgressBarModule,\r\n MatAutocompleteModule,\r\n MatTooltipModule,\r\n RouterModule,\r\n CurrencyMaskModule,\r\n AngularEditorModule,\r\n MatChipsModule,\r\n ],\r\n declarations: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoMaskDirective,\r\n InfoUnmaskDirective,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n AtalhoModalComponent,\r\n RefreshSessionTimeModalComponent,\r\n ],\r\n exports: [\r\n InfoTranslatePipe,\r\n InfoMaskPipe,\r\n InfoAlertComponent,\r\n InfoAutoCompleteComponent,\r\n InfoBigCheckboxComponent,\r\n InfoCardComponent,\r\n InfoMenuCardComponent,\r\n InfoCheckboxComponent,\r\n InfoDateComponent,\r\n InfoDateMonthComponent,\r\n InfoGridComponent,\r\n\t\tInfoGridModalComponent,\r\n\t\tInfoInputComponent,\r\n InfoInputListComponent,\r\n InfoListCheckboxComponent,\r\n InfoMessageComponent,\r\n InfoPaginatorComponent,\r\n InfoSelectComponent,\r\n InfoTimelineComponent,\r\n InfoEditorComponent,\r\n InfoMultiSelectComponent,\r\n InfoChipsComponent,\r\n InfoDialogComponent,\r\n InfoLoadingComponent,\r\n InfoMainComponent,\r\n InfoModalComponent,\r\n InfoPagebarComponent,\r\n InfoSidebarComponent,\r\n InfoTopbarComponent,\r\n InfoTopMenuComponent,\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n\t],\r\n providers: [\r\n Utilities\r\n\t]\r\n})\r\nexport class InfoLibraryModule { }","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1.InfoPlatformModel","i1.InfoTranslateService","i2","i3.InfoPlatformModel","i4.Utilities","_c1","_c0","i1","i3.InfoSessionModel","i4.InfoPlatformModel","i5.InfoDataService","i6","i7.Utilities","i8.InfoTranslateService","i2.InfoPlatformModel","i3.InfoThemeService","i1.InfoDataService","_c2","i3.InfoDataService","i4.InfoTranslateService","i5.InfoPlatformModel","_c4","_c3","i1.InfoDialogModal","i3","i4.InfoFormPropModel","i7.InfoAuthenticationService","i9.InfoLastSearchModel","i2.InfoAuthenticationService","i4.InfoThemeService","i5","i6.InfoDialogModal","i7.InfoSessionModel","i8.InfoPlatformModel","i9","i10.Utilities","i4.InfoSessionModel","i6.InfoLastSearchModel","i7","i3.InfoLastSearchModel","i4","i5.InfoSessionModel","i6.InfoPlatformModel","i2.InfoSessionModel","i4.InfoDataService","i5.InfoThemeService","i6.Utilities"],"mappings":"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"}