add iot app store demo (#96)
This commit is contained in:
136
test-tools/IoT-APP-Store-Demo/wasm_django/static/js/appstore.js
Normal file
136
test-tools/IoT-APP-Store-Demo/wasm_django/static/js/appstore.js
Normal file
@ -0,0 +1,136 @@
|
||||
/* Copyright (C) 2019 Intel Corporation. All rights reserved.
|
||||
*
|
||||
* Licensed 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 setDivCenter(divname)
|
||||
//Center a dom
|
||||
{
|
||||
var Top =($(window).height()-$(divname).height())/2;
|
||||
var Left = ($(window).width()-$(divname).width())/2;
|
||||
var scrollTop = $(document).scrollTop();
|
||||
var scrollLeft = $(document).scrollLeft();
|
||||
$(divname).css({posisiton:'absolute','top':Top+scrollTop,'left':Left+scrollLeft});
|
||||
|
||||
};
|
||||
setDivCenter(".deletebox");
|
||||
|
||||
function setDivheight(divname)
|
||||
//set the height of "appbook" to contain all its child elements.
|
||||
{
|
||||
var leng = elist.length + flist.length;
|
||||
var heig = 51 * leng;
|
||||
$(divname).css({height:'heig'});
|
||||
};
|
||||
setDivheight(".appbook");
|
||||
|
||||
function setfooterposition(divname)
|
||||
//Locate footer on the right place
|
||||
{
|
||||
var Top = flist.length* $("#devices").height()+300;
|
||||
var scrollTop = $(document).scrollTop();
|
||||
if (flist.length >=4){
|
||||
$(divname).css({posisiton:'absolute','top':Top+scrollTop});
|
||||
}
|
||||
}
|
||||
setfooterposition(".footer");
|
||||
|
||||
function deleteClick (obj)
|
||||
//Remove an app from apppstore if clicks the "OK" button
|
||||
{
|
||||
var indexapp = $(obj).attr('class').match(/\d+\b/);
|
||||
var removeitem = $(".applic"+indexapp);
|
||||
var name=removeitem.find('#appinfo1').text().split(":")[1].trim();
|
||||
var version=removeitem.find('#appinfo2').text().split(":")[1].trim();
|
||||
|
||||
if (flist.length >= 1){
|
||||
$(".deletebox").fadeIn();
|
||||
$(".findapp").html("Are you sure to delete "+name);
|
||||
$(".suresbtn").click(function (){
|
||||
removeitem.remove();
|
||||
$.get("/removeapps/",{'name':name,'version':version},function (ret) {
|
||||
console.log(ret);});
|
||||
$(".deletebox").fadeOut();
|
||||
window.location.href="/appstore/";
|
||||
})
|
||||
$(".delsbtn").click(function (){
|
||||
$(".deletebox").fadeOut(); })}
|
||||
};
|
||||
|
||||
function upload_file()
|
||||
//Make sure the uploading file is eligible
|
||||
{
|
||||
var type = ulist[0];
|
||||
console.log(type);
|
||||
if (type == "Not a wasm file"){
|
||||
alert(type);
|
||||
window.location.href="/appstore/";
|
||||
}
|
||||
if (type == "This App is preloaded"){
|
||||
alert(type);
|
||||
window.location.href="/appstore/";
|
||||
}
|
||||
if (type == "This App is already uploaded"){
|
||||
alert(type);
|
||||
window.location.href="/appstore/";
|
||||
}
|
||||
};
|
||||
upload_file();
|
||||
|
||||
|
||||
function clone()
|
||||
//Render a interface that shows all the apps for installing in appstore,
|
||||
//including preloaded ones and locally uploaded ones.
|
||||
{
|
||||
|
||||
var sourceNode = document.getElementById("applications");
|
||||
$("#appinfo1").html("product name : "+ elist[0]['ID']);
|
||||
$("#appinfo2").html("product Version : "+ elist[0]['Version']);
|
||||
$("#delbutton").attr('class','del0');
|
||||
$("#applications").attr('class','applic0');
|
||||
|
||||
|
||||
for (var i=1; i<elist.length; i++)
|
||||
{
|
||||
var cloneNode= sourceNode.cloneNode(true);
|
||||
sourceNode.parentNode.appendChild(cloneNode);
|
||||
$("#appinfo1").html("product name : "+ elist[i]['ID']);
|
||||
$("#appinfo2").html("product Version : "+ elist[i]['Version']);
|
||||
$("#delbutton").attr('class','del'+i);
|
||||
$("#applications").attr('class','applic'+i);
|
||||
|
||||
}
|
||||
|
||||
for (var i = elist.length; i< elist.length + flist.length; i++)
|
||||
{
|
||||
var cloneNode= sourceNode.cloneNode(true);
|
||||
sourceNode.parentNode.appendChild(cloneNode);
|
||||
$("#appinfo1").html("product name : "+ flist[i - elist.length]['ID']);
|
||||
$("#appinfo2").html("product Version : "+ flist[i - elist.length]['Version']);
|
||||
$("#lable").html("Custom Apps").css("color","green");
|
||||
$("#delbutton").attr('class','del'+i);
|
||||
$("#applications").attr('class','applic'+i);
|
||||
|
||||
}
|
||||
|
||||
for(var i = 0; i < elist.length; i++)
|
||||
{
|
||||
var tmp_node = document.getElementsByClassName("del" + i)[0]
|
||||
tmp_node.disabled = true
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
clone();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user