Solved! Go to Solution.
dojoConfig = { async: 1, parseOnLoad: true, packages: [ { name: "cbtree", location: location.pathname.replace(/\/[^/]+$/, "") + "src/libs/cbtree" } ] };define(['cbtree/Tree', 'cbtree/models/TreeStoreModel'], function(Tree, TreeStoreModel) { return { treeTest: function(){ console.log("cbtree files loaded:", Tree, TreeStoreModel); } }; });dojoConfig = { async: 1, parseOnLoad: true, packages: [ { name: "cbtree", location: location.pathname.replace(/\/[^/]+$/, "") + "src/libs/cbtree" } ] };define(['cbtree/Tree', 'cbtree/models/TreeStoreModel'], function(Tree, TreeStoreModel) { return { treeTest: function(){ console.log("cbtree files loaded:", Tree, TreeStoreModel); } }; });Error: multipleDefine
...push(_2f1);_2f1=null;_2e9=_2eb=-1;}else{if(cc=="="){var _2f7=("|~^$*".indexOf(lc...
?v=3.0 (Zeile 15)
src: dojoLoader
?v=3.0 (Zeile 15)
info: Object { pid="cbtree", mid="cbtree/Tree", pack={...}, mehr...}
... do some css stuff ...
<script type="text/javascript">
var dojoConfig = {
parseOnLoad : true,
isDebug : true,
packages : [{
name : "cbtree",
location : location.pathname.replace(/\/[^/]+$/, "") + "/js/cbtree",
}]
};
</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0"></script>
<script type="text/javascript">
dojo.require("dijit.dijit")
dojo.require("dijit.layout.BorderContainer");
dojo.require("dijit.layout.ContentPane");
dojo.require("dijit.layout.AccordionContainer");
dojo.require("esri.map");
dojo.require("esri.dijit.Legend");
dojo.require("esri.layers.FeatureLayer");
dojo.require("esri.dijit.OverviewMap");
dojo.require("esri.dijit.Scalebar");
dojo.require("dojo.parser");
dojo.require("dijit.TooltipDialog");
dojo.require("dojo.number");
dojo.require("dijit.form.CheckBox");
var map, layer
var mapServiceURL = "path to our server"
var featureLayerArray = new Array()
var activeLayer
var mouseOverEvent, mouseOutEvent
function init() {
require(["dojo/data/ItemFileReadStore", "dojo/store/Observable", "cbtree/Tree", "cbtree/models/ForestStoreModel", "dojo/query", "dojo/domReady"], function(ItemFileReadStore, Observable, Tree, ForestStoreModel, dndSource, query) {
var store = new ItemFileReadStore({
url : "data/layer.json"
});
var model = new ForestStoreModel({
store : store,
query : {
type : 'thema'
},
rootId : 'root',
rootLabel : 'Themen'
});
var tree = new Tree({
model : model,
id: "MenuTree",
branchIcons: true,
branchReadOnly: true,
checkBoxes: true,
nodeIcons: true
});
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=7,IE=9" />
<!--The viewport meta tag is used to improve the presentation and behavior of the samples
on iOS devices-->
<meta name="viewport" content="initial-scale=1, maximum-scale=1,user-scalable=no"/>
<title>Checkbox Tree</title>
<style type="text/css">
@import "http://serverapi.arcgisonline.com/jsapi/arcgis/3.0/js/dojo/dijit/themes/claro/claro.css";
@import "src/libs/cbtree/themes/claro/claro.css";
</style>
<script type="text/javascript">
var dojoConfig = {
parseOnLoad : true,
packages : [{
name : "cbtree",
location : location.pathname.replace(/\/[^/]+$/, "") + "/src/libs/cbtree"
}]
};
</script>
<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=3.0"></script>
<script type="text/javascript">
require(["dojo/_base/connect", "dojo/store/Observable", "dojo/query", "dojo/domReady", "cbtree/Tree","cbtree/models/ForestStoreModel", "dijit/layout/BorderContainer", "dijit/layout/ContentPane"], function(connect, Observable, query, domReady, Tree, ForestStoreModel) {
function checkBoxClicked( item, nodeWidget, evt ) {
alert( "The new state for " + this.getLabel(item) + " is: " + nodeWidget.get("checked") );
}
var store = new dojo.data.ItemFileWriteStore({
url : "data/small.json"
});
var model = new ForestStoreModel({
store : store,
query : {
type : 'thema'
},
rootId : 'root',
rootLabel : 'Themen'
});
tree = new Tree({
model : model,
id: "MenuTree",
showRoot : false,
branchIcons: true,
branchReadOnly: true,
checkBoxes: true,
nodeIcons: true
});
connect.connect( tree, "onCheckBoxClick", model, checkBoxClicked );
domReady( function() {
tree.placeAt('legendPane');
});
console.debug("fertig geladen")
init();
});
</script>
</head>
<body class="claro">
<div id="legendPane">
sdgfhkl
</div>
</body>
</html>
dojoConfig = {
has: {
"dojo-firebug": true,
"dojo-debug-messages": true
},
async: true,
waitSeconds: 3,
tlmSiblingOfDojo: false,
baseUrl: 'location.pathname.replace(/\/[^/]+$/, "")',
packages: [{
name: "agsjs",
location: "/js/lib/agsjs/"
}, {
name: "modules",
location: "/js/lib/WURadarLayer/"
}],
};
<!DOCTYPE html>
<html>
<head>
<!-- --- header stuff .... -->
<link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/dojo/dijit/themes/claro/claro.css">
<link rel="stylesheet" href="http://serverapi.arcgisonline.com/jsapi/arcgis/3.3/js/esri/css/esri.css">
<script src="js/my/dojoConfig.js"></script>
<script>var dojoConfig = { parseOnLoad: true };</script>
<script src="//serverapi.arcgisonline.com/jsapi/arcgis/3.3/"></script>
<script src="js/my/myMap.js"></script>
</head>
<body class="claro">
<!-- ---- body stuff .... -->
require(["esri/map",
"esri/layers/FeatureLayer",
"esri/dijit/Popup",
"esri/tasks/Query",
"esri/dijit/Geocoder",
"esri/dijit/Scalebar",
"esri/dijit/Legend",
"esri/dijit/Print",
"agsjs/TOC",
"modules/WURadarLayer",
"dojo/DeferredList",
"dojo/_base/connect",
"esri/layers/FeatureLayer",
"esri/dijit/Measurement",
"dijit/TitlePane",
"esri/dijit/OverviewMap"
], function (map) {
var initialExtent = esri.geometry.geographicToWebMercator(
new esri.geometry.Extent(-81.20953, 32.12281, -81.17640, 32.14837,
new esri.SpatialReference({ wkid: 3857 })
));
var popup = new esri.dijit.Popup(null, dojo.create("div"));
map = new esri.Map("map", {
slider: false,
wrapAround180: true, //set wraparound to false if the extent is limited.
showAttribution: false,
logo: false, // or, just hide the esri logo and don't ask me no questions :)
infoWindow: popup,
slider: true,
sliderStyle: "small",
autoResize: true,
extent: initialExtent
});
var basemap = new esri.layers.ArcGISTiledMapServiceLayer(getWebData.ESRIWorldTopoMap);
map.addLayer(basemap);
dojo.place(popup.domNode, map.root);
////// lots more stuff, and widgets, including a radar loop layer (WURadar) and Table of Contents (AGSJS TOC)
map.setExtent(initialExtent);
map.resize();
dojo.connect(map, "onLoad", function () {
dojo.connect(dijit.byId("map"), "resize", map, map.resize);
});
})
In fact I don't know the difference between "require" and "define".
You use define to define a new module. You use require when you are only consuming other modules and not defining your own.