1
0
mirror of https://github.com/Ylianst/MeshCommander synced 2025-12-06 06:03:20 +00:00

Internalization of MeshCommander.

This commit is contained in:
Ylian Saint-Hilaire
2020-06-14 19:16:57 -07:00
parent b3d8274c18
commit ef327b2bdd
30 changed files with 27178 additions and 1149 deletions

View File

@@ -13,9 +13,9 @@
/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */
var saveAs = saveAs || (function (view) {
"use strict";
'use strict';
// IE <10 is explicitly unsupported
if (typeof navigator !== "undefined" && /MSIE [1-9]\./.test(navigator.userAgent)) {
if (typeof navigator !== 'undefined' && /MSIE [1-9]\./.test(navigator.userAgent)) {
return;
}
var
@@ -24,10 +24,10 @@ var saveAs = saveAs || (function (view) {
, get_URL = function () {
return view.URL || view.webkitURL || view;
}
, save_link = doc.createElementNS("http://www.w3.org/1999/xhtml", "a")
, can_use_save_link = "download" in save_link
, save_link = doc.createElementNS('http://www.w3.org/1999/xhtml', 'a')
, can_use_save_link = 'download' in save_link
, click = function (node) {
var event = new MouseEvent("click");
var event = new MouseEvent('click');
node.dispatchEvent(event);
}
, is_safari = /Version\/[\d\.]+.*Safari/.test(navigator.userAgent)
@@ -38,7 +38,7 @@ var saveAs = saveAs || (function (view) {
throw ex;
}, 0);
}
, force_saveable_type = "application/octet-stream"
, force_saveable_type = 'application/octet-stream'
, fs_min_size = 0
// See https://code.google.com/p/chromium/issues/detail?id=375297#c7 and
// https://github.com/eligrey/FileSaver.js/commit/485930a#commitcomment-8768047
@@ -46,7 +46,7 @@ var saveAs = saveAs || (function (view) {
, arbitrary_revoke_timeout = 500 // in ms
, revoke = function (file) {
var revoker = function () {
if (typeof file === "string") { // file is an object URL
if (typeof file === 'string') { // file is an object URL
get_URL().revokeObjectURL(file);
} else { // file is a File
file.remove();
@@ -62,8 +62,8 @@ var saveAs = saveAs || (function (view) {
event_types = [].concat(event_types);
var i = event_types.length;
while (i--) {
var listener = filesaver["on" + event_types[i]];
if (typeof listener === "function") {
var listener = filesaver['on' + event_types[i]];
if (typeof listener === 'function') {
try {
listener.call(filesaver, event || filesaver);
} catch (ex) {
@@ -75,7 +75,7 @@ var saveAs = saveAs || (function (view) {
, auto_bom = function (blob) {
// prepend BOM for UTF-8 XML and text types (including HTML)
if (/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
return new Blob(["\ufeff", blob], { type: blob.type });
return new Blob(['\ufeff', blob], { type: blob.type });
}
return blob;
}
@@ -91,16 +91,16 @@ var saveAs = saveAs || (function (view) {
, object_url
, target_view
, dispatch_all = function () {
dispatch(filesaver, "writestart progress write writeend".split(" "));
dispatch(filesaver, 'writestart progress write writeend'.split(' '));
}
// on any filesys errors revert to saving with object URLs
, fs_error = function () {
if (target_view && is_safari && typeof FileReader !== "undefined") {
if (target_view && is_safari && typeof FileReader !== 'undefined') {
// Safari doesn't allow downloading of blob urls
var reader = new FileReader();
reader.onloadend = function () {
var base64Data = reader.result;
target_view.location.href = "data:attachment/file" + base64Data.slice(base64Data.search(/[,;]/));
target_view.location.href = 'data:attachment/file' + base64Data.slice(base64Data.search(/[,;]/));
filesaver.readyState = filesaver.DONE;
dispatch_all();
};
@@ -115,7 +115,7 @@ var saveAs = saveAs || (function (view) {
if (target_view) {
target_view.location.href = object_url;
} else {
var new_tab = view.open(object_url, "_blank");
var new_tab = view.open(object_url, '_blank');
if (new_tab == undefined && is_safari) {
//Apple do not allow window.open, see http://bit.ly/1kZffRI
view.location.href = object_url
@@ -137,7 +137,7 @@ var saveAs = saveAs || (function (view) {
;
filesaver.readyState = filesaver.INIT;
if (!name) {
name = "download";
name = 'download';
}
if (can_use_save_link) {
object_url = get_URL().createObjectURL(blob);
@@ -164,8 +164,8 @@ var saveAs = saveAs || (function (view) {
// Since I can't be sure that the guessed media type will trigger a download
// in WebKit, I append .download to the filename.
// https://bugs.webkit.org/show_bug.cgi?id=65440
if (webkit_req_fs && name !== "download") {
name += ".download";
if (webkit_req_fs && name !== 'download') {
name += '.download';
}
if (type === force_saveable_type || webkit_req_fs) {
target_view = view;
@@ -176,14 +176,14 @@ var saveAs = saveAs || (function (view) {
}
fs_min_size += blob.size;
req_fs(view.TEMPORARY, fs_min_size, abortable(function (fs) {
fs.root.getDirectory("saved", create_if_not_found, abortable(function (dir) {
fs.root.getDirectory('saved', create_if_not_found, abortable(function (dir) {
var save = function () {
dir.getFile(name, create_if_not_found, abortable(function (file) {
file.createWriter(abortable(function (writer) {
writer.onwriteend = function (event) {
target_view.location.href = file.toURL();
filesaver.readyState = filesaver.DONE;
dispatch(filesaver, "writeend", event);
dispatch(filesaver, 'writeend', event);
revoke(file);
};
writer.onerror = function () {
@@ -192,8 +192,8 @@ var saveAs = saveAs || (function (view) {
fs_error();
}
};
"writestart progress write abort".split(" ").forEach(function (event) {
writer["on" + event] = filesaver["on" + event];
'writestart progress write abort'.split(' ').forEach(function (event) {
writer['on' + event] = filesaver['on' + event];
});
writer.write(blob);
filesaver.abort = function () {
@@ -224,19 +224,19 @@ var saveAs = saveAs || (function (view) {
}
;
// IE 10+ (native saveAs)
if (typeof navigator !== "undefined" && navigator.msSaveOrOpenBlob) {
if (typeof navigator !== 'undefined' && navigator.msSaveOrOpenBlob) {
return function (blob, name, no_auto_bom) {
if (!no_auto_bom) {
blob = auto_bom(blob);
}
return navigator.msSaveOrOpenBlob(blob, name || "download");
return navigator.msSaveOrOpenBlob(blob, name || 'download');
};
}
FS_proto.abort = function () {
var filesaver = this;
filesaver.readyState = filesaver.DONE;
dispatch(filesaver, "abort");
dispatch(filesaver, 'abort');
};
FS_proto.readyState = FS_proto.INIT = 0;
FS_proto.WRITING = 1;
@@ -253,17 +253,17 @@ var saveAs = saveAs || (function (view) {
return saveAs;
}(
typeof self !== "undefined" && self
|| typeof window !== "undefined" && window
typeof self !== 'undefined' && self
|| typeof window !== 'undefined' && window
|| this.content
));
// `self` is undefined in Firefox for Android content script context
// while `this` is nsIContentFrameMessageManager
// with an attribute `content` that corresponds to the window
if (typeof module !== "undefined" && module.exports) {
if (typeof module !== 'undefined' && module.exports) {
module.exports.saveAs = saveAs;
} else if ((typeof define !== "undefined" && define !== null) && (define.amd != null)) {
} else if ((typeof define !== 'undefined' && define !== null) && (define.amd != null)) {
define([], function () {
return saveAs;
});