From 34b6f21576e3dede30c1de84b696c04776269610 Mon Sep 17 00:00:00 2001 From: Edmar Moretti Date: Tue, 21 Apr 2015 03:30:34 +0000 Subject: [PATCH] Menu Ășnico --- classesjs/classe_gadgets.js | 219 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------------------------------------------------------------------------------- css/botoes2.css | 6 ++++++ 2 files changed, 140 insertions(+), 85 deletions(-) diff --git a/classesjs/classe_gadgets.js b/classesjs/classe_gadgets.js index 1d04dcd..421fdc8 100644 --- a/classesjs/classe_gadgets.js +++ b/classesjs/classe_gadgets.js @@ -15,18 +15,18 @@ */ /** - * + * * Licença - * + * * GPL2 - * + * * i3Geo Interface Integrada de Ferramentas de Geoprocessamento para Internet - * + * * Direitos Autorais Reservados (c) 2006 Ministério do Meio Ambiente Brasil Desenvolvedor: Edmar Moretti edmar.moretti@gmail.com - * + * * Este programa é software livre; você pode redistribuí-lo e/ou modificá-lo sob os termos da Licença * Pública Geral GNU conforme publicada pela Free Software Foundation; - * + * * Este programa é distribuído na expectativa de que seja útil, porém, SEM NENHUMA GARANTIA; nem mesmo a * garantia implícita de COMERCIABILIDADE OU ADEQUACAtilde;O A UMA FINALIDADE ESPECÍFICA. Consulte a Licença * Pública Geral do GNU para mais detalhes. Você deve ter recebido uma cópia da Licença Pública Geral do @@ -40,35 +40,35 @@ i3GEO.gadgets = { /** * Propriedade: PARAMETROS - * + * * Parâmetros de inicialização dos gadgets. - * + * * Essa variável define os parametros individuais de cada gadget e o ID do elemento HTML onde o gadget será * incluído (parametro "idhtml"). - * + * * Cada tipo de gadget pode ter parametros específicos, descritos a seguir. - * + * * Você pode acessar os parâmetros da seguinte forma: - * + * * i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.deslocaEsquerda = 400; - * + * * Para evitar o funcionamento de um gadget experimente utilizar - * + * * Exemplo: - * + * * i3GEO.gadgets.PARAMETROS.mostraInserirKml.idhtml = ""; - * + * * Default: - * + * * (start code) - * + * * i3GEO.gadgets.PARAMETROS = { "mostraInserirKml" : { idhtml : "inserirKml" }, "mostraEscalaNumerica" : { idhtml : "escala" }, * "mostraEscalaGrafica" : { idhtml : "escalaGrafica" }, "mostraBuscaRapida" : { idhtml : "buscaRapida", servicosexternos : true, * temasmapa : false, google : true }, "mostraVisual" : { idhtml : "" }, "mostraHistoricoZoom" : { idhtml : "historicozoom" }, * "mostraMenuSuspenso" : { permiteLogin : true, marcadores : true, idhtml : "menus", deslocaEsquerda : 0, parametrosYUI : { iframe : * false, autosubmenudisplay : false, showdelay : 200, hidedelay : 500, lazyload : false } }, "mostraMenuLista" : { idhtml : * "menuLista" }, "mostraVersao" : { idhtml : "versaoi3geo" }, "mostraEmail" : { idhtml : "emailInstituicao" } }; - * + * * (end) */ PARAMETROS : { @@ -118,11 +118,11 @@ i3GEO.gadgets = }, /** * Function: mostraEmail - * + * * Mostra o e-mail armazenado na variável i3GEO.parametros.emailInstituicao - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraEmail : function(id) { @@ -138,11 +138,11 @@ i3GEO.gadgets = }, /** * Function: mostraVersao - * + * * Mostra a versão atual do i3Geo armazenada na variável i3GEO.parametros.mensageminicial - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraVersao : function(id) { @@ -158,16 +158,16 @@ i3GEO.gadgets = }, /** * Function: mostraInserirKml - * + * * Mostra no mapa a a opção para inserir kml. - * + * * Essa opção só funciona com a API do Google carregada - * + * * Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o id * definido em i3GEO.gadgets.PARAMETROS.mostraInserirKml.idhtml - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de * i3GEO.gadgets.PARAMETROS.mostraInserirKml.idhtml */ @@ -196,16 +196,16 @@ i3GEO.gadgets = }, /** * Function: mostraEscalaNumerica - * + * * Mostra no mapa a escala numérica. - * + * * A escala numérica pode ser alterada pelo usuário digitando-se a nova escala. - * + * * Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o id * definido em i3GEO.gadgets.PARAMETROS - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraEscalaNumerica : function(id) { @@ -224,8 +224,7 @@ i3GEO.gadgets = if (!$i("i3geo_escalanum")) { i = "
" + $inputText(id, "100", "i3geo_escalanum", $trad("d10"), "10", parseInt( - i3GEO.parametros.mapscale, - 10)) + i3GEO.parametros.mapscale, 10)) + "
"; ins = "
" + i; temp = 'var nova = document.getElementById("i3geo_escalanum").value;'; @@ -265,14 +264,14 @@ i3GEO.gadgets = /** * Function: mostraEscalaGrafica - * + * * Mostra no mapa a escala grafica como um elemento fora do mapa. - * + * * Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o id * definido em i3GEO.gadgets.PARAMETROS(escala) - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraEscalaGrafica : function(id) { @@ -295,9 +294,9 @@ i3GEO.gadgets = }, /** * Function: atualizaEscalaGrafica - * + * * Atualiza a escala gráfica - * + * */ atualizaEscalaGrafica : function() { var e = $i("imagemEscalaGrafica"); @@ -315,20 +314,20 @@ i3GEO.gadgets = }, /** * Function: mostraBuscaRapida - * + * * Mostra a opção de busca rápida de lugares por palavra digitada. - * + * * Se você não quer essa função no mapa, elimine o elemento HTML existente no mapa que contenha o id * definido em i3GEO.gadgets.PARAMETROS (buscaRapida) - * + * * Onde a busca será feita é controlado pela variável i3GEO.gadgets.PARAMETROS.mostraBuscaRapida - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraBuscaRapida : function(id) { - //TODO implementar a separacao do template mustache em arquivos em disco + // TODO implementar a separacao do template mustache em arquivos em disco if (typeof (console) !== 'undefined') console.info("i3GEO.gadgets.mostraBuscaRapida()"); @@ -378,12 +377,7 @@ i3GEO.gadgets = return; } // janela com a rotina e o resultado da busca - i3GEO.janela.cria( - "300px", - "280px", - i3GEO.configura.locaplic + "/ferramentas/buscarapida/index.htm", - "", - "", + i3GEO.janela.cria("300px", "280px", i3GEO.configura.locaplic + "/ferramentas/buscarapida/index.htm", "", "", $trad("o2")); return false; }; @@ -433,20 +427,20 @@ i3GEO.gadgets = + "{{/googlemaps}}" + "

{{ajuda}}

"; - ins =i3GEO.util.parseMustache(templateMustache, hashMustache); + ins = i3GEO.util.parseMustache(templateMustache, hashMustache); janela = i3GEO.janela.cria("300px", "150px", "", "", "", $trad("s5"), "i3GEOpropriedadesBuscaRapida" + id); - janela[0].setBody("
"+ins+"
"); + janela[0].setBody("
" + ins + "
"); }; } }, /** * Function: mostraHistoricoZoom - * + * * Mostra na barra de zoom os ícones que controlam a visualização do histórico da * navegação sobre o mapa - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraHistoricoZoom : function(id) { @@ -479,24 +473,24 @@ i3GEO.gadgets = }, /** * i3GEO.gadgets.visual (depreciado) - * + * * Gera os ícones e controla as opções de modificação do visual do mapa. - * + * * O visual consiste na definição dos ícones utilizados no mapa. O visual pode ser modificado na * inicialização ou então escolhido pelo usuário. - * + * * Os visuais disponíveis são definidos no servidor e consistem em diretórios localizados em * i3geo/imagens/visual. A lista de visuais disponíveis é obtida na inicialização do i3geo. - * + * * Os ícones para mudança do visual são incluídos no elemento HTML definido em * i3geo.gadgets.PARAMETROS.visual */ visual : { /** * Constrói os ícones de escolha do visual. - * + * * Parametro: - * + * * id {String} - id do elemento que receberá os ícones (opcional) */ inicia : function(id) { @@ -504,9 +498,9 @@ i3GEO.gadgets = }, /** * Troca o visual atual. A lista de visuais disponíveis é obtida em i3GEO.parametros.listavisual - * + * * Parametro: - * + * * visual {String} - nome do visual que será utilizado. */ troca : function(visual) { @@ -515,43 +509,43 @@ i3GEO.gadgets = }, /** * Function: mostraMenuSuspenso - * + * * Mostra o menu suspenso com opções extras de análise, ajuda, etc - * + * * Paradefinir os ícones existentes nos elementos principais do menu, edite o arquivo i3geo/css/botoes2.css e acrescente o * estilo desejado. Utilize # para se referenciar ao elemento, cujo identificador é composto por "menu"+chave, exemplo * #menuinterface ou #menuajuda - * + * * O objeto YAHOO.widget.MenuBar resultante pode ser obtido na variável i3GEOoMenuBar - * + * * i3GEOoMenuBar pode ser manipulado com os métodos da biblioteca YUI - * + * * Exemplo: - * + * * (start code) i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", "zzzzzz"); - * + * * i3GEOoMenuBar.getMenuItem("omenudataInterface1").destroy(); (end) - * + * * Para executar uma operação após o menu ser montado, utilize a propriedade * i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza, por exemplo (a string é executada por meio da função * eval do javascript) - * + * * Exemplo: - * + * * (start code) i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso.finaliza = * 'i3GEOoMenuBar.getMenuItem("omenudataInterface1").cfg.setProperty("text", "");'; (end) - * + * * O conteúdo do menu é baseado na variável i3GEO.configura.oMenuData - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraMenuSuspenso : function(id) { if (typeof (console) !== 'undefined') console.info("i3GEO.gadgets.mostraMenuSuspenso()"); - var objid, n, i, estilo, t, onMenuBarBeforeRender, temp, i3GEOoMenuBarLocal, ms = i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso, confm = + var menuUnico, objid, i, estilo, t, onMenuBarBeforeRender, temp, i3GEOoMenuBarLocal, ms = i3GEO.gadgets.PARAMETROS.mostraMenuSuspenso, confm = i3GEO.configura.oMenuData, ins = "", alinhamento = ""; if (arguments.length === 0) { @@ -580,6 +574,61 @@ i3GEO.gadgets = } } catch (e) { } + // monta um menu unico + menuUnico = function(){ + var menu = i3GEO.configura.oMenuData.menu, + submenus = i3GEO.configura.oMenuData.submenus, + menuUnico = {}, + n = 0, s, tempMenu, m = 0, idts, idt; + menuUnico["menu"] = [ + { + nome : "Menu", + id : "menuUnico" + } + ]; + menuUnico["submenus"] = { + "menuUnico" : [] + }; + for (n in menu) { + if (menu[n].id) { + s = submenus[menu[n].id]; + tempMenu = []; + for (m in s) { + if (s[m].url) { + tempMenu.push(s[m]); + } + else{ + if (s[m].submenu && s[m].submenu.itemdata) { + idts = s[m].submenu.itemdata[0]; + tempMenu.push({ + text: s[m].text + }); + for (idt = 0; idt < idts.length; idt++) { + tempMenu.push(idts[idt]); + } + } + } + } + if(tempMenu.length > 0){ + menuUnico["submenus"]["menuUnico"].push({ + id : menu[n].id + "Menu", + text : menu[n].nome, + submenu : { + id : menu[n].id + "Sub", + itemdata : [ + tempMenu + ] + } + }); + } + } + } + i3GEO.configura.oMenuData = menuUnico; + confm = i3GEO.configura.oMenuData; + }; + if(i3GEO.parametros.w < 600){ + menuUnico(); + } i3GEOoMenuBar = YAHOO.widget.MenuManager; if (objid) { objid.className = "yuimenubar"; @@ -757,13 +806,13 @@ i3GEO.gadgets = }, /** * Function: mostraMenuLista - * + * * Mostra as opções existentes no menu suspenso porém na forma de uma lista de opções - * + * * O conteúdo do menu é baseado na variável i3GEO.configura.oMenuData - * + * * Parametro: - * + * * {String} - id do elemento HTML que receberá o resultado. Esse id por default é obtido de i3GEO.gadgets.PARAMETROS */ mostraMenuLista : function(id) { diff --git a/css/botoes2.css b/css/botoes2.css index 3f55e6a..abf8bf2 100644 --- a/css/botoes2.css +++ b/css/botoes2.css @@ -386,6 +386,12 @@ height: 15px; width: 57px; } + +#menumenuUnico { + background-image: url("../imagens/oxygen/16x16/format-list-unordered.png"); + background-repeat: no-repeat; + margin-left: 5px; +} /*bandeira do brasil*/ #brasil { background-image: URL('../imagens/sprite.png'); -- libgit2 0.21.2