{"version":3,"file":"7503.1de040a9d9cb6b59069f.js","mappings":"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","sources":["webpack://configuracao/./js/localizacao/eventoBuscarVagaRedirect/eventoBuscarVagaRedirect.js","webpack://configuracao/./js/utilidades/eventoBuscarVagaRedirect.js","webpack://configuracao/./js/utilidades/getFetch.js","webpack://configuracao/./js/utilidades/toastErroCarregar.js","webpack://configuracao/./js/utilidades/uuid.js","webpack://configuracao/./js/utilidades/validarResultado.js"],"sourcesContent":["import i18next from 'i18next';import resource_0 from \"./eventoBuscarVagaRedirect.ptbr.json\" assert { type: 'JSON' };import resource_1 from \"./eventoBuscarVagaRedirect.es.json\" assert { type: 'JSON' };import resource_2 from \"./eventoBuscarVagaRedirect.en.json\" assert { type: 'JSON' };import { inicializarInternacionalizacao as inicializarGlobal } from '../global/global';const cultura = CULTURE_EMPREGARE.replace('-', '');export const inicializarInternacionalizacao = () => {inicializarGlobal();if (!i18next.isInitialized) {i18next.init({ lng:cultura, debug:true, defaultNS:'translation', resources: {}, fallbackLng: (code) => [ code.slice(0,2), 'ptbr' ]});}i18next.addResources('ptbr', 'translation', resource_0);i18next.addResources('es', 'translation', resource_1);i18next.addResources('en', 'translation', resource_2);}","import { uuid } from '../utilidades/uuid.js';\r\nimport { inicializarInternacionalizacao } from '../localizacao/eventoBuscarVagaRedirect/eventoBuscarVagaRedirect.js'\r\nimport i18next from 'i18next';\r\nimport { isNullOrEmpty } from './isNullOrEmpty.js';\r\nimport { getFetch } from './getFetch.js';\r\n\r\nconst chaveLocalStorageBuscasRecentesCargo = 'vagasBuscasRecentesCargo';\r\nconst chaveLocalStorageBuscasRecentesLocalizacao = 'vagasBuscasRecentesLocalizacao';\r\nconst chaveLocalStorageCidadesSugestoes = 'sugestoesCidade';\r\ninicializarInternacionalizacao();\r\n\r\nconsole.log('eventoBuscarVagaRedirect');\r\n\r\nconst sugestoesCidadesPadrao = [\r\n { nome: i18next.t('SugestoesCidadesPadraoRemoto') },\r\n { nome: 'Brasília, DF' },\r\n { nome: 'São Paulo, SP' },\r\n { nome: 'São José do Rio Preto, SP' },\r\n { nome: 'Cuiabá, MT' },\r\n { nome: 'Maringá, PR' },\r\n { nome: 'Natal, RN' },\r\n { nome: 'Belo Horizonte, MG' },\r\n { nome: 'Taguatinga - Brasília, DF' },\r\n { nome: 'Rio de Janeiro, RJ' },\r\n { nome: 'Ribeirão Preto, SP' }\r\n];\r\n\r\n\r\nexport async function obterSugestoesCidades(cb = null) {\r\n let cacheSugestoesCidades = [];\r\n if (sessionStorage.getItem(chaveLocalStorageCidadesSugestoes)) {\r\n cacheSugestoesCidades = JSON.parse(sessionStorage.getItem(chaveLocalStorageCidadesSugestoes));\r\n }\r\n\r\n const { getGeoData } = await import('../utilidades/geoData');\r\n let retorno = cacheSugestoesCidades;\r\n const geoData = getGeoData();\r\n\r\n try {\r\n if (cacheSugestoesCidades.length == 0) {\r\n const baseURLAPI = URL_API + 'vagas/buscar-novo';\r\n const hotSiteEmpresaID = document.getElementById(\"hotSiteEmpresaID\");\r\n const hotSiteUrl = document.getElementById('hotSiteUrl');\r\n\r\n const parametrosURL = new URLSearchParams();\r\n parametrosURL.append('pagina', 1);\r\n parametrosURL.append('itensPagina', 1);\r\n parametrosURL.append('ordenacao', 'Relevancia');\r\n \r\n if (hotSiteEmpresaID != undefined && hotSiteUrl != undefined) {\r\n parametrosURL.append('empresa', hotSiteEmpresaID.value);\r\n parametrosURL.append('hotSiteUrl', hotSiteUrl.value);\r\n }\r\n\r\n const request = await fetch(`${baseURLAPI}?${parametrosURL.toString()}`);\r\n\r\n const response = await request.json();\r\n\r\n if (response.sucesso) {\r\n if (!response.model.facets || !response.model.facets.cidade) {\r\n retorno = sugestoesCidadesPadrao;\r\n } else {\r\n const topCidades = response.model.facets.cidade.splice(0, 10);\r\n\r\n const possuiRemoto = response.model.facets.remoto?.filter(x => x.nome.includes('Remoto'))?.length > 0;\r\n if (possuiRemoto) {\r\n retorno.push({ nome: i18next.t('SugestoesCidadesPadraoRemoto') });\r\n }\r\n\r\n for (const cidadeObject of topCidades) {\r\n if (retorno.find(x => x.nome.includes(cidadeObject.nome)) || cidadeObject.nome.includes('Brasil') || cidadeObject.nome.includes('Remoto')) {\r\n continue;\r\n }\r\n\r\n retorno.push(cidadeObject);\r\n }\r\n }\r\n\r\n sessionStorage.setItem(chaveLocalStorageCidadesSugestoes, JSON.stringify(retorno));\r\n } else {\r\n retorno = sugestoesCidadesPadrao;\r\n }\r\n }\r\n }\r\n catch {\r\n //Caso dê algum erro com o request, coloca as sugestões padrões\r\n retorno = sugestoesCidadesPadrao;\r\n }\r\n\r\n if (geoData.existe) {\r\n //Filtra a lista para não ter a mesma cidade repetida para add no topo\r\n retorno = retorno.filter(x => !x.nome.includes(geoData.cidadeCompleta));\r\n retorno.unshift({ nome: geoData.cidadeCompleta });\r\n }\r\n\r\n //Callback para indicar apenas que finalizou toda operação de request\r\n if (cb != null) { cb(); }\r\n\r\n return retorno;\r\n}\r\n\r\nexport function adicionarSugestaoCidade(nome, adicionarNoTopoLista = false){\r\n if(nome == null || nome.trim().length == 0){\r\n return;\r\n }\r\n \r\n let arrayDados = [];\r\n const dadoParaInserir = { nome }; \r\n const dadosSalvos = obterSugestoesCidades();\r\n\r\n if(dadosSalvos != null && dadosSalvos.length > 0)\r\n {\r\n //Se houver um dado igual não adiciona\r\n if(dadosSalvos.filter(dado => dado.nome.includes(dadoParaInserir.nome)).length > 0){\r\n return;\r\n }\r\n arrayDados = dadosSalvos;\r\n }\r\n\r\n if(adicionarNoTopoLista){\r\n arrayDados.unshift(dadoParaInserir);\r\n }else {\r\n arrayDados.push(dadoParaInserir);\r\n }\r\n localStorage.setItem(chaveLocalStorageCidadesSugestoes, JSON.stringify(arrayDados));\r\n}\r\n\r\nexport function removerSugestaoCidade(nome){\r\n const dadosSalvos = obterSugestoesCidades();\r\n\r\n if(dadosSalvos == null || dadosSalvos.length == 0)\r\n {\r\n return;\r\n }\r\n const dadosSalvosNovo = dadosSalvos.filter(x => x.nome != nome);\r\n localStorage.setItem(chaveLocalStorageCidadesSugestoes, JSON.stringify(dadosSalvosNovo));\r\n}\r\n\r\nconst templatesVagaBuscasRecentes = {\r\n headerListagem(container){\r\n const info = document.createElement('div');\r\n info.setAttribute(\"class\", \"d-flex justify-content-between px-4 pt-3 pb-2\");\r\n info.innerHTML = `\r\n \r\n ${i18next.t('TemplateVagaBuscasRecentes')}\r\n \r\n `;\r\n container.prepend(info);\r\n },\r\n async itemCargoListagem(elemento, data){ \r\n elemento.setAttribute('class', `busca_${data.value.id}`);\r\n elemento.style = \"display: flex; justify-content: space-between;\";\r\n elemento.innerHTML = `\r\n \r\n ${data.match}\r\n \r\n \r\n \r\n `\r\n ;\r\n elemento.querySelectorAll('.btn-remove-busca-recente').forEach(el => el.addEventListener('click', () => {\r\n //Remove do localStorage baseado na busca id\r\n const buscaId = el.dataset.id;\r\n vagasBuscasRecentesCargoRemover(buscaId);\r\n document.querySelector(`.busca_${buscaId}`).remove();\r\n }));\r\n\r\n },\r\n async itemLocalizacaoListagem(elemento, data){\r\n let htmlElemento = '';\r\n\r\n elemento.style = \"display: flex; justify-content: space-between;\";\r\n elemento.innerHTML = `\r\n \r\n ${data.match}\r\n `;\r\n\r\n //Se for um elemento que seja de busca recente (para nao confundir com a listagem de cidades normal) adiciona botão de remover\r\n if(data.value.buscaRecente != undefined && data.value.buscaRecente){\r\n elemento.setAttribute('class', `busca_${data.value.id}`);\r\n elemento.innerHTML += ` \r\n \r\n \r\n \r\n `;\r\n elemento.querySelectorAll('.btn-remove-busca-recente-localizacao').forEach(el => el.addEventListener('click', () => {\r\n //Remove do localStorage baseado na busca id\r\n const buscaId = el.dataset.id;\r\n vagasBuscasRecentesLocalizacaoRemover(buscaId);\r\n document.querySelector(`.busca_${buscaId}`).remove();\r\n }));\r\n }\r\n }\r\n};\r\n\r\nexport async function autocompleteBuscaRecenteLocalizacao(formHeaderBuscarVagas, seletorInput = '#localizacao', sugestoes = []) {\r\n\r\n const { default: autoComplete } = await import('@tarekraafat/autocomplete.js');\r\n\r\n let sugestoesCidades = [];\r\n let buscasRecentesLocalizacao = vagasBuscasRecentesLocalizacaoObter();\r\n\r\n let exibirSugestoesCidades = true;\r\n let exibindoCidadesAPI = false;\r\n\r\n const autoCompleteLocalizacao = new autoComplete({\r\n diacritics: true, //entender sinais agudos e etc\r\n submit: true,\r\n selector: seletorInput,\r\n placeHolder: i18next.t('AutocompletePlaceholder'),\r\n threshold: 0,\r\n debounce: 500,\r\n data: {\r\n src: async (query) => {\r\n try {\r\n let retorno = [];\r\n let querySemAcentos = query.toLowerCase();\r\n querySemAcentos = querySemAcentos.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\r\n\r\n function _dadosDoLocalStorage(){\r\n\r\n exibindoCidadesAPI = false;\r\n\r\n buscasRecentesLocalizacao = vagasBuscasRecentesLocalizacaoObter().filter(item => {\r\n let nomeSemAcentos = item.nome.toLowerCase();\r\n nomeSemAcentos = nomeSemAcentos.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\r\n return nomeSemAcentos.includes(querySemAcentos);\r\n });\r\n\r\n retorno = buscasRecentesLocalizacao;\r\n return (buscasRecentesLocalizacao != null && buscasRecentesLocalizacao.length > 0);\r\n }\r\n\r\n /*function _possuiEmSugestoesCidades(){\r\n // console.log('analisando de sugestões de cidades');\r\n\r\n const sugestoesCidadesFiltrada = sugestoesCidades.filter(item => {\r\n let nomeSemAcentos = item.nome.toLowerCase();\r\n nomeSemAcentos = nomeSemAcentos.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\r\n return nomeSemAcentos.includes(querySemAcentos);\r\n });\r\n\r\n return (sugestoesCidadesFiltrada != null && sugestoesCidadesFiltrada.length > 0);\r\n }*/\r\n\r\n if(query.length >= 3){\r\n //console.log('buscando da API'); \r\n \r\n exibindoCidadesAPI = true;\r\n exibirSugestoesCidades = false;\r\n\r\n const requestCidades = await fetch(`${URL_API}variaveis/cidades/buscarV2?query=${query}`);\r\n const data = await requestCidades.json();\r\n retorno = data.dados;\r\n\r\n if(retorno == null || Object.keys(retorno).length == 0){\r\n exibirSugestoesCidades = true;\r\n _dadosDoLocalStorage();\r\n } \r\n\r\n }else{\r\n exibirSugestoesCidades = true;\r\n _dadosDoLocalStorage();\r\n }\r\n\r\n // console.log({retorno, query});\r\n\r\n return retorno;\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n keys: [\"nome\"]\r\n },\r\n resultsList: {\r\n noResults: true, //Caso não tenha itens, permite abrir a listagem contendo as sugestões de cidade\r\n maxResults: 20,\r\n element: (list, data) => {\r\n let temBuscasRecentes = false;\r\n list.setAttribute('class', 'listagem-localizacao');\r\n // console.log(list);\r\n\r\n //Exibe a header de buscas recentes somente quando o termo em questão está na lista\r\n if (buscasRecentesLocalizacao.length > 0 && !exibindoCidadesAPI) {\r\n temBuscasRecentes = true;\r\n templatesVagaBuscasRecentes.headerListagem(list);\r\n }\r\n\r\n //Cidades destaques\r\n if(exibirSugestoesCidades){\r\n\r\n if(temBuscasRecentes){\r\n const linhaSeparadora = document.createElement(\"hr\");\r\n linhaSeparadora.setAttribute(\"style\", \"margin: 5px 0 0 0;\");\r\n list.append(linhaSeparadora);\r\n }\r\n\r\n const headerSugestoes = document.createElement('div');\r\n headerSugestoes.setAttribute(\"class\", \"d-flex justify-content-between px-4 pt-3 pb-2\");\r\n headerSugestoes.innerHTML = `\r\n \r\n ${i18next.t('ResultsListSugestoes')}\r\n \r\n `;\r\n list.append(headerSugestoes);\r\n sugestoesCidades = sugestoesCidades.concat(sugestoes);\r\n sugestoesCidades.reverse()\r\n\r\n // remove cidades duplicadas\r\n sugestoesCidades = sugestoesCidades.filter((seenIds => obj => !seenIds.has(obj.id) && seenIds.add(obj.id))(new Set())); \r\n\r\n for(let i = 0; i < sugestoesCidades.length; ++i){\r\n const info = document.createElement('li');\r\n info.setAttribute(\"style\", \"display: flex; justify-content: space-between;\");\r\n info.innerHTML = `\r\n \r\n ${sugestoesCidades[i].nome}\r\n \r\n `;\r\n list.append(info);\r\n }\r\n }\r\n }\r\n },\r\n resultItem: {\r\n element: (item, data) => {\r\n templatesVagaBuscasRecentes.itemLocalizacaoListagem(item, data);\r\n },\r\n highlight: true\r\n },\r\n events: {\r\n input: { \r\n selection: (event) => {\r\n //Se for um item que não seja preenchido em 'data'\r\n if(event.detail.selection.value == undefined){\r\n autoCompleteLocalizacao.input.value = event.target.nextSibling.querySelectorAll('.cidade-destaque-item')[event.detail.selection.index - buscasRecentesLocalizacao.length].textContent;\r\n }\r\n else {\r\n const objetoSelecionado = event.detail.selection.value;\r\n autoCompleteLocalizacao.input.value = objetoSelecionado.nome;\r\n } \r\n },\r\n focus: async (event) => {\r\n //Ao dar focus no input, inicia o autocomplete com uma pesquisa em branco carregando todas as suas buscas recentes\r\n const inputLocalizacao = document.querySelector(seletorInput);\r\n const valorAntesLoading = inputLocalizacao.value;\r\n inputLocalizacao.value = i18next.t('SugestoesCidadesCarregando');\r\n\r\n sugestoesCidades = await obterSugestoesCidades(() => {\r\n inputLocalizacao.value = valorAntesLoading;\r\n autoCompleteLocalizacao.start();\r\n });\r\n }\r\n }\r\n }\r\n });\r\n\r\n if(formHeaderBuscarVagas != null){\r\n //Evento que ao pesquisar no form header vai redirecionar para a tela de vagas\r\n formHeaderBuscarVagas.addEventListener('submit', eventoBuscarVagaRedirect);\r\n }\r\n\r\n return autoCompleteLocalizacao;\r\n}\r\n\r\nexport async function tomSelectBuscaLocalizacao(selector, multiple) {\r\n const module = await import('tom-select');\r\n const TomSelect = module.default;\r\n new TomSelect(selector, {\r\n plugins: ['clear_button'],\r\n valueField: 'nome',\r\n labelField: 'Localizacao',\r\n searchField: [],\r\n maxItems: 5,\r\n preload: true,\r\n load: async (query, callback) => {\r\n try {\r\n let retorno = [];\r\n let buscasRecentesLocalizacao = vagasBuscasRecentesLocalizacaoObter();\r\n function _dadosDoLocalStorage(){\r\n const querySemAcentos = query.toLowerCase().normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\r\n \r\n buscasRecentesLocalizacao = vagasBuscasRecentesLocalizacaoObter().filter(item => {\r\n let nomeSemAcentos = item.nome.toLowerCase();\r\n nomeSemAcentos = nomeSemAcentos.normalize(\"NFD\").replace(/\\p{Diacritic}/gu, \"\");\r\n return nomeSemAcentos.includes(querySemAcentos);\r\n });\r\n\r\n retorno = buscasRecentesLocalizacao;\r\n return (buscasRecentesLocalizacao != null && buscasRecentesLocalizacao.length > 0);\r\n }\r\n\r\n if(query.length >= 3){\r\n const requestCidades = await fetch(`${URL_API}variaveis/cidades/buscar/${query}`);\r\n const data = await requestCidades.json();\r\n retorno = data.dados;\r\n\r\n if(retorno == null || Object.keys(retorno).length == 0){\r\n _dadosDoLocalStorage();\r\n } \r\n\r\n } else \r\n _dadosDoLocalStorage();\r\n\r\n callback(retorno);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n },\r\n onInitialize: function() {\r\n // Se já houver algum valor selecionado, remove o placeholder\r\n // Lembrando que para \"multiple\" esse valor será array.\r\n const currentValue = this.getValue();\r\n \r\n const hasValue = Array.isArray(currentValue)\r\n ? currentValue.length > 0\r\n : !!currentValue; // para single\r\n \r\n if (hasValue) {\r\n this.settings.placeholder = '';\r\n this.control_input.setAttribute('placeholder', '');\r\n }\r\n },\r\n onChange: function(value) {\r\n\r\n let hasValue = false;\r\n\r\n if (Array.isArray(value)) {\r\n hasValue = value.length > 0;\r\n } else {\r\n hasValue = !!value;\r\n }\r\n\r\n if (hasValue) {\r\n this.settings.placeholder = '';\r\n this.control_input.setAttribute('placeholder', '');\r\n } else {\r\n this.settings.placeholder = 'Procurar cidade...';\r\n this.control_input.setAttribute('placeholder', 'Procurar cidade...');\r\n }\r\n\r\n if (isNullOrEmpty(value) && (typeof avisoAssuntoSelecionado !== 'undefined' && avisoAssuntoSelecionado)) {\r\n avisoAssuntoSelecionado?.classList.add('d-none');\r\n todoFormulario?.classList.add('d-none');\r\n document.getElementById('row-assunto-subcategoria')?.classList.add('d-none');\r\n return;\r\n }\r\n getFetch(`/${CULTURE_EMPREGARE}/PaginasEstaticas/ObterAssuntoSubcategorias?assuntoCategoriaID=` + value,\r\n (resultado) => {\r\n\r\n if(!resultado.dados)\r\n return;\r\n\r\n let opcoesSubcategorias = resultado.dados;\r\n\r\n\r\n if (opcoesSubcategorias.length > 0 && (typeof selectAssuntoSubcategoria !== 'undefined' && selectAssuntoSubcategoria)) {\r\n\r\n selectAssuntoSubcategoria.clear(); //atual seleção\r\n selectAssuntoSubcategoria.clearOptions();\r\n selectAssuntoSubcategoria.addOptions(opcoesSubcategorias);\r\n\r\n if (opcoesSubcategorias.length == 1) {\r\n document.getElementById('row-assunto-subcategoria').classList.add('d-none');\r\n selectAssuntoSubcategoria.setValue(opcoesSubcategorias[0].ID);\r\n } else {\r\n document.getElementById('row-assunto-subcategoria').classList.remove('d-none');\r\n todoFormulario.classList.add('d-none');\r\n avisoAssuntoSelecionado.classList.add('d-none');\r\n }\r\n }\r\n\r\n },\r\n (erro) => {\r\n console.log(erro);\r\n }\r\n );\r\n },\r\n onItemAdd: function(value, item) {\r\n\r\n function clearDynamicOptions(tomSelectInstance) {\r\n // Pega todas as chaves (valores) das opções carregadas.\r\n const allOptionKeys = Object.keys(tomSelectInstance.options);\r\n \r\n // Pega os itens selecionados. Pode vir como string (single) ou array (multiple).\r\n let selectedKeys = tomSelectInstance.getValue();\r\n \r\n // Garante que `selectedKeys` seja um array para comparar.\r\n if (!Array.isArray(selectedKeys)) {\r\n selectedKeys = selectedKeys ? [selectedKeys] : [];\r\n }\r\n \r\n for (const key of allOptionKeys) {\r\n const opt = tomSelectInstance.options[key];\r\n \r\n if (opt.ispermanent !== \"true\") {\r\n // ...e NÃO está selecionado, removemos.\r\n if (!selectedKeys.includes(key)) {\r\n tomSelectInstance.removeOption(key);\r\n }\r\n }\r\n }\r\n }\r\n // Limpa o texto que sobrou\r\n this.setTextboxValue('');\r\n this.close();\r\n\r\n clearDynamicOptions(this);\r\n },\r\n render: {\r\n option: function (data, escape) {\r\n console.log(data)\r\n return `\r\n
${escape(data.nome)}
\r\n