Commit 9725db2c authored by Cédric Le Ninivin's avatar Cédric Le Ninivin

Add Log on Add Application page

parent d4e58a7b
...@@ -21,6 +21,7 @@ ...@@ -21,6 +21,7 @@
<div class="nav_content container"> <div class="nav_content container">
<form class="crib-load-from-zip form-inline"> <form class="crib-load-from-zip form-inline">
<h3>Add Application</h3> <h3>Add Application</h3>
<div class="info crib-add-app-status" style="display:none; background-color: #dff0d8;"></div>
<div class="form-group"> <div class="form-group">
<label>Application Name: <label>Application Name:
<input name="app-name" class="app-name form-control" <input name="app-name" class="app-name form-control"
......
...@@ -17,6 +17,22 @@ ...@@ -17,6 +17,22 @@
return params; return params;
} }
function log(gadget, str, klass) {
var p = document.createElement('p'),
old_p_element = gadget.props.element.querySelector(klass + ' p'),
log_element = gadget.props.element.querySelector(klass);
if (old_p_element) {
old_p_element.remove();
}
p.innerHTML = str;
log_element.style.display = "";
log_element.appendChild(p);
}
function logAddApp(gadget, str) {
return log(gadget, str, ".crib-add-app-status");
}
function putNewAppList(gadget, app_list) { function putNewAppList(gadget, app_list) {
return RSVP.Queue() return RSVP.Queue()
.push(function () { .push(function () {
...@@ -49,6 +65,7 @@ ...@@ -49,6 +65,7 @@
.querySelector("form.crib-load-from-zip .load-zip-file").files.length === 0 && .querySelector("form.crib-load-from-zip .load-zip-file").files.length === 0 &&
gadget.props.element gadget.props.element
.querySelector("form.crib-load-from-zip .load-zip-url").value.length === 0) { .querySelector("form.crib-load-from-zip .load-zip-url").value.length === 0) {
logAddApp(gadget, "Please set a Zip File or Zip Url");
return; return;
} }
return RSVP.Queue() return RSVP.Queue()
...@@ -56,9 +73,11 @@ ...@@ -56,9 +73,11 @@
var promise_list = []; var promise_list = [];
if (gadget.props.element if (gadget.props.element
.querySelector("form.crib-load-from-zip .load-zip-file").files.length !== 0) { .querySelector("form.crib-load-from-zip .load-zip-file").files.length !== 0) {
promise_list.push(loadCribJSFromZipFile(gadget, event)); logAddApp(gadget, "Will load Zip from File");
promise_list.push(loadCribJSFromZipFile(gadget, event, logAddApp));
} else { } else {
promise_list.push(loadCribJSFromZipUrl(gadget, event)); logAddApp(gadget, "Will load Zip from Url");
promise_list.push(loadCribJSFromZipUrl(gadget, event, logAddApp));
} }
promise_list.push(getApplicationList(gadget)); promise_list.push(getApplicationList(gadget));
return RSVP.all(promise_list); return RSVP.all(promise_list);
...@@ -77,6 +96,7 @@ ...@@ -77,6 +96,7 @@
application_category: undefined application_category: undefined
} }
); );
logAddApp(gadget, "Adding App to App list");
return putNewAppList(gadget, app_list); return putNewAppList(gadget, app_list);
}) })
.push(function () { .push(function () {
...@@ -84,7 +104,7 @@ ...@@ -84,7 +104,7 @@
}); });
} }
function loadCribJSFromZipFile(gadget, event) { function loadCribJSFromZipFile(gadget, event, logFunction) {
return RSVP.Queue() return RSVP.Queue()
.push(function () { .push(function () {
return gadget.getDeclaredGadget("jio_cribjs"); return gadget.getDeclaredGadget("jio_cribjs");
...@@ -99,11 +119,14 @@ ...@@ -99,11 +119,14 @@
to_path: gadget.props to_path: gadget.props
.element.querySelector("form.crib-load-from-zip .load-zip-to-path").value, .element.querySelector("form.crib-load-from-zip .load-zip-to-path").value,
application_id: "cribjs" application_id: "cribjs"
},
function (str) {
logFunction(gadget, str);
}); });
}); });
} }
function loadCribJSFromZipUrl(gadget, event) { function loadCribJSFromZipUrl(gadget, event, logFunction) {
return RSVP.Queue() return RSVP.Queue()
.push(function () { .push(function () {
return gadget.getDeclaredGadget("jio_cribjs"); return gadget.getDeclaredGadget("jio_cribjs");
...@@ -118,6 +141,9 @@ ...@@ -118,6 +141,9 @@
to_path: gadget.props.element to_path: gadget.props.element
.querySelector("form.crib-load-from-zip .load-zip-to-path").value, .querySelector("form.crib-load-from-zip .load-zip-to-path").value,
application_id: "cribjs" application_id: "cribjs"
},
function (str) {
logFunction(gadget, str);
}); });
}); });
} }
......
...@@ -12,7 +12,10 @@ ...@@ -12,7 +12,10 @@
return "." + extension; return "." + extension;
} }
function loadZipIntoCrib(gadget, zip, from_path, path_to_load) { function loadZipIntoCrib(gadget, zip, from_path, path_to_load, logFunction) {
if (logFunction === undefined) {
logFunction = console.log;
}
var promise_list = [], url_number = 0; var promise_list = [], url_number = 0;
zip.forEach(function (relativePath, zipEntry) { zip.forEach(function (relativePath, zipEntry) {
var end_url; var end_url;
...@@ -46,60 +49,81 @@ ...@@ -46,60 +49,81 @@
}) })
); );
}); });
logFunction("Pushing " + promise_list.length + " URLs to local crib");
return RSVP.all(promise_list); return RSVP.all(promise_list);
} }
function loadContentFromZIPFile(gadget, options) { function loadContentFromZIPFile(gadget, options, logFunction) {
if (logFunction === undefined) {
logFunction = console.log;
}
var path_to_load = options.to_path, var path_to_load = options.to_path,
from_path = options.from_path, from_path = options.from_path,
file_list = options.file_list; file_list = options.file_list;
if (file_list.length === 0) { if (file_list.length === 0) {
logFunction("No File to Load");
return "No File to Load"; return "No File to Load";
} }
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
logFunction("Loading Zip");
return JSZip.loadAsync(file_list[0]); return JSZip.loadAsync(file_list[0]);
}) })
.push(function (zip) { .push(function (zip) {
return loadZipIntoCrib( return loadZipIntoCrib(
gadget, zip, from_path, path_to_load gadget, zip, from_path, path_to_load, logFunction
); );
}) })
.push(console.log, console.log); .push(function () {
logFunction("Imported Zip Successfully");
}, function (e) {
logFunction(e);
});
} }
function loadContentFromZIPURL(gadget, options) { function loadContentFromZIPURL(gadget, options, logFunction) {
if (logFunction === undefined) {
logFunction = console.log;
}
var path_to_load = options.to_path, file_list, var path_to_load = options.to_path, file_list,
from_path = options.from_path, zip_url = options.zip_url, from_path = options.from_path, zip_url = options.zip_url,
jio_gadget, url_list = [], url_number = 0; jio_gadget, url_list = [], url_number = 0;
return new RSVP.Queue() return new RSVP.Queue()
.push(function () { .push(function () {
logFunction("Fetching Url");
return fetch(zip_url) return fetch(zip_url)
.then(function (response) { // 2) filter on 200 OK .then(function (response) { // 2) filter on 200 OK
if (response.status === 200 || response.status === 0) { if (response.status === 200 || response.status === 0) {
logFunction("Fetched Successfully, Starts Loading Zip");
return Promise.resolve(response.blob()); return Promise.resolve(response.blob());
} else { } else {
logFunction("ERROR: " + response.statusText);
return Promise.reject(new Error(response.statusText)); return Promise.reject(new Error(response.statusText));
} }
}); });
}) })
.push(JSZip.loadAsync) .push(JSZip.loadAsync)
.push(function (zip) { .push(function (zip) {
return loadZipIntoCrib(gadget, zip, from_path, path_to_load); return loadZipIntoCrib(gadget, zip, from_path, path_to_load, logFunction);
}) })
.push(console.log, console.log); .push(function () {
logFunction("Imported Zip Successfully");
}, function (e) {
logFunction(e);
throw e;
});
} }
rJS(window) rJS(window)
.ready(function (g) { .ready(function (g) {
g.props = {}; g.props = {};
}) })
.declareMethod('loadFromZipUrl', function (options) { .declareMethod('loadFromZipUrl', function (options, logFunction) {
return loadContentFromZIPURL(this, options); return loadContentFromZIPURL(this, options, logFunction);
}) })
.declareMethod('loadFromZipFile', function (options) { .declareMethod('loadFromZipFile', function (options, logFunction) {
return loadContentFromZIPFile(this, options); return loadContentFromZIPFile(this, options, logFunction);
}) })
.declareAcquiredMethod("crib_sw_put", "crib_sw_put") .declareAcquiredMethod("crib_sw_put", "crib_sw_put")
.declareAcquiredMethod("getSetting", "getSetting") .declareAcquiredMethod("getSetting", "getSetting")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment