<div dojoType="dijit.layout.AccordionContainer" id="accordion" style="visibility:hidden;">
require(["dojo/dom-style"], function(domStyle){ domStyle.set("accordion", "visibility", "visible"); )};
connect.connect(popup, "onSetFeatures", lang.hitch(this, function() { var summPane = registry.byId('rightPane'); if (!summPane._showing) { summPane.toggle(); }
registry.byId(settings.tabContainer).selectChild(settings.accordionContainer); registry.byId(settings.accordionContainer).selectChild(settings.accordionPane);
I do this when i get popup results connect.connect(popup, "onSetFeatures", lang.hitch(this, function() { var summPane = registry.byId('rightPane'); if (!summPane._showing) { summPane.toggle(); }
data-dojo-props="region:'right',title:'Results',startExpanded:false"
<div data-dojo-type="dojox/layout/ExpandoPane" data-dojo-props="region:'left',title:'Widgets',startExpanded:false" id="leftPane"> <div data-dojo-type="dijit/layout/TabContainer" data-dojo-props="tabPosition:'top', tabStrip:'true'" id="leftTC" style="padding:0;width:290px;" > <div data-dojo-type="dijit/layout/AccordionContainer" title="Data" id="dataTab"> <div data-dojo-type="dijit/layout/AccordionPane" data-dojo-props="title:'Live Layers',selected:'true'" id="liveLayerPane" style="padding:0;" > <div id="tocDiv" style="padding: 0 5px 0;" ></div> </div>
Thats what I get for making assumptions.Yes this all needs to be an expandopane, its exactly what you are looking for <div data-dojo-type="dojox/layout/ExpandoPane" data-dojo-props="region:'left',title:'Widgets',startExpanded:false" id="leftPane"> <div data-dojo-type="dijit/layout/TabContainer" data-dojo-props="tabPosition:'top', tabStrip:'true'" id="leftTC" style="padding:0;width:290px;" > <div data-dojo-type="dijit/layout/AccordionContainer" title="Data" id="dataTab"> <div data-dojo-type="dijit/layout/AccordionPane" data-dojo-props="title:'Live Layers',selected:'true'" id="liveLayerPane" style="padding:0;" > <div id="tocDiv" style="padding: 0 5px 0;" ></div> </div>
var slide = function (rightDomId, open, map) { var width = window.innerWidth; var sliderWidth = open ? 250 : 0; var mapWidth = open ? width - 250 : width; fx.animateProperty({ node: rightDomId, properties: { width: sliderWidth }, onEnd: function () { var slider = dom.byId(rightDomId); var visible; if (parseInt(slider.style.width) < 100) { visible = "none"; } else { visible = "block"; } domStyle.set(slider, { display: visible }); } }).play(); fx.animateProperty({ node: map.id, properties: { width: mapWidth }, onEnd: function () { map.resize(); } }).play(); }; var slideIn = function (rightDomId, map) { slide(rightDomId, true, map); }; var slideOut = function (rightDomId, map) { slide(rightDomId, false, map); };
The Lee Council has created a toggle button with click event and which slides in & out the accordion container. Have you checked the sample web application link. Are they using expandopane method. I don't think so.
Did you also check the sample? They are using dojo.animateProperty()Like Jian said, there are many many ways to accomplish what you desire. The choice really comes down to you making your own decision based on your immediate needs.As a developer, the best thing you can do is outline the needs/wants/requirements of a project before starting to code.
Los miembros registrados pueden publicar, seguir actualizaciones y más. ¿Nuevo aquí? Regístrate gratis.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.