diff --git a/src/components/cards.js b/src/components/cards.js index 9b8b514e24236d16b3ede7e92d3c596280281680..6672c89f3516fdaa0b1113aec249800bc6b42968 100644 --- a/src/components/cards.js +++ b/src/components/cards.js @@ -1,5 +1,7 @@ /// /// +/// +/// /// /// /// @@ -394,9 +396,235 @@ var STWkit; if (options.langdata) { _this.langData = options.langdata; } + _this.forcingmodel = "NEMO"; + if (options.forcing) { + _this.forcing = options.forcing; + if ((_this.forcing.features.length > 0) && (_this.forcing.features[0].properties)) + _this.forcingmodel = _this.forcing.features[0].properties.model; + } _this.cardMap = {}; return _this; } + CardControl.prototype.onAdd = function (map) { + var self = this; + if (this.langData) { + self.setup(map); + } + else { + reqwest({ + url: "lang/itracer." + self.lang + ".json", + method: 'get', + type: 'json', + success: function (lang) { + self.setup(map); + } + }); + } + L.DomEvent.disableClickPropagation(this.container); + L.DomEvent.on(this.container, 'mousewheel', L.DomEvent.stopPropagation); + window.addEventListener('card:populateData', function (e) { + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': true + }); + window.dispatchEvent(showevt); + (e.detail && e.detail.geojson && self.open(e.detail.geojson)); + }); + return this.container; + }; + CardControl.prototype.setup = function (map) { + var self = this; + this.map = map; + function addLabelDiv(parentDiv, labelTxt, labelInfo) { + var self = this; + var label = L.DomUtil.create('label', 'uk-form-label form-label', parentDiv); + label.textContent = labelTxt; + var addPositionInfo = L.DomUtil.create('span', 'uk-icon-hover uk-icon-info-circle', parentDiv); + addPositionInfo.onclick = function () { + UIkit.notify(" " + labelTxt + "

