diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag index a16cebfb..08576f2a 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/fuse.jag @@ -11,8 +11,14 @@ File.prototype.getPath = function() { var fuseState = { zones: {}, appName: '', +<<<<<<< HEAD zoneStack: [], currentUnit: null +======= + currentZone: [], //TODO: rename to zone Stack + currentUnit: null, + viewModelCache:{} +>>>>>>> e27279a83b0f9a100b0a1df5ec6c63bf9b7dbf8e }; var requestId = function makeId() { diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js index 9ea058b2..648a06f1 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/lib/handlebars-helpers.js @@ -11,29 +11,35 @@ var getScope = function (unit,configs) { var viewModel = {}; var cbResult; if (jsFile.isExists()) { - script = require(jsFile.getPath()); - //Eagerly make the viewModel the template configs - viewModel = templateConfigs; - //Check if the unit author has specified an onRequest - //callback - if(script.hasOwnProperty('onRequest')){ - script.app = { - url: '/' + fuseState.appName, - publicURL: '/' + fuseState.appName + '/public/' + unit, - "class": unit + '-unit' - }; - onRequestCb = script.onRequest; - cbResult = onRequestCb(templateConfigs); - log.debug("passing configs to unit "+unit+" configs: "+stringify(templateConfigs)); - //If the execution does not yield an object we will print - //a warning as the unit author may have forgotten to return a data object - if(cbResult===undefined){ - cbResult = {}; //Give an empty data object - log.warn('[' + requestId + '] unit "' + unit + '" has a onRequest method which does not return a value.This may lead to the ' - +'unit not been rendered correctly.'); + if(fuseState.viewModelCache[jsFile.getPath()]){ + cbResult = fuseState.viewModelCache[jsFile.getPath()]; + }else{ + script = require(jsFile.getPath()); + //Eagerly make the viewModel the template configs + viewModel = templateConfigs; + //Check if the unit author has specified an onRequest + //callback + if(script.hasOwnProperty('onRequest')){ + script.app = { + url: '/' + fuseState.appName, + publicURL: '/' + fuseState.appName + '/public/' + unit, + "class": unit + '-unit' + }; + onRequestCb = script.onRequest; + cbResult = onRequestCb(templateConfigs); + log.debug("passing configs to unit "+unit+" configs: "+stringify(templateConfigs)); + fuseState.viewModelCache[jsFile.getPath()] = cbResult; } - viewModel = cbResult; } + + //If the execution does not yield an object we will print + //a warning as the unit author may have forgotten to return a data object + if(cbResult===undefined){ + cbResult = {}; //Give an empty data object + log.warn('[' + requestId + '] unit "' + unit + '" has a onRequest method which does not return a value.This may lead to the ' + +'unit not been rendered correctly.'); + } + viewModel = cbResult; } else{ //If there is no script then the view should get the configurations diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/device-detail/public/js/device-detail.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/device-detail/public/js/device-detail.js index c453c889..18462e9d 100644 --- a/modules/distribution/src/repository/jaggeryapps/iotserver/units/device-detail/public/js/device-detail.js +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/device-detail/public/js/device-detail.js @@ -24,46 +24,7 @@ function formatDates(){ } (function () { - var deviceId = $(".device-id"); - var deviceIdentifier = deviceId.data("deviceid"); - var deviceType = deviceId.data("type"); - var payload = [deviceIdentifier]; - if (deviceType == "ios") { - var serviceUrl = "/ios/operation/deviceinfo"; - } else if (deviceType == "android") { - var serviceUrl = "/mdm-android-agent/operation/device-info"; - } - invokerUtil.post(serviceUrl, payload, - function(message){ - console.log(message); - }, function (message) { - console.log(message); - }); $(document).ready(function(){ - loadOperationBar(deviceType); - loadMap(); formatDates(); }); - function loadMap(){ - var map; - function initialize() { - var mapOptions = { - zoom: 18 - }; - var lat = 6.9098591; - var long = 79.8523753; - map = new google.maps.Map(document.getElementById('device-location'), - mapOptions); - - var pos = new google.maps.LatLng(lat, - long); - var marker = new google.maps.Marker({ - position: pos, - map: map - }); - - map.setCenter(pos); - } - google.maps.event.addDomListener(window, 'load', initialize); - } }()); diff --git a/modules/distribution/src/repository/jaggeryapps/iotserver/units/policy-detail/public/js/policy-detail.js b/modules/distribution/src/repository/jaggeryapps/iotserver/units/policy-detail/public/js/policy-detail.js new file mode 100644 index 00000000..18462e9d --- /dev/null +++ b/modules/distribution/src/repository/jaggeryapps/iotserver/units/policy-detail/public/js/policy-detail.js @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2015, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + * + * WSO2 Inc. licenses this file to you under the Apache License, + * Version 2.0 (the "License"); you may not use this file except + * in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, + * either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +function formatDates(){ + $(".formatDate").each(function(){ + var timeStamp = $(this).html(); + $(this).html(new Date(parseInt(timeStamp)).toUTCString()); + }); +} + +(function () { + $(document).ready(function(){ + formatDates(); + }); +}());