You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
product-iots/modules/samples/firealarm/units/public/js/firealarm.js

113 lines
3.7 KiB

/*
* 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.
*/
var modalPopup = ".wr-modalpopup";
var modalPopupContainer = modalPopup + " .modalpopup-container";
var modalPopupContent = modalPopup + " .modalpopup-content";
var body = "body";
/*
* set popup maximum height function.
*/
function setPopupMaxHeight() {
$(modalPopupContent).css('max-height', ($(body).height() - ($(body).height() / 100 * 30)));
$(modalPopupContainer).css('margin-top', (-($(modalPopupContainer).height() / 2)));
}
/*
* show popup function.
*/
function showPopup() {
$(modalPopup).show();
setPopupMaxHeight();
}
/*
* hide popup function.
*/
function hidePopup() {
$(modalPopupContent).html('');
$(modalPopup).hide();
}
/*
* DOM ready functions.
*/
$(document).ready(function () {
attachEvents();
});
function attachEvents() {
/**
* Following click function would execute
* when a user clicks on "Download" link
* on Device Management page in WSO2 DC Console.
*/
$("a.download-link").click(function () {
var sketchType = $(this).data("sketchtype");
var deviceType = $(this).data("devicetype");
var downloadDeviceAPI = "/iotserver/api/device/sketch/generate_link";
var payload = {"sketchType":sketchType, "deviceType":deviceType};
console.log(payload);
$(modalPopupContent).html($('#download-device-modal-content').html());
showPopup();
$("a#download-device-download-link").click(function () {
invokerUtil.post(
downloadDeviceAPI,
payload,
function (data, textStatus, jqxhr) {
if(jqxhr.status == 200) {
if(data == "403"){
$(modalPopupContent).html($('#device-403-content').html());
$("#device-403-link").click(function () {
window.location = "/iotserver/login";
});
showPopup();
}else {
$(modalPopupContent).html($('#download-device-modal-content-links').html());
$("#download-device-url").val(data);
$("#download-device-url").focus(function () {
$(this).select();
});
showPopup();
}
}else{
$(modalPopupContent).html($('#device-403-content').html());
$("#device-403-link").click(function () {
window.location.reload();
});
showPopup();
}
},
function () {
$(modalPopupContent).html($('#device-unexpected-error-content').html());
$("a#device-unexpected-error-link").click(function () {
hidePopup();
});
}
);
});
$("a#download-device-cancel-link").click(function () {
hidePopup();
});
});
}