" + labelInfo, { status: 'info', timeout: 10000 }); + }; + } + ; + function addOption(parent, value, txt) { + var option = L.DomUtil.create('option', '', parent); + option.value = value; + option.textContent = txt; + } + self.startDiv = L.DomUtil.create('div', 'uk-width-medium-1-1 uk-container-center uk-margin-top', this.container); + var startform = L.DomUtil.create('form', 'uk-form uk-form-stacked', self.startDiv); + startform.onsubmit = function (e) { + e.preventDefault(); + e.stopPropagation(); + return false; + }; + var fieldset = L.DomUtil.create('fieldset', '', startform); + var calculationRowDiv = L.DomUtil.create('div', 'uk-form-row', fieldset); + addLabelDiv(calculationRowDiv, "Calculation mode", "See more information here"); + var calculationMode = L.DomUtil.create('div', 'uk-form-select', calculationRowDiv); + calculationMode.setAttribute('data-uk-form-select', ''); + var selectedMode = L.DomUtil.create('span', '', calculationMode); + self.selectCalculationMode = L.DomUtil.create('select', '', calculationMode); + addOption(self.selectCalculationMode, 'Fast', 'Fast / less detailed'); + addOption(self.selectCalculationMode, 'Normal', 'Normal'); + addOption(self.selectCalculationMode, 'Detailed', 'Detailed / slower'); + self.selectCalculationMode.selectedIndex = 1; + var uncertaintyRowDiv = L.DomUtil.create('div', 'uk-form-row', fieldset); + addLabelDiv(uncertaintyRowDiv, "Uncertainty", "See more information here"); + var uncertaintyLabel = L.DomUtil.create('label', '', uncertaintyRowDiv); + uncertaintyLabel.style.display = 'block'; + self.uncertaintyInput = L.DomUtil.create('input', '', uncertaintyLabel); + self.uncertaintyInput.type = 'checkbox'; + uncertaintyLabel.appendChild(document.createTextNode(' Extra uncertainty in weather forecast is added to simulation')); + var hr = L.DomUtil.create('hr', 'uk-margin-top', self.startDiv); + self.startButton = L.DomUtil.create('button', 'uk-button uk-button-success uk-margin-top uk-align-center', self.startDiv); + self.startButton.textContent = 'Start model'; + self.startDiv.style.display = 'none'; + self.startButton.onclick = function () { + self.startButton.disabled = true; + var geojson = {}; + geojson["type"] = "FeatureCollection"; + geojson["features"] = []; + for (var i in self.cardMap) { + if (self.cardMap.hasOwnProperty(i)) { + var card = self.cardMap[i]; + card.populateData(geojson); + } + } + if (self.id) + geojson["features"][0]["properties"]["uuid"] = self.id; + geojson["features"][0]["properties"]["domain"] = self.domain; + geojson["features"][0]["properties"]["model"] = self.forcingmodel; + geojson["features"][0]["properties"]["simulation"]["uncertainty"] = false; + if (self.uncertaintyInput.checked) + geojson["features"][0]["properties"]["simulation"]["uncertainty"] = true; + geojson["features"][0]["properties"]["simulation"]["mode"] = self.selectCalculationMode.value; + reqwest({ + url: 'startit', + type: 'json', + method: 'post', + contentType: 'application/json', + data: JSON.stringify(geojson), + error: function (err) { + self.startButton.disabled = false; + AccordionCard.warningMsg("Login", "You need to login to use this function."); + }, + success: function (location) { + var param = STWkit.getURLParams(); + param.push(['id', location.id]); + STWkit.updateUrl(param); + self.clear(); + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': false + }); + window.dispatchEvent(showevt); + var simevt = document.createEvent("CustomEvent"); + simevt.initCustomEvent('model:newSimulation', false, false, location.id); + window.dispatchEvent(simevt); + self.startButton.disabled = false; + } + }); + }; + UIkit.ready(function () { + self.accordion = UIkit.accordion(self.accordionDiv, { collapse: true, showfirst: true }); + // self.openCard(periodid, open); + self.updateBadgeStatus(); + self.accordion.on('toggle.uk.accordion', function (e, open, c) { + var id = c[0].id; + self.openCard(id, open); + }); + var param = STWkit.getURLParams(); + var ooload = STWkit.getParamValue('ooload', param); + if (ooload !== null) { + reqwest({ + url: "input/" + ooload, + method: 'get', + type: 'json', + success: function (inputjson) { + var cardevt = document.createEvent("CustomEvent"); + cardevt.initCustomEvent('card:populateData', false, false, { + 'geojson': inputjson + }); + window.dispatchEvent(cardevt); + STWkit.deleteParam('ooload', param); + STWkit.updateUrl(param); + } + }); + } + }); + }; + CardControl.prototype.open = function (geojson) { + var self = this; + if (geojson.features[0].properties.type == 'oil' && geojson.features[0].properties.subtype == 'observation') { + self.clear(); + for (var i in self.cardMap) { + if (self.cardMap.hasOwnProperty(i)) { + var card = self.cardMap[i]; + card.populateCard(geojson); + card.show(); + } + } + var evt = document.createEvent('Event'); + evt.initEvent("change", true, true); + var simulation = geojson.features[0].properties.simulation; + self.selectCalculationMode.value = simulation.mode; + self.selectCalculationMode.dispatchEvent(evt); + self.uncertaintyInput.checked = simulation.uncertainty; + self.id = geojson.features[0].properties.uuid; + } + }; + CardControl.prototype.ready = function (name) { + var self = this; + self.compname = name; + var p = STWkit.getURLParams(); + var pindex = STWkit.getParamIndex('oo', 1, p); + if (pindex >= 0) { + p[pindex][1] = 0; + if (history.pushState) { + var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + STWkit.getSearchUrl(p); + window.history.pushState({ path: newurl }, '', newurl); + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': true + }); + window.dispatchEvent(showevt); + } + } + var gindex = STWkit.getParamIndex('guide', 'oo', p); + if (gindex >= 0) { + reqwest({ + url: 'guide/oo', + method: 'get', + type: 'json', + success: function (guide) { + var intro = introJs(); + intro.setOptions(guide); + var prevElement = null; + intro.onbeforechange(function (targetElement) { + (prevElement && prevElement.guideFn && prevElement.guideFn()); + prevElement = targetElement; + }); + intro.oncomplete(function () { + var param = STWkit.getURLParams(); + if (STWkit.hasParam('guide', 'oo', param)) + STWkit.replaceParam('guide', 'player', param); + STWkit.updateUrl(param); + self.startButton.click(); + }); + intro.onexit(function () { + var param = STWkit.getURLParams(); + if (STWkit.hasParam('guide', 'oo', param)) + STWkit.deleteParam('guide', param); + STWkit.updateUrl(param); + }); + intro.start(); + } + }); + } + }; CardControl.prototype.updateBadgeStatus = function () { var self = this; var min = 0, count = 0; @@ -490,7 +718,7 @@ var STWkit; return nextId; }; ; - CardControl.prototype.showNext = function (chain, startDiv, id) { + CardControl.prototype.showNext = function (chain, id) { var self = this; if (self.cardMap[id].status) { var nextId = self.getNextCardId(chain, id); @@ -499,25 +727,25 @@ var STWkit; self.cardMap[nextId].show(); } else { - startDiv.style.display = 'block'; + self.startDiv.style.display = 'block'; delete self.cardMap[id].nextId; } } }; ; - CardControl.prototype.callback = function (chain, startDiv, accordion, id, gonext) { + CardControl.prototype.callback = function (chain, id, gonext) { var self = this; if (self.cardMap[id].status) { self.updateBadgeStatus(); if (gonext) { - self.showNext(chain, startDiv, id); - accordion.toggleItem($("#" + id).data('wrapper'), true, true); - (self.cardMap[id].nextId && accordion.toggleItem($("#" + self.cardMap[id].nextId).data('wrapper'), true, true)); + self.showNext(chain, id); + self.accordion.toggleItem($("#" + id).data('wrapper'), true, true); + (self.cardMap[id].nextId && self.accordion.toggleItem($("#" + self.cardMap[id].nextId).data('wrapper'), true, true)); } } else { self.updateBadgeStatus(); - startDiv.style.display = 'none'; + self.startDiv.style.display = 'none'; } }; ; diff --git a/src/components/cards.js.map b/src/components/cards.js.map index b0ee9b39a591180fce2e8890c0905aaf0402e38b..f87a72d5d5162b91d598c2ead5b108e3be9e6bac 100644 --- a/src/components/cards.js.map +++ b/src/components/cards.js.map @@ -1 +1 @@ -{"version":3,"file":"cards.js","sourceRoot":"","sources":["cards.ts"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"cards.js","sourceRoot":"","sources":["cards.ts"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/src/components/cards.ts b/src/components/cards.ts index 6060ba4d6e2c87c7acfe3d215e6dace109f52cf5..10658e04574bc1a68007208e23cd77af89f0832d 100644 --- a/src/components/cards.ts +++ b/src/components/cards.ts @@ -1,5 +1,7 @@ /// /// +/// +/// /// /// /// @@ -424,11 +426,23 @@ module STWkit { export class CardControl extends L.Control { private id: any; + private container: HTMLElement; + private startDiv: HTMLDivElement; + private accordionDiv: HTMLDivElement; + private accordion: any; private lang: string; private langData: any; private domain: string; private cardMap: any; + private forcing: any; + private forcingmodel: string; + private map: L.Map; + private compname: string; + private selectCalculationMode: HTMLSelectElement; + private uncertaintyInput: HTMLInputElement; + private startButton: HTMLButtonElement; + constructor(options) { super(options); this.domain = "HELCOM"; @@ -442,10 +456,251 @@ module STWkit { if (options.langdata) { this.langData = options.langdata; } + this.forcingmodel = "NEMO"; + if (options.forcing) { + this.forcing = options.forcing; + if ((this.forcing.features.length > 0) && (this.forcing.features[0].properties)) + this.forcingmodel = this.forcing.features[0].properties.model; + } this.cardMap = {}; } + public onAdd(map) { + var self = this; + + if (this.langData) { + self.setup(map); + } else { + reqwest({ + url: "lang/itracer." + self.lang + ".json", + method: 'get', + type: 'json', + success: function (lang) { + self.setup(map); + } + }); + } + + L.DomEvent.disableClickPropagation(this.container); + L.DomEvent.on(this.container, 'mousewheel', L.DomEvent.stopPropagation); + + window.addEventListener('card:populateData', function (e: any) { + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': true + }); + window.dispatchEvent(showevt); + (e.detail && e.detail.geojson && self.open(e.detail.geojson)); + }); + + return this.container; + } + + private setup(map) { + var self = this; + this.map = map; + + function addLabelDiv(parentDiv, labelTxt, labelInfo){ + var self = this; + var label = L.DomUtil.create('label', 'uk-form-label form-label', parentDiv); + label.textContent = labelTxt; + var addPositionInfo = L.DomUtil.create('span', 'uk-icon-hover uk-icon-info-circle', parentDiv); + addPositionInfo.onclick = function() { + UIkit.notify(" " + labelTxt + "

