mirror of
				https://github.com/bytecodealliance/wasm-micro-runtime.git
				synced 2025-10-31 05:11:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			218 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			218 lines
		
	
	
		
			7.0 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| /* Copyright (C) 2019 Intel Corporation.  All rights reserved.
 | |
| * SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
 | |
| */
 | |
| 
 | |
| /*
 | |
|  *  Dom Location
 | |
|  *
 | |
|  */
 | |
| 
 | |
|  function setDivCenter(divname)
 | |
| // make qn element center aligned
 | |
|  {
 | |
|    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(".middlebox");
 | |
| setDivCenter(".deletebox");
 | |
| 
 | |
| function setmain(divname){
 | |
| // Set the pop-up window of apps for download at the right place
 | |
|     var x = $('#btn').offset().top;
 | |
|     var Top = x + $('#btn').height()+15;
 | |
|     var y = $('#btn').offset().left;
 | |
|     var Left = y + ($('#btn').width()/2)-($(divname).width()/2);
 | |
|     console.log(Top,Left)
 | |
|     $(divname).css({'top':Top,'left':Left});
 | |
| }
 | |
| setmain(".main")
 | |
| 
 | |
| /*
 | |
|  * download apps
 | |
|  *
 | |
|  */
 | |
| 
 | |
| function getthis(val)
 | |
| //Telling background which app to be loaded from appstore_list and to be installed in the current device.
 | |
| {
 | |
| 
 | |
|     /* Get the ip adress and the port of a device, as well as the application ID to be downloaded on this device*/ 
 | |
|     var ip,port,name,version;
 | |
|     var ipArr=$("#IPs").text().split(":");
 | |
|     ip=ipArr[1];
 | |
|     var portArr=$("#ports").text().split(":");
 | |
|     port=portArr[1];
 | |
|     name = $(val).parent().find("#appsinfo1").text().split(":")[1];
 | |
|     version = $(val).parent().find("#appsinfo2").text().split(":")[1];
 | |
|     $(".main").fadeOut();
 | |
| 
 | |
|     for (num in alist){
 | |
|            if (alist[num]['pname'].trim() == name.trim())
 | |
|                 {alert("This app has been downloaded.");
 | |
|                  return;}};            
 | |
|     $("#loading").fadeIn();
 | |
|     var sNode = document.getElementById("APPS");
 | |
|     var tempNode= sNode.cloneNode(true);
 | |
|     sNode.parentNode.appendChild(tempNode);
 | |
|     $("#appinfo1").html("Product Name : "+ name);
 | |
|     $("#appinfo2").html("Status : "+"Installing");
 | |
|     $("#appinfo3").html("Current_Version : "+ version);
 | |
| 
 | |
|     $.get("/appDownload/",{'ip':ip.trim(),'port':port.trim(),'name':name.trim(),},function (ret) {
 | |
|         var status = $.trim(ret.split(":")[1].split("}")[0]);
 | |
|         $(".loadapp").html(name+" is downloading now");
 | |
|         var msg = JSON.parse(status)
 | |
|         console.log(msg)
 | |
|         if (JSON.parse(status)=="ok"){
 | |
|             $(".middlebox").fadeIn();
 | |
|             $(".sourceapp").fadeOut();
 | |
|             $("#loading").fadeOut();
 | |
|             $(".findapp").html("Download "+name +" successfully");
 | |
|             $(".surebtn").click(function (){
 | |
|                 $(".middlebox").fadeOut();
 | |
|                  window.location.reload();
 | |
|                  })}
 | |
|         else if (JSON.parse(status)=="Fail!"){
 | |
|             alert("Download failed!");
 | |
|             $("#loading").fadeOut();
 | |
|             sNode.remove();
 | |
|         }
 | |
|         else {
 | |
|             alert("Install app failed:" + msg)
 | |
|             $("#loading").fadeOut();
 | |
|             sNode.remove();
 | |
|         }
 | |
|     })
 | |
| };
 | |
| 
 | |
| window.onload = function clone()
 | |
| //Add & Delete apps to the device.
 | |
| {
 | |
|    /*Install Apps*/
 | |
|    var sourceNode = document.getElementById("APPS");
 | |
|    if (alist.length != 0)
 | |
|    {
 | |
|    $("#appinfo1").html("Product Name : "+ alist[0]['pname']);
 | |
|    $("#appinfo2").html("Status : "+ alist[0]['status']);
 | |
|    $("#appinfo3").html("Current_Version : "+ alist[0]['current_version']);
 | |
|    $("#delete").attr('class','delet0');
 | |
|    $("#APPS").attr('class','app0');
 | |
|    
 | |
|    for (var i=1; i<alist.length; i++)
 | |
|      {
 | |
|        var cloneNode= sourceNode.cloneNode(true);
 | |
|        sourceNode.parentNode.appendChild(cloneNode);
 | |
|        $("#appinfo1").html("Product Name : "+ alist[i]['pname']);
 | |
|        $("#appinfo2").html("Status : "+ alist[i]['status']);
 | |
|        $("#appinfo3").html("Current_Version : "+ alist[i]['current_version']);
 | |
|        $("#delete").attr('class','delet'+i);
 | |
|        $("#APPS").attr('class','app'+i);
 | |
|      }
 | |
|     }
 | |
|     $("#IPs").html("IP : "+ dlist[0]['IP']);
 | |
|     $("#ports").html("Port : "+ dlist[0]['Port']);
 | |
|     $("#installs").html("Installed Apps : "+ dlist[0]['apps']);
 | |
|     
 | |
| 
 | |
| 
 | |
|     $(".mybtn").click(function ()
 | |
|     {
 | |
|     /*uninstall apps*/
 | |
|         var thisitem = $(this).parent().attr('class');
 | |
|         var indexa = thisitem.match(/\d+\b/);
 | |
|         var pname = $(".app"+indexa).find('#appinfo1').text();
 | |
| 
 | |
|         var ip,port;
 | |
|         var ipArr=$("#IPs").text().split(":");
 | |
|         ip=ipArr[1];
 | |
|         var portArr=$("#ports").text().split(":");
 | |
|         port=portArr[1];
 | |
|     
 | |
|         var name = pname.split(':')[1].trim();
 | |
|         $(".deletebox").fadeIn();
 | |
|         $(".findapp").html("Are you sure to delete "+name);
 | |
|         $(".suresbtn").click(function (){
 | |
|                 $(".app"+indexa).remove();
 | |
|                 $.get("/appDelete/",{'ip':ip.trim(),'port':port.trim(),"name":pname.split(':')[1].trim()},function (ret) {
 | |
|             console.log(ret);});
 | |
|                 $(".deletebox").fadeOut();
 | |
|                  window.location.reload();
 | |
|                  })
 | |
|         $(".cancelsbtn").click(function (){
 | |
|                 $(".deletebox").fadeOut(); })
 | |
|     });
 | |
| 
 | |
| };
 | |
| 
 | |
| function getdownloadapps()
 | |
| {
 | |
| /*Acquire apps for download from Appstore simultaneously whenever appstore is updated*/
 | |
|    if (search_node[0] == "Nothing find"){
 | |
|        alert(search_node[0])
 | |
|    }
 | |
|    if (search_node.length == 1 && search_node[0] != "Nothing find" ){
 | |
|     $("#appsinfo1").html("Product Name : "+ search_node[0]['ID']);
 | |
|     $("#appsinfo2").html("Version : "+ search_node[0]['Version']);
 | |
|    }
 | |
|    else{
 | |
|        var sourceNode = document.getElementById("Dapplications");
 | |
|         if (llist.length != 0)
 | |
|         {
 | |
|         $("#appsinfo1").html("Product Name : "+ llist[0]['ID']);
 | |
|         $("#appsinfo2").html("Version : "+ llist[0]['Version']);
 | |
|         $("#Dapplications").attr('class','dapp0');
 | |
|         
 | |
|         for (var i=1; i<llist.length; i++)
 | |
|             {
 | |
|             var cloneNode= sourceNode.cloneNode(true);
 | |
|             sourceNode.parentNode.appendChild(cloneNode);
 | |
|             $("#appsinfo1").html("Product Name : "+ llist[i]['ID']);
 | |
|             $("#appsinfo2").html("Version : "+ llist[i]['Version']);
 | |
|             $("#Dapplications").attr('class','dapp'+i);
 | |
|             }
 | |
|         }};
 | |
| };
 | |
| 
 | |
| getdownloadapps();
 | |
| 
 | |
| function givevalue(){
 | |
|     var ip=dlist[0]['IP'].trim();
 | |
|     var port=dlist[0]['Port'].trim();
 | |
|     document.getElementById("aa").value = ip;
 | |
|     document.getElementById("bb").value = port;
 | |
|     if (open_status == "open"){
 | |
|         $(".main").fadeIn();
 | |
|         $(".close").click(function(){
 | |
|             $(".main").fadeOut();
 | |
|             var newurl = "?"+"ip="+ip+"&port="+port;
 | |
|             window.location.href= newurl;});
 | |
|         $(".mybtn2").click(function(){
 | |
|             if (alist.length >=3){
 | |
|                 alert("Install app failed: exceed max app installations.")
 | |
|             }
 | |
|             $(".main").fadeOut();
 | |
|             getthis(".mybtn2");
 | |
|             var newurl = "?"+"ip="+ip+"&port="+port;
 | |
|             window.location.href= newurl;
 | |
|    });
 | |
| 
 | |
|     }
 | |
| }
 | |
| givevalue();
 | |
| 
 | |
| function popbox(){
 | |
| /*Open and close the "install apps" window*/
 | |
|    $(".btn").click(function(){
 | |
|        $(".main").fadeIn();
 | |
|    });
 | |
|    $(".close").click(function(){
 | |
|        $(".main").fadeOut();
 | |
|    });
 | |
| };
 | |
| popbox();
 |