summaryrefslogtreecommitdiffstats
path: root/warehouse/src/main/webapp/js/download.js
diff options
context:
space:
mode:
Diffstat (limited to 'warehouse/src/main/webapp/js/download.js')
-rw-r--r--warehouse/src/main/webapp/js/download.js123
1 files changed, 123 insertions, 0 deletions
diff --git a/warehouse/src/main/webapp/js/download.js b/warehouse/src/main/webapp/js/download.js
new file mode 100644
index 0000000..7810d3c
--- /dev/null
+++ b/warehouse/src/main/webapp/js/download.js
@@ -0,0 +1,123 @@
+/*
+ * Copyright (c) 2019 TOYOTA MOTOR CORPORATION
+ *
+ * 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 doDownload(obj, appId,typeId,verFilePath) {
+ debugger;
+ var thisObj=$(obj);
+ var files = [];
+ var deviceAccessParam = $('#params').val();
+ var homePath = deviceAccessParam.split("&")[2].split("=")[1];
+ files.push({thisObj:thisObj, appId:appId, typeId:typeId,filePath:verFilePath});
+ files.forEach(function(item){
+ debugger;
+ DownloadFile(item.thisObj, item.appId,item.typeId,item.filePath).then(
+ function (result)
+ {
+ var filename = verFilePath.substr(verFilePath.lastIndexOf('/') + 1);
+ debugger;
+ path = homePath + "/Downloads/" + filename;
+ thisObj.html("installing");
+ aglSocket.installApp(path, installReplyok, installReplyerr, obj);
+
+ if(result.error){
+ }
+ }, function(err) {
+ console.log("DownloadFile err");
+ //alert("DownloadFile err");
+ debugger;
+ }, function(evt){
+ console.log("DownloadFile evt");
+ //alert("DownloadFile evt");
+ debugger;
+ });
+ })
+}
+
+function installReplyok(params){
+ debugger;
+ console.log("installApp" + "installReplyok\n");
+ if(params.length > 1){
+ buttonObj = params[1];
+ var thisObj=$(buttonObj);
+ thisObj.html("installed");
+ }
+};
+
+function installReplyerr(params){
+ debugger;
+ console.log("installApp" + "installReplyerr\n");
+ alert("install error");
+ if(params.length > 1){
+ buttonObj = params[1];
+ var thisObj=$(buttonObj);
+ thisObj.html("install");
+ }
+ /* var str="";
+ var obj = params[0];
+ for (var item in obj){
+ str +=item+":"+obj[item]+"\n";
+ }
+ alert("str==:\n"+str); */
+};
+
+function DownloadFile(thisObj,appId,typeId,verFilePath) {
+ debugger;
+ var filename = verFilePath.substr(verFilePath.lastIndexOf('/') + 1);
+ var dfd = new $.Deferred();
+ var promise = $.ajax({
+ url: $("#basePath").val() + '/appDev/downloadenter',
+ type: "POST",
+
+ xhrFileds:{
+ responseType: 'arraybuffer',
+ onprogress: dfd.notify
+ }
+ });
+ promise.then(function (data,status,xhr){
+ if(xhr.statusText == "success" || xhr.statusText == "ok"
+ ||xhr.statusText == "SUCCESS" || xhr.statusText == "OK"){
+ debugger;
+ thisObj.html("downloading");
+ var type = xhr.getResponseHeader('Content-Type');
+ var blob = new Blob([data],{type:type});
+ if(typeof window.navigator.msSaveBlob != 'undefined' ){
+ window.navigator.msSaveBlob(blob, filename);
+ }else{
+ var URL = window.URL || window.webkitURL;
+ var downloadUrl = URL.createObjectURL(blob);
+ if(filename){
+ var a = document.createElement("a");
+ if(typeof a.download == 'undefined'){
+ window.location = downloadUrl;
+ }else{
+ a.href = $("#basePath").val() + '/appDev/download?appId='+ appId + '&typeId='+ typeId +'&filePath='+verFilePath;
+ a.download = filename;
+ document.body.appendChild(a);
+ a.click();
+ }
+ }else{
+ window.location = downloadUrl;
+ }
+ setTimeout(function () {
+ URL.revokeObjectURL(downloadUrl);
+ dfd.resolve({});
+ }, 10000);
+ }
+ }else{
+ dfd.resolve({ error: { message: xhr.statusText } });
+ }
+ });
+ return dfd;
+}; \ No newline at end of file