" + labelInfo, { status: 'info', timeout: 10000 }); + }; + }; + function addOption(parent, value, txt ) { + var option = L.DomUtil.create('option', '', parent); + option.value = value; + option.textContent = txt; + } + self.startDiv = L.DomUtil.create('div', 'uk-width-medium-1-1 uk-container-center uk-margin-top', this.container); + var startform = L.DomUtil.create('form', 'uk-form uk-form-stacked', self.startDiv); + startform.onsubmit = function(e){ + e.preventDefault(); + e.stopPropagation(); + return false; + }; + var fieldset = L.DomUtil.create('fieldset', '', startform); + var calculationRowDiv = L.DomUtil.create('div', 'uk-form-row', fieldset); + addLabelDiv(calculationRowDiv, "Calculation mode", "See more information here"); + var calculationMode = L.DomUtil.create('div', 'uk-form-select', calculationRowDiv); + calculationMode.setAttribute('data-uk-form-select',''); + var selectedMode = L.DomUtil.create('span', '', calculationMode); + self.selectCalculationMode = L.DomUtil.create('select', '', calculationMode); + addOption(self.selectCalculationMode,'Fast', 'Fast / less detailed'); + addOption(self.selectCalculationMode,'Normal', 'Normal'); + addOption(self.selectCalculationMode,'Detailed', 'Detailed / slower'); + self.selectCalculationMode.selectedIndex = 1; + var uncertaintyRowDiv = L.DomUtil.create('div', 'uk-form-row', fieldset); + addLabelDiv(uncertaintyRowDiv, "Uncertainty", "See more information here"); + var uncertaintyLabel = L.DomUtil.create('label', '', uncertaintyRowDiv); + uncertaintyLabel.style.display = 'block'; + self.uncertaintyInput = L.DomUtil.create('input', '', uncertaintyLabel); + self.uncertaintyInput.type = 'checkbox'; + uncertaintyLabel.appendChild(document.createTextNode(' Extra uncertainty in weather forecast is added to simulation')); + + var hr = L.DomUtil.create('hr', 'uk-margin-top', self.startDiv); + self.startButton = L.DomUtil.create('button', 'uk-button uk-button-success uk-margin-top uk-align-center', self.startDiv); + self.startButton.textContent = 'Start model'; + self.startDiv.style.display = 'none'; + + self.startButton.onclick = () => { + self.startButton.disabled = true; + var geojson = {}; + geojson["type"] = "FeatureCollection"; + geojson["features"] = []; + + for (var i in self.cardMap) { + if (self.cardMap.hasOwnProperty(i)) { + var card = self.cardMap[i]; + card.populateData(geojson); + } + } + if (self.id) geojson["features"][0]["properties"]["uuid"] = self.id; + geojson["features"][0]["properties"]["domain"] = self.domain; + geojson["features"][0]["properties"]["model"] = self.forcingmodel; + geojson["features"][0]["properties"]["simulation"]["uncertainty"] = false; + if (self.uncertaintyInput.checked) geojson["features"][0]["properties"]["simulation"]["uncertainty"] = true; + geojson["features"][0]["properties"]["simulation"]["mode"] = self.selectCalculationMode.value; + + reqwest({ + url: 'startit', + type: 'json', + method: 'post', + contentType: 'application/json', + data: JSON.stringify(geojson), + error: function (err) { + self.startButton.disabled = false; + AccordionCard.warningMsg("Login", "You need to login to use this function."); + }, + success: function (location) { + var param = STWkit.getURLParams(); + param.push(['id', location.id]); + STWkit.updateUrl(param); + self.clear(); + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': false + }); + window.dispatchEvent(showevt); + var simevt = document.createEvent("CustomEvent"); + simevt.initCustomEvent('model:newSimulation', false, false, location.id); + window.dispatchEvent(simevt); + self.startButton.disabled = false; + } + }); + }; + + UIkit.ready(() => { + self.accordion = UIkit.accordion(self.accordionDiv, { collapse: true, showfirst: true }); + // self.openCard(periodid, open); + self.updateBadgeStatus(); + + self.accordion.on('toggle.uk.accordion', (e, open, c) => { + var id = c[0].id; + self.openCard(id, open); + }); + var param = STWkit.getURLParams(); + var ooload = STWkit.getParamValue('ooload', param); + if (ooload !== null) { + reqwest({ + url: "input/" + ooload, + method: 'get', + type: 'json', + success: function (inputjson) { + var cardevt = document.createEvent("CustomEvent"); + cardevt.initCustomEvent('card:populateData', false, false, { + 'geojson': inputjson + }); + window.dispatchEvent(cardevt); + STWkit.deleteParam('ooload', param); + STWkit.updateUrl(param); + } + }); + } + }); + + + + } + + + public open(geojson) { + var self = this; + if (geojson.features[0].properties.type == 'oil' && geojson.features[0].properties.subtype == 'observation') { + self.clear(); + for (var i in self.cardMap) { + if (self.cardMap.hasOwnProperty(i)) { + var card = self.cardMap[i]; + card.populateCard(geojson); + card.show(); + } + } + var evt = document.createEvent('Event'); + evt.initEvent("change", true, true); + var simulation = geojson.features[0].properties.simulation; + self.selectCalculationMode.value = simulation.mode; + self.selectCalculationMode.dispatchEvent(evt); + self.uncertaintyInput.checked = simulation.uncertainty; + self.id = geojson.features[0].properties.uuid; + + } + } + + public ready(name) { + var self = this; + self.compname = name; + var p = STWkit.getURLParams(); + var pindex = STWkit.getParamIndex('oo', 1, p); + if (pindex >= 0) { + p[pindex][1] = 0; + if (history.pushState) { + var newurl = window.location.protocol + "//" + window.location.host + window.location.pathname + STWkit.getSearchUrl(p); + window.history.pushState({ path: newurl }, '', newurl); + var showevt = document.createEvent("CustomEvent"); + showevt.initCustomEvent('container:showComponent', false, false, { + 'name': self.compname, + 'show': true + }); + window.dispatchEvent(showevt); + } + + } + var gindex = STWkit.getParamIndex('guide', 'oo', p); + if (gindex >= 0) { + reqwest({ + url: 'guide/oo', + method: 'get', + type: 'json', + success: function (guide) { + var intro = introJs(); + intro.setOptions(guide); + var prevElement = null; + intro.onbeforechange(function (targetElement) { + (prevElement && prevElement.guideFn && prevElement.guideFn()) + prevElement = targetElement; + }); + intro.oncomplete(function() { + var param = STWkit.getURLParams(); + if (STWkit.hasParam('guide', 'oo', param)) STWkit.replaceParam('guide', 'player', param); + STWkit.updateUrl(param); + self.startButton.click(); + }); + intro.onexit(function () { + var param = STWkit.getURLParams(); + if (STWkit.hasParam('guide', 'oo', param)) STWkit.deleteParam('guide', param); + STWkit.updateUrl(param); + }); + intro.start(); + } + }); + } + } + private updateBadgeStatus() { var self = this; @@ -537,7 +792,7 @@ module STWkit { return nextId; }; - private showNext(chain, startDiv, id) { + private showNext(chain, id) { var self = this; if (self.cardMap[id].status) { var nextId = self.getNextCardId(chain, id); @@ -545,24 +800,24 @@ module STWkit { self.cardMap[id].nextId = nextId; self.cardMap[nextId].show(); } else { - startDiv.style.display = 'block'; + self.startDiv.style.display = 'block'; delete self.cardMap[id].nextId; } } }; - public callback(chain, startDiv, accordion, id, gonext) { + public callback(chain, id, gonext) { var self = this; if (self.cardMap[id].status) { self.updateBadgeStatus(); if (gonext) { - self.showNext(chain, startDiv, id); - accordion.toggleItem($("#" + id).data('wrapper'), true, true); - (self.cardMap[id].nextId && accordion.toggleItem($("#" + self.cardMap[id].nextId).data('wrapper'), true, true)) + self.showNext(chain, id); + self.accordion.toggleItem($("#" + id).data('wrapper'), true, true); + (self.cardMap[id].nextId && self.accordion.toggleItem($("#" + self.cardMap[id].nextId).data('wrapper'), true, true)) } } else { self.updateBadgeStatus(); - startDiv.style.display = 'none' + self.startDiv.style.display = 'none' } }; } diff --git a/src/def/introJs.d.ts b/src/def/introJs.d.ts new file mode 100644 index 0000000000000000000000000000000000000000..324de7508a7b6b863b1805c29acaf1c3921971da --- /dev/null +++ b/src/def/introJs.d.ts @@ -0,0 +1 @@ +declare function introJs() : any; \ No newline at end of file diff --git a/src/def/stwkit.d.ts b/src/def/stwkit.d.ts index 36171cc3a310545138e2a942b8ddeff03f13fe09..93377e3efae5b32e52436b634c6e2d6a35ec977a 100644 --- a/src/def/stwkit.d.ts +++ b/src/def/stwkit.d.ts @@ -1,4 +1,12 @@ -declare module STWkit{ +declare namespace STWkit{ export var DomUtil: any; + export var getParamIndex: any; + export var getURLParams: any; + export var hasParam: any; + export var replaceParam: any; + export var updateUrl: any; + export var deleteParam: any; + export var getSearchUrl: any; + export var getParamValue: any; } \ No newline at end of file