<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7, IE=9, IE=10">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Sample - Floating Pane if no URL parameter</title>
<link type="text/css" rel="stylesheet" href="https://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/esri/dijit/css/Popup.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/dojo/dojox/layout/resources/FloatingPane.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/dojo/dojox/layout/resources/ResizeHandle.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/esri/css/esri.css" >
<link type="text/css" rel="stylesheet" href="css/style.css">
<script type="text/javascript">
var dojoConfig = {
parseOnLoad: false,
async:true
};
</script>
<script type="text/javascript" src="https://js.arcgis.com/3.9compact/"></script>
<script type="text/javascript">
var pathName = "https://ogitest.oa.mo.gov";
var map, countyLayer, NCDM, ncdmLayer;
require(["dojo/parser", "esri/map", "esri/domUtils","esri/urlUtils",
"dojo/dom", "dijit/registry", "dojo/on", "dojo/dom-construct", "dojo/query",
"esri/layers/FeatureLayer", "esri/layers/ArcGISDynamicMapServiceLayer",
"esri/renderers/SimpleRenderer", "esri/symbols/SimpleLineSymbol", "esri/symbols/SimpleFillSymbol",
"esri/graphic", "dojo/_base/Color", "dojo/_base/array","dojo/aspect",
"dijit/form/Form", "dijit/form/RadioButton", "dijit/form/Button","dijit/form/TextBox",
"dijit/form/Select", "dijit/TitlePane", "dijit/layout/BorderContainer",
"dojox/layout/FloatingPane","dojox/layout/Dock",
"dojo/domReady!"],
function(parser, Map, domUtils, urlUtils, dom, registry, on, domConstruct, query,
FeatureLayer, ArcGISDynamicMapServiceLayer,SimpleRenderer, SimpleLineSymbol, SimpleFillSymbol, Graphic, Color,
arrayUtils, aspect){
parser.parse();
var countyFillSymbol = new SimpleFillSymbol(SimpleFillSymbol.STYLE_NULL,
new SimpleLineSymbol(SimpleLineSymbol.STYLE_SOLID, new Color([149,149,149]), 2));
map = new Map("mapDiv", {
basemap: "topo",
center: [-92.593, 38.5],
zoom: 7
});
countyLayer = new FeatureLayer(pathName + "/ArcGIS/rest/services/BaseMap/county_simple/MapServer/0", {
id: "countyLayer",
mode: FeatureLayer.MODE_ONDEMAND,
outFields: ["COUNTYNAME"]
});
countyRenderer = new SimpleRenderer(countyFillSymbol);
countyLayer.on('load', checkURL);//checks for NCDM in URL, loads data based on parameter provided
map.addLayers([countyLayer]);
//load this category specified in the incoming URL parameter
function loadData(ncdm){
var ncdmPath, layerName;
cleanUpLayers();
switch (ncdm) {
case "AMI":
ncdmPath = pathName + "/ArcGIS/rest/services/DHSS/EPHT_ami_county/MapServer";
layerName = "AMILayer";
break;
case "CO":
ncdmPath = pathName + "/ArcGIS/rest/services/DHSS/EPHT_carbon_county/MapServer";
layerName = "COLayer";
break;
}
ncdmLayer = new ArcGISDynamicMapServiceLayer(ncdmPath, {
id: layerName,
opacity: '0.7'
});
map.addLayers([ncdmLayer]);
}
function cleanUpLayers(){
var layers = map.getLayersVisibleAtScale(map.getScale());
arrayUtils.forEach(layers, function(layer){
if (layer.id !== 'layer0' && layer.id !== 'countyLayer') {
map.removeLayer(layer);
}
});
}
//get the URL parameter, either load the data or if there isn't a parameter, open the floating pane
function checkURL(){
NCDM = getNCDMFromUrl(document.location.href);
if (!NCDM) {
openFloatingPane('floater_pick');
} else {
loadData(NCDM);
}
}
function getNCDMFromUrl(url){ //extracts the parameter from the url
var urlObject = urlUtils.urlToObject(url);
if (urlObject.query && urlObject.query.ncdm) {
return urlObject.query.ncdm;
} else {
return null;
}
}
//functions for managing floating panes
function openFloatingPane(paneId){
var fp = registry.byId(paneId);
if ((fp.style == "visibility: hidden;") || (fp.style = "VISIBILITY:hidden;")) {
fp.style.visibility = "visible";
fp.show();
}
}
});
</script>
</head>
<body class="claro">
<div id='mainWindow' data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline', gutters:false"
style="width:100%;height:100%;margin:0;">
<div id="mapDiv" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center',gutters:'false'">
<div id="dock_pick" data-dojo-type="dojox/layout/Dock" ></div>
<div id="floater_pick" data-dojo-type="dojox/layout/FloatingPane"
data-dojo-props= "title:'Choose a category', dockTo:'dock_pick', closable:false, resizable:true, dockable:true"
style="visibility:hidden;" >
<div id="pickDiv" >
category picking goes here
</div>
</div>
</div>
</div>
</body>
</html>
#floater_pick{
z-index: 999;
top:80px;
left: 80px;
width: 100px;
height: 100px;
}
position: absolute;
Tracy,
I don't think the panel is getting parsed/styled correctly because it is hidden when you display the application. I used a simplified version of your code to test and if you set the visiblity to visible then hide it after the app loads it works. Here's an example.
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7, IE=9, IE=10">
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Sample - Floating Pane if no URL parameter</title>
<link type="text/css" rel="stylesheet" href="https://js.arcgis.com/3.9/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/esri/dijit/css/Popup.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/dojo/dojox/layout/resources/FloatingPane.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/dojo/dojox/layout/resources/ResizeHandle.css">
<link rel="stylesheet" type="text/css" href="https://js.arcgis.com/3.9/js/esri/css/esri.css" >
<style>
html,body, #mapDiv {
height:100%;
width:100%;
margin:0;
}
#floater_pick{
z-index: 999;
top:80px;
left: 80px;
width: 100px;
height: 100px;
}
</style>
<script type="text/javascript">
var dojoConfig = {
async:true
};
</script>
<script type="text/javascript" src="https://js.arcgis.com/3.9compact/"></script>
<script type="text/javascript">
var map;
require(["dojo/parser", "esri/map", "esri/domUtils","esri/urlUtils",
"dojo/dom", "dijit/registry", "dojo/on", "dojo/dom-construct", "dojo/query", "dojo/dom", "dojo/dom-style",
"esri/layers/FeatureLayer", "esri/layers/ArcGISDynamicMapServiceLayer",
"esri/renderers/SimpleRenderer", "esri/symbols/SimpleLineSymbol", "esri/symbols/SimpleFillSymbol",
"esri/graphic", "dojo/_base/Color", "dojo/_base/array","dojo/aspect",
"dijit/form/Form", "dijit/form/RadioButton", "dijit/form/Button","dijit/form/TextBox",
"dijit/form/Select", "dijit/TitlePane", "dijit/layout/BorderContainer",
"dojox/layout/FloatingPane","dojox/layout/Dock",
"dojo/domReady!"],
function(parser, Map, domUtils, urlUtils, dom, registry, on, domConstruct, query, dom, domStyle,
FeatureLayer, ArcGISDynamicMapServiceLayer,SimpleRenderer, SimpleLineSymbol, SimpleFillSymbol, Graphic, Color,
arrayUtils, aspect){
parser.parse();
//hide floating pane
domStyle.set("floater_pick", "visibility", "hidden");
map = new Map("mapDiv", {
basemap: "topo",
center: [-92.593, 38.5],
zoom: 7
});
map.on("load", function(){
//show the panel
openFloatingPane("floater_pick");
});
//functions for managing floating panes
function openFloatingPane(paneId){
var fp = registry.byId(paneId);
if ((fp.style == "visibility: hidden;") || (fp.style = "VISIBILITY:hidden;")) {
fp.style.visibility = "visible";
fp.show();
}
}
});
</script>
</head>
<body class="claro">
<div id='mainWindow' data-dojo-type="dijit/layout/BorderContainer" data-dojo-props="design:'headline', gutters:false"
style="width:100%;height:100%;margin:0;">
<div id="mapDiv" data-dojo-type="dijit/layout/ContentPane" data-dojo-props="region:'center',gutters:'false'">
<div id="dock_pick" data-dojo-type="dojox/layout/Dock" ></div>
<div id="floater_pick" data-dojo-type="dojox/layout/FloatingPane"
data-dojo-props= "title:'Choose a category', dockTo:'dock_pick', closable:false, resizable:true, dockable:true"
style="visibility:visible;" >
<div id="pickDiv" >
category picking goes here
</div>
</div>
</div>
</div>
</body>
</html>