/**
* Entry point for the application
* @module app/main
* @author David Kristiansen <david.kristiansen@nscc.ca>
* @copyright Nova Scotia Community College 2017
*/
define([
"dojo/ready",
"dojo/on",
"dojo/dom",
"dijit/registry",
"dojo/topic",
"dojo/keys",
"dojo/cookie",
"dijit/TooltipDialog",
"dijit/popup",
"app/widget/DisclaimerWindow",
"app/Layout",
"app/widget/MapWidget",
"app/DataController",
"app/SidebarController"
],
function (
ready,
on,
dom,
registry,
topic,
keys,
cookie,
TooltipDialog,
popup,
DisclaimerWindow,
Layout,
MapWidget,
DC,
SidebarController
) {
var app = {};
if (cookie("disclaimer") != "accepted") {
app.disclaimer = new DisclaimerWindow({
title: "Disclaimer",
style: "width: 500px"
});
app.disclaimer.show();
}
app.layout = new Layout({
title: "Maritime Coastal Flood Risk Map",
// description: "Click or select a Lidar Coverage Area to zoom in",
sidebarContent: "",
mapContent: "<div id='homebutton'></div> <img id='loadingImg' src='https://js.arcgis.com/3.19/esri/themes/calcite/images/loadingIndicator/loading-dark.gif' /><div id='fldControls'><div id='sliderTitle'><div id='sliderVTxt'>Flood Level</div></div><span id='sliderSpan'><div id='twlSlider'><div id='rulesNode'></div><div id='labelsNode'></div></div></span></div>",
footerContent: "Created by AGRG of the NSCC ©2017"
}, dom.byId("main"));
app.mapWidget = new MapWidget({
navigationMode: 'css-tranforms',
extent: {
"xmin": -67.42191601562364,
"ymin": 43.559155856810165,
"xmax": -59.12723828124905,
"ymax": 46.9227486438679,
"spatialReference": {
"wkid": 4326
}
},
basemap: 'topo',
geocoder: true
});
app.Data = new DC("");
app.Data.startup();
app.layout.startup();
app.mapWidget.startup();
app.Data.on("load", function () {
app.sidebarController = new SidebarController({
map: app.mapWidget.map,
data: app.Data
});
app.sidebarController.startup();
});
app.mapWidget.map.on("load", function () {
app.mapWidget.map.graphics.enableMouseEvents();
var onBoardingDialog = new TooltipDialog({
id: 'onBoadingTooltip',
content: "<p class='onboardingTxt'>Choose a Lidar Coverage Area to get started!</p>",
onMouseLeave: function () {
popup.close(onBoardingDialog);
}
});
popup.open({
popup: onBoardingDialog,
orient: ["after-centered", "after", "below-alt"],
around: dom.byId('btnZoom')
});
});
app.mapWidget.map.on('key-up', function (evt) {
if (evt.altKey && evt.keyCode === 67) {
topic.publish("ChartDemo");
}
if (evt.altKey && evt.keyCode === 76) {
topic.publish("nor'easter");
}
if (evt.keyCode === 104) { //up on numpad with numlock
//change flood level
console.log("Go get 'em kid!");
}
if (evt.keyCode === 98) { //down on numpad with numlock
//change flood level down
}
});
topic.subscribe("selection", function (val) {
var selectFlood = val.toFixed(1) * 100; //convert value into flood layer 10 cm unit
selectFlood = selectFlood.toFixed();
if (val >= 0) {
registry.byId("twlSlider").set("value", selectFlood);
} else {
registry.byId("twlSlider").set("value", 0);
}
});
return app;
});