{"version":3,"sources":["./src/app/elements/file/file.component.ts","./src/app/elements/file/file.component.html","./src/app/layout/header/header.component.html","./src/app/layout/header/header.component.ts","./src/app/components/text/text.component.html","./src/app/components/text/text.component.ts","./src/app/components/context-menu/context-menu.component.html","./src/app/components/context-menu/context-menu.component.ts","crypto (ignored)","./src/app/layout/workspace/workspace.component.html","./src/app/layout/workspace/workspace.component.ts","./src/app/services/lang.service.ts","./src/app/components/progress/progress.component.ts","./src/app/components/progress/progress.component.html","./src/app/services/tools.service.ts","./src/app/layout/login/login.component.html","./src/app/layout/login/login.component.ts","./src/app/elements/select/select.component.html","./src/app/elements/select/select.component.ts","./src/app/components/table/table.component.html","./src/app/components/table/table.component.ts","./src/environments/environment.ts","./src/app/elements/base/base.component.html","./src/app/elements/base/base.component.ts","./src/app/services/inactivity.service.ts","./src/app/components/nav/nav.component.html","./src/app/components/nav/nav.component.ts","./src/app/components/dash/dash-base/dash-base.component.html","./src/app/components/dash/dash-base/dash-base.component.ts","./src/app/services/api.service.ts","./src/app/layout/home/home.component.html","./src/app/layout/home/home.component.ts","./src/app/elements/elements.module.ts","./src/app/components/tabledash/tabledash.component.html","./src/app/components/tabledash/tabledash.component.ts","./src/app/components/dash/dash-column/dash-column.component.ts","./src/app/components/dash/dash-column/dash-column.component.html","./src/app/components/dash/dash-bar/dash-bar.component.ts","./src/app/components/dash/dash-bar/dash-bar.component.html","./src/app/app.component.ts","./src/app/app.component.html","./src/app/layout/layout.module.ts","./src/app/elements/button/button.component.html","./src/app/elements/button/button.component.ts","./src/app/components/dash/dash-line/dash-line.component.ts","./src/app/components/dash/dash-line/dash-line.component.html","./src/app/components/dash/dash-high/dash-high.component.ts","./src/app/components/dash/dash-high/dash-high.component.html","./src/app/components/dash/dash-donut/dash-donut.component.ts","./src/app/components/dash/dash-donut/dash-donut.component.html","./src/app/app.module.ts","./src/app/components/dashia/dashia.component.html","./src/app/components/dashia/dashia.component.ts","./src/app/layout/alert/alert.component.html","./src/app/layout/alert/alert.component.ts","./src/app/components/dash/dash-multi/dash-multi.component.ts","./src/app/components/dash/dash-multi/dash-multi.component.html","./src/app/components/dash/dash-new/dash-new.component.ts","./src/app/components/dash/dash-new/dash-new.component.html","./src/app/components/dash/dash-item-ranking/dash-item-ranking.component.html","./src/app/components/dash/dash-item-ranking/dash-item-ranking.component.ts","./src/app/components/dash/dash-template-app/dash-template-app.component.html","./src/app/components/dash/dash-template-app/dash-template-app.component.ts","./src/app/components/title/title.component.ts","./src/app/components/title/title.component.html","./src/app/services/sync.service.ts","./src/app/components/collapse/collapse.component.ts","./src/app/components/collapse/collapse.component.html","./src/app/components/modules/modules.component.ts","./src/app/components/modules/modules.component.html","./src/app/components/dash/dash-mix/dash-mix.component.html","./src/app/components/dash/dash-mix/dash-mix.component.ts","./src/app/components/components.module.ts","./src/app/layout/menu/menu.component.ts","./src/app/layout/menu/menu.component.html","./src/app/components/dash/dash-number/dash-number.component.html","./src/app/components/dash/dash-number/dash-number.component.ts","./src/app/components/dash/dash.component.ts","./src/app/components/dash/dash.component.html","./src/app/services/mods.service.ts","./src/app/elements/multi-select/multi-select.component.html","./src/app/elements/multi-select/multi-select.component.ts","./src/app/components/dash/dash-map/dash-map.component.ts","./src/app/components/dash/dash-map/dash-map.component.html","./src/app/services/user.service.ts","./src/app/elements/button-group/button-group.component.ts","./src/app/elements/button-group/button-group.component.html","./src/app/components/dash/dash.module.ts","./src/app/app-routing.module.ts","./src/app/elements/input/input.component.html","./src/app/elements/input/input.component.ts","./src/app/components/dash/dash-layout/dash-layout.component.html","./src/app/components/dash/dash-layout/dash-layout.component.ts","./src/app/components/dash/dash-item/dash-item.component.html","./src/app/components/dash/dash-item/dash-item.component.ts","./src/app/components/form/form.component.html","./src/app/components/form/form.component.ts","./src/app/components/step/step.component.html","./src/app/components/step/step.component.ts","./src/main.ts","./src/app/components/dash/dash-funnel/dash-funnel.component.ts","./src/app/components/dash/dash-funnel/dash-funnel.component.html","./src/app/components/ia/ia.component.ts","./src/app/components/ia/ia.component.html","./$_lazy_route_resource lazy namespace object"],"names":[],"mappings":"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","file":"main.js","sourcesContent":["import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\nimport { ApiService } from '../../services/api.service';\nimport { ModsService } from 'src/app/services/mods.service';\nimport * as ExcelJS from 'exceljs';\nimport * as XLSX from 'xlsx';\n\n// declare var XLSX: any;\ndeclare var X2JS: any;\ndeclare var delete_row: any;\ndeclare var window: any;\n\n@Component({\n selector: 'app-file',\n templateUrl: './file.component.html',\n styleUrls: ['./file.component.css']\n})\n\nexport class FileComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public scopeId: any;\n\n fileCount: any = 0;\n fileToUpload;\n fileToUploadPdf;\n\n constructor(private tools: ToolsService, private api: ApiService, private mods: ModsService) { }\n\n ngOnInit(): void {\n // // console.log('element.value: ', this.element);\n }\n\n changeImage(target: any) {\n let files = target.files;\n var reader = new FileReader();\n\n reader.onload = (e) => {\n this.fileToUpload = files.item(0);\n this.fileToUpload.url = e.target.result;\n // console.log('element.value: ', this.element);\n // console.log(\"🚀 ~ this.fileToUpload:\", this.fileToUpload);\n\n if (!this.fileToUpload) return alert('Imagem não selecionada.');\n if (!this.element.param) return alert('Elemento sem \"param\".');\n if (!this.element.path) return alert('Elemento sem \"path\".');\n\n let formData1 = new FormData();\n formData1.append(\"file\", this.fileToUpload, this.fileToUpload.name);\n\n this.api.post('https://static.applayos.com:3000/images/' + this.element.param + '/' + this.element.path, formData1, (result) => {\n // console.log(\"🚀 ~ result:\", result);\n if (this.element.change) {\n this.tools.runFunc(this.element.change, this.element, this.scopeId, { data: result });\n }\n });\n }\n reader.readAsDataURL(files.item(0)); // Lê o arquivo como URL de dados\n }\n\n async changePdf(target: any) {\n let files = target.files;\n this.fileToUploadPdf = files.item(0);\n\n if (!this.fileToUploadPdf) return alert('Arquivo não selecionado.');\n if (!this.element.param) return alert('Elemento sem \"param\".');\n if (!this.element.path) return alert('Elemento sem \"path\".');\n\n const payload = {\n name: this.fileToUploadPdf.name,\n base64: await this.convertInBase64(this.fileToUploadPdf),\n size: this.fileToUploadPdf.size\n }\n\n this.api.post('https://static.applayos.com:3000/pdfbase64/' + this.element.param + '/' + this.element.path, payload, (result1) => {\n\n if (this.element.change) {\n this.tools.runFunc(this.element.change, this.element, this.scopeId, { data: result1 });\n }\n\n });\n }\n\n convertInBase64(file) {\n return new Promise((resolve, reject) => {\n // const file = files[0];\n if (file) {\n const reader: any = new FileReader();\n reader.readAsDataURL(file);\n reader.onload = function () {\n const base64String = reader.result.split(',')[1];\n resolve(base64String)\n };\n reader.onerror = function (error) {\n reject(error);\n };\n } else {\n return alert('Arquivo não selecionado')\n }\n });\n }\n\n async ufile(target) {\n // console.log(\"🚀 ~ ufile\")\n var type = this.element.typeFile;\n var files = target.files;\n // console.log(\"🚀 ~ files.length:\", files.length)\n\n this.fileCount = 0;\n\n this.fileToUpload = files.item(0);\n\n let fileRaws: any = []\n let filenames: any = [];\n let finalData: any = [];\n\n for (var i = 0; i < files.length; i++) {\n ((file, name) => {\n // console.log(\"🚀 ~ file:\", file)\n var name = file.name;\n // console.log(\"🚀 ~ name:\", name)\n\n var reader = new FileReader();\n reader.onload = async (e) => {\n // console.log(\"🚀 ~ reader.onload:\")\n let target = event.target as HTMLInputElement;\n var raw = target['result'];\n fileRaws.push(raw);\n filenames.push(name);\n\n this.mods.updAlert({ type: 'loading', msg: 'O processo pode levar alguns minutos.', value: true, lock: true })\n\n // var data = this.readerFileOld({ type: type, raw: raw, filename: target['filename'] });//VERSAO ANTIGA\n // var data = await this.readerFileNew3(file, { type: type, raw: raw, filename: target['filename'] });//MENOS RAPIDA\n // var data = await this.readerFileNew(file, { type: type, raw: raw, filename: target['filename'] });//MAIS RAPIDA\n var data = await this.readerFileChunk(file, { type: type, raw: raw, filename: target['filename'] });//NOVO TESTE COM CHUNK\n // console.log(\"🚀 ~ data:\", data)\n // console.log(\"🚀 ~ data:\", data)\n\n this.mods.updAlert({ type: 'loading', msg: 'O processo pode levar alguns minutos.', value: false, lock: true })\n\n this.fileCount += 1;\n\n finalData.push(data);\n if (files.length == this.fileCount) {\n\n if (files.length == 1) {\n finalData = finalData[0];\n filenames = filenames[0];\n }\n\n if (['xml'].indexOf(type) >= 0) {\n data = finalData\n }\n\n if (this.element.change) {\n if (this.element.raw) {\n this.tools.runFunc(this.element.change, this.element, this.scopeId, { data: data, filenames: filenames, fileRaws: fileRaws });\n } else {\n this.tools.runFunc(this.element.change, this.element, this.scopeId, { data: data, filenames: filenames });\n }\n }\n }\n }\n\n reader['filename'] = name;\n reader['mimeType'] = file.type;\n // console.log(\"🚀 ~ reader:\", reader)\n\n if (['xml', 'txt'].indexOf(type) >= 0) {\n reader.readAsText(file);\n }\n else if (['image', 'png', 'PNG', 'jpg', 'JPG', 'jpeg'].indexOf(type) >= 0) {\n reader.readAsDataURL(file);\n }\n else {\n reader.readAsBinaryString(file);\n }\n //GAMBIARRA\n setTimeout(() => {\n const fileInput: any = document.getElementById('fileInput');\n if (fileInput) {\n fileInput.value = null;\n }\n }, 1500)\n })(files[i]);\n }\n }\n\n readerFileOld(file) {\n var raw = file.raw;\n var type = file.type;\n var rule = file.rule;\n if (type == 'xlsx' || type == 'xls') {\n var workbook = XLSX.read(raw, { type: 'binary', cellFormula: false });\n var sheet_list = workbook.SheetNames;\n var data = {};\n for (var x1 in sheet_list) {\n if (rule && rule.split('shift').length > 1) {\n for (var x2 = 0; x2 < parseInt(rule.split('shift')[1] || '1'); x2++) {\n workbook.Sheets[sheet_list[x1]] = delete_row(workbook.Sheets[sheet_list[x1]], 0);\n }\n }\n // var lista = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet_list[x1]], { raw: true });\n // // console.log(\"🚀 ~ lista:\", lista)\n // data[sheet_list[x1]] = lista;\n }\n return data;\n }\n if (type == 'xml') {\n var x2js = new X2JS();\n var data: {} = x2js.xml2js(raw);\n return data\n }\n return raw\n }\n\n async readerFileNew(file, params) {//FASTEST FUNC\n return new Promise(resolve => {\n // console.log(\"🚀 ~ readerFile2, params: \", params)\n let raw = params.raw;\n let type = params.type;\n let rule = params.rule;\n // console.log(\"🚀 ~ file:\", file)\n\n var workbook2 = XLSX.read(raw, { type: 'binary', cellFormula: false });\n var sheet_list = workbook2.SheetNames;\n // console.log(\"🚀 ~ sheet_list:\", sheet_list)\n\n if (type == 'xlsx' || type == 'xls') {\n\n for (var x1 in sheet_list) {\n if (rule && rule.split('shift').length > 1) {\n for (var x2 = 0; x2 < parseInt(rule.split('shift')[1] || '1'); x2++) {\n workbook2.Sheets[sheet_list[x1]] = delete_row(workbook2.Sheets[sheet_list[x1]], 0);\n }\n }\n\n // var lista = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet_list[x1]], { raw: true });\n // // console.log(\"🚀 ~ lista:\", lista)\n // data[sheet_list[x1]] = lista;\n\n // const file: any = event.target.files[0];\n const workbook = new ExcelJS.Workbook();\n const reader = new FileReader();\n\n reader.onload = async (e: any) => {\n // console.log(\"🚀 ~ e:\", e)\n const buffer = e.target.result;\n await workbook.xlsx.load(buffer);\n\n const allSheetsData = [];\n\n workbook.eachSheet((worksheet, sheetId) => {\n const jsonData = [];\n let headers = [];\n\n worksheet.eachRow((row, rowNumber) => {\n if (rowNumber === 1) {\n // Primeira linha, assumimos que são os headers\n row.eachCell((cell, colNumber) => {\n headers[colNumber] = cell.value;\n });\n } else {\n // Linhas subsequentes, criamos os objetos com base nos headers\n const rowData = {};\n row.eachCell((cell, colNumber) => {\n rowData[headers[colNumber]] = cell.value;\n });\n jsonData.push(rowData);\n }\n });\n\n // allSheetsData.push({\n // sheetName: worksheet.name,\n // data: jsonData\n // });\n allSheetsData[worksheet.name] = jsonData\n });\n\n // // console.log('allSheetsData: ', allSheetsData);\n resolve(allSheetsData)\n // Aqui você pode fazer o que quiser com os dados processados\n };\n\n reader.readAsArrayBuffer(file);\n }\n }\n if (type == 'xml') {\n var x2js = new X2JS();\n var data: {} = x2js.xml2js(raw);\n return data\n }\n return raw\n })\n }\n\n async readerFileNew2(file, params) {\n return new Promise(resolve => {\n // console.log(\"🚀 ~ readerFile, params: \", params)\n let raw = params.raw;\n let type = params.type;\n let rule = params.rule;\n // console.log(\"🚀 ~ file:\", file)\n\n var workbook2 = XLSX.read(raw, { type: 'binary', cellFormula: false });\n var sheet_list = workbook2.SheetNames;\n // console.log(\"🚀 ~ sheet_list:\", sheet_list)\n\n if (type == 'xlsx' || type == 'xls') {\n\n for (var x1 in sheet_list) {\n if (rule && rule.split('shift').length > 1) {\n for (var x2 = 0; x2 < parseInt(rule.split('shift')[1] || '1'); x2++) {\n workbook2.Sheets[sheet_list[x1]] = delete_row(workbook2.Sheets[sheet_list[x1]], 0);\n }\n }\n\n // var lista = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet_list[x1]], { raw: true });\n // // console.log(\"🚀 ~ lista:\", lista)\n // data[sheet_list[x1]] = lista;\n\n // const file: any = event.target.files[0];\n const workbook: any = new ExcelJS.Workbook();\n const reader = new FileReader();\n\n console.time('reader.onload')\n reader.onload = async (e: any) => {\n console.timeEnd('reader.onload')\n const buffer = e.target.result;\n const arrayBuffer = new Uint8Array(buffer);\n const stream: any = new ReadableStream({\n start(controller) {\n controller.enqueue(arrayBuffer);\n controller.close();\n }\n });\n\n console.time('await workbook')\n await workbook.xlsx.read(stream);\n // console.log(\"🚀 ~ await workbook\")\n console.timeEnd('await workbook')\n\n const allSheetsData = [];\n\n console.time('workbook.eachSheet')\n workbook.eachSheet((worksheet, sheetId) => {\n // console.log(\"🚀 ~ workbook.eachSheet\")\n const jsonData = [];\n let headers = [];\n\n worksheet.eachRow((row, rowNumber) => {\n // console.log(\"🚀 ~ worksheet.eachRow\")\n if (rowNumber === 1) {\n // Primeira linha, assumimos que são os headers\n row.eachCell((cell, colNumber) => {\n headers[colNumber] = cell.value;\n });\n } else {\n // Linhas subsequentes, criamos os objetos com base nos headers\n const rowData = {};\n row.eachCell((cell, colNumber) => {\n rowData[headers[colNumber]] = cell.value;\n });\n jsonData.push(rowData);\n }\n });\n\n // allSheetsData.push({\n // sheetName: worksheet.name,\n // data: jsonData\n // });\n allSheetsData[worksheet.name] = jsonData\n });\n console.timeEnd('workbook.eachSheet')\n\n // console.log(allSheetsData);\n resolve(allSheetsData)\n // Aqui você pode fazer o que quiser com os dados processados\n };\n\n reader.readAsArrayBuffer(file);\n }\n }\n if (type == 'xml') {\n var x2js = new X2JS();\n var data: {} = x2js.xml2js(raw);\n return data\n }\n return raw\n })\n }\n\n async readerFileNew3(file, params) {\n return new Promise(resolve => {\n // console.log(\"🚀 ~ readerFile, params: \", params)\n let raw = params.raw;\n let type = params.type;\n let rule = params.rule;\n // console.log(\"🚀 ~ file:\", file)\n\n var workbook2 = XLSX.read(raw, { type: 'binary', cellFormula: false });\n var sheet_list = workbook2.SheetNames;\n // console.log(\"🚀 ~ sheet_list:\", sheet_list)\n\n if (type == 'xlsx' || type == 'xls') {\n\n for (var x1 in sheet_list) {\n if (rule && rule.split('shift').length > 1) {\n for (var x2 = 0; x2 < parseInt(rule.split('shift')[1] || '1'); x2++) {\n workbook2.Sheets[sheet_list[x1]] = delete_row(workbook2.Sheets[sheet_list[x1]], 0);\n }\n }\n\n // var lista = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet_list[x1]], { raw: true });\n // // console.log(\"🚀 ~ lista:\", lista)\n // data[sheet_list[x1]] = lista;\n\n // const file: any = event.target.files[0];\n const reader = new FileReader();\n\n reader.onload = (e: any) => {\n const data = new Uint8Array(e.target.result);\n const workbook = XLSX.read(data, { type: 'array' });\n\n const allSheetsData = [];\n\n workbook.SheetNames.forEach(sheetName => {\n const worksheet = workbook.Sheets[sheetName];\n const jsonData = XLSX.utils.sheet_to_json(worksheet, { header: 1 });\n // allSheetsData.push({\n // sheetName: sheetName,\n // data: jsonData\n // });\n allSheetsData[sheetName] = jsonData\n });\n\n // // console.log(allSheetsData);\n resolve(allSheetsData)\n // Aqui você pode fazer o que quiser com os dados processados\n };\n\n reader.readAsArrayBuffer(file);\n }\n }\n if (type == 'xml') {\n var x2js = new X2JS();\n var data: {} = x2js.xml2js(raw);\n return data\n }\n return raw\n })\n }\n\n async readerFileChunk(file, params) {\n return new Promise(resolve => {\n // console.log(\"🚀 ~ readerFile, params: \", params)\n let raw = params.raw;\n // console.log(\"🚀 ~ FileComponent ~ readerFileChunk ~ raw:\", raw)\n window.raw = raw;\n let type = params.type;\n // console.log(\"🚀 ~ FileComponent ~ readerFileChunk ~ type:\", type)\n let rule = params.rule;\n // console.log(\"🚀 ~ file:\", file)\n\n \n if (type == 'xlsx' || type == 'xls') {\n \n var workbook2 = XLSX.read(raw, { type: 'binary', cellFormula: false });\n var sheet_list = workbook2.SheetNames;\n // console.log(\"🚀 ~ sheet_list:\", sheet_list)\n for (var x1 in sheet_list) {\n // console.log(\"🚀 ~ x1:\", x1)\n if (rule && rule.split('shift').length > 1) {\n for (var x2 = 0; x2 < parseInt(rule.split('shift')[1] || '1'); x2++) {\n workbook2.Sheets[sheet_list[x1]] = delete_row(workbook2.Sheets[sheet_list[x1]], 0);\n }\n }\n\n // var lista = XLSX.utils.sheet_to_row_object_array(workbook.Sheets[sheet_list[x1]], { raw: true });\n // // console.log(\"🚀 ~ lista:\", lista)\n // data[sheet_list[x1]] = lista;\n\n // const file: any = event.target.files[0];\n // const chunkSize = (1024 * 1024) * 28; // 1MB\n const chunkSize = file.size\n let offset = 0;\n let dataXlsx: any = []\n\n const readChunk = () => {\n const reader = new FileReader();\n const blob = file.slice(offset, offset + chunkSize);\n\n reader.onload = (e: any)=>{\n const data = new Uint8Array(e.target.result);\n const workbook = XLSX.read(data, { type: 'array' });\n\n // Processar o workbook aqui\n const firstSheetName = workbook.SheetNames[x1];\n const worksheet = workbook.Sheets[firstSheetName];\n if (!dataXlsx[firstSheetName]) {\n dataXlsx[firstSheetName] = []\n }\n const json = XLSX.utils.sheet_to_json(worksheet);\n // console.log('json: ', json);\n dataXlsx[firstSheetName] = dataXlsx[firstSheetName].concat(json).flat()\n offset += chunkSize;\n if (offset < file.size) {\n readChunk();\n } else {\n resolve(dataXlsx)\n }\n };\n\n reader.readAsArrayBuffer(blob);\n // reader.readAsBinaryString(blob);\n };\n\n readChunk();\n }\n return\n }\n if (type == 'xml') {\n var x2js = new X2JS();\n window.x2js = x2js\n var data: {} = x2js.xml2js(raw);\n resolve(data)\n return\n }\n resolve(raw)\n })\n }\n}\n","
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
\n\n
\n
\n \n \n
\n
","
\n
\n \"Logo\"\n
\n\n
\n
\n \n {{statusText}}\n
\n\n
\n
\n \n \n \n \n 0\" class=\"notlength\">{{getNotReaded() > 9 ? '+' : getNotReaded()}}\n\n
\n
{{language.msg.notificacoes}}
\n \n
\n
\n\n
\n
{{language.msg.semNotificacoes}}
\n\n
\n
\n
\n \n\n \n \n {{iniciais(item.icon)}}\n \n \n\n
\n
\n
\n
{{item.title}}
\n
{{item.dataText}}
\n
\n
{{item.msg}}
\n
\n
\n
\n\n
0\" (click)=\"readAllNotify()\">{{language.msg.marcarLidas}}
\n
\n
\n\n
\n
\n
\n \"\"\n
\n {{language.title.toUpperCase()}}\n \n \n
\n
\n \n
\n
\n
\n
\n \"\"\n
\n
\n
\n {{item.title.toUpperCase()}}\n
\n
\n
\n
\n
\n
\n
\n\n
\n
\n
\n \n \"\"\n\n
\n\n
\n
{{userInfo.name}}
\n
{{userInfo.proprietario || userInfo.cargo}}
\n
\n
\n\n
\n
\n \n {{language.msg.sair}}\n
\n
\n
\n
\n
","import { Component, OnInit, Renderer2, ElementRef, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ModsService } from 'src/app/services/mods.service';\nimport { SyncService } from '../../services/sync.service';\nimport { UserService } from '../../services/user.service';\nimport { ApiService } from '../../services/api.service';\nimport { ToolsService } from '../../services/tools.service';\nimport { LangService } from '../../services/lang.service';\n\ndeclare var $;\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.css']\n})\n\nexport class HeaderComponent implements OnInit {\n\n subscription: Subscription;\n lista: any = [];\n showNotify: any = false;\n showLang: any = false;\n showUser: any = false;\n clienteObj: any = false;\n notifications: any = [];\n statusColor: any = 'success';\n statusText: any = 'Conectado';\n statusIcon: any = 'wifi';\n hideStatus: any = false;\n languages: any = [];\n language: any = {\n lang: 'pt',\n title: 'pt-BR',\n msg: {},\n status: false\n };\n\n userInfo: any = {};\n showIconLang: Boolean = false;\n\n constructor(\n private user: UserService,\n private sync: SyncService,\n private renderer: Renderer2,\n private tools: ToolsService,\n private api: ApiService,\n private lang: LangService,\n private mods: ModsService\n ) { }\n\n async ngOnInit(): Promise {\n this.getNotifications();\n\n this.userInfo = this.tools.getUserInfo();\n\n this.lang.getLanguages(result => {\n this.languages = result;\n this.language = this.lang.getLang();\n this.mods.updComponents({ type: 'translate', language: this.language });\n })\n\n this.subscription = this.sync.listenSync.subscribe(data => {\n if (data.type == 'status') {\n this.statusColor = data.statusColor;\n\n if (data.statusColor == 'success') {\n this.statusIcon = 'wifi';\n this.statusText = 'Conectado';\n\n setTimeout(() => {\n if (this.statusColor == 'success') this.hideStatus = true;\n }, 2500);\n\n }\n else if (data.statusColor == 'warning') {\n this.statusIcon = 'wifi-exclamation';\n this.statusText = 'Reconectando';\n this.hideStatus = false;\n }\n else if (data.statusColor == 'danger') {\n this.statusIcon = 'wifi-slash';\n this.statusText = 'Desconectado';\n this.hideStatus = false;\n }\n }\n\n if (data.type == 'notifications') {\n\n if (data.data) data.data.new = true;\n\n this.user.insertNotifications(data.data, (total) => {\n this.notifications = total\n console.log('notifications: ', this.notifications);\n });\n }\n });\n\n this.renderer.listen('window', 'click', (e: Event) => {\n if (this.showNotify) this.showNotify = !($(e.target).parents('.header-notifications').length == 0);\n if (this.showLang) this.showLang = !($(e.target).parents('.header-lang').length == 0);\n if (this.showUser) this.showUser = !($(e.target).parents('.header-user').length == 0);\n });\n\n // Logo dinamico\n this.clienteObj = await this.api.getClientFull();\n\n this.showIconLang = window.location.hostname.toLowerCase().includes('sophia') ||\n this.clienteObj.produto.toLowerCase().includes('sophia') ||\n window.location.hostname.toLowerCase().includes('blstech') ||\n this.clienteObj.produto.toLowerCase().includes('blstech')\n }\n\n timeDescription(dataTimestamp) {\n // Obter a data e hora atual\n const agora = new Date().getTime();\n // Converter o timestamp para milissegundos\n const data = dataTimestamp;\n\n // Calcular a diferença em milissegundos entre as duas datas\n const diferencaMS = agora - data;\n\n // Calcular a diferença em segundos\n const diferencaSegundos = Math.floor(diferencaMS / 1000);\n\n // Verificar se a data é \"agora\" (dentro de 1 minuto)\n if (diferencaSegundos < 60) {\n return \"agora\";\n }\n\n // Calcular a diferença em minutos\n const diferencaMinutos = Math.floor(diferencaSegundos / 60);\n\n // Verificar se a data é \"minutos atrás\"\n if (diferencaMinutos < 60) {\n return `${diferencaMinutos} minuto${diferencaMinutos > 1 ? \"s\" : \"\"} atrás`;\n }\n\n // Calcular a diferença em horas\n const diferencaHoras = Math.floor(diferencaMinutos / 60);\n\n // Verificar se a data é menos de 24 horas atrás\n if (diferencaHoras < 24) {\n return `${diferencaHoras} hora${diferencaHoras > 1 ? \"s\" : \"\"} atrás`;\n }\n\n // Calcular a diferença em dias\n const diferencaDias = Math.floor(diferencaHoras / 24);\n\n // Verificar se a data é menos de 7 dias atrás\n if (diferencaDias < 7) {\n return `${diferencaDias} dia${diferencaDias > 1 ? \"s\" : \"\"} atrás`;\n }\n\n // Se nenhuma das condições acima for atendida, retorna a data formatada\n return new Date(data).toLocaleDateString();\n }\n\n clickLang(item) {\n this.mods.updAlert({ type: 'loading', value: true });\n\n this.language = item;\n this.lang.setLang(this.language.lang);\n\n this.mods.updComponents({ type: 'scope' });\n this.mods.updComponents({ type: 'load' });\n this.mods.updComponents({ type: 'translate', language: this.language });\n\n this.sync.updSync({ type: 'menu' });\n\n setTimeout(() => this.mods.updAlert({ type: 'loading', value: false }), 250);\n }\n\n iniciais(valor) {\n return valor.split(\" \").map((n) => n[0]).join(\"\").toUpperCase();\n }\n\n getNotReaded() {\n return this.notifications.filter(e => !e.readed).length\n }\n\n getNotifications() {\n this.user.loadNotifications(data => {\n this.notifications = data.sort((a, b) => (a.time < b.time) ? 1 : ((a.time > b.time) ? -1 : 0));\n });\n }\n\n readAllNotify() {\n this.notifications.forEach(e => e.readed = true);\n this.notifications.forEach(e => delete e.new);\n\n this.user.setNotifications(this.notifications);\n }\n\n toggleNot() {\n this.showNotify = !this.showNotify;\n if (this.showNotify) this.notifications.forEach(e => e.dataText = this.timeDescription(e.time));\n }\n\n clickNotify(data) {\n data.readed = true;\n\n this.notifications.forEach(e => {\n if (e._id == data._id) { e.readed = true; delete e.new; }\n });\n\n this.user.setNotifications(this.notifications);\n\n if (data.shortcut) {\n let params = data?.params || null\n let funcname = data?.funcname || 'boot'\n let pageType = data?.pageType || 'layer'\n\n // this.mods.getMod(item, params);\n\n let dataShortcut = {\n mod: data.pathmodule.split('.')[0],\n modId: data.pathmodule,\n pageType: pageType,\n funcname: funcname,\n params,\n }\n this.tools.shortcut(dataShortcut)\n }\n }\n\n minhaConta() {\n if (!!this.user.moduloUsuario) {\n\n this.tools.shortcut({\n mod: 'Usuários V3',\n modId: this.user.moduloUsuario,\n funcname: 'boot',\n params: { user: this.tools.getUserInfo() },\n pageType: 'layer',\n });\n }\n }\n\n sair() {\n this.user.logout();\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n\n goToHome() {\n let { menu } = this.user.getModsMenu();\n this.mods.getMod(menu[0].list[0].click, menu[0].name)\n }\n\n}\n","
\n
\n
\n {{line.title}}:{{line.bind||line.value}}\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-text',\n templateUrl: './text.component.html',\n styleUrls: ['./text.component.css']\n})\nexport class TextComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n // this.comp.data.forEach(e=>e.value=e.model);\n }\n\n}\n","
\n
{{opcao.text}}
\n
\n","import { Component, ElementRef, HostListener, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-context-menu',\n templateUrl: './context-menu.component.html',\n styleUrls: ['./context-menu.component.css']\n})\nexport class ContextMenuComponent implements OnInit {\n\n isVisible = false;\n positionX = 0;\n positionY = 0;\n clickMenu = [\n {text:'Abrir em um nova Guia',url:'https://google.com'}\n ];\n\n constructor(\n ) { }\n\n @HostListener('document:click', ['$event'])\n onDocumentClick(event: MouseEvent): void {\n const clickedInside = (event.target as HTMLElement).closest('.context-menu');\n if (!clickedInside) {\n this.closeMenu();\n }\n }\n\n ngOnInit(): void {\n }\n\n openMenu(event: MouseEvent,url:any, type:any): void {\n console.log('Openmenu',type);\n\n this.clickMenu = [\n {text:'Abrir em um nova Guia',url:url}\n ]\n \n event.preventDefault(); // Previne o menu padrão do navegador\n this.isVisible = true;\n this.positionX = type=='icon'?event.clientX-50:event.clientX;\n const scrollContainer = document.querySelector('.workspace-overflow') as HTMLElement;\n let scrollTop = scrollContainer && type=='icon' ? scrollContainer.scrollTop : 0;\n this.positionY = event.clientY+(scrollTop)-50;\n }\n\n closeMenu(): void {\n this.isVisible = false;\n }\n\n onOptionSelected(option: string): void {\n // alert(`${option} selecionada`);\n window.open(option,'_blank')\n this.closeMenu();\n }\n\n\n}\n","/* (ignored) */","
\n
\n
{{language.msg.caminho}}:
\n
\n
{{mod.title}}
\n
\n\n
\n
\n {{layer.params.title}}
\n
0\">\n
\n
\n \n
\n
{{menu?menu.name:''}}
\n
\n
\n
\n\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n dataType inválido layer - {{comp.dataType}} - {{comp.name}}
\n
\n
\n
\n
\n
\n
\n
\n
\n {{ modal.params.titleNew && modal.params.itemNew ? modal.params.titleNew : modal.params.title }}\n
\n
\n \n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n dataType inválido modal - {{comp.dataType}} - {{comp.name}}
\n
\n
\n
\n
\n
\n \n {{itemMenu.name}}\n
\n
\n
\n
\n \n\n","import { Component, OnInit } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { ModsService } from '../../services/mods.service';\nimport { ToolsService } from '../../services/tools.service';\nimport { LangService } from '../../services/lang.service';\nimport { ApiService } from 'src/app/services/api.service';\n\ndeclare var google: any;\n\nconst sleep = ms => new Promise(r => setTimeout(r, ms));\n\n@Component({\n selector: 'app-workspace',\n templateUrl: './workspace.component.html',\n styleUrls: ['./workspace.component.css']\n})\nexport class WorkspaceComponent implements OnInit {\n\n subscription: Subscription;\n subscription2: Subscription;\n subscription3: Subscription;\n modId: any = '';\n systemName: any = '';\n mod: any = {};\n layerId: any = '';\n layer: any = {\n params: {\n menu: []\n },\n components: []\n };\n modalId: any = '';\n modal: any = {};\n language: any = { msg: { caminho: 'Caminho' } };\n\n checkCompIA: any = false;\n blockClose: any = false;\n\n constructor(\n private mods: ModsService,\n private tools: ToolsService,\n private api:ApiService,\n private lang: LangService\n ) { }\n\n ngOnInit(): void {\n this.subscription = this.mods.listenMod.subscribe(data => {\n //CONFIGURATION IA COMPONENT\n this.modId = data.id;\n this.mod = data.mod;\n if (\n this.mod &&\n this.mod.layouts &&\n this.mod.layouts.map(e => e.components).flat().filter(e => ['chatia', 'ia'].includes(e.dataType)) &&\n this.mod.layouts.map(e => e.components).flat().filter(e => ['chatia', 'ia'].includes(e.dataType)).length > 0\n ) {\n this.checkCompIA = true\n } else {\n this.checkCompIA = false\n }\n this.systemName = data.system;\n this.initMod();\n });\n this.subscription2 = this.mods.updateLayout.subscribe(data => {\n if (this.systemName == data.system && this.modId == data.modId) {\n this.runLayout(data.pageId, data.optItem);\n }\n });\n this.subscription3 = this.mods.listenComponents.subscribe(async data => {\n if (!data.pageType) {\n data.pageType = this.modalId == '' ? 'layer' : 'modal';\n }\n let tools = this.tools.getTools(data.pageType);\n if (data.type == 'translate') {\n this.language = data.language;\n this.updAllComponentsLoad(this[data.pageType].components);\n }\n if (data.type == 'scope' && this[data.pageType].params) {\n this.updComponents(this[data.pageType].components, data.pageType, tools);\n this.updComponents(this[data.pageType].params.menu, data.pageType, tools);\n this.updParams(this[data.pageType].params, tools);\n } else if (data.type == 'load') {\n this.updComponentsLoad(this[data.pageType].components, data.table);\n } else if (data.type == 'exitModal') {\n this.exitModal();\n }\n });\n }\n\n ngAfterViewInit() {\n setTimeout(() => {\n }, 15000)\n }\n\n updComponentsLoad(components, table) {\n components.forEach(e => {\n if (e.table && e.table == table && e.updateTable) {\n e.updateTable();\n }\n });\n }\n\n updAllComponentsLoad(components) {\n components.forEach(e => {\n if (e.table && e.updateTable) {\n e.updateTable(true);\n }\n });\n }\n\n updParams(params, tools) {\n if (params?.titleBind) {\n params.title = this.tools.nameParse(params.titleBind, params.title, tools.scope[(params.scope || 'item')])\n }\n if (params?.titleNewBind) {\n params.titleNew = this.tools.nameParse(params.titleNewBind, params.titleNew, tools.scope[(params.scope || 'item')])\n }\n if (this.mod.titleBind) {\n this.mod.title = this.tools.nameParse(this.mod.titleBind, this.mod.title, tools.scope[(params.scope || 'item')])\n }\n }\n\n copy(source) {\n let keys = Object.keys(source);\n let keysScope = Object.keys(source.scope);\n let newsource = { components: [], pageType: '', scope: {} };\n for (var key of keys) {\n if (key != 'scope') {\n newsource[key] = source[key];\n } else {\n newsource.scope = {};\n }\n }\n for (var key of keysScope) {\n newsource.scope[key] = { ...source.scope[key] };\n }\n return newsource;\n }\n\n updComponents(components, pageType, tools?, parent?) {\n if (!components) { return }\n\n components.forEach(async e => {\n e.pageType = pageType;\n\n if (e.dataType == 'map') {\n var divMap = document.getElementById(e.id);\n\n if (divMap && !e.map) {\n e.map = new google.maps.Map(divMap, {\n center: { lat: e.lat || -23.506563, lng: e.lng || -46.601148 },\n zoom: e.zoom || 8\n });\n }\n }\n\n if (e.elements) {\n this.updComponents(e.elements, pageType, tools, e);\n }\n if (e.header) {\n this.updComponents(e.header, pageType, tools, e);\n e.header.forEach(f => {\n if (f.changeShow) { e.changeTable = true; }\n delete f.changeShow\n })\n }\n if (e.components) {\n this.updComponents(e.components, pageType, tools, e);\n }\n if (e.data && e.dataType == 'text') {\n this.updComponents(e.data, pageType, tools, e);\n }\n if (e.table && e.updateTable && e.changeTable) {\n e.updateTable(true);\n e.changeTable = false\n }\n if (e.menuType == 'next') {\n if (typeof e.param == 'string') {\n e.param = { id: e.param }\n }\n let comp = this[pageType].components.find(f => f.id == e.param.id);\n // console.log(comp);\n\n if (!comp.show || comp.options.indexOf(comp.value) + 1 == comp.options.length) {\n e.show = false;\n } else {\n e.show = true;\n }\n }\n if (e.menuType == 'previus') {\n if (typeof e.param == 'string') {\n e.param = { id: e.param }\n }\n let comp = this[pageType].components.find(f => f.id == e.param.id);\n if (!comp.show || comp.options.indexOf(comp.value) == 0) {\n e.show = false;\n } else {\n e.show = true;\n }\n }\n if (tools && tools.scope) {\n if (e.dataType == 'form' && e.scopeField) {\n if (typeof e.scopeField == 'string') {\n e.scopeField = { model: e.scopeField, scope: (e.scope || 'item') }\n }\n e.scope = tools.scope[e.scopeField.scope][e.scopeField.model];\n }\n if (e.menuType != 'next' && e.menuType != 'previus') {\n if (!e.view) {\n e.show = true;\n } else if (e.field && e.name && e.show !== undefined) {\n let showOld = !!e.show;\n e.show = this.checkView(e.view, e.pageType, e.scope);\n if (showOld != e.show && e.field && e.name) {\n e.changeShow = true;\n }\n } else if (e.id == 'testView') {\n e.show = this.checkView(e.view, e.pageType, e.scope, e.id);\n } else {\n e.show = this.checkView(e.view, e.pageType, e.scope);\n }\n }\n if (e.modelBind || e.model) {\n var parts = (e.modelBind || e.model).split('.');\n var value = tools.scope[((!e.scope && parent ? parent : e).scope || 'item')];\n for (var part of parts) {\n if (!value) {\n value = null;\n } else {\n value = value[part]\n }\n }\n e.value = value;\n\n if (e.modelBind) {\n e.bind = this.tools.nameParse(e.value || '', e.value || '', tools.scope[(e.scope || 'item')]);\n }\n if (e.elementType == 'datepicker' && e.value) {\n e.valueDatepicker = e.value.split('/').reverse().join('-')\n }\n }\n if (e.textBind) {\n if (e.textBind.yes) {\n e.text = {\n yes: this.tools.nameParse(e.textBind.yes, e.textBind.yes, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')]),\n no: this.tools.nameParse(e.textBind.no, e.textBind.no, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')])\n };\n } else {\n e.text = this.tools.nameParse(e.textBind, e.textBind, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')]);\n }\n }\n if (e.nameBind) {\n e.name = this.tools.nameParse(e.nameBind, e.name, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')]);\n }\n if (e.titleBind) {\n e.title = this.tools.nameParse(e.titleBind, e.title, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')]);\n }\n if (e.colorBind) {\n e.color = this.tools.nameParse(e.colorBind, e.colorBind, tools.scope[((!e.scope && parent ? parent : e).scope || 'item')]);\n }\n if (e.optionsItem) {\n if (typeof e.optionsItem == 'string') {\n e.optionsItem = { model: e.optionsItem, scope: ((!e.scope && parent ? parent : e).scope || 'item') }\n }\n if (!e.optionsItem.scope) {\n e.optionsItem.scope = ((!e.scope && parent ? parent : e).scope || 'item');\n }\n if (Array.isArray(tools.scope[e.optionsItem.scope][e.optionsItem.model])) {\n if (tools.scope[e.optionsItem.scope][e.optionsItem.model]) {\n e.options = tools.scope[e.optionsItem.scope][e.optionsItem.model].filter(e => e).map(f => f[e.optionsItem.item] || f)\n }\n }\n if (e.optionsItem.itemBind) {\n e.optionsBind = tools.scope[e.optionsItem.scope][e.optionsItem.model].map(f => f[e.optionsItem.itemBind]);\n }\n }\n if (e.optionsLoad && tools.load[e.optionsLoad.table]) {\n e.options = tools.load[e.optionsLoad.table].map(f => f[e.optionsLoad.item]);\n if (e.optionsLoad.itemBind) {\n e.optionsBind = tools.load[e.optionsLoad.table].map(f => f[e.optionsLoad.itemBind]);\n }\n }\n if (e.optionsBind) {\n e.optionsObj = e.optionsBind.map((f, i) => ({\n value: f.value || (!e.options ? f : e.options[i]),\n view: this.tools.nameParse(f.view || f, f.view || f, tools.scope[(e.scope || 'item')])\n }));\n // console.log('valor', e.optionsObj.find(f => f.value == e.value));\n // e.bind = this.tools.nameParse(e.optionsObj.find(f => f.value == e.value)?.view||'', e.optionsObj.find(f => f.value == e.value)?.view||'', tools.scope[(e.scope || 'item')]);\n }\n if (e.optionsObj && !e.options) {\n e.options = e.optionsObj.map(f => f.value);\n }\n }\n });\n }\n\n checkView(view, pageType, scope?, test?) {\n return this.tools.checkView(view, pageType, scope, test);\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n this.subscription2.unsubscribe();\n this.subscription3.unsubscribe();\n }\n\n async exitModal() {\n console.log('exit modal');\n this.modalId = '';\n this.modal = {};\n let tools = this.tools.getTools('layer');\n this.updParams(this['layer'].params, tools);\n this.updComponents(this['layer'].components, 'layer', tools);\n this.updComponents(this['layer'].params.menu, 'layer', tools);\n\n }\n\n getChart(pageType, chartId) {\n let findComponents = (list, id) => {\n var dataResult = null;\n list.forEach(e => {\n if (e.id == id) { dataResult = e }\n if (e.charts) {\n let result = findComponents(e.charts, id);\n if (result) { dataResult = result; }\n }\n })\n return dataResult;\n };\n return findComponents(this[pageType].components, chartId);\n }\n\n initMod() {\n this.mods.updAlert({ type: 'loading', value: true });\n let layerBase = this.mod.layouts.find(e => e.pageId == this.mod.start);\n\n if (!layerBase && this.mod.layouts.length > 0) {\n layerBase = this.mod.layouts[0];\n }\n\n let layer = Object.assign({}, layerBase);\n\n this.updComponents(layer.components, layer.pageType);\n\n this.tools.startTools(layer, null, async (tools) => {\n this.layer = layer;\n this.layerId = this.layer.pageId;\n\n this.updComponents(this.layer.components, this.layer.pageType, tools);\n this.updComponents(this.layer.params.menu, this.layer.pageType, tools);\n this.updParams(this.layer.params, tools);\n this.updComponentsLoad(this.layer.components, true);\n\n if (this.layer.params.boot) {\n tools.funcs[this.layer.params.boot](tools, {\n boot: true\n })\n }\n this.mods.updAlert({ type: 'loading', value: false });\n\n let clientObj = this.api.getClientFull();\n window.document.title = clientObj.produto + ' - '+ (this.mod.title);\n });\n }\n\n getLayout(pageId) {\n let modLayoutBase = this.mod.layouts.find(e => e.pageId == pageId);\n let modLayout = this.copy(modLayoutBase);\n return modLayout;\n }\n\n runLayout(pageId, optItem) {\n this.mods.updAlert({ type: 'loading', value: true });\n let modLayout: any = this.getLayout(pageId);\n\n //CONFIGURATION BLS\n if (modLayout.blockClose) {\n //NÃO DEVE SER POSSIVEL FECHAR PELO X O MÓDULO\n this.blockClose = modLayout.blockClose\n }\n\n let type = modLayout.pageType;\n if (type == 'layer') {\n this.modal = {};\n this.modalId = '';\n }\n this.updComponents(modLayout.components, type);\n this.tools.startTools(modLayout, optItem, async (tools) => {\n this[type] = modLayout;\n this[type].params.itemNew = tools.itemNew;\n this[type + 'Id'] = this[type].pageId;\n this.updComponents(this[type].components, this[type].pageType, tools);\n this.updComponents(this[type].params.menu, this[type].pageType, tools);\n this.updParams(this[type].params, tools);\n\n for (var loadItem of this[type].params.load) {\n this.updComponentsLoad(this[type].components, loadItem.model);\n }\n if (this[type].params.boot) {\n this[type].funcs[this[type].params.boot](tools, {\n boot: true\n })\n }\n this.mods.updAlert({ type: 'loading', value: false });\n });\n }\n\n cmd(option, param?, pageType?) {\n if (option == 'modal' || option == 'layer' || option == 'layout') {\n this.mods.layout({ modId: this.modId, system: this.systemName, pageId: param.pageId || param.param, optItem: { itemId: param.itemId, base: param.base } });\n }\n if (option == 'close') {\n this.exitModal();\n }\n if (option == 'func') {\n this.tools.cmdFunc(param.pageType || pageType, param.param, { menuItem: param });\n }\n if (option == 'next') {\n let comp = this[param.pageType].components.find(e => e.id == param.param.id);\n let idx = comp.options.indexOf(comp.value);\n if (comp.options.length > idx + 1) {\n comp.old = comp.value + '';\n comp.value = comp.options[idx + 1];\n this.tools.setItem(comp.pageType, (comp.scope || 'item'), comp.model, comp.value);\n }\n if (param.param && param.param.click) {\n this.tools.cmdFunc(param.pageType, param.param.click, { menuItem: param, old: comp.old });\n }\n }\n if (option == 'previus') {\n let comp = this[param.pageType].components.find(e => e.id == param.param.id);\n let idx = comp.options.indexOf(comp.value);\n if (idx - 1 >= 0) {\n comp.old = comp.value + '';\n comp.value = comp.options[idx - 1];\n this.tools.setItem(comp.pageType, (comp.scope || 'item'), comp.model, comp.value);\n }\n if (param.param && param.param.click) {\n this.tools.cmdFunc(param.pageType, param.param.click, { menuItem: param, old: comp.old });\n }\n }\n if (option == 'save') {\n this.tools.cmdOptions(option, param);\n }\n if (option == 'delete') {\n this.tools.cmdOptions(option, param);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ApiService } from './api.service';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class LangService {\n\n lang: any = {\n \"title\": \"pt-BR\",\n \"lang\": \"pt\",\n \"msg\": {\n \"escolha\": \"Escolha uma Linguagem\",\n \"caminho\": \"Você está aqui\",\n \"sair\": \"Sair\",\n \"notificacoes\": \"Notificações\",\n \"semNotificacoes\": \"Sem Notificações\",\n \"marcarLidas\": \"Marcar todas como Lidas\",\n \"minhaConta\": \"Minha Conta\",\n \"buscarPor\": \"Buscar Por\",\n \"removerItem\": \"Tem certeza que deseja remover ?\",\n \"login\": {\n \"msg_conectado\": \"Conectado\",\n \"title_sistema\": \"Sistema\",\n \"title_login\": \"Login\",\n \"title_senha\": \"Senha\",\n \"title_lembrar_senha\": \"Lembrar senha\",\n \"btn_entrar\": \"ENTRAR\",\n \"btn_esqueci_senha\": \"Esqueci minha senha\"\n }\n },\n \"status\": true\n };\n\n texts: any = {};\n languages: any = [];\n\n constructor(private api: ApiService) { }\n\n getLang() {\n return this.lang;\n }\n\n setLang(lang) {\n this.getLanguages(langs => this.lang = langs.find(e => e.lang == (lang || 'pt')));\n }\n\n getLanguages(callback) {\n if (this.languages.length > 0) return callback(this.languages);\n\n let dataLanguages = { base: 'sysLangs', filter: { ativo: true } }\n\n this.api.portal('getdata', dataLanguages, (result: any) => {\n if (result.data.length == 0) {\n result.data = [\n {\n ativo: false, nome: 'pt-BR', id: 'pt', msg: {\n escolha: 'Escolha um Idioma',\n caminho: 'Você está aqui',\n sair: 'Sair',\n notificacoes: 'Notificações',\n semNotificacoes: 'Sem Notificações',\n marcarLidas: 'Marcar como Lidas',\n minhaConta: 'Minha Conta',\n buscarPor: 'Buscar Por',\n removerItem: 'Tem certeza que deseja remover?'\n }\n }\n ]\n }\n this.languages = result.data.map(e => ({ title: e.nome, lang: e.id, msg: e.msg, status: e.ativo }));\n callback(this.languages);\n });\n }\n\n setTexts(texts) {\n this.texts = texts;\n }\n\n getText(variavel) {\n if (!this.texts[variavel]) {\n return `[err:${variavel}]`;\n }\n\n if (!this.texts[variavel][this.lang.lang] || this.texts[variavel][this.lang.lang] == \"\") {\n return this.texts[variavel]['pt'];\n }\n \n return this.texts[variavel][this.lang.lang];\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-progress',\n templateUrl: './progress.component.html',\n styleUrls: ['./progress.component.css']\n})\nexport class ProgressComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

progress works!

\n","import { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\nimport { ApiService } from './api.service';\nimport { SyncService } from './sync.service';\nimport { ModsService } from './mods.service';\nimport { LangService } from './lang.service';\nimport { Socket } from 'socket.io-client';\n\ndeclare var XLSX: any;\ndeclare var X2JS: any;\ndeclare var saveAs: any;\ndeclare var jspdf: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ToolsService {\n\n key: string = \"BEWAREOBLIVIONISATHAND\"; //length=23\n tokenSaveTime: number;\n tokenSaveId: String;\n tokenSave: String;\n\n sessionTime: any\n\n utils: any = {\n genIV: () => {\n return Math.random().toString(36).substr(2, 30);\n },\n encrypt: (text, iv) => {\n let base = CryptoJS.AES.encrypt(text, this.key, { iv: iv });\n return base.toString();\n },\n decrypt: (text, iv) => {\n let data = CryptoJS.AES.decrypt(text, this.key, { iv: iv }).toString(CryptoJS.enc.Utf8);\n return data;\n },\n protect: (data) => {\n let iv = this.utils.genIV();\n return { cipher: this.utils.encrypt(JSON.stringify(data), iv), iv: iv, protect: true, app_key: '4vxaC8b019x6O3J9YJ3Q3qrr', app_secret: 'GKea2bC1UR8w' }\n },\n extract: (data) => {\n return JSON.parse(this.utils.decrypt(data.cipher, data.iv));\n }\n }\n\n userInfo: any = {}\n tools: any = {\n layer: {},\n modal: {}\n };\n\n constructor(\n private api: ApiService,\n private lang: LangService,\n public mods: ModsService,\n private sync: SyncService\n ) { }\n\n async startTools(layout, optItem, callback) {\n let active = this.mods.getActive();\n\n let findRecursive = (list, field, value, sublists) => list.concat(sublists.map(sublist => list.filter(e => e[sublist] && e[sublist].length > 0).map(e => e[sublist]).reduce((n, p) => n.concat(p), [])).reduce((n, p) => n.concat(p), [])).find(e => e[field] == value)\n layout.scope.item = await this.loadItem(optItem, (layout.scope.item || {}))\n var itemNew = true\n if (layout.scope.item._id) {\n itemNew = false\n }\n\n let toolsBase = {\n crypto: CryptoJS,\n translate: (value, scope) => this.nameParse(value, value, scope),\n shortcut: (data) => this.shortcut(data),\n excel: (data, cols, ReportTitle, callback) => this.excel(data, cols, ReportTitle, callback),\n excelAsync: (data, cols, ReportTitle) => new Promise(resolve => this.excel(data, cols, ReportTitle, result => resolve(result))),\n pdf: (rows, cols, title, callback) => this.pdf(rows, cols, title, callback),\n pdfAsync: (rows, cols, title, callback) => new Promise(resolve => this.pdf(rows, cols, title, result => resolve(result))),\n alert: (data, callback) => this.alert(data, callback),\n alertAsync: (data) => new Promise(resolve => this.alert(data, result => resolve(result))),\n layout: (data) => this.layout(data),\n socket: this.sync.getSocket(),\n close: () => this.mods.updComponents({ type: 'exitModal' }),\n upd: (pageType) => this.mods.updComponents({ pageType: pageType, type: 'scope' }),\n setLoad: (pageType, table, list) => this.setLoad(pageType, table, list),\n setItem: (pageType, scope, model, value) => this.setItem(pageType, scope, model, value),\n dataForm: (lista) => this.dataForm(lista),\n itemObj: (item) => this.itemObj(item),\n sleep: ms => new Promise(r => setTimeout(r, ms)),\n cmdFunc: (pageType, funcname, params?) => this.cmdFunc(pageType, funcname, params),\n loading: (value, msg?) => this.mods.updAlert({ type: 'loading', msg: msg, value: value, lock: true }),\n getUserInfo: () => this.getUserInfo(),\n relogin: (params, funcSuccess, funcFail) => {\n this.alert(Object.assign({\n alertType: 'relogin',\n funcSuccess: funcSuccess,\n funcFail: funcFail,\n obs: 'Motivo'\n }, params))\n },\n services: {\n getData: (base, filter, callback) => this.services('getData', base, filter, null, callback),\n count: (base, filter, callback) => this.services('count', base, filter, null, callback),\n getItem: (base, filter, callback) => this.services('getItem', base, filter, null, callback),\n saveData: (base, data, callback) => this.services('saveData', base, data, null, callback),\n aggregate: (base, data, callback) => this.services('aggregate', base, data, null, callback),\n saveItem: (base, item, callback) => this.services('saveItem', base, item, null, callback),\n distinct: (base, filter, field, callback) => this.services('distinct', base, { filter, field }, null, callback),\n external: (url, data, header, callback) => this.services('external', url, data, header, callback),\n internal: (endpoint, acesso, data, callback) => this.services('internal', endpoint, data, acesso, callback),\n getDataAsync: (base, filter) => new Promise(resolve => this.services('getData', base, filter, null, result => resolve(result))),\n countAsync: (base, filter) => new Promise(resolve => this.services('count', base, filter, null, result => resolve(result))),\n getItemAsync: (base, filter) => new Promise(resolve => this.services('getItem', base, filter, null, result => resolve(result))),\n saveDataAsync: (base, data) => new Promise(resolve => this.services('saveData', base, data, null, result => resolve(result))),\n aggregateAsync: (base, data) => new Promise(resolve => this.services('aggregate', base, data, null, result => resolve(result))),\n saveItemAsync: (base, item) => new Promise(resolve => this.services('saveItem', base, item, null, result => resolve(result))),\n distinctAsync: (base, filter, field) => new Promise(resolve => this.services('distinct', base, { filter, field }, null, result => resolve(result))),\n externalAsync: (url, data, header) => new Promise(resolve => this.services('external', url, data, header, result => resolve(result))),\n internalAsync: (endpoint, acesso, data) => new Promise(resolve => this.services('internal', endpoint, data, acesso, result => resolve(result)))\n }\n }\n\n this.tools[layout.pageType] = Object.assign(toolsBase, {\n itemNew: itemNew,\n load: { orig: {} },\n pageType: layout.pageType,\n runAsync: async (func, param1, param2) => { return await toolsBase.services[func](param1, param2) },\n getTools: (pageType) => {\n if (pageType) {\n return this.tools[pageType];\n } else {\n return {\n toolsGlobal: this.tools,\n pageTypeAtual: layout.pageType\n };\n }\n },\n scope: JSON.parse(JSON.stringify(layout.scope)),\n funcs: layout.funcs,\n params: layout.params,\n getComponent: (value, field?) => findRecursive(layout.components, (field || 'id'), value, ['elements', 'components', 'charts']),\n getChart: (id) => {\n return this.getChart(layout.components, id)\n },\n baseView: {\n model: (layout.components.find(e => e.baseView) || { model: 'view' }).model,\n scope: (layout.components.find(e => e.baseView) || { scope: 'item' }).scope || 'item'\n }\n });\n this.loadAll(layout.params.load, layout.pageType, layout.scope.item, callback);\n }\n\n shortcut(data) {\n this.mods.getMod(data.modId, data.mod)\n\n setTimeout(() => {\n this.cmdFunc(data.pageType, data.funcname, Object.assign(data.params, { shortcut: true }))\n }, 400)\n }\n\n nameParse(texto, name, itemScope) {\n\n let editado = false;\n\n var partsLang = texto.split('#{');\n if (partsLang.length > 1) {\n partsLang.shift();\n partsLang.forEach(e => {\n let variavelLang = e.split('}')[0];\n var textLang = this.lang.getText(variavelLang);\n texto = texto.replace('#{' + variavelLang + '}', textLang);\n editado = true;\n });\n }\n\n var parts = texto.split('${');\n if (parts.length > 1) {\n parts.shift();\n parts.forEach(e => {\n let model = e.split('}')[0];\n // console.log('model', model, itemScope);\n if (itemScope[model]) {\n texto = texto.replace('${' + model + '}', itemScope[model]);\n editado = true;\n }\n });\n }\n\n if (texto.split('@{name}').length > 1) {\n texto = texto.replace('@{name}', this.getUserInfo().name);\n editado = true;\n }\n\n if (editado == false && name && name != '') {\n return name;\n }\n return texto;\n }\n\n getChart(componentes, chartId) {\n let findComponents = (list, id) => {\n var dataResult = null;\n list.forEach(e => {\n\n if (e.id == id) { dataResult = e }\n if (e.charts) {\n let result = findComponents(e.charts, id);\n if (result) { dataResult = result; }\n }\n })\n return dataResult;\n };\n\n return findComponents(componentes, chartId);\n }\n\n async services(type, urlEndpoint, dataItemFilter, headerOrAcesso, callback) {\n // console.log(\"🚀 ~ dataItemFilter:\", dataItemFilter)\n let dataFinal = dataItemFilter;\n if (type != 'external' && type != 'internal') {\n let user = this.getUserInfo()\n\n if (type == 'getData') { dataFinal = { base: urlEndpoint, filter: dataItemFilter }; }\n if (type == 'aggregate') { dataFinal = { base: urlEndpoint, pipe: dataItemFilter.pipe, options: dataItemFilter.options }; }\n if (type == 'getItem') { dataFinal = { base: urlEndpoint, _id: dataItemFilter._id }; }\n if (type == 'saveData') { dataFinal = { base: urlEndpoint, list: dataItemFilter, username: user.username, userId: user.userId }; }\n if (type == 'saveItem') { dataFinal = { base: urlEndpoint, item: dataItemFilter, username: user.username, userId: user.userId }; }\n if (type == 'distinct') { dataFinal = { base: urlEndpoint, filter: dataItemFilter.filter, field: dataItemFilter.field }; }\n if (type == 'count') { dataFinal = { base: urlEndpoint, filter: dataItemFilter }; }\n this.api.portal(type.toLowerCase(), dataFinal, (result) => callback(result.data));\n } else if (type == 'internal') {\n if (this.tokenSaveId != urlEndpoint || new Date().getTime() - this.tokenSaveTime > (1000 * 60 * 10)) {\n var postAsync = (postUrl, postData, postHeader?) => new Promise(resolve => this.api.post(postUrl, postData, (postResult) => resolve(postResult), postHeader))\n var urlToken = this.api.getUrl('auth');\n var resultToken: any = await postAsync(urlToken, headerOrAcesso, { client: headerOrAcesso.client });\n this.tokenSave = resultToken.token;\n this.tokenSaveId = urlEndpoint + '';\n this.tokenSaveTime = new Date().getTime();\n }\n var urlInternal = this.api.getUrl('internal') + (urlEndpoint + '');\n this.api.post(urlInternal, dataFinal, (result) => callback(result), { client: headerOrAcesso.client, 'x-access-token': this.tokenSave });\n } else {\n this.api.post(urlEndpoint, dataFinal, (result) => callback(result), headerOrAcesso);\n }\n }\n\n alert(data, callback?) {\n this.mods.updAlert(data, callback);\n }\n\n confirm(data) {\n this.cmdFunc(data.pageType, data.confirmOne, data.params)\n }\n\n confirmTwo(data) {\n this.cmdFunc(data.pageType, data.confirmTwo, data.params)\n }\n\n layout(data) {\n if (typeof data == 'string') {\n data = { pageId: data };\n }\n this.mods.layout(data);\n }\n\n cmdOptions(option, param?) {\n if (option == 'save') {\n let tools = this.tools[param.pageType];\n tools.scope[(param.scope || 'item')].ativo = true;\n this.services('saveItem', param.base, tools.scope[(param.scope || 'item')], null, (result) => {\n // alert('Salvo');\n this.mods.updAlert('Salvo');\n });\n }\n if (option == 'delete') {\n let tools = this.tools[param.pageType];\n tools.scope[(param.scope || 'item')].ativo = false;\n this.services('saveItem', param.base, tools.scope[(param.scope || 'item')], null, (result) => {\n // alert('Deletado');\n this.mods.updAlert('Deletado');\n });\n }\n if (option == 'deleteItem') {\n param.item.ativo = false;\n this.services('saveItem', param.base, param.item, null, (result) => {\n // alert('Deletado');\n this.mods.updAlert('Deletado');\n this.layout(param.pageId);\n });\n }\n }\n\n getTools(pageType) {\n return this.tools[pageType];\n }\n\n readView(base, pageType, scope) {\n let parseView = (data: any, scope) => {\n let scopeSel = (data.scope || scope);\n let item = this.getScope(pageType, scopeSel);\n if (!item) { return false; }\n if (data['$and']) { return data['$and'].every(e => parseView(e, scopeSel)); }\n if (data['$or']) { return data['$or'].some(e => parseView(e, scopeSel)); }\n let status = true;\n if (!data.value) {\n status = item[data.model];\n } else if (typeof data.value == 'string') {\n status = data.value == item[data.model];\n } else {\n status = data.value.indexOf(item[data.model]) >= 0;\n }\n return data.hide ? !status : status;\n }\n return parseView(base, scope);\n }\n\n checkView(view, pageType, scope, test?) {\n if (!view) { return true }\n if (typeof view == 'string') { view = { model: this.getBaseView(pageType).model, value: view, scope: this.getBaseView(pageType).scope }; }\n if (view.scope) { scope = view.scope; }\n if (!scope) { scope = 'item'; }\n let statusView = this.readView(view, pageType, scope);\n return statusView;\n }\n\n clearTools() {\n this.tools = {\n layer: {},\n modal: {}\n };\n }\n\n setLoad(pageType, table, viewRows, onlySearch?) {\n if (!onlySearch) {\n this.tools[pageType].load.orig[table] = [...viewRows];\n }\n this.tools[pageType].load[table] = [...viewRows];\n this.mods.updComponents({ pageType: pageType, type: 'load', table: table });\n setTimeout(() => {\n window.dispatchEvent(new Event('resize'));\n }, 200)\n }\n\n runFunc(funcname, comp, scope, param?) {\n this.setItem(comp.pageType, scope, comp.modelBind || comp.model, comp.value);\n if (typeof this.tools[comp.pageType].funcs[funcname] == 'function') {\n this.tools[comp.pageType].funcs[funcname](this.tools[comp.pageType], Object.assign(param || {}, {\n model: comp.model,\n value: comp.value\n }));\n this.setItem(comp.pageType, scope, comp.modelBind || comp.model, comp.value);\n }\n }\n\n cmdFunc(pageType, funcname, params?) {\n if (typeof this.tools[pageType].funcs[funcname] == 'function') {\n this.tools[pageType].funcs[funcname](this.tools[pageType], Object.assign(params || {}, {\n cmdFunc: true\n }));\n\n this.mods.updComponents({ pageType: pageType, type: 'scope' });\n }\n }\n\n async saveNotifications(data, callback) {\n // console.log(\"🚀 ~ saveNotifications, data: \", data)\n\n //GET NOTIFICAÇOES\n let dataFinalGet = { base: 'cadNotificacoes', filter: { id: data.id } }\n setTimeout(() => {\n this.api.portal('getData'.toLowerCase(), dataFinalGet, (result: any) => {\n // console.log(\"🚀 ~ result getData, notificaçao existente?\", result.data)\n if (result.data.length > 0) {\n return console.log('not existente');\n }\n\n //SAVE NOTIFICAÇÃO\n let dataFinal = { base: 'cadNotificacoes', item: data }\n this.api.portal('saveItem'.toLowerCase(), dataFinal, (resultSaveNot: any) => {\n });\n });\n }, Math.floor(Math.random() * 3000))\n\n\n }\n\n async getNotificationsCad(cad, filter, callback) {\n let dataFinal = { base: cad, filter: filter }\n this.api.portal('getData'.toLowerCase(), dataFinal, (result: any) => callback(result.data));\n }\n\n dataForm(lista) {\n for (var x1 in lista) {\n lista[x1] = this.itemForm(lista[x1]);\n }\n return lista;\n }\n\n itemForm(item) {\n var obj = {};\n var reload = false;\n for (var campo in item) {\n if (typeof item[campo] == 'object' && !Array.isArray(item[campo])) {\n for (var subcampo in item[campo]) {\n obj[campo + '.' + subcampo] = item[campo][subcampo];\n if (typeof obj[campo + '.' + subcampo] == 'object' && !Array.isArray(obj[campo + '.' + subcampo])) {\n reload = true;\n }\n }\n } else {\n obj[campo] = item[campo];\n }\n }\n if (reload) {\n return this.itemForm(obj);\n } else {\n return obj;\n }\n }\n\n public setItem(pageType, scope, model, value) {\n var parts = model.split('.');//['dados','nomes','apelido']\n var obj = this.tools[pageType].scope[scope];\n if (parts.length > 1) { if (!obj[parts[0]]) { obj[parts[0]] = {}; } }\n if (parts.length > 2) { if (!obj[parts[0]][parts[1]]) { obj[parts[0]][parts[1]] = {}; } }\n if (parts.length > 3) { if (!obj[parts[0]][parts[1]][parts[2]]) { obj[parts[0]][parts[1]][parts[2]] = {}; } }\n if (parts.length > 4) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]] = {}; } }\n if (parts.length > 5) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]] = {}; } }\n if (parts.length > 6) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]] = {}; } }\n if (parts.length > 7) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]] = {}; } }\n if (parts.length > 8) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]] = {}; } }\n if (parts.length == 1) { obj[model] = value; }\n if (parts.length == 2) { obj[parts[0]][parts[1]] = value; }\n if (parts.length == 3) { obj[parts[0]][parts[1]][parts[2]] = value; }\n if (parts.length == 4) { obj[parts[0]][parts[1]][parts[2]][parts[3]] = value; }\n if (parts.length == 5) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]] = value; }\n if (parts.length == 6) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]] = value; }\n if (parts.length == 7) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]] = value; }\n if (parts.length == 8) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]] = value; }\n if (parts.length == 9) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]][parts[8]] = value; }\n this.tools[pageType].scope[scope] = obj;\n this.mods.updComponents({ pageType: pageType, type: 'scope' });\n }\n\n getBaseView(pageType) {\n return this.tools[pageType].baseView;\n }\n\n getScope(pageType, scope) {\n if (!this.tools[pageType]) { return null }\n return this.tools[pageType].scope[scope];\n }\n\n getLoad(pageType, table) {\n return this.tools[pageType].load[table];\n }\n\n getLoadOrig(pageType, table) {\n return this.tools[pageType].load.orig[table];\n }\n\n itemObj(eItem) {\n var obj = {};\n for (var campo in eItem) {\n if (typeof eItem[campo] == 'string' || typeof eItem[campo] == 'number' || typeof eItem[campo] == 'boolean' || Array.isArray(eItem[campo])) {\n var parts = campo.split('.');\n if (parts.length > 1) { if (!obj[parts[0]]) { obj[parts[0]] = {}; } }\n if (parts.length > 2) { if (!obj[parts[0]][parts[1]]) { obj[parts[0]][parts[1]] = {}; } }\n if (parts.length > 3) { if (!obj[parts[0]][parts[1]][parts[2]]) { obj[parts[0]][parts[1]][parts[2]] = {}; } }\n if (parts.length > 4) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]] = {}; } }\n if (parts.length > 5) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]] = {}; } }\n if (parts.length > 6) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]] = {}; } }\n if (parts.length > 7) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]] = {}; } }\n if (parts.length > 8) { if (!obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]]) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]] = {}; } }\n if (parts.length == 1) { obj[campo] = eItem[campo]; }\n if (parts.length == 2) { obj[parts[0]][parts[1]] = eItem[campo]; }\n if (parts.length == 3) { obj[parts[0]][parts[1]][parts[2]] = eItem[campo]; }\n if (parts.length == 4) { obj[parts[0]][parts[1]][parts[2]][parts[3]] = eItem[campo]; }\n if (parts.length == 5) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]] = eItem[campo]; }\n if (parts.length == 6) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]] = eItem[campo]; }\n if (parts.length == 7) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]] = eItem[campo]; }\n if (parts.length == 8) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]] = eItem[campo]; }\n if (parts.length == 9) { obj[parts[0]][parts[1]][parts[2]][parts[3]][parts[4]][parts[5]][parts[6]][parts[7]][parts[8]] = eItem[campo]; }\n } else {\n obj[campo] = eItem[campo];\n }\n }\n return obj\n }\n\n load(item, itemScope) {\n return new Promise(resolve => {\n if (item.filterFunc) {\n if (item.filterFunc.length > 1) {\n let user = this.getUserInfo()\n item.filter = item.filterFunc(itemScope, user);\n } else {\n item.filter = item.filterFunc(itemScope);\n }\n }\n if (item.type == 'base') {\n this.api.portal('getdata', { base: item.base, filter: (item.filter || { ativo: true }), sort: item.sort }, (result) => {\n resolve(result.data);\n });\n }\n if (item.type == 'data') {\n resolve([...item.data].map(e => { e.select = false; return e }))\n }\n if (item.type == 'item') {\n\n resolve([...itemScope[item.item]].map(e => { e.select = false; return e }))\n }\n });\n }\n\n search(pageType, table, searchValue, selectedFilters?) {\n let filterFunc = (item, value) => value.toLowerCase().split(' ').every(g => Object.values(item).filter(f => typeof f == 'string').some((f: any) => f.toLowerCase().indexOf(g) !== -1 || !g))\n let filterTags = (e, tags) => tags.every(g => g.values.indexOf(e[g.field]) >= 0);\n let listFilter = this.getLoadOrig(pageType, table);\n if (selectedFilters && selectedFilters.length > 0) { listFilter = listFilter.filter(e => filterTags(e, selectedFilters)); }\n if (searchValue != '') { listFilter = listFilter.filter(e => filterFunc(e, searchValue)) }\n this.setLoad(pageType, table, listFilter, true);\n return listFilter;\n }\n\n loadItem(optItem: any, defaultItem) {\n return new Promise(resolve => {\n if (!optItem || !optItem.itemId || !optItem.base) {\n if (optItem) {\n resolve(Object.assign(defaultItem, optItem));\n } else {\n resolve(Object.assign({}, defaultItem));\n }\n } else {\n this.api.portal('getitem', { base: optItem.base, _id: optItem.itemId }, (result) => {\n resolve(Object.assign(defaultItem, result.data));\n });\n }\n });\n }\n\n async loadAll(load, pageType, itemScope, callback) {\n\n for (var itemLoad of load) {\n let listLoad: any = await this.load(itemLoad, itemScope);\n if (itemLoad.trat) {\n if (itemLoad.trat.length > 1) {\n let user = this.getUserInfo()\n listLoad = itemLoad.trat(listLoad, user);\n } else {\n listLoad = itemLoad.trat(listLoad);\n }\n }\n this.tools[pageType].load[itemLoad.model] = listLoad;\n this.tools[pageType].load.orig[itemLoad.model] = [...listLoad];\n\n }\n callback(this.tools[pageType])\n }\n\n excel(data: any, cols: any, ReportTitle: any, callback: any) {\n var records: any = [[]];\n var fields = [];\n\n for (var x1 in cols) {\n if (cols[x1].dataType || cols[x1].hide) { continue; }\n records[0].push(cols[x1].name);\n let campo = cols[x1].field || cols[x1].prop;\n fields.push(campo);\n }\n\n for (var x1 in data) {\n let number: any = x1;\n records[(number * 1) + 1] = [];\n\n for (var fi in fields) {\n var fivalue = '';\n if (data[x1][fields[fi]] && data[x1][fields[fi]] != null) {\n fivalue = data[x1][fields[fi]];\n }\n records[(number * 1) + 1].push(fivalue);\n }\n }\n\n this.xlsx(records, ReportTitle, ReportTitle, callback)\n }\n\n pdf(rows, cols, title, callback) {\n if (rows.length == 0) { return alert('Sem dados na tabela'); }\n cols = cols.filter(e => !e.dataType && !e.hide);\n\n if (cols.length > 6) {\n var x: any = prompt('Quantas colunas deseja imprimir ?', cols.length);\n if (!x || isNaN(x)) return\n // alert('Atenção, relatório limitado à 6 colunas, mostrando as 6 primeiras');\n cols = cols.slice(0, x);\n }\n\n var head = cols.map(e => e.name);\n var body = rows.map(e => cols.map(f => e[f.prop]));\n\n // L = Retrato | P = Paisagem\n const orientacao = cols.length > 6 ? 'l' : 'p';\n\n const doc = new jspdf.jsPDF(orientacao, 'mm');\n\n let color = this.api.getClientFull()?.tema?.primary || '#09242c';\n // console.log(\"🚀 -> this.api.getClientFull():\", this.api.getClientFull());\n\n var totalPagesExp = '{total_pages_count_string}';\n\n doc.autoTable({\n margin: { top: 35 },\n head: [head],\n body: body,\n theme: 'striped',\n headStyles: { fillColor: color },\n didDrawPage: (data) => {\n // Cabeçalho\n const image = document.createElement('img')\n image.setAttribute('src', `../../${this.api.getClientFull()?.tema?.logo || '../../logo_black.png'}`);\n doc.addImage(image, 'PNG', 15, 5, 60, 15);\n\n doc.setFontSize(15);\n doc.text(title, 15, 30);\n\n doc.setFontSize(10);\n doc.text(`Usuario: ${this.userInfo.username}`, orientacao == 'p' ? 140 : 220, 15);\n doc.text(`Data: ${new Date().toLocaleString('pt-BR')}`, orientacao == 'p' ? 140 : 220, 20);\n\n var str = `Página ${doc.internal.getNumberOfPages()}`;\n\n if (typeof doc.putTotalPages === 'function') str += ` de ${totalPagesExp}`;\n\n doc.setFontSize(10);\n\n // var pageSize = doc.internal.pageSize;\n // var pageHeight = pageSize.height ? pageSize.height : pageSize.getHeight();\n // doc.text(str, data.settings.margin.left, pageHeight - 10);\n\n doc.text(str, orientacao == 'p' ? 140 : 220, 25);\n doc.text(location.origin, orientacao == 'p' ? 140 : 220, 30);\n }\n })\n\n if (typeof doc.putTotalPages === 'function') doc.putTotalPages(totalPagesExp)\n\n doc.save(title.replaceAll(' ', '_') + `-${new Date().toLocaleDateString('pt-BR')}.pdf`);\n\n callback({ status: true, filename: title + \".pdf\" })\n }\n\n xlsx(JSONData: any, ReportTitle: any, title: any, callback: any) {\n function createSheet(data) {\n function datenum(v, date1904) {\n if (date1904) v += 1462;\n var epoch: any = Date.parse(v);\n var utc: any = Date.UTC(1899, 11, 30);\n var newdate: any = new Date(utc)\n return (epoch - newdate) / (24 * 60 * 60 * 1000);\n }\n var ws = {};\n var range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } };\n for (var R = 0; R != data.length; ++R) {\n for (var C = 0; C != data[R].length; ++C) {\n if (range.s.r > R) range.s.r = R;\n if (range.s.c > C) range.s.c = C;\n if (range.e.r < R) range.e.r = R;\n if (range.e.c < C) range.e.c = C;\n var cell: any = { v: data[R][C] };\n if (cell.v == null) continue;\n var cell_ref = XLSX.utils.encode_cell({ c: C, r: R });\n if (typeof cell.v === 'number') cell.t = 'n';\n else if (typeof cell.v === 'boolean') cell.t = 'b';\n else if (cell.v instanceof Date) {\n cell.t = 'n'; cell.z = XLSX.SSF._table[14];\n cell.v = datenum(cell.v, false);\n }\n else cell.t = 's';\n ws[cell_ref] = cell;\n }\n }\n if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);\n return ws;\n }\n let Workbook = (data?, name?) => {\n var wbase: any = {};\n wbase.SheetNames = [name];\n wbase.Sheets = {};\n for (var x1 in wbase.SheetNames) { wbase.Sheets[wbase.SheetNames[x1]] = createSheet(Array.isArray(name) ? data[x1] : [data][x1]); }\n\n return wbase\n }\n\n function s2ab(s) {\n var buf = new ArrayBuffer(s.length);\n var view = new Uint8Array(buf);\n for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\n return buf;\n }\n\n var wb = Workbook(JSONData, ReportTitle);\n\n var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'binary' });\n var blob = new Blob([s2ab(wbout)], { type: \"application/octet-stream\" });\n\n var fileSave = saveAs(blob, title.replaceAll(' ', '_') + `-${new Date().toLocaleDateString('pt-BR')}.xlsx`);\n\n fileSave.onwriteend = () => setTimeout(() => callback({ status: true, filename: title + \".xlsx\" }), 250);\n }\n\n setUserInfo(data) {\n this.userInfo = data\n }\n\n getUserInfo() {\n return this.userInfo;\n }\n\n async interactionAI(interaction: string, request: string, countChat: number, agentId: string, dominio: string, app_key: string, app_secret: string) {\n return new Promise(resolve => {\n let user = this.getUserInfo()\n\n //AUTH\n // let urlAuth = 'https://chama-qa.applayos.com:5099/auth'\n // let urlAuth = 'https://ai.applayos.com:5099/auth'\n let urlAuth = `https://${dominio}:5099/auth`\n let dataAuth = {\n // \"app_key\": \"8wOnGiEejn1cpyy3fiGchv23\",\n // \"app_secret\": \"pIRvqab4iP9X\",\n \"app_key\": app_key,\n \"app_secret\": app_secret,\n \"client\": \"abc\"\n }\n\n this.api.post(urlAuth, dataAuth, (resAuth) => {\n console.log(\"🚀 ~ resAuth:\", resAuth)\n //SEND REQUEST AI\n // let url = 'https://chama-qa.applayos.com:5099/api2/applayAI/vertex/conversation'\n // let url = 'https://ai.applayos.com:5099/api2/applayAI/vertex/conversation'\n // let url = 'https://ai.applayos.com:5099/api2/applayAI/vertex/'+interaction\n // let url = 'https://ai.applayos.com:5099/api/applayAI/v2/' + interaction\n let url = `https://${dominio}:5099/api/applayAI/v2/` + interaction\n\n let data: any = {\n \"app_key\": app_key,\n \"app_secret\": app_secret,\n \"client\": \"abc\",\n \"username\": user.username,\n \"message\": request,\n \"chatId\": user.session + (countChat + ''),\n \"model\": \"gemini-1.5-flash-001\",\n \"pretty\": true,\n \"save\": true,\n \"agentId\": agentId,\n }\n // console.log(\"🚀 ~ ToolsService ~ this.api.post ~ user.space:\", user.space)\n if (user.space) {\n data.space = user.space == 'Geral' ? undefined : user.space;\n }\n let headers = {\n // 'x-access-token': resAuth.token\n }\n\n this.api.post(url, data, (resSendRequest) => {\n resolve(resSendRequest)\n }, headers)\n })\n })\n }\n\n async aggregateAsync(base: string, data: any) {\n return new Promise(resolve => {\n this.services('aggregate', base, data, {}, (result) => { resolve(result) })\n })\n }\n}","
\n\n
\n
{{loadingMsg || 'Carregando...'}}
\n \"\"\n
\n\n
\n
\n
\n \"\"\n
\n {{language.title.toUpperCase()}}\n
\n \"\"\n
\n
\n
\n
\n
\n
\n
\n
\n \"\"\n
\n
\n
\n {{item.title.toUpperCase()}}\n
\n
\n
\n
\n
\n
\n
\n\n
\n \"Logo\"\n\n
\n\n
\n
\n \"Logo\"\n\n
\n
\n \"Logo\"\n\n
\n
\n {{statusText}}
\n
v{{versionDefault}}
\n
\n
{{language?.msg?.login?.title_sistema || 'Sistema'}}
\n
\n \n
\n
\n
\n
{{language?.msg?.login?.title_login || 'Login-1'}}
\n
\n
\n
\n
\n
{{language?.msg?.login?.title_senha || 'Senha-1'}}
\n
\n
\n
\n
{{language?.msg?.login?.title_lembrar_senha || 'Lembrar senha-1'}}
\n
\n
\n
{{language?.msg?.login?.btn_entrar || 'ENTRAR-1'}}
\n
\n
\n
{{language?.msg?.login?.btn_signup || 'CADASTRA-SE'}}
\n
\n
{{language?.msg?.login?.btn_esqueci_senha ||\n 'Esqueci minha senha-1'}}
\n
\n\n
\n
\n Digite seu e-mail abaixo e clique em Enviar. Nós lhe enviaremos uma email com link para uma página onde você\n poderá criar uma nova senha.\n
\n
\n
E-mail
\n
\n
\n
\n
\n ENVIAR\n
\n
\n
\n voltar ao login\n
\n
\n\n
\n
\n
Nome Completo
\n
\n
\n
\n
E-mail
\n
\n
\n
\n
CPF
\n
\n
\n
\n
Telefone
\n
\n
\n
\n
\n Criar Conta\n
\n
\n
\n voltar ao login\n
\n
\n\n
\n
\n Verificação em 2 etapas foi enviado um código no seu email {{this.username}}.\n
\n
\n
Código de Autorização
\n
\n
\n
\n
\n Autorizar\n
\n
\n
\n voltar ao login\n
\n
\n\n
\n
\n nova senha\n
\n
\n Digite sua nova senha. Ela deve conter no mínimo
8 caracteres sendo 1 letra maiúscula, 1 letra minúscula, 1\n número e um símbolo.\n
\n
\n
Nova senha
\n
\n
\n
As senhas não conferem
\n
\n
\n
\n Enviar\n
\n
\n
\n\n\n
\n
\n nova senha\n
\n
\n Digite sua nova senha. Ela deve conter no mínimo
8 caracteres sendo 1 letra maiúscula, 1 letra minúscula, 1\n número e um símbolo.\n
\n
\n
Nova senha
\n
\n
\n
As senhas não conferem
\n
\n
\n
\n Continuar\n
\n
\n
\n\n
\n
\n \n
\n
\n NOVA senha criada COM SUCESSO!\n
\n
\n
\n FAZER LOGIN\n
\n
\n
\n\n
\n

Checkout

\n \n

Dados do Ambiente

\n
\n \n \n
\n
\n \n \n
\n\n

Dados do Cartão

\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n
\n \n \n
\n\n
\n

Atenção: Você terá 7 dias gratuitos no plano Standard. A cobrança será realizada apenas após esse período ou se você escolher outro plano. O plano pode ser cancelado a qualquer momento.

\n
\n \n

Escolha um Plano

\n
\n Básico - R$ 29,90/mês\n

✔ 1 Usuário | ✔ 10 Formulários | ✔ 5 Integrações | ✔ 10GB

\n
\n
\n Standard - R$ 59,90/mês (Recomendado)\n

✔ 5 Usuários | ✔ 50 Formulários | ✔ 20 Integrações | ✔ Dashboards | ✔ 50GB

\n
\n
\n Premium - R$ 99,90/mês\n

✔ Usuários Ilimitados | ✔ Formulários Ilimitados | ✔ Integrações Ilimitadas | ✔ Dashboards | ✔ 1TB

\n
\n \n \n
\n\n
\n
\n \n
\n
\n {{signupmsg}}\n
\n
\n
\n Login\n
\n
\n
\n
","\nimport { Component, OnInit, Renderer2 } from '@angular/core';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { SyncService } from '../../services/sync.service';\nimport { UserService } from '../../services/user.service';\nimport { ApiService } from '../../services/api.service';\nimport { LangService } from 'src/app/services/lang.service';\n\ndeclare var $;\n\n@Component({\n selector: 'app-login',\n templateUrl: './login.component.html',\n styleUrls: ['./login.component.css']\n})\n\nexport class LoginComponent implements OnInit {\n // version: any = '0.19.8';\n version: any = '0.20.4';\n versionDefault: any = '1.0.1';\n\n produtoAtivo:boolean = false;\n\n produto:boolean = false;\n\n clientes: any = [];\n\n subscription: Subscription;\n\n showPass: boolean = false;\n showBox: any = 'login';\n showLang: any = false;\n\n client: string = 'multi';\n multi: boolean = true;\n clientSelected: any = '';\n clienteObj: any = {}\n email: any = '';\n username: any = '';\n password: any = '';\n remember: boolean = false;\n emailSenha: any = '';\n password1: any = '';\n password2: any = '';\n passAlert: boolean = true;\n senhacode: any = '';\n validacode:any = '';\n mfaCodigo: any = '';\n plano:any='standard';\n\n checkout:any={\n space:{\n nome:'',\n subdominio:''\n }\n }\n\n signData:any={\n nome:'',\n email:'',\n cpf:'',\n data:'',\n telefone:''\n }\n\n signupmsg:any = '';\n\n isSophia: Boolean = false;\n prelogo: Boolean = false;\n\n status: boolean = false;\n statusText: any = 'Selecione um sistema';\n\n loadingMsg: any = 'Carregando..'\n loading: any = false;\n\n languages: any = [\n {\n \"title\": \"pt-BR\",\n \"lang\": \"pt\",\n \"msg\": {\n \"escolha\": \"Escolha uma Linguagem\",\n \"caminho\": \"Você está aqui\",\n \"sair\": \"Sair\",\n \"notificacoes\": \"Notificações\",\n \"semNotificacoes\": \"Sem Notificações\",\n \"marcarLidas\": \"Marcar todas como Lidas\",\n \"minhaConta\": \"Minha Conta\",\n \"buscarPor\": \"Buscar Por\",\n \"removerItem\": \"Tem certeza que deseja remover ?\",\n \"login\": {\n \"msg_conectado\": \"Conectado\",\n \"title_sistema\": \"Sistema\",\n \"title_login\": \"Login\",\n \"title_senha\": \"Senha\",\n \"title_lembrar_senha\": \"Lembrar senha\",\n \"btn_entrar\": \"ENTRAR\",\n \"btn_signup\": \"Teste por 7 dias\",\n \"btn_esqueci_senha\": \"Esqueci minha senha\"\n }\n },\n \"status\": true\n },\n {\n \"title\": \"en-US\",\n \"lang\": \"en\",\n \"msg\": {\n \"escolha\": \"Choose a Language\",\n \"caminho\": \"Location\",\n \"sair\": \"Logout\",\n \"notificacoes\": \"Notifications\",\n \"semNotificacoes\": \"No results\",\n \"marcarLidas\": \"Mark all as read\",\n \"minhaConta\": \"My Account\",\n \"buscarPor\": \"Search by\",\n \"removerItem\": \"Are you sure to delete?\",\n \"login\": {\n \"msg_conectado\": \"Conected\",\n \"title_sistema\": \"System\",\n \"title_login\": \"Login\",\n \"title_senha\": \"Password\",\n \"title_lembrar_senha\": \"Remember password\",\n \"btn_entrar\": \"LOGIN\",\n \"btn_esqueci_senha\": \"Forgot password?\"\n }\n },\n \"status\": true\n }\n ];\n\n language: any = this.languages[0];\n\n constructor(\n private user: UserService,\n private api: ApiService,\n private renderer: Renderer2,\n private sync: SyncService,\n private router: Router,\n private route: ActivatedRoute,\n private lang: LangService\n ) { }\n\n async ngOnInit(): Promise {\n \n \n this.prelogo = window.location.hostname.includes('blstech.com.br');\n this.loading = true;\n this.clientes = await this.api.loadClients();\n // console.log('init')\n // console.log(\"🚀 -> this.clientes:\", this.clientes);\n\n // Jornada esqueci minha senha\n this.senhacode = this.route.snapshot.paramMap.get('senhacode');\n // console.log(\"🚀 ~ LoginComponent ~ ngOnInit ~ senhacode:\", this.senhacode)\n if (this.senhacode && this.senhacode != '') {\n // console.log('Senhacode: ', this.senhacode);\n\n let clientPass = this.route.snapshot.paramMap.get('client');\n // console.log(\"🚀 ~ LoginComponent ~ ngOnInit ~ clientPass:\", clientPass)\n\n this.setClient(clientPass);\n this.showBox = 'newpass';\n this.loading = false;\n return;\n }\n\n this.validacode = this.route.snapshot.paramMap.get('validacode');\n // console.log(\"🚀 ~ LoginComponent ~ ngOnInit ~ validacode:\", this.validacode)\n if (this.validacode && this.validacode != '') {\n\n let clientPass = this.route.snapshot.paramMap.get('client');\n // console.log(\"🚀 ~ LoginComponent ~ ngOnInit ~ clientPass:\", clientPass)\n\n this.setClient(clientPass);\n this.showBox = 'confirmemail';\n this.loading = false;\n return;\n }\n\n // Usuario salvo no localStorage\n let remember = JSON.parse(localStorage.getItem('_LOGIN'));\n if (remember) {\n // console.log('Remember: ', remember);\n\n this.username = remember.username;\n this.password = remember.password;\n this.remember = true;\n }\n\n // Processo padrão\n const checkDefault = this.clientes.find(e => e.default)\n await this.setClient(checkDefault ? checkDefault.produto : this.clientes[0].produto);\n\n this.multi = this.clientes.length > 1;\n\n this.subscription = this.sync.listenSync.subscribe(data => {\n if (data.type == 'status') {\n this.status = data.status;\n this.statusText = data.statusText;\n }\n });\n\n this.renderer.listen('window', 'click', (e: Event) => {\n if (this.showLang) this.showLang = !($(e.target).parents('.header-lang').length == 0);\n });\n\n this.loading = false;\n }\n\n ngOnDestroy() {\n // if (!this.senhacode || this.senhacode == '') {\n if (this.subscription) {\n this.subscription.unsubscribe();\n }\n // }\n }\n\n clearPass(){\n if(!this.remember){\n this.password = ''\n if(this.isSophia){\n localStorage.removeItem('_LOGIN');\n }\n }\n }\n\n selectPlan(plano:any){\n this.plano = plano;\n }\n\n async setClient(clientSelected) {\n this.clientSelected = clientSelected;\n this.produto = this.produtoAtivo && (window.location.hostname.includes('spaceforms.com.br')||window.location.hostname.includes('localhost'));\n this.status = false;\n this.statusText = 'Conectando...';\n\n\n this.clienteObj = await this.api.setClient(clientSelected);\n\n let client = this.api.getClient()\n // console.log(\"🚀 ~ LoginComponent ~ setClient ~ client:\", client)\n if(client!='BLSTECH'){\n this.versionDefault = this.version;\n this.isSophia = false\n }else{\n this.isSophia = true\n }\n // console.log('client',client);\n\n if (this.clienteObj) this.sync.connect();\n else this.statusText = 'Selecione um sistema';\n }\n\n mfaCheck(remeber?) {\n this.user.mfaCheck(this.mfaCodigo, (acesso) => {\n if (acesso) {\n if (this.remember) {\n localStorage.setItem('_MFA_' + this.api.getClient(), this.mfaCodigo)\n }\n this.router.navigate(['/'], { fragment: \"\" });\n } else {\n if (!remeber) {\n alert('Código de verificação inválido');\n } else {\n //enviarNovoMFA\n this.showBox = 'mfa';\n this.mfaCodigo = '';\n this.user.sendmfa(this.username, (result) => {\n alert(result.msg)\n })\n }\n }\n });\n }\n\n backLogin() {\n this.showBox = 'login';\n this.router.navigate(['/login'], { fragment: \"\" });\n }\n\n login() {\n if (this.remember) {\n let { username, password, clientSelected } = this;\n localStorage.setItem('_LOGIN', JSON.stringify({ username, password, clientSelected }))\n } else {\n localStorage.removeItem('_LOGIN');\n }\n\n // if (this.client == 'multi') {\n // this.setClient(this.clientSelected);\n // }\n\n this.user.login(this.username, this.password, (err, userLogin) => {\n if (err) {\n if(err=='Checkout não concluído'){\n this.showBox = 'checkout';\n }else{\n alert(err);\n }\n } else {\n if (this.remember) {\n let mfaCodigo = localStorage.getItem('_MFA_' + this.api.getClient());\n if (mfaCodigo && mfaCodigo != '') {\n this.mfaCodigo = mfaCodigo + '';\n this.mfaCheck(true);\n return\n }\n }\n if (userLogin.mfa) {\n this.showBox = 'mfa';\n //enviarNovoMFA\n this.user.sendmfa(this.username, (result) => {\n alert(result.msg)\n })\n return\n }\n\n this.router.navigate(['/'], { fragment: \"\" });\n }\n });\n }\n\n sendMail() {\n if (this.emailSenha != '' && this.emailSenha.split('@').length >= 2) {\n this.user.recuperarSenha(this.emailSenha, (result) => {\n alert(result.msg)\n })\n }\n }\n\n sendNewPassword() {\n //verificação campos senha\n if (!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&.])[A-Za-z\\d@$!%*?&.]{8,}$/.test(this.password1)) {\n alert('Digite sua nova senha. Ela deve conter no mínimo\\n8 caracteres sendo 1 letra maiúscula, 1 letra minúscula, 1 número e um símbolo.')\n return\n }\n if (this.password1 == this.password2) {\n\n this.user.salvarSenha(this.password1, this.senhacode, (result) => {\n if (result.code != 200) {\n alert(result.msg)\n } else {\n this.showBox = 'confirm';\n }\n\n })\n } else {\n alert('As senhas devem ser iguais!')\n }\n }\n\n confirmPassword() {\n //verificação campos senha\n if (!/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&.])[A-Za-z\\d@$!%*?&.]{8,}$/.test(this.password1)) {\n alert('Digite sua nova senha. Ela deve conter no mínimo\\n8 caracteres sendo 1 letra maiúscula, 1 letra minúscula, 1 número e um símbolo.')\n return\n }\n if (this.password1 == this.password2) {\n\n this.user.salvarSenha(this.password1, this.validacode, (result) => {\n if (result.code != 200) {\n alert(result.msg)\n } else {\n this.showBox = 'checkout';\n this.username = result.data.username;\n this.password = this.password1+'';\n }\n\n })\n } else {\n alert('As senhas devem ser iguais!')\n }\n }\n\n checkPass() {\n if (this.password1 != '' && this.password2 != '' && this.password2 != this.password1) {\n return true\n } else {\n return false\n }\n }\n\n togglePassword() {\n this.showPass = !this.showPass;\n }\n\n forgetPassword() {\n if (this.client == 'multi') {\n this.setClient(this.clientSelected);\n }\n this.showBox = 'recover';\n }\n\n clickLang(item) {\n setTimeout(() => {\n this.language = item;\n this.lang.lang = item;\n }, 100);\n }\n\n signup(){\n this.showBox = 'signup';\n }\n\n finish(){\n\n\n //processo de compra no cartão\n\n this.user.finish({...this.checkout.space, username:this.username}, (result) => {\n // alert(result.msg)\n this.login()\n })\n }\n\n signupEmail(){\n if(this.signData.email == '' || this.signData.nome=='' || this.signData.cpf=='' || this.signData.telefone==''){\n alert('Preencha todos os campos');\n return\n }\n this.loading = true;\n if (this.signData.email != '' && this.signData.email.split('@').length >= 2) {\n this.user.signup(this.signData, (result) => {\n // alert(result.msg)\n this.signupmsg = result.msg;\n this.showBox = 'signupmsg';\n this.loading = false;\n })\n }\n }\n}\n","
\n
{{element.name}}
\n\n
=0\">\n
\n
\n {{element.bind||element.value}}\n
\n \n \n
    \n
  • {{opt?.view||opt}}
  • \n
\n
\n
\n\n
=0\">\n
\n \n \n {{element.subtitle || 'Nenhum item encontrado'}}\n \n
    \n
  • {{opt}}
  • \n
\n
\n
\n\n
=0\">\n \n
\n
\n","import { Component, OnInit, Renderer2, ElementRef, ViewChild, Input } from '@angular/core';\n\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-select',\n templateUrl: './select.component.html',\n styleUrls: ['./select.component.css']\n})\n\nexport class SelectComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public scopeId: any;\n\n @ViewChild('menu') menu: ElementRef;\n @ViewChild('list') list: ElementRef;\n @ViewChild('selectstyle') selectstyle: ElementRef;\n \n constructor(private renderer: Renderer2,private tools: ToolsService) {}\n\n ngOnInit(): void {\n if (!this.element.value) { this.element.value = ''; }\n\n this.element.optionsFilter = this.element.options || [];\n\n if (this.element.showOptions) this.element.showOptions = false;\n\n if (['select'].indexOf(this.element.elementType) >= 0) {\n this.renderer.listen('window', 'click', (e: any) => {\n if (this.element.showOptions) {\n if (![this.menu?.nativeElement, this.list?.nativeElement, this.selectstyle?.nativeElement].includes(e.target) && ![this.menu?.nativeElement?.className, this.list?.nativeElement?.className, this.selectstyle?.nativeElement?.className].includes(e.target?.className)) {\n this.element.showOptions = false;\n }\n }\n });\n }\n }\n\n ionViewDidEnter(){\n }\n\n selectItem(opt) {\n this.element.value = opt.value||opt;\n this.element.showOptions = false;\n this.funcEvent('change');\n }\n\n closeDelay() {\n setTimeout(() => {\n this.element.showOptions = false;\n this.funcEvent('blur');\n }, 200)\n }\n\n changeTypehead(value) {\n let check = (value || '').length > 0;\n if (!check) this.element.optionsFilter = this.element.options;\n\n this.element.showOptions = check;\n\n if (check) this.element.optionsFilter = this.element.options.filter(e => e.toLowerCase().includes(value.toLowerCase()));\n }\n\n funcEvent(type) {\n let funcEventStatus = false;\n\n if (type == 'focus' && this.element.focus) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.focus, this.element, this.scopeId);\n }\n\n if (type == 'change' && this.element.change) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.change, this.element, this.scopeId);\n }\n\n if (type == 'blur' && this.element.blur) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.blur, this.element, this.scopeId);\n }\n\n if (!funcEventStatus && type != 'focus') {\n this.tools.setItem(this.element.pageType, (this.scopeId || 'item'), this.element.modelBind||this.element.model, this.element.value);\n }\n }\n\n}\n","
\n
\n
\n \n \n \n \n
\n \n
\n\n
\n
\n
\n
Opções
\n \n
\n
\n
\n \n Exportar em PDF\n
\n
\n \n Exportar em Excel\n
\n
\n \n Atualizar Tabela\n
\n\n
\n \n Configurar Tabela\n
\n
\n
\n
\n\n
\n \n\n \n \n
\n
\n \n
\n
\n \n \n \n {{opt.name}}\n
\n
\n
\n
\n
\n\n \n \n
\n
\n {{50}}%\n
\n
\n\n \n \n
\n \n
\n
\n\n \n \n
\n {{value}}\n\n \n \n \n
\n
\n\n \n \n
\n
\n
\n
\n\n \n \n
\n
\n
\n
\n\n \n \n
\n
\n \n
\n
\n
\n\n \n \n
\n {{value}}\n
\n
\n \n \n \n
\n\n
\n\n \n \n
\n \n
\n
\n\n \n \n
\n \n \n
\n
\n\n \n \n
\n \n
\n
\n\n
\n
\n\n
\n
\n
\n
\n
\n
\n Configurações da Tabela\n
\n
\n \n
\n
\n
\n
\n \n
\n
Selecionar todos
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n
ColunaExibir
{{col.name}}\n \n
\n
\n
Total: {{comp.header.length}}
\n
\n
\n
","import { Component, OnInit, Input, ChangeDetectorRef, ViewChild, TemplateRef, Renderer2, ElementRef } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\nimport { LangService } from '../../services/lang.service';\n\ndeclare var $;\n\n@Component({\n selector: 'app-table',\n templateUrl: './table.component.html',\n styleUrls: ['./table.component.css']\n})\n\nexport class TableComponent implements OnInit {\n\n @ViewChild('switchTmpl', { static: true }) switchTmpl: TemplateRef;\n @ViewChild('checkTmpl', { static: true }) checkTmpl: TemplateRef;\n @ViewChild('checkHeaderTmpl', { static: true }) checkHeaderTmpl: TemplateRef;\n @ViewChild('editTmpl', { static: true }) editTmpl: TemplateRef;\n @ViewChild('removeTmpl', { static: true }) removeTmpl: TemplateRef;\n @ViewChild('optionsTmpl', { static: true }) optionsTmpl: TemplateRef;\n @ViewChild('progressTmpl', { static: true }) progressTmpl: TemplateRef;\n @ViewChild('funcTmpl', { static: true }) funcTmpl: TemplateRef;\n @ViewChild('selectTmpl', { static: true }) selectTmpl: TemplateRef;\n @ViewChild('inputTmpl', { static: true }) inputTmpl: TemplateRef;\n @ViewChild('filtro') filtro: ElementRef;\n @ViewChild('defaultTmpl', { static: true }) defaultTmpl: TemplateRef;\n\n @Input() public comp: any;\n\n colMap: any = {}\n headerMap: any = {}\n listenerFn;\n\n datatable: any = {\n viewRows: [],\n rows: [],\n cols: []\n };\n\n clicked;\n all: boolean = false;\n\n repeatRateTimer;\n timeout;\n\n filterView: boolean = false;\n filterCol: any = '';\n totalElements: any = 0;\n filterField: any = '';\n filterValues: any = [];\n filterValuesFilter: any = [];\n filterSearchValue: any = '';\n filterAll: boolean = false;\n\n selectedFilters: any = [];\n searchValue: any = '';\n\n abrirModal: boolean = false\n selAll: boolean = false\n\n mask: any = {};\n bindCols: any = [];\n language: any = { msg: { buscarPor: '', removerItem: 'Remover?' } };\n showOptionTable: any = false;\n\n colors: Object = {\n 'primary': '#136dfa',\n 'secondary': '#6c757d',\n 'success': '#3c8854',\n 'danger': '#dd4045',\n 'warning': '#fec236',\n 'warning2': 'orange',\n 'info': '#3ccaf0',\n 'light': '#f8f9fa',\n 'dark': '#212529',\n }\n\n constructor(\n private tools: ToolsService,\n private lang: LangService,\n private ref: ChangeDetectorRef,\n private renderer: Renderer2\n ) {\n this.listenerFn = this.renderer.listen('window', 'click', (e: Event) => {\n if (this.filtro && e.target !== this.filtro.nativeElement) {\n this.filterView = false;\n }\n });\n this.update();\n }\n\n onPage(event) {\n clearTimeout(this.timeout);\n this.timeout = setTimeout(() => { }, 100);\n }\n\n processRows(rows) {\n if (this.bindCols.length == 0) { return rows; }\n let scope = this.tools.getScope(this.comp.pageType, this.comp.scope || 'item');\n for (var row of rows) {\n for (var bind of this.bindCols) {\n row[bind + '#bind'] = this.tools.nameParse(row[bind] || '', row[bind] || '', scope);\n }\n }\n return rows;\n }\n\n multiCols(header) {\n var result = [];\n this.bindCols = [];\n\n for (var item of header) {\n if (!item.dataType && item.fieldBind) {\n this.bindCols.push(item.fieldBind);\n }\n\n if (item.dataType == 'select' && item.fieldBind) {\n item.field = item.fieldBind;\n delete item.fieldBind;\n }\n\n if (item.dataType && item.dataType == 'multi') {\n let tableToCols = this.tools.getLoadOrig(this.comp.pageType, item.params.table);\n\n for (var col of tableToCols) {\n result.push({ name: col[item.params.nameId], field: col[item.params.fieldId], pageType: this.comp.pageType, show: true });\n }\n\n continue;\n }\n\n result.push(item);\n }\n\n return result\n }\n\n ngOnInit(): void {\n this.language = this.lang.getLang();\n this.mask = {\n 'numero': '0*',\n 'float': 'separator.2',\n 'telefone': '(00) 0000-0000||(00) 0 0000-0000',\n 'hora': '00:00',\n 'data': '00/00/0000',\n 'cpf': '000.000.000-00',\n 'cnpj': '00.000.000/0000-00',\n 'email': 'A*@A*.SSS.SS',\n 'rg': '00.000.000-0',\n 'cep': '00000-000',\n // 'password': '•*'\n }\n if (!this.comp.filter && this.comp.pageType == 'layer') { this.comp.filter = true; }\n if (this.comp.search === undefined && this.comp.pageType == 'layer') { this.comp.search = true; }\n if (!this.comp.nav && this.comp.pageType == 'layer') { this.comp.nav = true; }\n\n this.colMap = {\n 'options': this.optionsTmpl,\n 'checkbox': this.checkTmpl,\n 'edit': this.editTmpl,\n 'func': this.funcTmpl,\n 'select': this.selectTmpl,\n 'input': this.inputTmpl,\n 'remove': this.removeTmpl,\n 'switch': this.switchTmpl,\n 'progress': this.progressTmpl,\n 'default': this.defaultTmpl,\n }\n\n this.headerMap = { 'checkbox': this.checkHeaderTmpl }\n\n this.datatable.cols = this.multiCols(this.comp.header).filter(e => !e.hide).map(e => ({\n name: e.name,\n prop: e.fieldBind ? (e.fieldBind + '#bind') : e.field,\n mask: e.mask,\n prefix: e.prefix,\n canAutoResize: true,\n headerClass: [\"edit\", \"remove\", \"func\", \"checkbox\"].includes(e.dataType) ? 'header-cell-center' : 'header-cell',\n block: e.block,\n headerTemplate: this.headerMap[e.dataType],\n cellTemplate: this.colMap[e.dataType || 'default'],\n blockField: e.blockField,\n showLabel: e.showLabel,\n icon: e.icon,\n color: e.color,\n textColor: e.statusText,\n bgColor: e.status,\n param: e.param,\n options: e.optionsObj || e.options,\n maxWidth: 750,\n dataType: e.dataType,\n width: e.size || 150\n }));\n\n this.datatable.filters = this.datatable.cols.filter(e => !e.cellTemplate);\n this.datatable.rows = this.tools.getLoadOrig(this.comp.pageType, this.comp.table);\n this.datatable.viewRows = this.processRows([...this.datatable.rows]);\n this.datatable.footer = this.comp.footer === false ? false : '50';\n\n if (this.comp.bold && this.datatable.viewRows.length > 0) this.datatable.viewRows[this.datatable.viewRows.length - 1].bold = true;\n\n this.comp.updateTable = (col?) => this.updateTable(col);\n this.selectClear();\n this.ref.detectChanges();\n this.checkAll();\n\n this.renderer.listen('window', 'click', (e: Event) => {\n if (this.showOptionTable) this.showOptionTable = !($(e.target).parents('.table-header').length == 0);\n });\n }\n\n update() {\n window.dispatchEvent(new Event('resize'));\n this.checkAll();\n }\n\n checkAll() {\n if (this.datatable.viewRows.filter(e => e.select).length > 0) {\n this.all = this.datatable.viewRows.length == this.datatable.viewRows.filter(e => e.select).length;\n }\n }\n\n toggle(value, field, block) {\n if (block) { return }\n this.all = value;\n this.datatable.viewRows.forEach(e => e[field] = value);\n }\n\n toggleRow(row, value, field, block, rowIndex, datatable,param,blockField) {\n if (block) { return }\n this.datatable.viewRows[rowIndex][field] = value\n // (click)=\"cmd('click', row, column.param,row[column.blockField])\"\n this.cmd('click',row,param,row[blockField])\n // row[field] = value;\n }\n\n changeFilterView(force?) {\n if (typeof force == 'boolean') { this.filterView = force; }\n else { this.filterView = !this.filterView; }\n if (!this.filterView) { this.filterCol = ''; this.filterField = ''; this.filterSearchValue = ''; this.filterAll = false; }\n }\n\n selectFilter(col) {\n this.filterCol = col.name; this.filterField = col.prop; this.filterSearchValue = '';\n this.filterValues = this.datatable.rows.map(e => ({ text: e[col.prop], selected: false })).sort((a, b) => a.text - b.text).filter((item, pos, ary) => !pos || item.text != ary[pos - 1].text);\n this.filterValuesFilter = [...this.filterValues];\n }\n\n selectAll(force?) {\n if (typeof force == 'boolean') { this.filterAll = force; }\n this.filterValuesFilter.forEach(e => e.selected = this.filterAll);\n }\n\n selectClear() {\n this.filterValues.forEach(e => e.selected = false);\n this.filterValuesFilter = [...this.filterValues];\n }\n\n filterSearch(value) {\n if (value != '') { this.filterValuesFilter = [...this.filterValues].filter(e => e.text.toUpperCase().split(value.toUpperCase()).length > 1); }\n else { this.filterValuesFilter = [...this.filterValues]; }\n this.filterAll = false;\n }\n\n filterApply() {\n let idx = this.selectedFilters.findIndex(e => e.name == this.filterCol);\n if (idx >= 0) { this.selectedFilters.splice(idx, 1); }\n this.selectedFilters.push({ name: this.filterCol, field: this.filterField, values: this.filterValuesFilter.filter(e => e.selected).map(e => e.text) });\n this.changeFilterView(false);\n this.search();\n }\n\n filterCancel() {\n this.changeFilterView(false);\n }\n\n removeFilter(filter) {\n let idx = this.selectedFilters.findIndex(e => e.name == filter.name);\n this.selectedFilters.splice(idx, 1);\n this.search();\n }\n\n filtersClear() {\n this.selectedFilters = [];\n this.search();\n }\n\n searchDelay() {\n clearTimeout(this.repeatRateTimer);\n this.repeatRateTimer = setTimeout(() => {\n this.search()\n }, 600);\n }\n\n ngAfterViewInit() {\n }\n\n updateTable(col?) {\n if (col) {\n this.datatable.cols = this.multiCols(this.comp.header).filter(e => e.show).map(e => ({\n name: e.name,\n prop: e.fieldBind ? (e.fieldBind + '#bind') : e.field,\n mask: e.mask,\n canAutoResize: true,\n headerClass: [\"edit\", \"remove\", \"func\", \"checkbox\"].includes(e.dataType) ? 'header-cell-center' : 'header-cell',\n block: e.block,\n headerTemplate: this.headerMap[e.dataType],\n cellTemplate: this.colMap[e.dataType || 'default'],\n blockField: e.blockField,\n icon: e.icon,\n color: e.color,\n textColor: e.statusText,\n bgColor: e.status,\n param: e.param,\n options: e.optionsObj || e.options,\n maxWidth: 750,\n dataType: e.dataType,\n width: e.size || 150\n }));\n this.language = this.lang.getLang();\n\n } else {\n this.datatable.viewRows = this.processRows(this.tools.getLoad(this.comp.pageType, this.comp.table));\n }\n if (this.comp.bold && this.datatable.viewRows.length > 0) this.datatable.viewRows[this.datatable.viewRows.length - 1].bold = true;\n this.update();\n }\n\n updataCols() {\n this.datatable.cols = this.multiCols(this.comp.header).filter(e => e.show).map(e => ({\n name: e.name,\n prop: e.fieldBind ? (e.fieldBind + '#bind') : e.field,\n mask: e.mask,\n canAutoResize: true,\n headerClass: [\"edit\", \"remove\", \"func\", \"checkbox\"].includes(e.dataType) ? 'header-cell-center' : 'header-cell',\n block: e.block,\n headerTemplate: this.headerMap[e.dataType],\n cellTemplate: this.colMap[e.dataType || 'default'],\n blockField: e.blockField,\n icon: e.icon,\n color: e.color,\n textColor: e.statusText,\n bgColor: e.status,\n param: e.param,\n options: e.optionsObj || e.options,\n maxWidth: 750,\n dataType: e.dataType,\n width: e.size || 150\n }));\n\n this.selAll = this.comp.header.filter(e => ![\"edit\", \"remove\"].includes(e.dataType)).some(e => e.show);\n }\n\n search() {\n this.datatable.viewRows = this.processRows(this.tools.search(this.comp.pageType, this.comp.table, this.searchValue, this.selectedFilters));\n }\n\n select(row, column) {\n if (this.bindCols.includes(column.prop)) {\n let scope = this.tools.getScope(this.comp.pageType, this.comp.scope || 'item');\n row[column.prop + '#bind'] = this.tools.nameParse(row[column.prop] || '', row[column.prop] || '', scope);\n // row[column.prop + '#bind'] = row[column.prop];\n }\n this.cmd('func', row, column)\n }\n\n removeBind(row) {\n for (var bind of this.bindCols) {\n delete row[bind + '#bind'];\n }\n return row;\n }\n\n cmd(type, row, param?, ignore?) {\n if (type == 'edit') {\n // console.log('this.comp', param);\n\n // let editOptions = this.comp.header.find(e => e.dataType == 'edit');\n var optItem = {\n itemId: row._id,\n base: param.base\n };\n if (!param.base) {\n optItem = this.removeBind(Object.assign({}, row));\n }\n this.tools.layout({\n pageId: param.param,\n optItem: optItem\n });\n }\n if (type == 'remove') {\n // this.tools.alert({ alertType: 'confirm', msg: 'Deseja remover ?\\nEsta ação é irreversível' });\n // return\n\n var x = confirm(this.language.msg.removerItem);\n if (!x) return;\n\n let removeOptions = this.comp.header.find(e => e.dataType == 'remove');\n this.tools.cmdOptions('deleteItem', { pageType: this.comp.pageType, base: removeOptions.base, item: row, pageId: removeOptions.param });\n }\n if (type == 'func') {\n let funcOptions = this.comp.header.find(e => e.dataType == 'func');\n let funcOptionsInputSelect = this.comp.header.find(e => e.field == param.prop);\n\n this.tools.cmdFunc(this.comp.pageType, (funcOptionsInputSelect.change || param || funcOptions.param), { item: row });\n }\n if (type == 'focus') {\n let funcOptions = this.comp.header.find(e => e.dataType == 'func');\n let funcOptionsInputSelect = this.comp.header.find(e => e.field == param.prop);\n this.tools.cmdFunc(this.comp.pageType, (funcOptionsInputSelect.focus || param || funcOptions.param), { item: row });\n }\n if (type == 'click' && !ignore) {\n let funcOptions = this.comp.header.find(e => e.dataType == 'checkbox');\n this.tools.cmdFunc(this.comp.pageType, (param || funcOptions.click), { item: row });\n }\n }\n\n ngOnDestroy() {\n this.listenerFn()\n }\n\n headerOption(tipo) {\n const rows = this.tools.dataForm(this.datatable.viewRows);\n const cols = this.datatable.cols.filter(e => !['edit', 'remover', 'func'].includes(e.dataType));\n const filename = this.tools.mods.mods.find(e => e.id == this.tools.mods.modActive)?.mod?.title || '';\n\n if (tipo == 'excel') this.tools.excel(rows, cols, filename, () => { });\n if (tipo == 'pdf') this.tools.pdf(rows, cols, filename, () => { });\n if (tipo == 'refresh') this.updataCols();\n if (tipo == 'config') {\n this.abrirModal = true\n this.selAll = this.comp.header.every(e => e.show)\n };\n\n this.showOptionTable = false;\n }\n\n fecharModal() {\n this.abrirModal = false\n }\n\n esconderColuna(idx: any) {\n let header = this.comp.header[idx]\n header.show = !header.show\n this.updataCols()\n }\n\n selecionarTodos() {\n let todosTrue = []\n for (let col of this.comp.header) {\n if (col.show && ![\"edit\", \"remove\"].includes(col.dataType)) {\n todosTrue.push(col)\n }\n }\n if (todosTrue.length > 0) {\n todosTrue.map(e => e.show = false)\n } else {\n this.comp.header.map(e => e.show = true)\n }\n this.updataCols()\n\n }\n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","
\n
=0\">\n \n
\n
=0\">\n \n
\n
=0\">\n \n
\n
=0\">\n \n
\n
=0\">\n \n
\n
=0\">\n \n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-base',\n templateUrl: './base.component.html',\n styleUrls: ['./base.component.css']\n})\nexport class BaseComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public inline: any;\n @Input() public scopeId: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { Injectable, NgZone } from '@angular/core';\nimport { fromEvent, merge, Observable, Subscription, timer } from 'rxjs';\nimport { debounceTime, map, startWith, switchMap } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class InactivityService {\n private timeoutInMs = 20 * 1000; // 5 minutos\n private userActivity$: Observable;\n private inactivityTimer$: Observable;\n private subscription: Subscription | null = null;\n\n constructor(private ngZone: NgZone) {\n // Combina eventos de interação para monitorar a atividade\n this.userActivity$ = merge(\n fromEvent(window, 'mousemove'),\n fromEvent(window, 'click'),\n fromEvent(window, 'keypress'),\n fromEvent(window, 'scroll'),\n fromEvent(window, 'touchstart')\n ).pipe(\n map(() => true) // Qualquer evento é considerado \"atividade\"\n );\n\n // Inicia o monitoramento\n this.inactivityTimer$ = this.userActivity$.pipe(\n switchMap(() =>\n timer(this.timeoutInMs).pipe(\n map(() => false) // Inatividade após o timeout\n )\n ),\n startWith(true) // Inicialmente ativo\n );\n }\n\n startMonitoring(time,callback: () => void): void {\n if(!time){return}\n this.timeoutInMs = time;\n console.log(\"🚀 ~ InactivityService ~ startMonitoring ~ segundos:\", this.timeoutInMs/1000)\n // Monitorar dentro do NgZone para evitar problemas de detecção\n this.ngZone.runOutsideAngular(() => {\n this.subscription = this.inactivityTimer$.subscribe((active) => {\n if (!active) {\n this.ngZone.run(() => callback()); // Callback em caso de inatividade\n }\n });\n });\n }\n\n stopMonitoring(): void {\n this.subscription?.unsubscribe();\n }\n}\n","
\n
\n {{(opt.view||opt)}}\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-nav',\n templateUrl: './nav.component.html',\n styleUrls: ['./nav.component.css']\n})\nexport class NavComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor( private tools:ToolsService) { }\n\n ngOnInit(): void {}\n\n selectNav(opt){\n console.log(opt);\n \n this.comp.value = opt.value || opt;\n this.funcEvent('click');\n }\n\n funcEvent(type){\n let funcEventStatus = false\n if(type=='click'&&this.comp.click){\n funcEventStatus=true;\n this.tools.runFunc(this.comp.click,this.comp,(this.comp.scope||'item'));\n }\n if(!funcEventStatus&&type=='click'&&this.comp.model){\n this.tools.setItem(this.comp.pageType,(this.comp.scope||'item'),this.comp.model,this.comp.value);\n }\n }\n\n}\n","
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
\n
chartType inválido - {{chart.chartType}} - {{chart.name}}
\n
\n
","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-base',\n templateUrl: './dash-base.component.html',\n styleUrls: ['./dash-base.component.css']\n})\nexport class DashBaseComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","import { HttpClient } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport * as CryptoJS from 'crypto-js';\n\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ApiService {\n key: string = \"BEWAREOBLIVIONISATHAND\"; //length=23\n keyportal: string = \"YOUSHALLNOTPASS\";\n\n utils: any = {\n genIV: () => {\n return Math.random().toString(36).substr(2, 30);\n },\n encrypt: (text, iv) => {\n let base = CryptoJS.AES.encrypt(text, this.key, { iv: iv });\n return base.toString();\n },\n decrypt: (text, iv) => {\n let data = CryptoJS.AES.decrypt(text, this.key, { iv: iv }).toString(CryptoJS.enc.Utf8);\n return data;\n },\n protect: (data) => {\n let iv = this.utils.genIV();\n return { cipher: this.utils.encrypt(JSON.stringify(data), iv), iv: iv, protect: true, app_key: '4vxaC8b019x6O3J9YJ3Q3qrr', app_secret: 'GKea2bC1UR8w' }\n },\n extract: (data) => {\n return JSON.parse(this.utils.decrypt(data.cipher, data.iv));\n }\n }\n\n sessionObj: any = {};\n clients: any = []\n\n env: string = 'prod';\n client: string = 'multi';\n baseUrl: string = 'https://wms.applayos.com:5099/';\n\n constructor(private http: HttpClient) {}\n\n async setClient(client,callback?) {\n if(this.clients.length==0){\n await this.getClients()\n }\n if (!client) {\n return false;\n }\n\n window.sessionStorage.setItem('clientV3',client)\n\n this.client = client;\n\n let clientObj = await this.getClientFull();\n if (!clientObj) {\n localStorage.clear();\n sessionStorage.clear();\n return false;\n }\n\n this.baseUrl = clientObj.url.api;\n\n // Titulo da aplicação\n if (clientObj.produto) window.document.title = clientObj.produto;\n\n // Cores dinamicas\n document.documentElement.style.setProperty('--primary', clientObj.tema?.primary || '#09242c');\n document.documentElement.style.setProperty('--secondary', clientObj.tema?.secondary || '#00c795');\n\n // Icone dinamico\n let favIcon: HTMLLinkElement = document.querySelector('#favIcon');\n if (favIcon) favIcon.href = clientObj.tema?.favicon || 'favicon.ico';\n\n if(callback){\n callback(clientObj)\n }\n\n return clientObj;\n }\n\n getClientFull() {\n return this.clients.find(e => e.value == this.client);\n }\n\n getClient() {\n return this.client;\n }\n\n async getClients() {\n if (!this.clients || this.clients.length == 0) await this.loadClients();\n return this.clients;\n }\n\n async loadClients() {\n // let result = await this.http.get('https://admin.applayos.com/ambientes/V3').toPromise();\n let result:any = await this.eauthAsync('listarambientes',{})\n // console.log(\"🚀 ~ ApiService ~ loadClients ~ result:\", result)\n \n if (!result.status) return alert('Erro !\\nProdutos não encontrados');\n \n this.clients = result.data;\n this.clients.map(e => e.value = e.produto);\n\n const remember = JSON.parse(localStorage.getItem('_LOGIN'));\n const checkClient = this.clients.find(e=>e.produto == remember?.clientSelected)\n if (checkClient) checkClient.default = true;\n\n const url = window.location.hostname.split('.')[0];\n \n const checkClientes = this.clients.filter(e => e?.url?.dns.split('.')[0].includes(url));\n if (checkClientes.length != 0 && checkClientes.length != this.clients.length) return checkClientes;\n\n return this.clients;\n }\n\n getEnv() {\n return this.env;\n }\n\n getUrl(type?) {\n if (type == 'io') { return this.baseUrl.replace('x5099','6099') + 'ioportal'; }\n if (type == 'auth') { return this.baseUrl + 'auth'; }\n if (type == 'internal') { return this.baseUrl + 'api2/'; }\n return this.baseUrl + 'apiportal/';\n }\n\n setSession(sessionObj) {\n this.sessionObj = {\n username: sessionObj.username,\n userId: sessionObj.userId,\n session: sessionObj.session\n };\n window.sessionStorage.setItem('sessionV3',JSON.stringify(this.sessionObj))\n }\n\n async post(url, data, callback, header?) {\n return this.http.post(url, data, { headers: header || {} }).subscribe((result: any) => {\n if (result.data && result.data.protect) {\n result.data = this.utils.extract(result.data);\n }\n callback(result);\n }, (err) => {\n });\n }\n\n portal(endpoint, data, callback) {\n let url = this.getUrl() + 'portal/main/' + endpoint;\n let dataBase = Object.assign(this.sessionObj, { data: data })\n let dataFinal = this.utils.protect(dataBase);\n return this.http.post(url, dataFinal, { headers: { \"env\": this.env, \"client\": this.client, \"keyportal\": this.keyportal } }).subscribe((result: any) => {\n if (result.data && result.data.protect) {\n result.data = this.utils.extract(result.data);\n }\n callback(result);\n }, (err) => {\n console.log('err', err);\n });\n }\n\n eauthAsync(endpoint, data){\n return new Promise((resolve:any)=>{\n this.eauth(endpoint, data,(result)=>{\n resolve(result);\n })\n })\n }\n\n eauth(endpoint, data, callback) {\n if(endpoint=='listarambientes'){\n this.env = 'prod';\n this.client = 'multi';\n this.baseUrl = 'https://wms.applayos.com:5099/';\n }\n let url = this.getUrl() + 'portal/auth/' + endpoint;\n\n let dataFinal = this.utils.protect(data);\n // let dataFinal = data;\n \n // console.log(endpoint,'headers',url,{ \"env\": this.env, \"client\": this.client, \"keyportal\": this.keyportal });\n \n\n return this.http.post(url, dataFinal, { headers: { \"env\": this.env, \"client\": this.client, \"keyportal\": this.keyportal } }).subscribe((result: any) => {\n if (result.data && result.data.protect) {\n result.data = this.utils.extract(result.data);\n }\n callback(result);\n }, (err) => {\n console.log(err);\n });\n }\n}\n","
\n
\n
\n
\n\n
\n
\n
\n
{{loadingMsg || 'Carregando...'}}
\n \"\"\n
\n","import { Component, OnInit, ChangeDetectorRef } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { ModsService } from '../../services/mods.service';\nimport { SyncService } from '../../services/sync.service';\nimport { ToolsService } from '../../services/tools.service';\nimport { UserService } from '../../services/user.service';\nimport { ApiService } from 'src/app/services/api.service';\n\n@Component({\n selector: 'app-home',\n templateUrl: './home.component.html',\n styleUrls: ['./home.component.css']\n})\n\nexport class HomeComponent implements OnInit {\n\n subscription: Subscription;\n subscription2: Subscription;\n\n loadingLock: any = false;\n loadingMsg: any = 'Carregando..'\n loading: any = false;\n timeout: any;\n conected: any = false;\n alert: any = {\n text: 'Alerta',\n icon: 'check',\n color: 'success',\n disconnect: false,\n status: false\n }\n\n constructor(\n private sync: SyncService,\n private mods: ModsService,\n private tools: ToolsService,\n private user: UserService,\n private api: ApiService,\n private router: Router,\n private ref: ChangeDetectorRef\n ) {\n this.conected = this.user.getStatus();\n if (!this.conected) {\n let sessionObj = window.sessionStorage.getItem('sessionV3')\n // console.log(\"🚀 ~ sessionObj:\", sessionObj)\n if (sessionObj) {\n let client = window.sessionStorage.getItem('clientV3')\n // console.log(\"🚀 ~ client:\", client)\n this.api.setClient(client, () => {\n // console.log('aqui');\n \n this.user.sessionLogin(JSON.parse(sessionObj), (error) => {\n // console.log('aqui2',error);\n\n if (!error) {\n this.conected = true;\n \n this.sync.connect(true);\n } else {\n this.router.navigate(['/login'], { fragment: \"\" }); return\n }\n })\n })\n\n } else {\n this.router.navigate(['/login'], { fragment: \"\" }); return\n }\n }\n }\n\n ngOnInit(): void {\n this.subscription = this.sync.listenSync.subscribe(data => this.readUpd(data));\n this.subscription2 = this.mods.listenAlert.subscribe(data => this.setAlert(data));\n\n }\n\n ngOnDestroy() {\n if (this.conected) {\n this.subscription.unsubscribe();\n this.subscription2.unsubscribe();\n }\n }\n\n setAlert(data, callback?) {\n if (typeof data == 'string') {\n data = {\n msg: data,\n icon: 'exclamation',\n color: 'warning',\n alertType: 'alert',\n type: 'alert'\n }\n }\n\n if (data.alertType == 'confirm') {\n // if (data.alertType == 'confirm' || data.alertType == 'confirmTwo') {\n\n if (data.confirm) {\n this.alert.status = false;\n }\n\n if (data.confirm == 'buttonOne') {\n this.alert.status = false;\n this.alert.confirm = this.alert.confirmOne\n this.tools.confirm(this.alert)\n\n return\n }\n if (data.confirm == 'buttonTwo') {\n this.alert.status = false;\n this.alert.confirm = this.alert.confirmTwo\n\n this.tools.confirmTwo(this.alert)\n\n return\n }\n\n data = {\n msg: data.msg,\n icon: data.icon || 'exclamation',\n color: 'warning',\n type: 'alert',\n alertType: 'confirm',\n confirm: '',\n confirmOne: data.confirmOne,\n cancelar: data.cancelar,\n cancelarCustom: data.cancelar,\n confirmTwo: data.confirmTwo,\n pageType: data.pageType,\n buttonTwoCustom: data.buttonTwoCustom,\n params: data.params\n }\n }\n\n if (data.alertType == 'relogin') {\n console.log('Relogin');\n\n data = {\n msg: data.msg || 'Re-login',\n icon: data.icon || 'lock',\n textId: data.textId || 'ID',\n textPwd: data.textPwd || 'Password',\n textLogin: data.textLogin || 'Login',\n color: 'warning',\n type: 'alert',\n alertType: 'relogin',\n pageType: data.pageType || 'modal',\n funcSuccess: data.funcSuccess,\n funcFail: data.funcFail\n }\n }\n\n if (data.type == 'loading') {\n if (!data.lock && this.loadingLock) {\n return;\n }\n if (data.lock && data.value) {\n this.loadingLock = true;\n } else if (!data.value) {\n this.loadingLock = false;\n }\n\n this.loading = data.value;\n this.loadingMsg = this.loading && data.msg || 'Carregando';\n\n setTimeout(() => {\n this.ref.detectChanges();\n }, 100);\n return\n }\n\n this.alert.status = true;\n this.alert = Object.assign(this.alert, data);\n\n if(data.type=='alert'){\n console.log(\"🚀 ~ setAlert ~ this.alert:\", this.alert)\n }\n if (this.alert.disconnectForce && this.alert.click) {\n this.user.logout();\n }\n }\n\n readUpd(data) {\n if (data.type == 'loading') {\n this.loading = data.value;\n setTimeout(() => this.ref.detectChanges(), 100);\n }\n\n if (data.type == 'status' && data.alert) {\n let dataDefault = {\n msg: data.statusText,\n disconnectForce:data.disconnectForce,\n icon: 'exclamation',\n color: 'warning',\n alertType: 'alert',\n type: 'alert'\n }\n this.mods.updAlert(dataDefault);\n }\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { BaseComponent } from './base/base.component';\nimport { InputComponent } from './input/input.component';\nimport { SelectComponent } from './select/select.component';\nimport { MultiSelectComponent } from './multi-select/multi-select.component';\nimport { ButtonComponent } from './button/button.component';\nimport { ButtonGroupComponent } from './button-group/button-group.component';\nimport { FileComponent } from './file/file.component';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\nimport { NgxCurrencyModule } from \"ngx-currency\";\n\n\n@NgModule({\n declarations: [BaseComponent, InputComponent, SelectComponent, MultiSelectComponent, ButtonComponent, ButtonGroupComponent, FileComponent],\n imports: [\n FormsModule,\n CommonModule,\n NgxMaskModule.forRoot(),\n NgxCurrencyModule\n ],\n exports: [BaseComponent, InputComponent, SelectComponent, MultiSelectComponent, ButtonComponent, ButtonGroupComponent, FileComponent],\n entryComponents: [BaseComponent, InputComponent, SelectComponent, MultiSelectComponent, ButtonComponent, ButtonGroupComponent, FileComponent]\n})\nexport class ElementsModule { }\n","
\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n
\n
\n \n {{header.name}}\n \n \n \n \n \n
\n
\n \n \n
\n \n
\n
\n
\n
\n
{{row[item.field][dash.name]}}\n
\n \n \n
{{row[item.field][item.idx][dash.field]}}\n \n
\n
\n
\n
\n
\n
\n
","import { Component, OnInit, Input, OnChanges, DoCheck } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-tabledash',\n templateUrl: './tabledash.component.html',\n styleUrls: ['./tabledash.component.css']\n})\nexport class TabledashComponent implements OnInit, OnChanges, DoCheck {\n\n @Input() public comp: any;\n headers: any = []\n list: any = []\n listTemp: any = []\n\n abrirModal:boolean = false\n\n constructor(private tools: ToolsService) { }\n\n ngOnInit(): void {\n }\n\n ngOnChanges() {\n }\n\n ngDoCheck() {\n // console.log(\"🚀 ~ ngDoCheck\")\n if(this.comp.data && this.comp.data.length > 0) {\n this.list = this.comp.data\n this.headers = this.comp.header\n\n this.listTemp = this.comp.data\n }\n }\n\n click(row){\n if(this.comp.click && this.comp.click != '') {\n this.tools.cmdFunc('layer', this.comp.click, row)\n }\n }\n\n clickHeader(header){\n if(this.comp.clickHeader && this.comp.clickHeader != '') {\n this.tools.cmdFunc('layer', this.comp.clickHeader, header)\n }\n }\n\n clickIcon(icon, row){\n if(this.comp.clickIcon && this.comp.clickIcon != '') {\n this.tools.cmdFunc('layer', this.comp.clickIcon, [icon, row])\n }\n }\n\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-column',\n templateUrl: './dash-column.component.html',\n styleUrls: ['./dash-column.component.css']\n})\nexport class DashColumnComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-bar',\n templateUrl: './dash-bar.component.html',\n styleUrls: ['./dash-bar.component.css']\n})\nexport class DashBarComponent implements OnInit {\n\n @Input() public comp: any;\n\n public chartOptionsBase: any = {\n series: [\n {\n name: \"Net Profit\",\n data: [0]\n }\n ],\n colors:['#09242c', '#09242c', '#18647E','#00C292'],\n chart: {\n type: \"bar\",\n height: 350\n },\n plotOptions: {\n bar: {\n horizontal: false,\n columnWidth: \"55%\",\n endingShape: \"rounded\"\n }\n },\n dataLabels: {\n enabled: false,\n style: {\n colors:['#09242c', '#09242c', '#18647E','#00C292']\n }\n },\n stroke: {\n show: true,\n width: 2,\n colors: [\"transparent\"]\n },\n xaxis: {\n categories: [\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\",\n \"Oct\"\n ]\n },\n yaxis: {\n title: {\n text: \" ()\"\n }\n },\n fill: {\n colors:['#09242c', '#09242c', '#18647E','#00C292'],\n opacity: 1\n },\n tooltip: {\n y: {\n formatter: function(val) {\n return \" \" + val + \" \";\n }\n }\n }\n };\n public chartOptions: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.chartOptions = Object.assign(this.chartOptionsBase,this.comp.data);\n }\n\n}\n","
\n
{{comp.name}}
\n
\n \n
\n
\n","import { Component } from '@angular/core';\nimport { UserService } from './services/user.service';\nimport { Router } from '@angular/router';\n\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.css']\n})\nexport class AppComponent {\n\n title = 'ApplayOSv3';\n\n\n requireLogin:boolean=false;\n\n constructor(\n private user: UserService,\n private router: Router,\n ) {\n // this.requireLogin = !this.user.getStatus();\n // if(this.requireLogin){\n // this.router.navigate(['login'],{ fragment:\"\"});\n // }\n }\n}\n","","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HeaderComponent } from './header/header.component';\nimport { MenuComponent } from './menu/menu.component';\nimport { WorkspaceComponent } from './workspace/workspace.component';\nimport { LoginComponent } from './login/login.component';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { HomeComponent } from './home/home.component';\nimport { ComponentsModule } from '../components/components.module';\nimport { AlertComponent } from './alert/alert.component';\n\n@NgModule({\n declarations: [HeaderComponent, MenuComponent, WorkspaceComponent, LoginComponent, HomeComponent, AlertComponent],\n imports: [\n FormsModule,\n ComponentsModule,\n CommonModule\n ],\n exports: [HeaderComponent, MenuComponent, WorkspaceComponent, LoginComponent, HomeComponent, AlertComponent],\n entryComponents: [HeaderComponent, MenuComponent, WorkspaceComponent, LoginComponent, HomeComponent, AlertComponent]\n})\nexport class LayoutModule { }\n","
\n
{{element.name}}
\n\n
=0\">\n
\n \n {{element.text}}\n
\n
\n\n
=0\">\n
\n
\n
{{element.text.no.toUpperCase()}}
\n
{{element.text.yes.toUpperCase()}}
\n
\n
\n\n
=0\">\n
\n {{!element.text.yes?element.text:(element.value?element.text.yes:element.text.no)}}\n
\n
\n \n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-button',\n templateUrl: './button.component.html',\n styleUrls: ['./button.component.css']\n})\nexport class ButtonComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public scopeId: any;\n\n constructor(\n private tools:ToolsService\n ) { }\n\n ngOnInit(): void {\n if(!this.element.id){this.element.id=this.element.model+'-'+new Date().getTime()}\n }\n\n clickEvent(){\n this.element.value = !this.element.value;\n this.funcEvent('click');\n }\n\n funcEvent(type){\n let funcEventStatus = false\n if(type=='click'&&this.element.click){\n funcEventStatus=true;\n this.tools.runFunc(this.element.click,this.element,this.scopeId);\n }\n if(!funcEventStatus&&type=='click'&&this.element.model){\n this.tools.setItem(this.element.pageType,(this.scopeId||'item'),this.element.model,this.element.value);\n }\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-line',\n templateUrl: './dash-line.component.html',\n styleUrls: ['./dash-line.component.css']\n})\nexport class DashLineComponent implements OnInit {\n\n @Input() public comp: any;\n\n public chartOptionsBase: any = {\n series: [\n {\n name: \"base\",\n data: [0]\n }\n ],\n chart: {\n height: 350,\n type: \"line\",\n zoom: {\n enabled: false\n }\n },\n dataLabels: {\n enabled: false\n },\n stroke: {\n curve: \"straight\"\n },\n title: {\n text: \"Product Trends by Month\",\n align: \"left\"\n },\n grid: {\n row: {\n colors: [\"#f3f3f3\", \"transparent\"], // takes an array which will be repeated on columns\n opacity: 0.5\n }\n },\n xaxis: {\n categories: [\n \"Jan\",\n \"Feb\",\n \"Mar\",\n \"Apr\",\n \"May\",\n \"Jun\",\n \"Jul\",\n \"Aug\",\n \"Sep\"\n ]\n }\n };\n public chartOptions: any;\n\n constructor() { }\n\n ngOnInit(): void {\n this.chartOptions = Object.assign(this.chartOptionsBase,this.comp.data);\n }\n}\n","
\n
{{comp.name}}
\n
\n \n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../../services/tools.service';\n\n\ndeclare var Highcharts: any;\ndeclare var Highstock: any;\n\n@Component({\n selector: 'app-dash-high',\n templateUrl: './dash-high.component.html',\n styleUrls: ['./dash-high.component.css']\n})\nexport class DashHighComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor(private tools: ToolsService) { }\n\n ngOnInit(): void {\n setTimeout(() => {\n if (!this.comp.highType || this.comp.highType=='highcharts'){\n this.comp.chart = Highcharts.chart('chart-' + this.comp.id, this.comp.data);\n }else{\n this.comp.chart = Highstock.chart('chart-' + this.comp.id, this.comp.data);\n }\n }, 100)\n }\n\n click(){\n if (this.comp.click && this.comp.click!=''){\n this.tools.runFunc(this.comp.click, this.comp, (this.comp.scope || 'item'));\n }\n }\n\n\n}\n","
","import { Component, Input, OnInit } from '@angular/core';\nimport 'bootstrap';\nimport * as $ from 'jquery';\nimport { ModsService } from 'src/app/services/mods.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-dash-donut',\n templateUrl: './dash-donut.component.html',\n styleUrls: ['./dash-donut.component.css']\n})\nexport class DashDonutComponent implements OnInit {\n\n @Input() public comp: any;\n @Input() public element: any;\n @Input() public scopeId: any;\n\n constructor(private mods: ModsService) { }\n\n ngOnInit(): void {\n $('[data-toggle=\"tooltip\"]').tooltip()\n\n // console.log('donut',this.comp)\n setTimeout(() => {\n $(\"#\" + this.comp.id + \" .donut-chart-peity\").peity(\"donut\", { \"width\": 74, \"height\": 74, \"fill\": this.comp.data.map(e => e.color), \"innerRadius\": 20, \"radius\": 32 })\n // setTimeout(()=>{\n // this.comp.data.forEach((e,i)=>{\n // // console.log('e',i,$(\".peity path\")[i])\n // $('.peity').children('svg').children('path').each(function () {\n // alert( $(this).attr('fill') );\n // });\n // // $(\".peity path\")[i].attr('title',e.name);\n // // $('.peity path')[i].tooltip({\n // // title: '

'+e.name+'

',\n // // html: true,\n // // placement: 'bottom',\n // // container: 'body'\n // // });\n // })\n // },5000)\n }, 100)\n }\n\n genMap(data) {\n return data.map(e => e.value).join(',')\n }\n\n\n click(item,systemName){\n console.log(\"🚀 ~ systemName\", systemName)\n console.log(\"🚀 ~ item\", item)\n // console.log(\"🚀 ~ comp\", comp)\n this.mods.getMod(item,systemName);\n }\n\n}\n","
\n
\n {{comp.name}}\n
\n {{comp.tooltipwhite?comp.tooltipwhite:comp.tooltipblue}}\n
\n
\n
{{comp.subtitle}}
\n
\n {{genMap(comp.data)}}\n
\n
\n
\n
\n
\n {{item.name}} {{comp.type=='currency'?'R$ ':''}}{{item.value}}{{comp.type=='perc'?'%':!comp.type?'%':''}}\n \n
\n
\n {{item.subValue}}\n
\n
\n \n
\n
","import { NgModule } from '@angular/core';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { HttpClientModule } from '@angular/common/http';\n\nimport { AppRoutingModule } from './app-routing.module';\nimport { AppComponent } from './app.component';\nimport { LayoutModule } from './layout/layout.module';\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\n\n@NgModule({\n declarations: [\n AppComponent\n ],\n imports: [\n BrowserModule,\n AppRoutingModule,\n LayoutModule,\n HttpClientModule,\n NgxMaskModule.forRoot(),\n ],\n providers: [],\n bootstrap: [AppComponent]\n})\n\nexport class AppModule { }\n","
\n\n \n\n
\n \n \n\n
\n \"\"\n
\n\n \n \n \n
\n\n
\n\n

Oportunidades de ativações

\n\n
\n\n
\n \n \n \n
\n {{calendar.date}}\n {{calendar.day}}\n
\n \n \n \n
\n\n
\n
\n
{{card.header}}
\n
{{card.content}}
\n
{{card.footer}}
\n
\n
\n\n \n\n
\n\n\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\ndeclare var document: any\n\n@Component({\n selector: 'app-dashia',\n templateUrl: './dashia.component.html',\n styleUrls: ['./dashia.component.css']\n})\nexport class DashiaComponent implements OnInit {\n\n @Input() public comp: any;\n @Input() public element: any;\n @Input() public scopeId: any;\n\n calendar: any;\n cards: any;\n carousel: any;\n\n constructor(\n private tools: ToolsService\n ) {\n }\n\n ngOnInit(): void {\n console.log(\"🚀 ~ this.comp:\", this.comp)\n this.calendar = this.comp.elements.find(e => e.type == 'carouselDate')\n this.cards = this.comp.elements.find(e => e.type == 'cards')\n this.carousel = this.comp.elements.find(e => e.type == 'carouselItems')\n\n let html = document.querySelector('html')\n if (html) {\n html.classList.remove('ajuste-zoom')\n }\n }\n\n ngOnDestroy() {\n console.log(\"🚀 ~ ngOnDestroy, dashia:\")\n let html = document.querySelector('html')\n if (html) {\n html.classList.add('ajuste-zoom')\n }\n }\n\n async click(element: object, func: string) {\n this.tools.cmdFunc('layer', func, element);\n }\n\n}\n","
\n\n
\n
\n \n
\n
\n {{alert.msg}}\n
\n
\n
\n OK !\n
\n
\n
\n\n
\n
\n \n
\n
\n {{alert.msg}}\n
\n
\n \n
\n Não\n
\n
\n Sim\n
\n
\n
\n\n
\n
\n \n
\n
\n {{alert.msg}}\n
\n\n
\n \n
\n\n
\n \n
\n\n
\n \n
\n \n
\n
\n {{alert.textLogin}}\n
\n
\n
\n\n
\n
\n \n
\n
\n {{alert.msg}}\n
\n
\n
\n Cancelar\n
\n
\n {{ alert.buttonOne }}\n
\n
\n {{ alert.buttonTwo }}\n
\n
\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { ModsService } from '../../services/mods.service';\nimport { UserService } from 'src/app/services/user.service';\nimport { ToolsService } from 'src/app/services/tools.service';\n\n@Component({\n selector: 'app-alert',\n templateUrl: './alert.component.html',\n styleUrls: ['./alert.component.css']\n})\n\nexport class AlertComponent implements OnInit {\n\n @Input() public alert:any;\n\n username:any=\"\";\n password:any=\"\";\n obs:any=\"\";\n\n constructor( private mods:ModsService, private user:UserService, private tools:ToolsService ) { }\n\n ngOnInit(): void {\n }\n\n cancel(reason){\n this.mods.updAlert({status:false,click:true,disconnectForce:this.alert.disconnectForce})\n }\n\n confirm(reason){\n this.mods.updAlert({status:false,click:true,alertType:'confirm',confirm: reason,disconnectForce:this.alert.disconnectForce})\n }\n\n login(){\n this.alert.status=false;\n console.log(this.user.getUser());\n let status = this.user.relogin(this.username,this.password)\n console.log(this.alert.pageType,this.alert[status?'funcSuccess':'funcFail']);\n this.tools.cmdFunc(this.alert.pageType,this.alert[status?'funcSuccess':'funcFail'],{obs:this.obs,username:this.username});\n }\n\n}\n","import { Component, OnInit,Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-multi',\n templateUrl: './dash-multi.component.html',\n styleUrls: ['./dash-multi.component.css']\n})\nexport class DashMultiComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() {\n\n }\n\n ngOnInit(): void {\n this.comp.charts.forEach(e=>e.nocard=true)\n }\n\n}\n","
\n \n
\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-new',\n templateUrl: './dash-new.component.html',\n styleUrls: ['./dash-new.component.css']\n})\nexport class DashNewComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
\n Novo Campo\n
\n
\n","
\n
{{comp.title}}
\n
{{comp.subtitle}}
\n
\n
\n
\n \"\"\n
\n
\n
Top 1
\n
{{comp.data[0].nome}}
\n
Qtd Impressões: {{comp.data[0].cupons}}
\n
Volume: {{comp.data[0].qtd}}
\n
Venda Total: {{comp.data[0].valorText}}
\n
\n
\n\n
\n
Top {{i+1}}
\n
\n \"\"\n
\n
\n
{{item.nome}}
\n
Qtd Impressões: {{item.cupons}}
\n
Volume: {{item.qtd}}
\n
Venda Total: {{item.valorText}}
\n
\n
\n
\n
\n\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ModsService } from '../../../services/mods.service';\n\ndeclare var $: any;\n@Component({\n selector: 'app-dash-item-ranking',\n templateUrl: './dash-item-ranking.component.html',\n styleUrls: ['./dash-item-ranking.component.css']\n})\nexport class DashItemRankingComponent implements OnInit {\n\n\n @Input() public comp: any;\n\n constructor(\n private mods: ModsService\n ) { }\n\n ngOnInit(): void {\n }\n\n click(item, systemName) {\n // console.log(\"🚀 ~ systemName\", systemName)\n // console.log(\"🚀 ~ item\", item)\n // console.log(\"🚀 ~ comp\", comp)\n this.mods.getMod(item, systemName);\n }\n}\n","
\n\t
\n\t\t
\n\t\t\t
{{ item.off }}%
\n\t\t
\n\n\t\t
\n\t\t\t
\n\t\t\t\t\n\t\t\t
\n\t\t\t\n\t\t\t
\n\t\t\t\t
Ref: demo
\n\t\t\t\t
{{ item.descricao }}
\n\t\t\t\t
\n\t\t\t\t\tDe R$ {{ item.de }}\n\t\t\t\t
\n\t\t\t\t
Por R$ {{ item.valor }}
\n\t\t\t
\n\t\t
\n\n\t\t
\n\t\t\t
{{item.obs}}
\n\t\t\t
\n\t\t\t\tLimite por CPF: {{item.limiteCPF}}.\n\t\t\t\tVálidade até {{item.validadeEnd}}\n\t\t\t
\n\t\t\t
Ou enquanto durarem os estoques
\n\t\t
\n\t
\n
\t\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-template-app',\n templateUrl: './dash-template-app.component.html',\n styleUrls: ['./dash-template-app.component.css']\n})\nexport class DashTemplateAppComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void { \n // console.log('length', this.comp.data.length) \n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-title',\n templateUrl: './title.component.html',\n styleUrls: ['./title.component.css']\n})\nexport class TitleComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n {{comp.name}}\n
\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { io } from 'socket.io-client';\nimport { ApiService } from './api.service';\nimport { InactivityService } from './inactivity.service';\n\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class SyncService {\n\n private emitSync = new Subject();\n listenSync = this.emitSync.asObservable();\n\n private socket;\n private status = false;\n private statusText = 'Desconectado';\n private reason = 'none';\n private session = '';\n private username = '';\n private perfil = '';\n private useremail = '';\n private timeout;\n\n constructor(\n private api: ApiService,\n private inactivityService: InactivityService\n ) { }\n\n connect(noalert?) {\n if (this.status && this.api.getUrl('io') == this.socket?.io?.uri) return\n let url = this.api.getUrl('io');\n this.socket = io(url);\n this.startListeners(noalert);\n }\n\n emit(endpoint, data) {\n if (!this.socket) { return }\n this.socket.emit(endpoint, data);\n }\n\n getSocket() {\n return {\n emit: (endpoint, data) => {\n if (!this.socket) { return }\n this.socket.emit(endpoint, data);\n },\n on: (endpoint, callback) => {\n if (!this.socket) { return }\n this.socket.on(endpoint, callback)\n }\n }\n }\n\n setSession(username, session, useremail, perfil, timeSession) {\n this.username = username;\n this.perfil = perfil;\n this.session = session;\n this.useremail = useremail;\n this.emit('registrar', { session: this.session, username: this.username, useremail: this.useremail });\n this.inactivityService.stopMonitoring();\n this.inactivityService.startMonitoring(timeSession,() => {\n this.status = false;\n this.statusText = 'Desconectado por inatividade!';\n this.updSync({ alert: true, statusColor: 'danger', disconnectForce:true, click:false });\n });\n }\n\n updSync(data?) {\n let baseData = {\n type: 'status',\n status: this.status,\n statusText: this.statusText\n };\n var finalData = Object.assign(baseData, (data || {}));\n console.log(\"🚀 ~ SyncService ~ updSync ~ finalData:\", finalData)\n this.emitSync.next(finalData);\n }\n\n startListeners(noalert?) {\n this.socket.on('connect', () => {\n // console.log('Conectado > ', this.socket.io.uri);\n this.socket.emit('setRoom', { room: 'multi-' + location.hostname });\n this.socket.emit('msg', 'teste localhost');\n this.status = true;\n this.statusText = 'Conectado';\n this.reason = 'none';\n if (this.timeout) {\n clearTimeout(this.timeout);\n this.timeout = null;\n console.log('Limpando timeout');\n if(!noalert){\n this.updSync({ alert: false, statusColor: 'success' });\n }\n } else {\n if(!noalert){\n this.updSync({ alert: true, statusColor: 'success' });\n }\n }\n });\n window.checkUsers = () => {\n this.emit('listUsersOnline', { username: this.username });\n }\n this.socket.on('usersOnline', (data) => {\n\n });\n this.socket.on('checkUsersOnline', () => {\n this.emit('userOnline', { username: this.username });\n });\n this.socket.on('disconnect', (reason) => {\n this.status = false;\n if (this.reason != 'self') {\n if (this.reason == 'none') {\n this.statusText = 'Desconectado por falta de conexão';\n } else {\n this.statusText = 'Sem conexão com o servidor';\n }\n console.log('gerando timeout');\n this.updSync({ alert: false, statusColor: 'warning' });\n this.timeout = setTimeout(() => {\n clearTimeout(this.timeout);\n this.timeout = null;\n this.updSync({ alert: true, statusColor: 'danger' });\n }, 1000 * 10);\n } else {\n this.statusText = 'Desconectado';\n // this.updSync()\n }\n\n });\n this.socket.on('server', (data) => {\n this.reason = 'server';\n });\n this.socket.on('sessionOff', (data) => {\n if (data.username == this.username && data.sessionOff == this.session) {\n this.status = false;\n this.statusText = 'Você foi deslogado';\n this.updSync({ alert: true, statusColor: 'danger' });\n }\n });\n this.socket.on('notify', (data) => {\n\n let statusPara = false;\n if (typeof data.para == 'string' && data.para == 'Todos') {\n statusPara = true;\n } else if (typeof data.para != 'string' && data.para.tipo == 'Todos') {\n statusPara = true;\n } else if (typeof data.para == 'string' && data.para.includes(this.username)) {\n statusPara = true;\n } else if (typeof data.para != 'string' && data.para.tipo == 'Usuários' && data.para.valores.includes(this.username)) {\n statusPara = true;\n } else if (typeof data.para != 'string' && data.para.tipo == 'Perfil' && data.para.valores.includes(this.perfil)) {\n statusPara = true;\n }\n\n if (statusPara) {\n this.updSync({ type: 'notifications', data })\n }\n });\n }\n\n stopSync() {\n this.socket.disconnect();\n this.reason = 'self';\n this.inactivityService.stopMonitoring();\n }\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-collapse',\n templateUrl: './collapse.component.html',\n styleUrls: ['./collapse.component.css']\n})\nexport class CollapseComponent implements OnInit {\n\n @Input() public comp: any;\n \n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","\n\n
\n \n \n
\n
\n

{{comp.text}}

\n
\n
\n
","import { Component, OnInit, Input, HostListener, ViewChild } from '@angular/core';\nimport { Subscription } from 'rxjs';\nimport { UserService } from '../../services/user.service';\nimport { SyncService } from '../../services/sync.service';\nimport { ModsService } from '../../services/mods.service';\nimport { LangService } from '../../services/lang.service';\nimport { ContextMenuComponent } from '../context-menu/context-menu.component';\n\n\n@Component({\n selector: 'app-modules',\n templateUrl: './modules.component.html',\n styleUrls: ['./modules.component.css']\n})\nexport class ModulesComponent implements OnInit {\n @ViewChild(ContextMenuComponent) contextMenu!: ContextMenuComponent;\n\n subscription: Subscription;\n @Input() public comp: any;\n menu:any=[];\n\n constructor(\n private user: UserService,\n private sync: SyncService,\n private lang: LangService,\n private mods:ModsService\n ) { }\n\n onRightClick(event: MouseEvent,click:any,type:any): void {\n let url = window.location.origin+'/module/'+click;\n this.contextMenu.openMenu(event,url,type); // Chama o método para abrir o menu\n }\n\n processLang(menu) {\n let lang = this.lang.getLang().lang\n for (var cat of menu) {\n cat.nome = cat.lang?.[lang] || cat.nome;\n for (var mod of cat.list) {\n mod.name = mod.lang?.[lang] || mod.name;\n }\n }\n return menu;\n }\n\n ngOnInit(): void {\n this.user.getMenu(result => this.menu = this.processLang(result.data))\n\n this.subscription = this.sync.listenSync.subscribe(data => {\n if (data.type == 'menu') {\n this.menu = this.processLang(this.menu);\n }\n });\n }\n\n click(item,systemName){\n this.mods.getMod(item.click,systemName);\n }\n\n}\n","
\n
\n {{system.nome}}\n
\n
\n
\n
\n \n \"\"\n
\n
\n {{module.name}}\n
\n
\n \n
\n
\n","
\n
\n {{comp.name}}\n
\n
\n
\n
{{item.value}}
\n
\n {{item.name}}\n
\n {{item.tooltipwhite?item.tooltipwhite:item.tooltipblue}}\n
\n
\n
{{item.data.join(',')}}
\n
\n
\n
{{comp.value}}
\n
{{comp.legend}}
\n
{{comp.clickText}}
\n
","import { Component, OnInit, Input } from '@angular/core';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-dash-mix',\n templateUrl: './dash-mix.component.html',\n styleUrls: ['./dash-mix.component.css']\n})\nexport class DashMixComponent implements OnInit {\n\n @Input() public comp: any;\n\n chart:any={};\n\n constructor() { }\n\n ngOnInit(): void {\n // // console.log('this.comp',this.comp);\n setTimeout(()=>{\n for(var x1 in this.comp.data){\n this.chart['chart-' + this.comp.id + '-' + x1] = $('.chart-' + this.comp.id + '-' + x1).peity(\"line\",{width:$(\".card-mix-chart\").innerWidth(),height:$(\".card-mix-chart\").innerHeight(),stroke:'#FFFFFF',fill:'#FFFFFF3A'})\n }\n this.comp.update = ()=>{\n for (var x1 in this.comp.data) {\n this.chart['chart-' + this.comp.id + '-' + x1].text(this.comp.data[x1].data.join(',')).change();\n }\n }\n },100)\n }\n\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormComponent } from './form/form.component';\nimport { TableComponent } from './table/table.component';\nimport { TitleComponent } from './title/title.component';\nimport { NavComponent } from './nav/nav.component';\nimport { ProgressComponent } from './progress/progress.component';\nimport { StepComponent } from './step/step.component';\nimport { CollapseComponent } from './collapse/collapse.component';\nimport { DashComponent } from './dash/dash.component';\nimport { DashModule } from './dash/dash.module';\nimport { NgxDatatableModule } from '@swimlane/ngx-datatable';\nimport { ElementsModule } from '../elements/elements.module';\nimport { FormsModule,ReactiveFormsModule } from '@angular/forms';\nimport { TextComponent } from './text/text.component';\nimport { ModulesComponent } from './modules/modules.component';\nimport { NgxMaskModule, IConfig } from 'ngx-mask';\nimport { NgxCurrencyModule } from \"ngx-currency\";\nimport { DashiaComponent } from './dashia/dashia.component';\nimport { IaComponent } from './ia/ia.component';\nimport { TabledashComponent } from './tabledash/tabledash.component';\nimport { ContextMenuComponent } from './context-menu/context-menu.component';\n\n@NgModule({\n declarations: [FormComponent, TableComponent, TitleComponent, NavComponent, ProgressComponent, StepComponent, CollapseComponent, DashComponent, TextComponent, ModulesComponent, DashiaComponent, IaComponent, TabledashComponent,ContextMenuComponent],\n imports: [\n FormsModule,\n CommonModule,\n DashModule,\n NgxDatatableModule,\n ElementsModule,\n NgxMaskModule.forRoot(),\n NgxCurrencyModule\n ],\n exports: [FormComponent, TableComponent, TabledashComponent, TitleComponent, NavComponent, ProgressComponent, StepComponent, CollapseComponent, DashComponent, TextComponent, ModulesComponent, DashiaComponent, IaComponent,ContextMenuComponent],\n entryComponents: [FormComponent, TableComponent, TabledashComponent, TitleComponent, NavComponent, ProgressComponent, StepComponent, CollapseComponent, DashComponent, TextComponent, ModulesComponent, DashiaComponent, IaComponent,ContextMenuComponent]\n})\n\nexport class ComponentsModule { }\n","import { Component, OnInit, ElementRef, HostListener, ViewChild } from '@angular/core';\nimport { Location } from '@angular/common';\nimport { Subscription } from 'rxjs';\nimport { UserService } from '../../services/user.service';\nimport { ModsService } from '../../services/mods.service';\nimport { SyncService } from '../../services/sync.service';\nimport { LangService } from '../../services/lang.service';\nimport { ContextMenuComponent } from '../../components/context-menu/context-menu.component';\nimport { ActivatedRoute } from '@angular/router';\n\n@Component({\n selector: 'app-menu',\n templateUrl: './menu.component.html',\n styleUrls: ['./menu.component.css']\n})\nexport class MenuComponent implements OnInit {\n\n subscription: Subscription;\n menu: any = [];\n\n @ViewChild(ContextMenuComponent) contextMenu!: ContextMenuComponent;\n\n\n\n constructor(\n private user: UserService,\n private mods: ModsService,\n private sync: SyncService,\n private lang: LangService,\n private route: ActivatedRoute,\n private location: Location,\n private eRef: ElementRef\n ) {\n this.menu = [];\n }\n\n onRightClick(event: MouseEvent, click: any, type: any): void {\n let url = window.location.origin + '/module/' + click;\n this.contextMenu.openMenu(event, url, type); // Chama o método para abrir o menu\n }\n\n @HostListener('document:click', ['$event'])\n clickout(event) {\n if (!this.eRef.nativeElement.contains(event.target)) {\n this.clear()\n }\n }\n\n processLang(menu) {\n let lang = this.lang.getLang().lang\n for (var cat of menu) {\n cat.nome = cat.lang?.[lang] || cat.nome;\n for (var mod of cat.list) {\n mod.name = mod.lang?.[lang] || mod.name;\n }\n }\n return menu;\n }\n\n ngOnInit(): void {\n this.user.getMenu((result) => {\n this.menu = this.processLang(result.data);\n let module = this.route.snapshot.paramMap.get('module');\n if (module) {\n let item = this.menu.find(e => e.nome == module.split('&')[0]).list.find(e => e.click == module.split('&')[1])\n this.click(item, module.split('-')[0]);\n } else {\n this.click(this.menu[0].list[0], this.menu[0].name);\n }\n })\n\n this.subscription = this.sync.listenSync.subscribe(data => {\n if (data.type == 'menu') {\n this.menu = this.processLang(this.menu);\n }\n });\n }\n\n clickMenu(menuItem) {\n if (menuItem.showList) {\n menuItem.showList = false;\n } else {\n this.menu.forEach(e => e.showList = false);\n menuItem.showList = true;\n }\n }\n\n clear(menuItem?) {\n if (menuItem && menuItem.showList) {\n this.menu.forEach(e => e.showList = false);\n menuItem.showList = true;\n } else {\n this.menu.forEach(e => e.showList = false);\n }\n }\n\n\n click(item, systemName) {\n if (item.click) {\n this.clear();\n this.mods.getMod(item.click, systemName);\n } else {\n item.showList = !item.showList;\n }\n }\n\n}\n","\n
\n
\n
\n
\n \"\"\n \n
\n
\n
\n
{{menuItem.nome}}
\n
\n
{{item.name}}
\n \n
\n
{{subItem.name}}
\n
\n
\n
\n
\n \n
\n","
\n
\n \n
\n\n
\n
{{comp.name}}
\n\n
\n
\n
{{item.subtitle}}
\n
{{item.value}}
\n
\n
\n\n
0\" class=\"stars\">\n
\n =1?'#FFD800':'#E6E6E6'}\">\n =2?'#FFD800':'#E6E6E6'}\">\n =3?'#FFD800':'#E6E6E6'}\">\n
\n {{item.value}}\n
\n
\n {{(item.value/comp.data.value)*100}}%\n
\n
\n
\n\n
{{comp.data.value}}
\n
{{comp.data.subtitle}}
\n\n
{{comp.clickText}}
\n
\n\n
","import { Component, OnInit, Input } from '@angular/core';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-dash-number',\n templateUrl: './dash-number.component.html',\n styleUrls: ['./dash-number.component.css']\n})\nexport class DashNumberComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n // setTimeout(()=>{\n // $(\".donut-chart-peity\").peity(\"donut\",{ \"width\":74,\"height\":74,\"fill\": this.comp.data.map(e=>e.color), \"innerRadius\": 20, \"radius\": 32 })\n // },100)\n }\n\n genMap(data){\n return data.map(e=>e.value).join(',')\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash',\n templateUrl: './dash.component.html',\n styleUrls: ['./dash.component.css']\n})\nexport class DashComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n \n }\n\n}\n","\n","import { Injectable } from '@angular/core';\nimport { Subject } from 'rxjs';\nimport { Md5 } from 'ts-md5/dist/md5';\nimport { ApiService } from './api.service';\nimport { LangService } from './lang.service';\n\ndeclare var window: any;\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class ModsService {\n\n private emit = new Subject();\n listenMod = this.emit.asObservable();\n\n private emitLayout = new Subject();\n updateLayout = this.emitLayout.asObservable();\n\n private emitAlert = new Subject();\n listenAlert = this.emitAlert.asObservable();\n\n private emitComponents = new Subject();\n listenComponents = this.emitComponents.asObservable();\n\n mods: any = [];\n modActive: any = '';\n systemActive: any = '';\n hashActive: any = '';\n\n constructor(\n private api: ApiService,\n private lang: LangService,\n ) { }\n\n getMod(id, systemName) {\n //LIMPA INTERVAL DE MAPA DA URBANPARK\n clearInterval(window?.interval1);\n clearInterval(window?.interval2);\n //LIMPA INTERVAL DE MAPA DA URBANPARK\n\n let system = id.split('.')[0];\n let modId = id.split('.')[1];\n\n this.api.portal('mod', { system: system, mod: modId, env: this.api.getEnv() }, async (result) => {\n if (!result.status) {\n alert(result.msg);\n console.log('error', result);\n return\n }\n // console.log('modulo bruto', result.data.mod);\n\n window.extractError = (err)=>{\n var line = parseInt(err.split(':')[1].split(':')[0]);\n var col = err.split(':')[1].split(':')[1].split(')')[0];\n var funcname = err.split('Object.eval [as ')[1].split(']')[0];\n var obj = {\n errLocal: `modsv3/${system}/${modId}.js => [${funcname}]${line}:${col} - Error:`,\n errType: err.split('\\n')[0],\n err\n }\n console.error(obj.errLocal + obj.errType, err);\n // alert(obj.errLocal + obj.errType);\n }\n \n //VERSÃO SEM TRATAMENTO DE ERRO\n var mod = JSON.parse(result.data.mod, function (key, value) {\n if (typeof value === \"string\" &&\n value.startsWith(\"/Function(\") &&\n value.endsWith(\")/\")) {\n value = value.substring(10, value.length - 2);\n return (0, eval)(\"(\" + value + \")\");\n }\n return value;\n });\n\n \n // var mod = JSON.parse(result.data.mod, function (key, value) {\n // if (typeof value === \"string\" && value.startsWith(\"/Function(\") && value.endsWith(\")/\")) {\n // value = value.substring(10, value.length - 2);\n // var startFunc = value.split('{')[0] + '{';\n // var conteudo = value.split(startFunc)[1].split('}').slice(0, value.split('}').length - 1).join('}');\n // var funcTry = `${startFunc}try{${conteudo}}catch(e){extractError(e.stack)}}`;\n // return (0, eval)(\"(\" + funcTry + \")\");\n // }\n // return value;\n // });\n \n\n if (result.data.status === false) {\n // console.log(result.data)\n // console.log(mod.message)\n // console.log(mod.stack)\n alert('Erro de sintax verifique o log');\n return\n }\n\n var md5Hash = Md5.hashStr(result.data.mod)\n if (md5Hash != result.data.hash) {\n alert('Módulo corrompido');\n // console.log('Módulo corrompido', md5Hash, result.data.hash)\n return\n }\n\n let valMod = this.validatorMod(mod);\n if (!valMod.status) {\n alert(valMod.msg);\n return\n }\n\n if (!systemName || systemName == '') { systemName = this.systemActive +''}\n \n if (this.systemActive + '#' + this.modActive == systemName + '#' + id && this.hashActive != result.data.hash) {\n alert('Houveram alterações no módulo!');\n }\n\n this.modActive = id;\n this.systemActive = systemName;\n this.hashActive = result.data.hash;\n\n let modObj = {\n id: id,\n system: systemName,\n mod: mod,\n hash: result.data.hash\n };\n \n this.lang.setTexts(result.data.lang);\n\n this.mods.push(modObj);\n this.updMod(modObj);\n })\n }\n\n validatorMod(mod) {\n if (!mod.title && !mod.titleBind) { return { status: false, msg: '[title] Campo obrigatório não definido!' }; }\n if (!mod.start) { return { status: false, msg: '[start] Campo obrigatório não definido!' }; }\n if (!mod.layouts) { return { status: false, msg: '[layouts] Campo obrigatório não definido!' }; }\n if (!Array.isArray(mod.layouts) || mod.layouts.length == 0) { return { status: false, msg: '[layouts] deve ser uma Array e deve conter ao menos um layout!' }; }\n \n return { status: true };\n }\n\n public updMod(data: any) {\n this.emit.next(data);\n }\n\n public updComponents(data: any) {\n this.emitComponents.next(data);\n }\n\n updAlert(data: any, callback?) {\n this.emitAlert.next(data);\n }\n\n updAlertAsync(data: any) {\n new Promise(resolve => this.updAlert(data, result => resolve(result)))\n }\n\n public layout(data: any) {\n var base = { modId: this.modActive, system: this.systemActive };\n this.emitLayout.next(Object.assign(base, data));\n }\n\n public getActive() {\n return this.modActive;\n }\n}\n","
\n
{{element.name}}
\n
=0\">\n \n
\n
=0\">\n
\n \n \n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-multi-select',\n templateUrl: './multi-select.component.html',\n styleUrls: ['./multi-select.component.css']\n})\nexport class MultiSelectComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public scopeId: any;\n\n constructor(\n private tools:ToolsService\n ) { }\n\n ngOnInit(): void {\n }\n\n funcEvent(type){\n let funcEventStatus = false\n if(type=='click'&&this.element.click){\n funcEventStatus=true;\n this.tools.runFunc(this.element.focus,this.element,this.scopeId);\n }\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-dash-map',\n templateUrl: './dash-map.component.html',\n styleUrls: ['./dash-map.component.css']\n})\nexport class DashMapComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","
\n
{{comp.name}}
\n
\n","import { Injectable } from '@angular/core';\n\nimport { Router } from '@angular/router';\nimport * as CryptoJS from 'crypto-js';\nimport { ApiService } from './api.service';\nimport { SyncService } from './sync.service';\nimport { ToolsService } from './tools.service';\nimport { LangService } from './lang.service';\n\n@Injectable({\n providedIn: 'root'\n})\n\nexport class UserService {\n user: any = {};\n notificationsStatus: boolean = false;\n notifications: any = [];\n menu: any = [];\n mods: any = [];\n userStatus: boolean = false;\n moduloUsuario: any = '';\n hash: any = '';\n\n constructor(\n private api: ApiService,\n private sync: SyncService,\n private tools: ToolsService,\n private lang: LangService,\n private router: Router\n ) { }\n\n getUser() {\n return this.user;\n }\n\n relogin(username,password){\n var hash = CryptoJS.SHA256(password).toString();\n // console.log(\"🚀 ~ relogin ~ hash:\", hash,this.hash)\n return username==this.user.username && hash==this.hash\n }\n\n getUserInfo() {\n return {\n nome: this.user.nome,\n username: this.user.username,\n userId: this.user._id,\n useremail: this.user.email\n };\n }\n\n getStatus() {\n return this.userStatus;\n }\n\n getMenu(callback) {\n let menu = (this.user.modsV3 || []);\n let usermodslocals = menu\n let dataFinalModulos = { base: 'sysModsV3', filter: { click: { $in: usermodslocals }, ativo: true, naoExibir: { $ne: true } } }// base: 'sysModsv3'\n\n // Get mods\n this.api.portal('getData'.toLowerCase(), dataFinalModulos, (result: any) => {\n\n let basemods = result.data;\n\n let modUser = basemods.find(e => e.local.toLowerCase().includes('usuariosv3'));\n if (modUser && modUser.local) {\n this.moduloUsuario = modUser.local;\n }\n\n let usersystemsnome = basemods.map(e => e.system)\n let dataFinalSystems = { base: 'sysCatV3', filter: { nome: { $in: usersystemsnome }, ativo: true, naoExibir: { $ne: true } } }// base: 'sysCatV3'\n\n // Get cats\n this.api.portal('getData'.toLowerCase(), dataFinalSystems, (resultsystems: any) => {\n if (result.data.length < 1) {\n return callback({ data: [] })\n }\n\n let basesystems = resultsystems.data\n\n basesystems.forEach(e => {\n e.showList = true\n let list = basemods.filter(f => usermodslocals.indexOf(f.local) >= 0 && f.system == e.nome)\n e.list = list.sort((a, b) => (+a.order > +b.order) ? 1 : ((+a.order < +b.order) ? -1 : 0))\n return e\n });\n\n let newMenu = basesystems.sort((a, b) => (+a.order > +b.order) ? 1 : ((+a.order < +b.order) ? -1 : 0))\n\n this.mods = basemods;\n this.menu = newMenu;\n callback({ data: newMenu, modulos: basemods });\n });\n });\n }\n\n getModsMenu() {\n return { mods: this.mods, menu: this.menu }\n }\n\n async loadNotifications(callback) {\n this.tools.getNotificationsCad('cadNotificacoes', { username: this.user.username, readed: { $ne: true } }, (result) => {\n this.notifications = result\n this.notificationsStatus = true\n return callback(result);\n })\n }\n\n async getNotifications(callback) {\n if (this.notificationsStatus) {\n callback([...this.notifications]);\n } else {\n let res = await this.loadNotifications(callback);\n this.notifications = res\n }\n }\n\n setNotifications(data) {\n this.notifications = data\n let dataFinalUpdate = { base: 'cadNotificacoes', list: [] }\n\n //GET NOTIFICAÇÕES\n this.api.portal('getdata', { base: 'cadNotificacoes', filter: { username:this.user.username } }, (result) => {\n if (result.data && result.data != '') {\n result.data.forEach(e => e.readed = true);\n dataFinalUpdate.list = result.data\n } else {\n dataFinalUpdate.list = data\n }\n\n //SAVE NOTIFICAÇÕES\n this.api.portal('saveData'.toLowerCase(), dataFinalUpdate, (resultSave: any) => {\n });\n });\n\n }\n\n insertNotifications(data,callback) {\n // if (data.para == 'Todos' || data.para == this.user.username) {\n data.username = this.user.username;\n let dataFinalUpdate = { base: 'cadNotificacoes', list: [data] }\n this.api.portal('saveData'.toLowerCase(), dataFinalUpdate, (result: any) => {\n data._id = result.data?.ids[0]?._id?result.data?.ids[0]?._id:result.data.regs.insertedIds[0]._id\n this.notifications.unshift(data);\n callback(this.notifications);\n });\n }\n\n recuperarSenha(emailSenha: any, callback) {\n let url = 'https://' + window.location.hostname;\n let cliente = this.api.getClient();\n\n this.api.eauth('esqueciminhasenhav1', { email: emailSenha, url, cliente }, (result) => {\n callback(result)\n });\n }\n\n signup(signData: any, callback) {\n let url = 'https://' + window.location.hostname;\n let cliente = this.api.getClient();\n\n this.api.eauth('signup', { ... signData, url, cliente }, (result) => {\n callback(result)\n });\n }\n\n finish(data: any, callback) {\n let url = 'https://' + window.location.hostname;\n let cliente = this.api.getClient();\n\n this.api.eauth('finish', { data, url, cliente }, (result) => {\n callback(result)\n });\n }\n\n salvarSenha(senhaNova: any, senhacode: any, callback) {\n var hash = CryptoJS.SHA256(senhaNova).toString();\n\n this.api.eauth('esqueciminhasenhav2', { newhash: hash, codigo: senhacode }, (result) => {\n callback(result)\n });\n }\n\n sendmfa(username: any, callback) {\n this.api.eauth('sendmfa', { email: username }, (result) => {\n callback(result)\n });\n }\n\n mfaCheck(codigo, callback) {\n this.api.eauth('checkmfa', { email: this.user.username, codigo }, (result) => {\n if (result.status) {\n this.userStatus = true;\n }\n callback(result.status)\n });\n }\n\n logout() {\n this.user = {};\n this.userStatus = false;\n this.api.setSession(this.user);\n this.sync.stopSync();\n this.tools.clearTools();\n this.router.navigate(['/login'], { fragment: \"\" });\n }\n\n sessionLogin(sessionObj, callback) {\n this.api.eauth('login', sessionObj, (result) => {\n if (result.status) {\n console.log(\"🚀 ~ this.api.eauth ~ result:\", result)\n this.hash = result.data.hash;\n this.user = result.data;\n this.userStatus = true;\n\n if (this.user.mfa) this.userStatus = false;\n\n this.api.setSession(this.user);\n\n this.tools.setUserInfo({\n username: this.user.username,\n name: this.user.name,\n ...this.user\n });\n\n this.sync.setSession(this.user.username, this.user.session, this.user.useremail, this.user.perfil, this.user.timeoutInativiade);\n\n // this.lang.setLang(this.user.lang || this.lang.lang);\n \n callback(null, this.user);\n } else {\n callback(result.msg, null);\n }\n })\n }\n\n login(username, password, callback) {\n var hash = CryptoJS.SHA256(password).toString();\n\n this.api.eauth('login', { username: username, hash: hash }, (result) => {\n if (result.status) {\n // console.log(\"🚀 ~ this.api.eauth ~ result:\", result)\n this.hash = result.data.hash;\n this.user = result.data;\n this.userStatus = true;\n\n if (this.user.mfa) this.userStatus = false;\n\n this.api.setSession(this.user);\n\n this.tools.setUserInfo({\n username: this.user.username,\n name: this.user.name,\n ...this.user\n });\n\n this.sync.setSession(this.user.username, this.user.session, this.user.useremail, this.user.perfil, this.user.timeoutInativiade);\n\n // this.lang.setLang(this.user.lang || this.lang.lang);\n \n callback(null, this.user);\n } else {\n callback(result.msg, null);\n }\n })\n }\n}\n","import { Component, OnInit } from '@angular/core';\n\n@Component({\n selector: 'app-button-group',\n templateUrl: './button-group.component.html',\n styleUrls: ['./button-group.component.css']\n})\nexport class ButtonGroupComponent implements OnInit {\n\n constructor() { }\n\n ngOnInit(): void {\n }\n\n}\n","

button-group works!

\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { DashColumnComponent } from './dash-column/dash-column.component';\nimport { DashMixComponent } from './dash-mix/dash-mix.component';\nimport { DashDonutComponent } from './dash-donut/dash-donut.component';\nimport { DashItemComponent } from './dash-item/dash-item.component';\nimport { DashNumberComponent } from './dash-number/dash-number.component';\nimport { DashNewComponent } from './dash-new/dash-new.component';\nimport { DashBarComponent } from './dash-bar/dash-bar.component';\nimport { DashLineComponent } from './dash-line/dash-line.component';\nimport { DashMultiComponent } from './dash-multi/dash-multi.component';\nimport { DashMapComponent } from './dash-map/dash-map.component';\nimport { DashBaseComponent } from './dash-base/dash-base.component';\nimport { DashFunnelComponent } from './dash-funnel/dash-funnel.component';\nimport { BrowserModule } from '@angular/platform-browser';\nimport { DashTemplateAppComponent } from './dash-template-app/dash-template-app.component';\nimport { DashHighComponent } from './dash-high/dash-high.component';\nimport { DashLayoutComponent } from './dash-layout/dash-layout.component';\nimport { DashItemRankingComponent } from './dash-item-ranking/dash-item-ranking.component'\n\n@NgModule({\n declarations: [DashColumnComponent, DashMixComponent, DashDonutComponent, DashItemComponent, DashNumberComponent, DashNewComponent, DashBarComponent, DashLineComponent, DashMultiComponent, DashMapComponent, DashBaseComponent, DashFunnelComponent, DashTemplateAppComponent, DashHighComponent, DashLayoutComponent, DashItemRankingComponent],\n imports: [\n BrowserModule,\n CommonModule,\n ],\n exports: [DashColumnComponent, DashMixComponent, DashDonutComponent, DashItemComponent, DashItemRankingComponent, DashNumberComponent, DashNewComponent, DashBarComponent, DashLineComponent, DashMultiComponent, DashMapComponent, DashBaseComponent, DashFunnelComponent, DashTemplateAppComponent, DashHighComponent, DashLayoutComponent],\n entryComponents: [DashColumnComponent, DashMixComponent, DashDonutComponent, DashItemComponent, DashItemRankingComponent, DashNumberComponent, DashNewComponent, DashBarComponent, DashLineComponent, DashMultiComponent, DashMapComponent, DashBaseComponent, DashFunnelComponent, DashTemplateAppComponent, DashHighComponent, DashLayoutComponent]\n})\nexport class DashModule { }\n","import { NgModule } from '@angular/core';\nimport { RouterModule, Routes } from '@angular/router';\n\nimport { HomeComponent } from './layout/home/home.component';\nimport { LoginComponent } from './layout/login/login.component';\n\nconst routes: Routes = [\n { path: '', component: HomeComponent },\n { path: 'login', component: LoginComponent },\n { path: 'forgotpassword/:client/:senhacode', component: LoginComponent },\n { path: 'confirmsignup/:client/:validacode', component: LoginComponent },\n { path: 'module/:module', component: HomeComponent },\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes)],\n exports: [RouterModule]\n})\nexport class AppRoutingModule { }\n","
\n
\n \n {{element.name}}\n
\n \n
=0\" style=\"flex:1\">\n \n \n\n \n
\n\n
=0\">\n \n
\n \n
=0\">\n
\n \n \n
\n
\n \n
=0\">\n
\n \n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-input',\n templateUrl: './input.component.html',\n styleUrls: ['./input.component.css']\n})\n\nexport class InputComponent implements OnInit {\n\n @Input() public element: any;\n @Input() public scopeId: any;\n @Input() public inline: any = false;\n\n repeatRateTimer: any;\n mask: any = {}\n\n valueDatepicker: any;\n\n constructor(\n private tools: ToolsService\n ) { }\n\n ngOnInit(): void {\n this.mask = {\n 'numero': '0*',\n 'float': 'separator.2',\n 'telefone': '(00) 0000-0000||(00) 0 0000-0000',\n 'hora': '00:00',\n 'data': '00/00/0000',\n 'cpf': '000.000.000-00',\n 'cnpj': '00.000.000/0000-00',\n 'email': 'A*@A*.SSS.SS',\n 'rg': '00.000.000-0',\n 'cep': '00000-000',\n // 'password': '•*'\n }\n\n if (this.element.elementType == 'datepicker') {\n if(!this.element.value || this.element.value == ''){\n delete this.element.valueDatepicker;\n delete this.element.value;\n }\n }\n\n }\n\n ngAfterViewInit() { }\n\n keyupEvent() {\n clearTimeout(this.repeatRateTimer);\n this.repeatRateTimer = setTimeout(() => {\n if (this.element.elementType == 'search' && this.element.table) {\n this.tools.search(this.element.pageType, this.element.table, this.element.value);\n }\n this.tratData('change');\n }, this.element.changeTime || 700);\n }\n\n tratData(type) {\n if (!this.element.valueDatepicker && this.element.elementType == 'datepicker') return\n\n if (this.element.elementType == 'datepicker' && this.element.valueDatepicker) {\n this.element.value = this.element.valueDatepicker.split('-').reverse().join('/');\n }\n\n if (this.element.mask == 'numero') {\n this.element.value = parseFloat(this.element.value);\n }\n\n this.funcEvent(type);\n }\n\n funcEvent(type) {\n let funcEventStatus = false;\n\n if (type == 'focus' && this.element.focus) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.focus, this.element, this.scopeId);\n }\n\n if (type == 'change' && this.element.change) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.change, this.element, (this.scopeId || 'item'));\n }\n\n if (type == 'blur' && this.element.blur) {\n funcEventStatus = true;\n this.tools.runFunc(this.element.blur, this.element, this.scopeId);\n }\n \n if (!funcEventStatus && type == 'blur') {\n this.tools.setItem(this.element.pageType, (this.scopeId || 'item'), this.element.model, this.element.value);\n }\n }\n\n}\n","
\n
\n
{{comp.name}}
\n
CAP:{{qtdTotal}}
\n
\n
\n
\n
{{linha.title}}
\n
\n {{box.number}}\n
\n
\n
\n
\n
\n
\n
\n
LIVRE
\n
\n
{{qtdLivre}}
\n
\n
\n
\n
\n
RESERVADO
\n
\n
{{qtdReservado}}
\n
\n\n
\n
\n
\n
OCUPADO
\n
\n
{{qtdOcupado}}
\n
\n
\n
","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from 'src/app/services/tools.service';\n\n@Component({\n selector: 'app-dash-layout',\n templateUrl: './dash-layout.component.html',\n styleUrls: ['./dash-layout.component.css']\n})\nexport class DashLayoutComponent implements OnInit {\n\n @Input() public comp: any;\n qtdLivre:any = 0;\n qtdOcupado:any = 0;\n qtdReservado:any = 0;\n qtdTotal:any = 0\n \n constructor(private tools:ToolsService) { }\n \n ngOnInit(): void {\n for(let linha of this.comp.data){\n for(let box of linha.data){\n this.qtdTotal++\n if(box.status == 'success'){\n this.qtdLivre++\n }\n if(box.status == 'danger'){\n this.qtdOcupado++\n }\n if(box.status == 'primary'){\n this.qtdReservado++\n }\n }\n }\n\n }\n\n click(box){\n this.tools.cmdFunc('layer', this.comp.click, box);\n }\n\n}\n","
\n
\n
{{comp.title}}
\n
{{comp.data.subtitle}}
\n
\"\"
\n
{{comp.data.imgTitle}}
\n
{{comp.data.imgSubtitle}}
\n
0\" class=\"item-info-grid\">\n
\n
{{item.value}} {{item.title}}
\n
{{item.typeValue}}
\n
\n
\n
\n
\n \n \n \n
\n
\n","import { Component, Input, OnInit } from '@angular/core';\nimport { ModsService } from '../../../services/mods.service';\n\ndeclare var $: any;\n\n@Component({\n selector: 'app-dash-item',\n templateUrl: './dash-item.component.html',\n styleUrls: ['./dash-item.component.css']\n})\nexport class DashItemComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor(\n private mods:ModsService\n ) { }\n\n ngOnInit(): void {\n }\n\n click(item,systemName){\n // console.log(\"🚀 ~ systemName\", systemName)\n // console.log(\"🚀 ~ item\", item)\n // console.log(\"🚀 ~ comp\", comp)\n this.mods.getMod(item,systemName);\n }\n\n}\n","\n \n
{{comp.name}}
\n \n
\n \n
\n\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-form',\n templateUrl: './form.component.html',\n styleUrls: ['./form.component.css']\n})\nexport class FormComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor(\n private tools:ToolsService\n ){}\n\n ngOnInit(): void {}\n\n checkView(view,pageType,scope){\n return this.tools.checkView(view,pageType,scope);\n }\n\n}\n","\n
\n
(comp.optionsObj?toMap(comp.optionsObj):comp.options).indexOf(comp.value)}\" *ngFor=\"let step of (comp.optionsObj||comp.options);let i=index\" (click)=\"selectStep(step)\">\n
{{i+1}}
\n
{{step.view||step}}
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\n\n@Component({\n selector: 'app-step',\n templateUrl: './step.component.html',\n styleUrls: ['./step.component.css']\n})\nexport class StepComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor(\n private tools:ToolsService\n ) { }\n\n ngOnInit(): void {\n }\n\n toMap(options){\n return options.map(e=>e.value);\n }\n\n selectStep(opt){\n this.comp.valueOld = this.comp.value+'';\n this.comp.value = opt.value || opt;\n this.funcEvent('click');\n }\n\n funcEvent(type){\n let funcEventStatus = false\n if(type=='click'&&this.comp.click){\n funcEventStatus=true;\n this.tools.runFunc(this.comp.click,this.comp,(this.comp.scope||'item'),{old:this.comp.valueOld});\n }\n if(!funcEventStatus&&type=='click'&&this.comp.model){\n this.tools.setItem(this.comp.pageType,(this.comp.scope||'item'),this.comp.model,this.comp.value);\n }\n }\n\n}\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","import { Component, OnInit, Input } from '@angular/core';\ndeclare var Highcharts: any;\n\n@Component({\n selector: 'app-dash-funnel',\n templateUrl: './dash-funnel.component.html',\n styleUrls: ['./dash-funnel.component.css']\n})\nexport class DashFunnelComponent implements OnInit {\n\n @Input() public comp: any;\n\n constructor() { }\n\n ngOnInit(): void {\n setTimeout(()=>{\n Highcharts.chart('dash-'+this.comp.id, {\n chart: {\n type: 'funnel'\n },\n title: {\n text: this.comp.name\n },\n plotOptions: {\n series: {\n dataLabels: {\n enabled: true,\n format: '{point.name} ({point.y:,.0f})',\n softConnector: true\n },\n center: ['40%', '50%'],\n neckWidth: '30%',\n neckHeight: '25%',\n width: '80%'\n }\n },\n credits:{\n enabled:false\n },\n legend: {\n enabled: false\n },\n series: this.comp.data,\n\n responsive: {\n rules: [{\n condition: {\n maxWidth: 500\n },\n chartOptions: {\n plotOptions: {\n series: {\n dataLabels: {\n inside: true\n },\n center: ['50%', '50%'],\n width: '100%'\n }\n }\n }\n }]\n }\n });\n },100)\n }\n\n}\n","
\n
{{comp.name}}
\n
\n
\n
\n
\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ToolsService } from '../../services/tools.service';\nimport * as showdown from 'showdown';\n\ndeclare var document: any\n\n@Component({\n selector: 'app-ia',\n templateUrl: './ia.component.html',\n styleUrls: ['./ia.component.css']\n})\n\nexport class IaComponent implements OnInit {\n\n converter: any\n\n @Input() public comp: any;\n @Input() public element: any;\n @Input() public scopeId: any;\n\n //COMPONENTS CHAT\n home: any;\n ia: any;\n chat: any;\n\n agentId: string;\n dominio: string;\n app_key: string;\n app_secret: string;\n\n step: any = 'Sugestões'\n\n //HIST CHATS\n histChats: any\n\n //SUGESIONS\n sugestions: any = [\n \"Top 5 produtos com mais venda\",\n \"Top 5 clientes com o melhor tkm\",\n \"Top 10 pessoas que compram coca cola\",\n \"Top 10 produtos de quem compra produtos Nestle\",\n \"Produtos mais frequentes em compras distintas com a quantidade total vendida\",\n ]\n\n //USER\n user: any = {}\n\n //CHAT CONTROL VARIABLES OF CHAT\n localChat: boolean = false;\n loading: boolean = false;\n loadingMessage: boolean = false;\n loadingMessageText: string = 'false';\n listIsTrue: boolean = false;\n isLocalOrIsChat: boolean = true;\n response: string = 'Olá, eu sou a inteligência artificial Applay, como posso te ajudar hoje?'\n // request: string = 'Olá, meu nome é Luis'\n placeholder: any = 'Ex: me mostre as melhores oportunidades da semana';\n request: string = ''\n requested: string = ''\n hist: Array = []\n histMapWhoIs: any = []\n listResponse: any = {}\n markDownTest: any = ` - IA\n + Colocar Voz\n + inverter icones\n + Gerar grafico\n + Printar resposta no Chat (Markdown)\n - showdownjs para markdown no chat\n + Forum para IA`\n\n //WRITER\n textToWrite: string = ''\n indexWriter: number = 0\n minSpeed: number = 2; // Velocidade mínima de digitação em milissegundos\n maxSpeed: number = 8; // Velocidade máxima de digitação em milissegundos\n\n //COMPONENTES LOCALCHAT\n dotHtml: any\n chatHtml: any\n btnCloseHtml: any\n btnOpenChatHtml: any\n contentIaHtml: any\n requestHtml: any\n responseHtml: any\n contentInputHtml: any\n inputHtml: any\n btnSendHtml: any\n\n timeForSession: any = 0\n\n constructor(\n private tools: ToolsService\n // private Showdown: showdown\n ) {\n this.user = this.tools.getUserInfo()\n // if (this.user.space) {\n // this.hist.push(this.response)\n // this.histMapWhoIs[0] = { chatIA: true }\n // console.log(\"🚀 ~ this.user:\", this.user)\n // }\n }\n\n ngOnInit(): void {\n this.histMapWhoIs[0] = { chatIA: true }\n this.user = this.tools.getUserInfo()\n console.log(\"🚀 ~ this.user:\", this.user)\n // console.log('this.comp: ', this.comp);\n this.home = this.comp.elements.find(e => e.elementType == 'home')\n this.ia = this.comp.elements.find(e => e.elementType == 'ia')\n this.chat = this.comp.elements.find(e => e.elementType == 'chat')\n console.log(\"🚀 ~ IaComponent ~ ngOnInit ~ this.comp.sugestions:\", this.comp.sugestions)\n this.dominio = this.comp.dominio\n this.agentId = this.comp.agentId\n this.app_key = this.comp.app_key\n this.app_secret = this.comp.app_secret\n if (this.comp.sugestions) { this.sugestions = this.comp.sugestions }\n if (this.comp.hello) { this.response = this.comp.hello + '' }\n if (this.comp.placeholder) { this.placeholder = this.comp.placeholder }\n this.hist.push(this.response)\n\n\n this.loadHistChats()\n\n let html = document.querySelector('html')\n if (html) {\n html.classList.remove('ajuste-zoom')\n }\n }\n\n ngOnDestroy() {\n console.log(\"🚀 ~ ngOnDestroy, ia:\")\n let html = document.querySelector('html')\n if (html) {\n // html.classList.remove('remove-zoom')\n html.classList.add('ajuste-zoom')\n }\n }\n\n async click(element: any, func: string, toLocalOrChat?: boolean, idLista?: number) {\n // console.log(\"🚀 ~ func:\", func)\n let document = element.view.document\n\n if (func == 'local-chat') {\n this.localChat = true\n //INSTANCIA COMPONENTS LOCALCHAT\n //HURDUR\n setTimeout(() => { this.createLocalChat(document) }, 200)\n // await this.createLocalChat(document)\n this.timeForSession = new Date().getTime()\n }\n else if (func == 'close-local-chat') {//FECHA LOCAL CHAT\n\n //ADD EFFECT COMPONENTS LOCALCHAT\n await this.addCloseEffectContentLocalChat(document)\n\n // this.hist = []\n // this.histMapWhoIs = []\n // this.requested = ''\n // this.request = ''\n // this.response = 'Olá, eu sou a inteligência artificial Applay, como posso te ajudar hoje?'\n\n setTimeout(async () => {\n //REMOVE USING *ngIf\n this.localChat = false\n\n //REMOVE EFFECT COMPONENTS LOCALCHAT\n await this.removeCloseEffectContentLocalChat(document)\n }, 500)\n }\n else if (func == 'send') {//ENVIA PERGUNTA\n if (!this.request) return\n let request = this.request\n this.request = ''\n\n //START LOADING\n this.loadingUpd(true)\n this.hist.push(request)\n this.histMapWhoIs[this.histMapWhoIs.length] = { chatIA: false }\n this.requested = request\n\n //API FIRST INTERACTION\n let resultInteraction: any = {}\n let resultFirstInteraction: any = await this.tools.interactionAI('agent', request, this.timeForSession, this.agentId, this.dominio, this.app_key, this.app_secret)\n if (resultFirstInteraction.loading) {\n //API SECOND INTERACTION\n this.loadingMessage = true\n this.loadingMessageText = resultFirstInteraction.msg\n let dataSecondInteraction: any = { result: resultFirstInteraction.result, response: resultFirstInteraction.response, request: resultFirstInteraction.request }\n let resultSecondInteraction: any = await this.tools.interactionAI('secondinteration', dataSecondInteraction, this.timeForSession, this.agentId, this.dominio, this.app_key, this.app_secret)\n // console.log(\"🚀 ~ resultSecondInteraction:\", resultSecondInteraction)\n resultInteraction = resultSecondInteraction\n } else {\n resultInteraction = resultFirstInteraction\n }\n // console.log(\"🚀 ~ resultInteraction:\", resultInteraction)\n this.loadingMessage = false\n\n if (!resultInteraction.status) {\n return\n }\n\n // this.loading = false\n this.loadingUpd(false)\n\n if (resultInteraction.list) {\n //CASO EXISTA LISTA\n // console.log(\"🚀 ~ CASO EXISTA LISTA\")\n\n if (resultInteraction.text) {\n // this.hist.push(resultRequest.msg)\n this.hist.push('')\n this.histMapWhoIs[this.histMapWhoIs.length] = { chatIA: true, list: true, resultRequest: resultInteraction }\n // this.textToWrite = resultRequest.msg\n this.textToWrite = resultInteraction.pretty.markdown\n this.startTypeWriter()\n }\n\n //EXIBIR BOTÃO MOSTRAR LISTA PARA ATUALIZAR COMPONENTES DA TELA\n this.listIsTrue = true\n this.listResponse = resultInteraction\n }\n else {\n //CASO NÃO EXISTA LISTA\n // console.log(\"🚀 ~ CASO NÃO EXISTA LISTA\")\n if (resultInteraction.text) {\n this.hist.push(resultInteraction.text)\n this.histMapWhoIs[this.histMapWhoIs.length] = { chatIA: true }\n this.textToWrite = resultInteraction.text\n this.startTypeWriter()\n }\n }\n\n } else if (func == 'backRequest') {//\n this.listIsTrue = false\n // console.log(\"🚀 ~ this.response:\", this.response)\n this.hist.push(this.response)\n this.histMapWhoIs[this.histMapWhoIs.length] = { chatIA: true }\n this.response = 'Me faça uma pergunta.'\n\n } else {//ACIONA FUNC DO MÓDULO\n let listToSend = []\n let msgToSend = ''\n let grafToSend = {}\n if (idLista) {\n listToSend = this.histMapWhoIs[idLista]?.resultRequest?.list\n msgToSend = this.histMapWhoIs[idLista]?.resultRequest?.msg || ''\n grafToSend = this.histMapWhoIs[idLista]?.resultRequest.pretty.grafico\n } else {\n listToSend = this.listResponse.list\n msgToSend = this.listResponse?.msg || ''\n grafToSend = this.histMapWhoIs[idLista]?.resultRequest?.pretty?.grafico || false\n }\n\n this.tools.cmdFunc('layer', func, { list: listToSend, title: msgToSend, graphic: grafToSend });\n\n this.isLocalOrIsChat = toLocalOrChat\n }\n }\n\n async loadingUpd(isLoading: boolean) {\n this.loading = isLoading\n // this.loadingMessage = isLoading\n\n if (isLoading) {\n if (this.responseHtml) this.responseHtml.classList.add('loading-hide-response')\n if (this.contentInputHtml) this.contentInputHtml.classList.add('loading-hide-content-input')\n setTimeout(() => {\n if (this.responseHtml) this.responseHtml.classList.add('displayNone')\n if (this.contentInputHtml) this.contentInputHtml.classList.add('displayNone')\n }, 500)\n return\n }\n\n if (this.responseHtml) this.responseHtml.classList.remove('loading-hide-response')\n if (this.contentInputHtml) this.contentInputHtml.classList.remove('loading-hide-content-input')\n if (this.responseHtml) this.responseHtml.classList.remove('displayNone')\n if (this.contentInputHtml) this.contentInputHtml.classList.remove('displayNone')\n }\n\n async createLocalChat(document: any) {\n //FUNCTION CREATE HTML COMPONENTS\n //DOT\n this.dotHtml = document.getElementById('dot')\n //CHAT\n this.chatHtml = document.getElementById('content-local-chat')\n //BUTTONS\n this.btnCloseHtml = document.getElementById('btn-close-local-chat')\n this.btnOpenChatHtml = document.getElementById('btn-open-chat')\n //CONTENT IA\n this.contentIaHtml = document.getElementById('content-ia')\n this.requestHtml = document.getElementById('request')\n this.responseHtml = document.getElementById('response')\n this.contentInputHtml = document.getElementById('content-input')\n this.inputHtml = document.getElementById('input')\n this.btnSendHtml = document.getElementById('btn-send')\n\n return true\n }\n\n async addCloseEffectContentLocalChat(document: any) {\n //DOT\n this.dotHtml.classList.add('close-dot')\n //CHAT\n this.chatHtml.classList.add('close-content-local-chat')\n //BUTTONS\n this.btnCloseHtml.classList.add('btn-close')\n this.btnOpenChatHtml.classList.add('btn-close')\n //CONTENT IA\n this.requestHtml.classList.add('close-content-chat')\n this.responseHtml.classList.add('close-response')\n this.contentInputHtml.classList.add('close-content-chat')\n this.inputHtml.classList.add('close-input')\n this.btnSendHtml.classList.add('close-btn-send')\n this.contentIaHtml.classList.add('close-content-ia')\n\n return true\n }\n\n async removeCloseEffectContentLocalChat(document: any) {\n //REMOVE CLOSE EFFECT\n //DOT\n this.dotHtml.classList.remove('close-dot')\n //CHAT\n this.chatHtml.classList.remove('close-content-local-chat')\n //BUTTONS\n this.btnCloseHtml.classList.remove('btn-close')\n this.btnOpenChatHtml.classList.remove('btn-close')\n //CONTENT IA\n this.requestHtml.classList.remove('close-content-chat')\n this.responseHtml.classList.remove('close-response')\n this.contentInputHtml.classList.remove('close-content-chat')\n this.inputHtml.classList.remove('close-input')\n this.btnSendHtml.classList.remove('close-btn-send')\n this.contentIaHtml.classList.remove('close-content-ia')\n\n return true\n }\n\n startTypeWriter() {\n console.log(\"🚀 ~ startTypeWriter\")\n this.converter = new showdown.Converter({ tables: true, tablesHeaderId: true })\n this.typeWriter()\n return\n }\n\n typeWriter() {\n return new Promise(resolve => {\n if (this.indexWriter == 0) { this.response = '' }\n if (this.indexWriter < this.textToWrite.length) {\n //LOCAL CHAT\n this.response += this.textToWrite.charAt(this.indexWriter);\n //CHAT\n this.hist[this.hist.length - 1] = this.converter.makeHtml(this.response);\n // console.log(\"🚀 ~ this.hist[this.hist.length - 1]:\", this.hist[this.hist.length - 1])\n this.indexWriter++;\n const randomSpeed = this.getRandomSpeed(this.minSpeed, this.maxSpeed);\n setTimeout(() => this.typeWriter(), randomSpeed);\n } else {\n this.indexWriter = 0\n resolve(true)\n }\n })\n }\n\n getRandomSpeed(min: number, max: number): number {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n }\n\n async loadHistChats() {\n // console.log(\"🚀 ~ loadHistChats\")\n let objAgg = {\n pipe: [\n {\n \"$match\": {\n // ativo: true,\n \"username\": this.user.username\n }\n },\n {\n \"$group\": {\n \"_id\": \"$chatId\",\n \"chatId\": {\n \"$first\": \"$chatId\"\n },\n \"username\": {\n \"$first\": \"$username\"\n },\n \"subject\": {\n \"$first\": {\n \"$arrayElemAt\": [\"$parts\", 0]\n }\n },\n // \"parts\": {\n // \"$push\": { \"parts\": \"$parts\", \"role\": \"$role\" }\n // }\n }\n }\n ],\n options: {}\n }\n\n let resHistChats = await this.tools.aggregateAsync(\"cadAiHistory\", objAgg)\n this.histChats = resHistChats\n }\n\n setStep(stepSelected: any) {\n this.step = stepSelected\n }\n\n setSugestion(element: any, sugestion: string) {\n this.request = sugestion\n this.click(element, 'send')\n }\n\n async setHistChat(element: any, histChat: any) {\n this.converter = new showdown.Converter({ tables: true, tablesHeaderId: true })\n\n let objAgg = {\n pipe: [\n {\n \"$match\": {\n \"chatId\": histChat.chatId\n }\n }\n ],\n options: {}\n }\n console.log(\"🚀 ~ this.user.username:\", this.user.username)\n\n let resHistSelected: any = await this.tools.aggregateAsync(\"cadAiHistory\", objAgg)\n console.log(\"🚀 ~ resHistSelected:\", resHistSelected)\n\n this.hist = resHistSelected.map(e => {\n //REQUEST\n if (e.role == 'user') {\n return this.converter.makeHtml(e.parts[0].text)\n }\n //RESPONSE\n if (e.role == 'model') {\n //EXIBIR BOTÃO MOSTRAR LISTA PARA ATUALIZAR COMPONENTES DA TELA\n this.listIsTrue = true\n this.listResponse = e\n\n return this.converter.makeHtml(e.pretty.markdown)\n }\n })\n // console.log(\"🚀 ~ this.hist:\", this.hist)\n\n this.histMapWhoIs = resHistSelected.map(e => {\n let obj = { chatIA: e.role == 'model', list: false, resultRequest: { msg: '' } }\n //REQUEST\n if (e.role == 'user') {\n obj.resultRequest.msg = this.converter.makeHtml(e.parts[0].text)\n }\n //RESPONSE\n if (e.role == 'model') {\n //EXIBIR BOTÃO MOSTRAR LISTA PARA ATUALIZAR COMPONENTES DA TELA\n this.listIsTrue = true\n this.listResponse = e\n obj.resultRequest = e\n obj.list = true\n }\n return obj\n })\n console.log(\"🚀 ~ this.histMapWhoIs:\", this.histMapWhoIs)\n }\n\n startNewChat(element: any) {\n // console.log(\"🚀 ~ startNewChat\")\n let document = element.view.document\n //INSTANCIA COMPONENTS LOCALCHAT\n this.timeForSession = new Date().getTime()\n this.hist = []\n this.histMapWhoIs = []\n this.requested = ''\n this.response = 'Olá, eu sou a inteligência artificial Applay, como posso te ajudar hoje?'\n console.log(\"🚀 ~ IaComponent ~ startNewChat ~ this.comp.hello:\", this.comp.hello)\n if (this.comp.hello) { this.response = this.comp.hello + '' }\n this.loadingMessage = false\n\n setTimeout(() => { this.createLocalChat(document) }, 200)\n }\n}","
\n
\n\n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
Inteligência Artificial
\n
\n\n
\n
\n
\n
\n
\n
\n \n
\n
\n
\n
\n \n \n \n \n \n
\n
\n\n
\n
\n
\n
\n\n
\n \n
\n\n
\n \n \n \n \n
\n\n
\n
\n
\n {{loadingMessageText}}\n
\n
\n
\n \n \n \n \n \n
\n
\n
\n
\n\n
\n
\n\n
\n \n
\n\n \n \n
\n
\n\n
\n
\n \n Iniciar Nova Conversa\n
\n\n
\n
Sugestões\n
\n
\n Chats Recentes
\n
\n\n
\n
\n Sugestões da inteligência artificial:\n
\n
\n
\n {{sugestion}}\n
\n
\n
\n\n
\n
\n Chats Recentes:\n
\n
\n
\n {{histChat.subject.text}}\n
\n
\n
\n
\n
\n
\n\n
\n\n
\n \n FECHAR I.A.\n
\n\n \n
\n \n
\n\n
\n \n
\n\n
\n\n
{{requested?'Você: ' + requested: ''}}
\n
{{response}}
\n\n \n \n \n \n\n
\n \n \n
\n\n
\n \n \n \n
\n\n
\n
\n\n
\n \n
\n \n\n
\n \n VISÃO COMPLETA\n
\n\n
\n
","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"zn8P\";"],"sourceRoot":"webpack:///"}