const tours = {"ozmap-create":[{"order":"0","element":"","noMask":"X","eventToStart":"onShow","title":"Aprenda a criar","message":"Assista o tutorial abaixo.\n\n\n\n \n\n\n","nextButton":"Avançar","backButton":"","noFinilizeButton":"x","clickToNext":"x"},{"order":"1","element":"TOOLTIP_EXPAND_NETWORK","noMask":"X","eventToStart":"onClick","title":"Comece por aqui!","message":"Clique aqui para adicionar seus primeiros elementos","nextButton":"","backButton":"Voltar","noFinilizeButton":"","clickToNext":"x"}],"ozmap-import-wizard":[{"order":"0","element":"TOOLTIP_IMPORT_DATA ","noMask":"x","eventToStart":"","title":"Menu de importações","message":"Clique aqui para abrir o menu de importações","nextButton":"","backButton":"","noFinilizeButton":"","clickToNext":"X"},{"order":"1","element":"IMPORT_KML","noMask":"x","eventToStart":"","title":"Importe um KML","message":"Clique aqui e abra o wizard de importação de kml ","nextButton":"","backButton":"","noFinilizeButton":"","clickToNext":"X"}],"portal":[{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{},{"order":"","element":"","noMask":"","eventToStart":"","title":"","message":"☓ "}],"ozmap-welcome":[{"order":"0","element":"TOOLTIP_EXPAND_NETWORK","detachElement":"x","noMask":"x","eventToStart":"onShow","title":"Bem vindo ao OZmap!","message":"Vamos lhe guiar pelos primeiros passos dentro da plataforma.","nextButton":"Começar"},{"order":"1","element":"TOOLTIP_EXPAND_NETWORK","detachElement":"x","noMask":"x","eventToStart":"onShow","title":"Chat disponível","message":"Caso tenha dúvidas sobre a utilização do sistema fique à vontade para \nnos chamar no chat no canto inferior direito, clicando no ícone.\n\n
\n\n
","nextButton":"Próximo"},{"order":"2","element":"TOOLTIP_EXPAND_NETWORK","detachElement":"x","noMask":"x","eventToStart":"onShow","title":"Por onde você quer começar?","message":"Você pode optar por fazer a importação dos seus elementos ou aprender a criar manualmente.\n\n\n\n\n\n\n","nextButton":"","backButton":"Voltar","noFinilizeButton":"","clickToNext":"x"}]};
const tourObjects = {};
const wizardVariables = {
"${LOGIN}": "Seu email",
"${PASSWORD}": "Sua senha"
};
try {
const cookieValue = decodeURIComponent(getCookieValue("OZDemoData"));
const OZDemoData = JSON.parse(cookieValue);
wizardVariables["${LOGIN}"] = OZDemoData.user || wizardVariables["${LOGIN}"];
wizardVariables["${PASSWORD}"] = OZDemoData.pass || wizardVariables["${PASSWORD}"];
} catch (e) { }
function waitForVisibleCmpByLocalized(localized, timeout = 30000) {
if (timeout == 'infinity') {
timeout = Infinity;
}
return new Promise((resolve, reject) => {
var interval = setInterval(async function () {
const cmp = await getCmpByLocalized(localized);
if (timeout <= 0) {
clearInterval(interval);
}
if (cmp && cmp.isVisible()) {
clearInterval(interval);
resolve(cmp);
}
}, 100);
});
}
function getCookieValue(name) {
const value = `; ${document.cookie}`;
const parts = value.split(`; ${name}=`);
if (parts.length === 2) return parts.pop().split(';').shift();
}
function loadAndInitShepherdJS() {
return new Promise((resolve, reject) => {
// Carregar o CSS
const style = document.createElement('style');
style.innerHTML = `
.overAll {
z-index: 999999 !important;
}
.panelwidth600 {
max-width: 600px !important;
}
.shepherd-modal-is-visible {
z-index: 99999 !important;
}
.shepherd-element {
max-width: fit-content !important;
}
`;
document.head.appendChild(style);
const shepherdCSS = document.createElement('link');
shepherdCSS.rel = 'stylesheet';
shepherdCSS.type = 'text/css';
shepherdCSS.href = 'https://cdn.jsdelivr.net/npm/shepherd.js@10.0.1/dist/css/shepherd.css';
document.head.appendChild(shepherdCSS);
const shepherdJS = document.createElement('script');
shepherdJS.src = 'https://cdn.jsdelivr.net/npm/shepherd.js@10.0.1/dist/js/shepherd.min.js';
shepherdJS.onload = async function () {
await waitForExtAndComponentMgr();
for (const tourName in tours) {
tourObjects[tourName] = createTour(tours[tourName]);
}
};
document.body.appendChild(shepherdJS);
});
}
function createTour(tourData) {
let initData = tourData[0];
const tour = new Shepherd.Tour({
useModalOverlay: true,
defaultStepOptions: {
classes: 'shadow-md bg-purple-dark',
scrollTo: true,
cancelIcon: {
enabled: true
}
}
});
for (const row of tourData) {
createStep(row, tour);
}
switch (initData.eventToStart) {
case 'onShow':
eventOnShow(initData, tour);
break;
case 'onClick':
eventOnClick(initData, tour);
break;
case 'onTime':
eventOnTime(initData, tour);
break;
}
return tour;
}
function createStep(data, tour) {
const buttons = [];
if (data.backButton) {
buttons.push({
text: data.backButton,
action: tour.back
});
}
if (data.nextButton) {
buttons.push({
text: data.nextButton,
action: tour.next
});
}
for (const v in wizardVariables) {
if (data.title) {
data.title = data.title.replaceAll(v, wizardVariables[v]);
}
if (data.message) {
data.message = data.message.replaceAll(v, wizardVariables[v]);
}
}
const step = {
id: data.order,
title: data.title,
text: data.message,
classes: 'overAll',
buttons
};
if (data.element && !data.detachElement) {
step.attachTo = {
element: function () {
let cmp = getCmpByLocalized(data.element);
if (data.clickToNext) {
cmp.mon(cmp, 'click', async () => {
tour.next();
}, null, { delay: 150, single: true });
}
return cmp.el.dom;
},
on: 'right-start'
};
}
tour.addStep(step);
}
function goToStep(tourName, step, currentTourName) {
if (currentTourName) {
tourObjects[currentTourName].hide();
}
step = `${step}`;
if (!tourObjects[tourName]) {
return alert(`Tour não encontrado ${tourName}`);
}
if (!tourObjects[tourName].getById(step)) {
return alert(`Step não encontrado ${tourName} - ${step}`);
}
tourObjects[tourName].show(step);
}
function eventOnShow(data, tour) {
waitForVisibleCmpByLocalized(data.element, data.timeout).then(result => {
tour.start();
});
}
function eventOnClick(tourData) {
}
function eventOnTime(tourData) {
}
// Chame a função para carregar e inicializar a biblioteca
loadAndInitShepherdJS();
async function propagandas() {
const cmpImport = await waitForCmpByLocalized('TOOLTIP_IMPORT_DATA', 10000, true);
const propaganda = new Shepherd.Tour({
useModalOverlay: true,
defaultStepOptions: {
classes: 'shadow-md bg-purple-dark',
scrollTo: true
}
});
propaganda.addSteps([
{
id: 'propaganda_import',
title: "Vamos importar coisas ao mapa",
text: `
Para importar coisas no OZmap você precisa estar rodando em uma instancia propria.