{"version":3,"sources":["webpack:///webpack/bootstrap d086e6301d119984753c","webpack:///./C:/Projetos_Git/qframework_client/src/gui_js/lib/index.js","webpack:///./C:/Projetos_Git/qframework_client/src/gui_js/lib/viewservices.js","webpack:///./C:/Projetos_Git/qframework_client/src/gui_js/lib/viewcontroller.js","webpack:///./C:/Projetos_Git/qframework_client/src/gui_js/~/eventemitter3/index.js"],"names":["window","QuickSoft","ns","Signer","signerNS","UI","ViewServices","require","ViewController","signer","certificateList","prototype","whenReady","options","core","SignerCore","getInstance","get_useWebExtension","Promise","resolve","bypassVersionCache","_mustBypassVersionCache","queryExtensionVersion","then","checkWebExtRuntimeVersions","r","VersionBindings","localStorage","console","error","getItem","removeItem","_ensureJavaSession","reject","has_activeSession","newJavaSession","hasActiveSession","_listCerts","listCertificates","coreResponse","reloadCertificateCache","p","bind","rebuildCertificateCache","cancelCurrentProcess","cancelSignature","startSignProcess","certificate","settings","closureContext","service","promisePair","onProgressChanged","onProcessFinished","lastError","remove_progressChanged","remove_signProcessFinished","add_progressChanged","add_signProcessFinished","catch","err","module","exports","dialogSelector","uiSettings","myDefaultLocalStorage","dialog","event","EE","_currentProcess","jQuery","extend","PROC_NONE","PROC_SIGN","PROC_CANCEL","initialize","$","resizable","autoOpen","width","dialogClass","buttons","text","class","click","refreshCertificates","_onSignButtonClick","_onCancelButtonClick","open","ui","find","attr","_enterInProcess","progressEl","hasClass","progressbar","close","getDialog","compareCertificates","a","b","subjectDN","certListSelector","jCertList","remove","append","val","response","result","certs","certificates","i","length","isValid","push","certID","notAfter","sort","dropdown","j","html","extractSubjectName","formatDate","emit","VersionCheckError","isPrototypeOf","onCertificatesRefreshed","handler","on","onUpdateRequired","onSignatureFinished","myRegexp","match","exec","substring","input","Date","toLocaleDateString","year","month","day","replace","setDefaultCertificate","valorCertId","Storage","setItem","onDisplayError","getSelectedCertificate","selectedCertId","filter","v","_enableButtons","parentWindow","parent","selector","join","removeAttr","_disableButtonsByClass","classNames","map","procType","Error","_onSignatureProgressChanged","progress","completionRate","done","total","progressText","_updateProgressBar","value","selectedCert","timer","jTimerElement","Stopwatch","delay","start","dialogCloseFunc","stop","setTimeout","log","elem","createTimer","startTime","interval","appendChild","document","createElement","now","setInterval","update","clearInterval","innerHTML","padLeft","nr","n","str","Array","String","endTime","timeDiff","seconds","Math","round","floor","minutes","has","Object","hasOwnProperty","prefix","Events","create","__proto__","fn","context","once","EventEmitter","_events","_eventsCount","eventNames","names","events","name","call","slice","getOwnPropertySymbols","concat","listeners","exists","evt","available","l","ee","a1","a2","a3","a4","a5","len","arguments","args","removeListener","undefined","apply","listener","removeAllListeners","off","addListener","setMaxListeners","prefixed"],"mappings":"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","file":"qs-signer-view-1.3.6.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\texports: {},\n \t\t\tid: moduleId,\n \t\t\tloaded: false\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.loaded = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(0);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d086e6301d119984753c","window.QuickSoft = (function(ns) \r\n{\r\n if (!ns.Signer) ns.Signer = { }; \r\n var signerNS = ns.Signer;\r\n\r\n signerNS.UI = {\r\n ViewServices: require(\"./viewservices\"),\r\n ViewController: require(\"./viewcontroller\")\r\n };\r\n\r\n return ns;\r\n})(window.QuickSoft || {});\n\n\n// WEBPACK FOOTER //\n// ./C:/Projetos_Git/qframework_client/src/gui_js/lib/index.js","/** Informações de erro\r\n * @typedef {Object} ErrorInfo\r\n * @prop {string} msg - Mensagem do erro\r\n * @prop {string} type - Tipo do erro\r\n * @prop {string} stacktrace - Stacktrace do erro \r\n */\r\n\r\n/** Classe mediadora para chamadas de serviço de assinatura\r\n * @param {SignerSession} signer - Script control para utilização da assinatura digital\r\n * @class\r\n */\r\nfunction ViewServices(signer) {\r\n this.certificateList = null;\r\n this.signer = signer;\r\n};\r\n\r\n/** Realiza validação de versão, retornando promise resolved quando não tem problemas\r\n * @param {Object} [options] Opções para esta operação\r\n * @returns {Promise} Se não for rejected é porque as versões estão válidas\r\n * @instance\r\n */\r\nViewServices.prototype.whenReady = function (options) {\r\n const core = QuickSoft.Signer.SignerCore.getInstance();\r\n\r\n if (!core.get_useWebExtension()) return Promise.resolve();\r\n\r\n //verifica se é para fazer bypass do cache de versão\r\n const bypassVersionCache = (options && \"bypassVersionCache\" in options) ? !!options[\"bypassVersionCache\"] : this._mustBypassVersionCache();\r\n\r\n //converte chamada de `queryExtensionVersion` em uma promise e joga o resultado para rotina core de check de versão\r\n return new Promise((resolve) => core.queryExtensionVersion(resolve, bypassVersionCache))\r\n .then(r => QuickSoft.Signer.checkWebExtRuntimeVersions(r, QuickSoft.Signer.VersionBindings));\r\n};\r\n\r\nViewServices.prototype._mustBypassVersionCache = function() {\r\n //se não tem API de session storage, é um problema\r\n if (!window.localStorage) {\r\n console.error(\"Não foi possível buscar API window.localStorage\");\r\n return false;\r\n }\r\n\r\n //tenta remover da session storage a chave que indica que tem que fazer bypass do cache de versão\r\n var bypassVersionCache = window.localStorage.getItem(\"QCERT_WEBEXT_BYPASS_VERSION_CACHE\");\r\n if (bypassVersionCache) window.localStorage.removeItem(\"QCERT_WEBEXT_BYPASS_VERSION_CACHE\");\r\n\r\n //converte para booleano e retorna\r\n return !!bypassVersionCache;\r\n};\r\n\r\nViewServices.prototype._ensureJavaSession = function() \r\n{\r\n return new Promise((resolve, reject) => {\r\n //se já tiver sessão criada, resolve promise aqui mesmo\r\n if (this.signer.has_activeSession())\r\n return resolve();\r\n //cria nova sessão\r\n this.signer.newJavaSession(resolve);\r\n });\r\n};\r\n\r\nViewServices.prototype.hasActiveSession = function() \r\n{\r\n return this.signer.has_activeSession();\r\n};\r\n\r\nViewServices.prototype._listCerts = function() \r\n{\r\n return new Promise((resolve, reject) => \r\n {\r\n this.signer.listCertificates(coreResponse => {\r\n if (coreResponse.error) reject(coreResponse.error);\r\n else resolve(coreResponse);\r\n });\r\n });\r\n};\r\n\r\n/** Lista certificados encontrados na máquina do cliente\r\n * @param {boolean} reloadCertificateCache - define se deve limpar cache antes da consulta\r\n * @returns {Promise} Retorna promise com {@link ListCertificateResult}\r\n * @instance\r\n */\r\nViewServices.prototype.listCertificates = function (reloadCertificateCache) \r\n{\r\n let p = this.whenReady()\r\n .then(this._ensureJavaSession.bind(this));\r\n\r\n if (reloadCertificateCache) {\r\n p = p.then(() => this.signer.rebuildCertificateCache());\r\n }\r\n\r\n return p.then(this._listCerts.bind(this));\r\n};\r\n\r\n/** Cancela processo de assinatura atual\r\n * @instance\r\n */\r\nViewServices.prototype.cancelCurrentProcess = function() {\r\n this.signer.cancelSignature();\r\n};\r\n\r\n/** Inicia processo de assinatura\r\n * @param {certificate} certificate - Certifica a ser utilizado para a assinatura\r\n * @param {Object} settings - Configurações do processo de assinatura\r\n * @param {function} settings.onProgressChanged - Handler para alteração no progresso de assinaturas do lote\r\n * @instance\r\n */\r\nViewServices.prototype.startSignProcess = function (certificate, settings) \r\n{\r\n //contexto da promise\r\n let closureContext = \r\n {\r\n service: this,\r\n signer: this.signer,\r\n promisePair: {\r\n resolve: null,\r\n reject: null\r\n },\r\n onProgressChanged : settings.onProgressChanged,\r\n onProcessFinished : null\r\n };\r\n\r\n //handler de finalização do processo de assinatura\r\n closureContext.onProcessFinished = function(lastError) {\r\n //desvincula eventos no signer\r\n if (closureContext.onProgressChanged) closureContext.signer.remove_progressChanged(closureContext.onProgressChanged);\r\n closureContext.signer.remove_signProcessFinished(closureContext.onProcessFinished);\r\n\r\n //se teve erro, rejeita a promise ou faz resolve nela\r\n if (lastError) { closureContext.promisePair.reject(lastError); }\r\n else { closureContext.promisePair.resolve(); }\r\n };\r\n\r\n //cria promise para o processo de assinatura\r\n return new Promise((resolve, reject) => \r\n {\r\n //joga no contexto os métodos de controle da promise\r\n closureContext.promisePair.resolve = resolve;\r\n closureContext.promisePair.reject = reject;\r\n\r\n //vincula eventos no signer\r\n if (closureContext.onProgressChanged) closureContext.signer.add_progressChanged(closureContext.onProgressChanged);\r\n closureContext.signer.add_signProcessFinished(closureContext.onProcessFinished);\r\n\r\n //inicia um processo de assinatura\r\n closureContext.service._ensureJavaSession()\r\n .then(function () {\r\n closureContext.signer.startSignProcess(certificate);\r\n })\r\n .catch(function(err) {\r\n closureContext.promisePair.reject(err);\r\n });\r\n });\r\n};\r\n\r\nmodule.exports = ViewServices;\n\n\n// WEBPACK FOOTER //\n// ./C:/Projetos_Git/qframework_client/src/gui_js/lib/viewservices.js","/** Configurações da UI\r\n * @typedef {Object} UISettings\r\n * @property {string} dialog-class - Nome da classe css da dialog\r\n * @property {string} refresh-button-text - Texto do botão de atualização de certificados\r\n * @property {string} refresh-button-class - Nome da classe css do botão de atualização de certificados\r\n * @property {string} sign-button-text - Texto do botão de assinatura\r\n * @property {string} sign-button-class - Nome da classe do botão de assinatura\r\n * @property {string} cancel-button-text - Texto do botão de cancelar\r\n * @property {string} cancel-button-class - Nome da classe do botão de cancelar\r\n * @property {string} sel-cert-list - Seletor para dropdown da lista de certificados\r\n * @property {string} sel-progress - Seletor da progressbar\r\n * @property {string} sel-progress-text - Seletor para texto da progressbar\r\n * @property {string} sel-timer - Seletor para contador de tempo\r\n * @property {number} dialog-close-delay=500 - Tempo em milisegundos para continuar mostrando a dialog depois de finalizar o processo\r\n */\r\n\r\n/** Informações de certificado\r\n * @typedef {Object} Certificate\r\n * @property {string} certID - Id do certificado\r\n * @property {string} subjectDN - DistinguishedName do requerente\r\n * @porperty {string} issuerDN - DistinguishedName do emissor do certificado\r\n * @property {string} serial - Serial do certificado\r\n * @property {string} notBefore - Válido a partir de\r\n * @property {string} notAfter - Válido até\r\n * @property {boolean} isValid - Indica se certificado está válido\r\n * @property {boolean} hasKey - Indica se certificado possui chave privada\r\n * @property {string} keyStoreType - Define tipo da KeyStore\r\n * @property {Certificate[]} certChain - Lista de certificados do caminho de certificação\r\n */\r\n\r\n/** Resultado de requisição para listar certificados\r\n * @typedef {Object} ListCertificateResult\r\n * @prop {Certificate[]} certs - Lista de certificados\r\n */\r\n\r\n/** Controle responsável por criar dialog com certificados para utilizar na assinatura\r\n * @param {ViewServices} service - Objeto para comunicação com webservice de assinatura\r\n * @param {string} dialogSelector - Seletor para localização da modal de assinatura\r\n * @param {UISettings} uiSettings - Objeto com parametrizações da UI\r\n * @class\r\n */\r\nfunction ViewController(service, dialogSelector, uiSettings) {\r\n this.service = service;\r\n this.certificateList = null;\r\n this.myDefaultLocalStorage = \"QCERT_Default_Certificate\";\r\n\r\n this.dialogSelector = dialogSelector;\r\n this.dialog = null;\r\n this.event = new EE();\r\n\r\n this._currentProcess = 0;\r\n\r\n //settings para user interface, aplicando os overrides passados\r\n this.uiSettings = {\r\n \"dialog-class\" : \"qs-cert-dialog\",\r\n \"refresh-button-text\" : \"Atualizar certificados\",\r\n \"refresh-button-class\" : \"qs-cert-refresh-button\",\r\n \"sign-button-text\" : \"Assinar\",\r\n \"sign-button-class\" : \"qs-cert-sign-button\",\r\n \"cancel-button-text\" : \"Cancelar\",\r\n \"cancel-button-class\" : \"qs-cert-cancel-button\",\r\n \"sel-cert-list\" : \".qs-cert-list\",\r\n \"sel-progress\" : \".qs-cert-progress\",\r\n \"sel-progress-text\" : \".qs-cert-progress-text\",\r\n \"sel-timer\" : \".qs-cert-timer\",\r\n \"dialog-close-delay\" : 500\r\n };\r\n jQuery.extend(this.uiSettings, uiSettings);\r\n}\r\n\r\nViewController.PROC_NONE = 0;\r\nViewController.PROC_SIGN = 1;\r\nViewController.PROC_CANCEL = 2;\r\n\r\n/** Inicializa objeto, setando configurações da UI e buscando lista de certificados\r\n * @instance\r\n */\r\nViewController.prototype.initialize = function () {\r\n this.dialog = $(this.dialogSelector).dialog({\r\n resizable: false,\r\n autoOpen: false,\r\n width: 430,\r\n dialogClass: this.uiSettings[\"dialog-class\"],\r\n buttons: [{\r\n text : this.uiSettings[\"refresh-button-text\"],\r\n class: this.uiSettings[\"refresh-button-class\"],\r\n click: () => {\r\n this.refreshCertificates(true);\r\n }\r\n }, {\r\n text : this.uiSettings[\"sign-button-text\"],\r\n class: this.uiSettings[\"sign-button-class\"],\r\n click: () => {\r\n this._onSignButtonClick();\r\n }\r\n }, {\r\n text : this.uiSettings[\"cancel-button-text\"],\r\n class: this.uiSettings[\"cancel-button-class\"],\r\n click: () => {\r\n this._onCancelButtonClick();\r\n }\r\n }],\r\n open: (event, ui) => {\r\n if (this.dialog) {\r\n this.dialog.find(this.uiSettings[\"sel-cert-list\"]).attr(\"disabled\", false);\r\n\r\n //habilita os botões de ação (se precisar)\r\n this._enterInProcess(ViewController.PROC_NONE);\r\n \r\n let progressEl = this.dialog.find(this.uiSettings[\"sel-progress\"]);\r\n if (progressEl.hasClass(\"ui-progressbar\")) {\r\n progressEl.progressbar(\"destroy\");\r\n }\r\n this.dialog.find(this.uiSettings[\"sel-progress-text\"]).text(\"\");\r\n }\r\n },\r\n close: (event, ui) => {\r\n if (this.service.hasActiveSession()) {\r\n this.service.cancelCurrentProcess();\r\n }\r\n }\r\n });\r\n this.refreshCertificates(false);\r\n};\r\n\r\n/** Retorna dialog\r\n * @instance\r\n */\r\nViewController.prototype.getDialog = function() {\r\n return this.dialog;\r\n};\r\n\r\n/** Compara DN de 2 certificados para efeitos de ordenação\r\n * @param {Certificate} a - Certificado para comparação\r\n * @param {Certificate} b - Certificado para comparação\r\n * @returns 0 se forem iguais, -1 se \"a\" for menor que \"b\", senão 1\r\n * @instance \r\n */\r\nViewController.prototype.compareCertificates = function (a, b) {\r\n if (a.subjectDN < b.subjectDN)\r\n return -1;\r\n if (a.subjectDN > b.subjectDN)\r\n return 1;\r\n return 0;\r\n};\r\n\r\n/** Atualiza lista de certificados\r\n * @param {boolean} reloadCertificateCache - Define se deve limpar cache de certificados\r\n * @fires EE#updateRequired\r\n * @fires EE#onDisplayError\r\n * @instance\r\n */\r\nViewController.prototype.refreshCertificates = function (reloadCertificateCache)\r\n{\r\n var certListSelector = this.uiSettings[\"sel-cert-list\"];\r\n var jCertList = this.dialog.find(certListSelector);\r\n \r\n jCertList.find(\"option\").remove();\r\n jCertList.append('').val(\"\");\r\n \r\n this.service.listCertificates(reloadCertificateCache).then(\r\n response => {\r\n if (response.error) throw response.error;\r\n\r\n var result = response.result;\r\n this.certificateList = result.certs;\r\n var certificates = [];\r\n for (var i = 0; i < result.certs.length; i++) {\r\n if (result.certs[i].isValid)\r\n certificates.push({\r\n certID: result.certs[i].certID,\r\n subjectDN: result.certs[i].subjectDN,\r\n notAfter: result.certs[i].notAfter\r\n });\r\n }\r\n\r\n certificates.sort(this.compareCertificates);\r\n\r\n var dropdown = this.dialog.find(certListSelector);\r\n dropdown.find(\"option\").remove();\r\n \r\n for (var j = 0; j < certificates.length; j++) {\r\n dropdown.append(\r\n $(\"\")\r\n .val(certificates[j].certID)\r\n .html(this.extractSubjectName(certificates[j].subjectDN) + \" válido até: \" + this.formatDate(certificates[j].notAfter))\r\n );\r\n }\r\n this.event.emit(\"certificatesRefreshed\", null);\r\n }\r\n )\r\n .catch((err) => {\r\n if (QuickSoft.Signer.VersionCheckError.prototype.isPrototypeOf(err)) {\r\n return this.event.emit(\"updateRequired\", err);\r\n }\r\n \r\n this.event.emit(\"onDisplayError\", err);\r\n });\r\n};\r\n\r\n/** Define handler para refresh de certificados\r\n * @param {function} handler - Processo a ser executado \r\n * @instance\r\n */\r\nViewController.prototype.onCertificatesRefreshed = function (handler) {\r\n this.event.on(\"certificatesRefreshed\", handler);\r\n}\r\n\r\n/** Define handler para atualização\r\n * @param {function} handler - Processo a ser executado \r\n * @instance\r\n */\r\nViewController.prototype.onUpdateRequired = function (handler) {\r\n this.event.on(\"updateRequired\", handler);\r\n}\r\n\r\n/** Define handler para final do processo de assinatura\r\n * @param {function} handler - Processo a ser executado\r\n * @instance\r\n */\r\nViewController.prototype.onSignatureFinished = function (handler) {\r\n this.event.on(\"signatureFinished\", handler);\r\n}\r\n\r\n/** Extrai CN do certificado, com um limite de 35 caracteres\r\n * @param {string} subjectDN - Distinct name do certificado\r\n * @returns {string} Common name do certificado\r\n * @instance\r\n */\r\nViewController.prototype.extractSubjectName = function (subjectDN) {\r\n var myRegexp = /\\bCN=(.[^,]*)/g;\r\n var match = myRegexp.exec(subjectDN);\r\n if (match) {\r\n return match[1].substring(0, 35);\r\n } else {\r\n return subjectDN.substring(0, 35);\r\n }\r\n};\r\n\r\n/** Formata data do certificado em string\r\n * @param {string} input - data a ser formatada\r\n * @returns {string} Data formatada\r\n * @instance\r\n */\r\nViewController.prototype.formatDate = function (input) {\r\n return new Date(input).toLocaleDateString('pt-BR', {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit'\r\n }).replace(/\\./g, '/');\r\n};\r\n\r\n/** Define certificado selecionado por padrão quando abrir a dialog\r\n * @param {string} valorCertId - Id do certificado padrão\r\n * @instance\r\n */\r\nViewController.prototype.setDefaultCertificate = function (valorCertId) {\r\n\r\n if (typeof (Storage) != \"undefined\") {\r\n if (valorCertId != null) {\r\n localStorage.setItem(this.myDefaultLocalStorage, valorCertId);\r\n }\r\n }\r\n}\r\n\r\n/** Define handler para exibição de erros\r\n * @param {function} handler - Processo a ser executado\r\n * @instance\r\n */\r\nViewController.prototype.onDisplayError = function (handler) {\r\n this.event.on(\"onDisplayError\", handler)\r\n}\r\n\r\n/** Busca certificado selecionado\r\n * @returns {HTMLElement} Elemento com informações do certificado selecionado, ou null se não tem certificado selecionado\r\n * @instance\r\n */\r\nViewController.prototype.getSelectedCertificate = function () {\r\n //verifica se tem lista de certificados carregada\r\n if (!this.certificateList || this.certificateList.length < 1) return null;\r\n\r\n //pega element