Skip to content

Commit 8af6328

Browse files
committed
Blank UI static dependencies
1 parent 97dec61 commit 8af6328

File tree

422 files changed

+6157
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

422 files changed

+6157
-0
lines changed

ui/blank/libs/FileSaver.js

Lines changed: 188 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,188 @@
1+
(function (global, factory) {
2+
if (typeof define === "function" && define.amd) {
3+
define([], factory);
4+
} else if (typeof exports !== "undefined") {
5+
factory();
6+
} else {
7+
var mod = {
8+
exports: {}
9+
};
10+
factory();
11+
global.FileSaver = mod.exports;
12+
}
13+
})(this, function () {
14+
"use strict";
15+
16+
/*
17+
* FileSaver.js
18+
* A saveAs() FileSaver implementation.
19+
*
20+
* By Eli Grey, http://eligrey.com
21+
*
22+
* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
23+
* source : http://purl.eligrey.com/github/FileSaver.js
24+
*/
25+
// The one and only way of getting global scope in all environments
26+
// https://stackoverflow.com/q/3277182/1008999
27+
var _global = typeof window === 'object' && window.window === window ? window : typeof self === 'object' && self.self === self ? self : typeof global === 'object' && global.global === global ? global : void 0;
28+
29+
function bom(blob, opts) {
30+
if (typeof opts === 'undefined') opts = {
31+
autoBom: false
32+
};else if (typeof opts !== 'object') {
33+
console.warn('Deprecated: Expected third argument to be a object');
34+
opts = {
35+
autoBom: !opts
36+
};
37+
} // prepend BOM for UTF-8 XML and text/* types (including HTML)
38+
// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
39+
40+
if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
41+
return new Blob([String.fromCharCode(0xFEFF), blob], {
42+
type: blob.type
43+
});
44+
}
45+
46+
return blob;
47+
}
48+
49+
function download(url, name, opts) {
50+
var xhr = new XMLHttpRequest();
51+
xhr.open('GET', url);
52+
xhr.responseType = 'blob';
53+
54+
xhr.onload = function () {
55+
saveAs(xhr.response, name, opts);
56+
};
57+
58+
xhr.onerror = function () {
59+
console.error('could not download file');
60+
};
61+
62+
xhr.send();
63+
}
64+
65+
function corsEnabled(url) {
66+
var xhr = new XMLHttpRequest(); // use sync to avoid popup blocker
67+
68+
xhr.open('HEAD', url, false);
69+
70+
try {
71+
xhr.send();
72+
} catch (e) {}
73+
74+
return xhr.status >= 200 && xhr.status <= 299;
75+
} // `a.click()` doesn't work for all browsers (#465)
76+
77+
78+
function click(node) {
79+
try {
80+
node.dispatchEvent(new MouseEvent('click'));
81+
} catch (e) {
82+
var evt = document.createEvent('MouseEvents');
83+
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null);
84+
node.dispatchEvent(evt);
85+
}
86+
} // Detect WebView inside a native macOS app by ruling out all browsers
87+
// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too
88+
// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos
89+
90+
91+
var isMacOSWebView = /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent);
92+
var saveAs = _global.saveAs || ( // probably in some web worker
93+
typeof window !== 'object' || window !== _global ? function saveAs() {}
94+
/* noop */
95+
// Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView
96+
: 'download' in HTMLAnchorElement.prototype && !isMacOSWebView ? function saveAs(blob, name, opts) {
97+
var URL = _global.URL || _global.webkitURL;
98+
var a = document.createElement('a');
99+
name = name || blob.name || 'download';
100+
a.download = name;
101+
a.rel = 'noopener'; // tabnabbing
102+
// TODO: detect chrome extensions & packaged apps
103+
// a.target = '_blank'
104+
105+
if (typeof blob === 'string') {
106+
// Support regular links
107+
a.href = blob;
108+
109+
if (a.origin !== location.origin) {
110+
corsEnabled(a.href) ? download(blob, name, opts) : click(a, a.target = '_blank');
111+
} else {
112+
click(a);
113+
}
114+
} else {
115+
// Support blobs
116+
a.href = URL.createObjectURL(blob);
117+
setTimeout(function () {
118+
URL.revokeObjectURL(a.href);
119+
}, 4E4); // 40s
120+
121+
setTimeout(function () {
122+
click(a);
123+
}, 0);
124+
}
125+
} // Use msSaveOrOpenBlob as a second approach
126+
: 'msSaveOrOpenBlob' in navigator ? function saveAs(blob, name, opts) {
127+
name = name || blob.name || 'download';
128+
129+
if (typeof blob === 'string') {
130+
if (corsEnabled(blob)) {
131+
download(blob, name, opts);
132+
} else {
133+
var a = document.createElement('a');
134+
a.href = blob;
135+
a.target = '_blank';
136+
setTimeout(function () {
137+
click(a);
138+
});
139+
}
140+
} else {
141+
navigator.msSaveOrOpenBlob(bom(blob, opts), name);
142+
}
143+
} // Fallback to using FileReader and a popup
144+
: function saveAs(blob, name, opts, popup) {
145+
// Open a popup immediately do go around popup blocker
146+
// Mostly only available on user interaction and the fileReader is async so...
147+
popup = popup || open('', '_blank');
148+
149+
if (popup) {
150+
popup.document.title = popup.document.body.innerText = 'downloading...';
151+
}
152+
153+
if (typeof blob === 'string') return download(blob, name, opts);
154+
var force = blob.type === 'application/octet-stream';
155+
156+
var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari;
157+
158+
var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent);
159+
160+
if ((isChromeIOS || force && isSafari || isMacOSWebView) && typeof FileReader !== 'undefined') {
161+
// Safari doesn't allow downloading of blob URLs
162+
var reader = new FileReader();
163+
164+
reader.onloadend = function () {
165+
var url = reader.result;
166+
url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;');
167+
if (popup) popup.location.href = url;else location = url;
168+
popup = null; // reverse-tabnabbing #460
169+
};
170+
171+
reader.readAsDataURL(blob);
172+
} else {
173+
var URL = _global.URL || _global.webkitURL;
174+
var url = URL.createObjectURL(blob);
175+
if (popup) popup.location = url;else location.href = url;
176+
popup = null; // reverse-tabnabbing #460
177+
178+
setTimeout(function () {
179+
URL.revokeObjectURL(url);
180+
}, 4E4); // 40s
181+
}
182+
});
183+
_global.saveAs = saveAs.saveAs = saveAs;
184+
185+
if (typeof module !== 'undefined') {
186+
module.exports = saveAs;
187+
}
188+
});

ui/blank/libs/ace/ace.js

Lines changed: 17 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/blank/libs/ace/ext-beautify.js

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/blank/libs/ace/ext-code_lens.js

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/blank/libs/ace/ext-elastic_tabstops_lite.js

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/blank/libs/ace/ext-emmet.js

Lines changed: 8 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

ui/blank/libs/ace/ext-error_marker.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
; (function() {
2+
window.require(["ace/ext/error_marker"], function(m) {
3+
if (typeof module == "object" && typeof exports == "object" && module) {
4+
module.exports = m;
5+
}
6+
});
7+
})();
8+

0 commit comments

Comments
 (0)