/* Copyright (c) 2006-2007, ePages GmbH All Rights Reserved. */ dojo.provide("epages.cartridges.de_epages.design.widget.Navbarpreview"); dojo.require("epages.widget.LocalizedWidget"); dojo.require("dijit._Container"); dojo.declare( "epages.cartridges.de_epages.design.widget.Navbarpreview", [epages.widget.LocalizedWidget,dijit._Contained], { /** * public properties */ templateType: 'Layout1', defaultTemplateType: 'Layout1', _templateMapping:{ 'Layout1' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout1.html')}, 'Layout2' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout2.html')}, 'Layout3' : {templatePath: dojo.moduleUrl('epages.cartridges.de_epages.design.widget', 'templates/NavbarPreviewLayout3.html')} }, cssClass : '', visibleNavBars: undefined, /** * widget properties */ imagePath : epages.themeUrl('images'), templatePath : dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates/NavbarPreviewLayout1.html'), translationName : dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates/translation'), postCreate: function() { this.templateDirectory = dojo.moduleUrl('epages.cartridges.de_epages.design.widget','templates'); this.inherited('postCreate', arguments); this.visibleNavBars = epages.NavBars; if(this.visibleNavBars) { for(var el in this.visibleNavBars) { var navString=this.visibleNavBars[el][2]; if(navString != "Delete") { this.enableBar(navString.toLowerCase()); this.addNavbarEvents(navString, el); } } } else { console.warn("epages.NavBars not defined in "+this.declaredClass); } }, addNavbarEvents : function(/* string */ navbar, /* string */ epObjectId) { var navbarlc = navbar.toLowerCase(); var navbarNode = this[navbarlc + 'Node'] navbarNode.ep_objectId = epObjectId; navbarNode.ep_navbar = navbar; this.connect(navbarNode, "onclick", '_publishSelect'); }, _publishSelect: function(evt) { var node = evt.currentTarget; dojo.stopEvent(evt); dojo.publish(this.id+'/select', [{ navbar: node.ep_navbar, objectId: node.ep_objectId }]); }, enableBar: function (navbar) { this[navbar + 'Node'].style.display=""; }, disableBar: function (navbar) { this[navbar + 'Node'].style.display="none"; }, switchBar: function (navbar) { if (this[navbar + 'Node'].style.display=="none") { this.enableBar(navbar); } else { this.disableBar(navbar); } } } );