Last active
September 11, 2018 16:03
-
-
Save jakubzitny/cf7493fbc388cb0e2a91120601c7d5b8 to your computer and use it in GitHub Desktop.
Dropbox's dropins.js overriden for Electron
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
!function(e, o) { | |
for (var n in o) | |
e[n] = o[n] | |
}(window, function(e) { | |
function o(t) { | |
if (n[t]) | |
return n[t].exports; | |
var r = n[t] = { | |
i: t, | |
l: !1, | |
exports: {} | |
}; | |
return e[t].call(r.exports, r, r.exports, o), | |
r.l = !0, | |
r.exports | |
} | |
var n = {}; | |
return o.m = e, | |
o.c = n, | |
o.d = function(e, n, t) { | |
o.o(e, n) || Object.defineProperty(e, n, { | |
configurable: !1, | |
enumerable: !0, | |
get: t | |
}) | |
} | |
, | |
o.n = function(e) { | |
var n = e && e.__esModule ? function() { | |
return e.default | |
} | |
: function() { | |
return e | |
} | |
; | |
return o.d(n, "a", n), | |
n | |
} | |
, | |
o.o = function(e, o) { | |
return Object.prototype.hasOwnProperty.call(e, o) | |
} | |
, | |
o.p = "", | |
o(o.s = 5) | |
}([function(e, o, n) { | |
"use strict"; | |
function t(e, o, n) { | |
return e + (-1 === e.indexOf("?") ? "?" : "&") + o + "=" + n | |
} | |
function r(e) { | |
return t(e, "version", encodeURIComponent(Dropbox.VERSION)) | |
} | |
function i(e, o) { | |
var n = encodeURIComponent(window.location.protocol + "//" + window.location.host) | |
, i = encodeURIComponent(Dropbox.appKey) | |
, s = encodeURIComponent(e.linkType || "") | |
, a = encodeURIComponent(e._trigger || "js") | |
, c = Boolean(e.multiselect) | |
, l = encodeURIComponent(u(e.extensions, "join", function(e) { | |
return e.join(" ") | |
}) || "") | |
, p = Boolean(e.folderselect); | |
o = Boolean(o); | |
var d = Dropbox.baseUrl + "/chooser?origin=" + n + "&app_key=" + i + "&link_type=" + s + "&trigger=" + a + "&multiselect=" + c + "&extensions=" + l + "&folderselect=" + p + "&iframe=" + o; | |
return void 0 !== e.fileselect && (d = t(d, "fileselect", Boolean(e.fileselect))), | |
void 0 !== e.sizeLimit && (d = t(d, "size_limit", e.sizeLimit)), | |
null != e.initialNavigation && (null != e.initialNavigation.mode && (d = t(d, "initial_navigation_mode", encodeURIComponent(e.initialNavigation.mode))), | |
null != e.initialNavigation.role && (d = t(d, "initial_navigation_role", encodeURIComponent(e.initialNavigation.role))), | |
e.initialNavigation.cursor && (d = t(d, "initial_navigation_cursor", encodeURIComponent(e.initialNavigation.cursor)))), | |
null != e.initialViewType && (d = t(d, "initial_view_type", encodeURIComponent(e.initialViewType))), | |
null != e.fields && (d = t(d, "fields", encodeURIComponent("function" == typeof e.fields.join ? e.fields.join(" ") : void 0))), | |
!1 === e.showSignOut && (d = t(d, "show_sign_out", "false")), | |
r(d) | |
} | |
function s(e) { | |
var n = { | |
options: d({}, e, { | |
success: function(t, r) { | |
"function" == typeof e.success && e.success(t, r), | |
o.currentChooserSession === n && (o.currentChooserSession = null) | |
}, | |
cancel: function(t) { | |
"function" == typeof e.cancel && e.cancel(t), | |
o.currentChooserSession === n && (o.currentChooserSession = null) | |
} | |
}) | |
}; | |
return o.currentChooserSession = n, | |
n | |
} | |
function a(e) { | |
var o = document.createElement("iframe"); | |
return o.src = "about:blank", | |
o._postAction = e, | |
o.name = "dropbox-dropins", | |
o.style.display = "block", | |
o.style.backgroundColor = "white", | |
o.style.border = "none", | |
o | |
} | |
function c(e, o) { | |
var n, t = encodeURIComponent(Dropbox.appKey), i = Dropbox.baseUrl + "/dropins/job_status?job=" + o + "&app_key=" + t; | |
i = r(i); | |
var s = function(o) { | |
"COMPLETE" === o.status ? ("function" == typeof e.progress && e.progress(1), | |
"function" == typeof e.success && e.success()) : "PENDING" === o.status || "DOWNLOADING" === o.status ? (null != o.progress && "function" == typeof e.progress && e.progress(o.progress / 100), | |
setTimeout(n, 1500)) : "FAILED" === o.status && "function" == typeof e.error && e.error(o.error) | |
}; | |
if ("withCredentials"in new XMLHttpRequest) | |
n = function() { | |
var o = new XMLHttpRequest; | |
return o.onload = function() { | |
return s(JSON.parse(o.responseText)) | |
} | |
, | |
o.onerror = function() { | |
return "function" == typeof e.error ? e.error() : void 0 | |
} | |
, | |
o.open("GET", i, !0), | |
o.send() | |
} | |
; | |
else if (Dropbox.disableJSONP) { | |
if ("undefined" == typeof XDomainRequest || null === XDomainRequest || "https:" !== document.location.protocol) | |
throw new Error("Unable to find suitable means of cross domain communication"); | |
n = function() { | |
var o = new XDomainRequest; | |
return o.onload = function() { | |
return s(JSON.parse(o.responseText)) | |
} | |
, | |
o.onerror = function() { | |
return "function" == typeof e.error ? e.error() : void 0 | |
} | |
, | |
o.open("get", i), | |
o.send() | |
} | |
} else | |
n = function() { | |
var o = "DropboxJsonpCallback" + p++ | |
, n = !1; | |
window[o] = function(e) { | |
return n = !0, | |
s(e) | |
} | |
; | |
var t = document.createElement("script"); | |
return t.src = i + "&callback=" + o, | |
t.onreadystatechange = function() { | |
if ("loaded" === t.readyState) | |
return n || "function" == typeof e.error && e.error(), | |
null != t.parentNode ? t.parentNode.removeChild(t) : void 0 | |
} | |
, | |
document.getElementsByTagName("head")[0].appendChild(t) | |
} | |
; | |
return "function" == typeof e.progress && e.progress(0), | |
n() | |
} | |
function l(e, n, t) { | |
var r, i = JSON.parse(e.data); | |
switch (r = null != o.ieframe && t._popup ? o.ieframe.contentWindow : e.source, | |
void 0 !== i.sequence_number && r.postMessage(JSON.stringify({ | |
method: "ack", | |
sequence_number: i.sequence_number | |
}), Dropbox.baseUrl), | |
i.method) { | |
case "origin_request": | |
e.source.postMessage(JSON.stringify({ | |
method: "origin" | |
}), Dropbox.baseUrl); | |
break; | |
case "ready": | |
if (null != t.files) { | |
var s = void 0; | |
if (t._fetch_url_on_save) { | |
for (var a = [], l = 0; l < t.files.length; l++) { | |
var u = t.files[l]; | |
a.push({ | |
filename: u.filename | |
}) | |
} | |
s = JSON.stringify({ | |
method: "files_with_callback", | |
params: a | |
}) | |
} else | |
s = JSON.stringify({ | |
method: "files", | |
params: t.files | |
}); | |
if (r.postMessage(s, Dropbox.baseUrl), | |
null != t._ews_auth_token) { | |
var p = JSON.stringify({ | |
method: "ews_auth_token", | |
params: { | |
ews_auth_token: t._ews_auth_token | |
} | |
}); | |
r.postMessage(p, Dropbox.baseUrl) | |
} | |
} | |
"function" == typeof t.ready && t.ready(); | |
break; | |
case "files_selected": | |
case "files_saved": | |
"function" == typeof n && n(), | |
"function" == typeof t.success && t.success(i.params, o.last_navigation); | |
break; | |
case "cursor_changed": | |
o.last_navigation = { | |
cursor: i.params | |
}; | |
break; | |
case "progress": | |
"function" == typeof t.progress && t.progress(i.params); | |
break; | |
case "close_dialog": | |
"function" == typeof n && n(), | |
"function" == typeof t.cancel && t.cancel(o.last_navigation); | |
break; | |
case "resize": | |
"function" == typeof t.resize && t.resize(i.params); | |
break; | |
case "error": | |
"function" == typeof n && n(), | |
"function" == typeof t.error && t.error(i.params); | |
break; | |
case "job_id": | |
"function" == typeof n && n(), | |
c(t, i.params); | |
break; | |
case "save_callback": | |
!function(e, o, n) { | |
if (e._fetch_url_on_save) { | |
var t = e.fetch_urls_fn; | |
"function" != typeof t && "function" == typeof e.error && e.error("Something went wrong, file url callback not provided."), | |
t(n, o) | |
} | |
}(t, i.params, function(e) { | |
if (null == e) | |
throw new Error("Please supply {urls: [...]} to success callback"); | |
if (null != e.url && null != e.urls) | |
throw new Error("Do not pass both url and urls to the save callback"); | |
if (null != e.url && (e.urls = [e.url]), | |
null == e.urls) | |
throw new Error("Please supply {urls: [...]} to success callback"); | |
return i = { | |
method: "continue_saving", | |
params: { | |
download_urls: e.urls | |
} | |
}, | |
void r.postMessage(JSON.stringify(i), Dropbox.baseUrl) | |
}); | |
break; | |
case "_debug_log": | |
"undefined" != typeof console && null !== console && console.log(i.params.msg) | |
} | |
} | |
function u(e, o, n) { | |
return void 0 !== e && null !== e && "function" == typeof e[o] ? n(e, o) : void 0 | |
} | |
var p, d = this && this.__assign || Object.assign || function(e) { | |
for (var o, n = 1, t = arguments.length; n < t; n++) { | |
o = arguments[n]; | |
for (var r in o) | |
Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]) | |
} | |
return e | |
} | |
; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}), | |
null == window.Dropbox && (window.Dropbox = {}), | |
o.popupDimensionsString = function(e, o) { | |
return "width=" + e + ",height=" + o + ",left=" + (window.screenX + ((window.outerWidth || document.documentElement.offsetWidth) - e) / 2) + ",top=" + (window.screenY + ((window.outerHeight || document.documentElement.offsetHeight) - o) / 2) | |
} | |
, | |
o.chooserUrl = i, | |
o.createIEFrame = function() { | |
/\bTrident\b/.test(navigator.userAgent) && null != document.body && null == o.ieframe && (o.ieframe = document.createElement("iframe"), | |
o.ieframe.setAttribute("id", "dropbox_xcomm"), | |
o.ieframe.setAttribute("src", Dropbox.baseUrl + "/static/api/1/xcomm.html"), | |
o.ieframe.style.display = "none", | |
document.body.appendChild(o.ieframe)) | |
} | |
, | |
o.createChooserSession = s, | |
o.createWidgetElement = a, | |
o.handleJobId = c, | |
o.handleMessageEvent = l, | |
o.saverUrl = function() { | |
var e = encodeURIComponent(window.location.protocol + "//" + window.location.host) | |
, o = encodeURIComponent(Dropbox.appKey); | |
return r(Dropbox.baseUrl + "/saver?origin=" + e + "&app_key=" + o) | |
} | |
, | |
o.__guardMethod__ = u, | |
o.__guard__ = function(e, o) { | |
return void 0 !== e && null !== e ? o(e) : void 0 | |
} | |
, | |
o.initModule = function() { | |
o.last_navigation = {}, | |
o.ieframe = null, | |
o.currentChooserSession = null, | |
p = 1, | |
null == Dropbox.baseUrl && (Dropbox.baseUrl = "https://www.dropbox.com"), | |
null == Dropbox.blockBaseUrl && (Dropbox.blockBaseUrl = "https://dl-web.dropbox.com"), | |
Dropbox.addListener = function(e, o, n) { | |
e.addEventListener ? e.addEventListener(o, n, !1) : e.attachEvent("on" + o, function(e) { | |
return e.preventDefault = function() { | |
return !1 | |
} | |
, | |
n(e) | |
}) | |
} | |
, | |
Dropbox.removeListener = function(e, o, n) { | |
e.removeEventListener ? e.removeEventListener(o, n, !1) : e.detachEvent("on" + o, n) | |
} | |
, | |
Dropbox.createChooserWidget = function(e) { | |
var o = s(e) | |
, n = a(i(o.options, !0)); | |
return n._handler = function(e) { | |
e.source === n.contentWindow && e.origin === Dropbox.baseUrl && l(e, null, o.options) | |
} | |
, | |
Dropbox.addListener(window, "message", n._handler), | |
n | |
} | |
, | |
Dropbox.cleanupWidget = function(e) { | |
if (!e._handler) | |
throw new Error("Invalid widget!"); | |
Dropbox.removeListener(window, "message", e._handler), | |
delete e._handler | |
} | |
} | |
} | |
, function(e, o, n) { | |
"use strict"; | |
function t(e, o) { | |
null != o ? o.innerHTML = "" : (o = document.createElement("a")).href = "#", | |
o.className += " dropbox-dropin-btn", | |
Dropbox.isBrowserSupported() ? o.className += " dropbox-dropin-default" : o.className += " dropbox-dropin-disabled"; | |
var n = document.createElement("span"); | |
return n.className = "dropin-btn-status", | |
o.appendChild(n), | |
e = document.createTextNode(e), | |
o.appendChild(e), | |
o | |
} | |
function r(e) { | |
return e.replace(/\/+$/g, "").split("/").pop() | |
} | |
function i(e) { | |
var o = document.createElement("a"); | |
return o.href = e, | |
r(o.pathname) | |
} | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var s = n(0) | |
, a = ["text", "documents", "images", "video", "audio"]; | |
o.genericDropins = { | |
init: function() {} | |
}; | |
var c = function(e) { | |
return e | |
}; | |
o.createDropinButton = t, | |
o.filenameFromPath = r, | |
o.initModule = function() { | |
s.initModule(), | |
null == Dropbox.appKey && (Dropbox.appKey = s.__guard__(document.getElementById("dropboxjs"), function(e) { | |
return e.getAttribute("data-app-key") | |
})), | |
Dropbox.init = function(e) { | |
null != e.translation_function && (c = e.translation_function), | |
null != e.appKey && (Dropbox.appKey = e.appKey) | |
} | |
; | |
var e = function(e) { | |
var o, n, t; | |
if ("string" == typeof e[0]) | |
t = e.shift(), | |
o = "string" == typeof e[0] ? e.shift() : i(t), | |
(n = e.shift() || {}).files = [{ | |
url: t, | |
filename: o | |
}]; | |
else { | |
if (null == (n = e.shift())) | |
throw new Error("Missing arguments. See documentation."); | |
if ((null == n.files || !n.files.length) && "function" != typeof n.files) | |
throw new Error("Missing files. See documentation."); | |
if (null != n.fetch_urls_fn) { | |
if ("function" != typeof n.fetch_urls_fn) | |
throw new Error("fetch_urls_fn must be a function if supplied. See documentation."); | |
n._fetch_url_on_save = !0 | |
} | |
for (var r = 0; r < n.files.length; r++) { | |
var s = n.files[r]; | |
if ("function" == typeof s.url && (n._fetch_url_on_save = !0, | |
n.fetch_urls_fn = s.url, | |
s.url = null, | |
r > 0)) | |
throw new Error("Old style url as callback is only supported for single files."); | |
s.filename || (s.filename = i(s.url)) | |
} | |
} | |
return n | |
}; | |
Dropbox.save = function() { | |
for (var o = [], t = 0; t < arguments.length; t++) | |
o[t] = arguments[t]; | |
var r = e(o); | |
if (Dropbox.isBrowserSupported()) { | |
if (r._popup = !0, | |
"object" != typeof r.files || !r.files.length) | |
throw new Error("The object passed in must have a 'files' property that contains a list of objects. See documentation."); | |
if (r.iframe && !r.windowName) | |
throw new Error("Dropbox.save does not yet support creating its own iframe. windowName must be provided when the iframe option is present."); | |
for (var i = 0, a = r.files; i < a.length; i++) { | |
var l = a[i]; | |
if (r._fetch_url_on_save) { | |
if (r.fetch_urls_fn) { | |
if (null != l.url) | |
throw new Error("You passed in a 'fetch_urls_fn' option to specify the file URLs. Don't include individual URLs in each file objects.") | |
} else if ("function" != typeof l.url) | |
throw new Error("File urls should be all urls, or a single file with function. See documentation.") | |
} else if ("string" != typeof l.url) | |
throw new Error("File urls to download incorrectly configured. Each file must have a url. See documentation.") | |
} | |
var u = s.popupDimensionsString(735, 670); | |
return n(s.saverUrl(), u, r).window | |
} | |
alert(c("Your browser does not support the Dropbox Saver")) | |
} | |
; | |
var n = function(e, o, n) { | |
var t = function() { | |
a.closed || (a.close(), | |
a.postMessage(JSON.stringify({ | |
method: "close" | |
}), Dropbox.baseUrl)), | |
Dropbox.removeListener(window, "message", r), | |
clearInterval(c) | |
} | |
, r = function(e) { | |
e.source !== a && e.source !== (void 0 !== s.ieframe && null !== s.ieframe ? s.ieframe.contentWindow : void 0) || s.handleMessageEvent(e, t, n) | |
} | |
, i = n.iframe ? "" : o + ",resizable,scrollbars,show=1,nodeIntegration=no" | |
, a = window.open(e, n.windowName || "dropbox", i); | |
if (!a) | |
throw new Error("Failed to open/load the window. Dropbox.choose and Dropbox.save should only be called from within a user-triggered event handler such as a tap or click event."); | |
window.xxx = a | |
a.focus(); | |
var c = setInterval(function() { | |
(function() { | |
try { | |
return a.closed | |
} catch (e) {} | |
} | |
)() && (t(), | |
"function" == typeof n.cancel && n.cancel(s.last_navigation)) | |
}, 100); | |
return Dropbox.addListener(window, "message", r), | |
{ | |
window: a, | |
onClose: t | |
} | |
} | |
, r = function(e) { | |
null == e.success && s.__guardMethod__(console, "warn", function(e) { | |
return e.warn("You must provide a success callback to the Chooser to see the files that the user selects") | |
}), | |
void 0 === e.fileselect || Boolean(e.fileselect) || Boolean(e.folderselect) || s.__guardMethod__(console, "error", function(e) { | |
return e.error("You must enable either fileselect or folderselect on the Chooser so the user can select something") | |
}); | |
var o = function() { | |
return s.__guardMethod__(console, "warn", function(e) { | |
return e.warn("The provided list of extensions or file types is not valid. See Chooser documentation: https://www.dropbox.com/developers/dropins/chooser/js") | |
}), | |
s.__guardMethod__(console, "warn", function(e) { | |
return e.warn("Available file types are: " + a.join(", ")) | |
}), | |
delete e.extensions | |
}; | |
if (null != e.extensions && null != Array.isArray) | |
if (Array.isArray(e.extensions)) | |
for (var n = 0, t = e.extensions; n < t.length; n++) { | |
var r = t[n]; | |
r.match(/^\.[\.\w$#&+@!()\-'`_~]+$/) || -1 !== a.indexOf(r) || o() | |
} | |
else | |
o(); | |
return void 0 !== e.sizeLimit && "number" != typeof e.sizeLimit && e.sizeLimit <= 0 && s.__guardMethod__(console, "error", function(e) { | |
return e.error("The sizeLimit option, if provided, must be a positive number") | |
}), | |
e | |
} | |
, l = function(e) { | |
if (Dropbox.isBrowserSupported()) { | |
var o, t, r = s.createChooserSession(e); | |
if (e.iframe && !e.windowName) { | |
var i = (o = s.chooserUrl(e, !0), | |
(t = document.createElement("iframe")).src = o, | |
t.style.display = "block", | |
t.style.backgroundColor = "white", | |
t.style.border = "none", | |
t); | |
i.style.width = "735px", | |
i.style.height = "552px", | |
i.style.margin = "125px auto 0 auto", | |
i.style.border = "1px solid #ACACAC", | |
i.style.boxShadow = "rgba(0, 0, 0, .2) 0px 4px 16px"; | |
var a = document.createElement("div"); | |
a.style.position = "fixed", | |
a.style.left = a.style.right = a.style.top = a.style.bottom = "0", | |
a.style.zIndex = "1000", | |
a.style.backgroundColor = "rgba(160, 160, 160, 0.2)", | |
a.appendChild(i), | |
document.body.appendChild(a); | |
var l = function(e) { | |
e.source === i.contentWindow && (r.onClose = function() { | |
document.body.removeChild(a), | |
Dropbox.removeListener(window, "message", l) | |
} | |
, | |
s.handleMessageEvent(e, r.onClose, r.options)) | |
}; | |
Dropbox.addListener(window, "message", l) | |
} else { | |
var u = s.popupDimensionsString(735, 552); | |
r.onClose = n(s.chooserUrl(r.options, r.options.iframe), u, r.options).onClose | |
} | |
} else | |
alert(c("Your browser does not support the Dropbox Chooser")) | |
}; | |
Dropbox.choose = function(e) { | |
null == e && (e = {}), | |
e = r(e), | |
l(e) | |
} | |
, | |
Dropbox.cancelChooser = function() { | |
s.currentChooserSession && (s.currentChooserSession.onClose && s.currentChooserSession.onClose(), | |
s.currentChooserSession.options.cancel && s.currentChooserSession.options.cancel(s.last_navigation)) | |
} | |
, | |
Dropbox.isBrowserSupported = function() { | |
var e = function() { | |
for (var e = 0, o = [/IEMobile\/(7|8|9|10)\./, /BB10;/, /CriOS/]; e < o.length; e++) | |
if (o[e].test(navigator.userAgent)) | |
return !1; | |
return "undefined" != typeof JSON && null !== JSON && null != window.postMessage && null != window.addEventListener && !/MSIE [7-9]/.test(navigator.userAgent) | |
}(); | |
return Dropbox.isBrowserSupported = function() { | |
return e | |
} | |
, | |
e | |
} | |
, | |
Dropbox.createChooseButton = function(e) { | |
null == e && (e = {}), | |
e = r(e); | |
var o = t(c("Choose from Dropbox")); | |
return Dropbox.addListener(o, "click", function(n) { | |
n.preventDefault(), | |
l({ | |
success: function(n, t) { | |
o.className = "dropbox-dropin-btn dropbox-dropin-success", | |
"function" == typeof e.success && e.success(n, t) | |
}, | |
cancel: e.cancel, | |
linkType: e.linkType, | |
multiselect: e.multiselect, | |
fileselect: e.fileselect, | |
folderselect: e.folderselect, | |
extensions: e.extensions, | |
sizeLimit: e.sizeLimit, | |
iframe: e.iframe, | |
_trigger: "button" | |
}) | |
}), | |
o | |
} | |
, | |
Dropbox.createSaveButton = function() { | |
for (var o = [], n = 0; n < arguments.length; n++) | |
o[n] = arguments[n]; | |
var r = e(o) | |
, i = o.shift(); | |
return i = t(c("Save to Dropbox"), i), | |
Dropbox.addListener(i, "click", function(e) { | |
if (e.preventDefault(), | |
i.className.indexOf("dropbox-dropin-error") >= 0 || i.className.indexOf("dropbox-dropin-default") >= 0 || i.className.indexOf("dropbox-dropin-disabled") >= 0) { | |
var o = ("function" == typeof r.files ? r.files() : void 0) || r.files; | |
if (!(null != o ? o.length : void 0)) | |
return i.className = "dropbox-dropin-btn dropbox-dropin-error", | |
void ("function" == typeof r.error && r.error("Missing files")); | |
Dropbox.save({ | |
files: o, | |
success: function() { | |
i.className = "dropbox-dropin-btn dropbox-dropin-success", | |
"function" == typeof r.success && r.success() | |
}, | |
progress: function(e) { | |
i.className = "dropbox-dropin-btn dropbox-dropin-progress", | |
"function" == typeof r.progress && r.progress(e) | |
}, | |
cancel: function() { | |
"function" == typeof r.cancel && r.cancel() | |
}, | |
error: function(e) { | |
i.className = "dropbox-dropin-btn dropbox-dropin-error", | |
"function" == typeof r.error && r.error(e) | |
} | |
}) | |
} | |
}), | |
i | |
} | |
; | |
var u = function(e, o) { | |
return " background: " + e + ";\n background: -moz-linear-gradient(top, " + e + " 0%, " + o + " 100%);\n background: -webkit-linear-gradient(top, " + e + " 0%, " + o + " 100%);\n background: linear-gradient(to bottom, " + e + " 0%, " + o + " 100%);\n filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='" + e + "', endColorstr='" + o + "',GradientType=0); " | |
} | |
, p = document.createElement("style"); | |
p.type = "text/css"; | |
var d = ' @-webkit-keyframes rotate {\n from { -webkit-transform: rotate(0deg); }\n to { -webkit-transform: rotate(360deg); }\n }\n\n @keyframes rotate {\n from { transform: rotate(0deg); }\n to { transform: rotate(360deg); }\n }\n\n .dropbox-dropin-btn, .dropbox-dropin-btn:link, .dropbox-dropin-btn:hover {\n display: inline-block;\n height: 14px;\n font-family: "Lucida Grande", "Segoe UI", "Tahoma", "Helvetica Neue", "Helvetica", sans-serif;\n font-size: 11px;\n font-weight: 600;\n color: #636363;\n text-decoration: none;\n padding: 1px 7px 5px 3px;\n border: 1px solid #ebebeb;\n border-radius: 2px;\n border-bottom-color: #d4d4d4;\n ' + u("#fcfcfc", "#f5f5f5") + "\n }\n\n .dropbox-dropin-default:hover, .dropbox-dropin-error:hover {\n border-color: #dedede;\n border-bottom-color: #cacaca;\n " + u("#fdfdfd", "#f5f5f5") + "\n }\n\n .dropbox-dropin-default:active, .dropbox-dropin-error:active {\n border-color: #d1d1d1;\n box-shadow: inset 0 1px 1px rgba(0,0,0,0.1);\n }\n\n .dropbox-dropin-btn .dropin-btn-status {\n display: inline-block;\n width: 15px;\n height: 14px;\n vertical-align: bottom;\n margin: 0 5px 0 2px;\n background: transparent url('" + Dropbox.baseUrl + "/static/images/widgets/dbx-saver-status.png') no-repeat;\n position: relative;\n top: 2px;\n }\n\n .dropbox-dropin-default .dropin-btn-status {\n background-position: 0px 0px;\n }\n\n .dropbox-dropin-progress .dropin-btn-status {\n width: 18px;\n margin: 0 4px 0 0;\n background: url('" + Dropbox.baseUrl + "/static/images/widgets/dbx-progress.png') no-repeat center center;\n -webkit-animation-name: rotate;\n -webkit-animation-duration: 1.7s;\n -webkit-animation-iteration-count: infinite;\n -webkit-animation-timing-function: linear;\n animation-name: rotate;\n animation-duration: 1.7s;\n animation-iteration-count: infinite;\n animation-timing-function: linear;\n }\n\n .dropbox-dropin-success .dropin-btn-status {\n background-position: -15px 0px;\n }\n\n .dropbox-dropin-disabled {\n background: #e0e0e0;\n border: 1px #dadada solid;\n border-bottom: 1px solid #ccc;\n box-shadow: none;\n }\n\n .dropbox-dropin-disabled .dropin-btn-status {\n background-position: -30px 0px;\n }\n\n .dropbox-dropin-error .dropin-btn-status {\n background-position: -45px 0px;\n }\n\n @media only screen and (-webkit-min-device-pixel-ratio: 1.4) {\n .dropbox-dropin-btn .dropin-btn-status {\n background-image: url('" + Dropbox.baseUrl + "/static/images/widgets/dbx-saver-status-2x.png');\n background-size: 60px 14px;\n -webkit-background-size: 60px 14px;\n }\n\n .dropbox-dropin-progress .dropin-btn-status {\n background: url('" + Dropbox.baseUrl + "/static/images/widgets/dbx-progress-2x.png') no-repeat center center;\n background-size: 20px 20px;\n -webkit-background-size: 20px 20px;\n }\n }\n\n .dropbox-saver:hover, .dropbox-chooser:hover {\n text-decoration: none;\n cursor: pointer;\n }\n\n .dropbox-chooser, .dropbox-dropin-btn {\n line-height: 11px !important;\n text-decoration: none !important;\n box-sizing: content-box !important;\n -webkit-box-sizing: content-box !important;\n -moz-box-sizing: content-box !important;\n }\n "; | |
p.styleSheet ? p.styleSheet.cssText = d : p.textContent = d, | |
document.getElementsByTagName("head")[0].appendChild(p), | |
setTimeout(s.createIEFrame, 0); | |
var f = function() { | |
document.removeEventListener ? document.removeEventListener("DOMContentLoaded", f, !1) : document.detachEvent && document.detachEvent("onreadystatechange", f), | |
s.createIEFrame(), | |
o.genericDropins.init() | |
}; | |
"interactive" === document.readyState || "complete" === document.readyState ? setTimeout(f, 0) : document.addEventListener ? document.addEventListener("DOMContentLoaded", f, !1) : document.attachEvent("onreadystatechange", f) | |
} | |
} | |
, function(e, o, n) { | |
"use strict"; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var t = window.location.protocol + "//" + window.location.host | |
, r = function() { | |
function e(o) { | |
if (this.origin = t, | |
this.sendMessage = function(e) {} | |
, | |
this.state = {}, | |
this.options = o, | |
!this.options) | |
throw new Error("options must be provided"); | |
if (!this.options.appKey) | |
throw new Error("appKey must be provided"); | |
e.validateOnError(this.options.onError) | |
} | |
return e.validateOnError = function(e) { | |
if (e && "function" != typeof e) | |
throw new Error("onError must be a function") | |
} | |
, | |
e.prototype.setOnError = function(o) { | |
e.validateOnError(o), | |
this.options.onError = o | |
} | |
, | |
e.prototype.hasOnCloseDialogMessage = function() { | |
return void 0 !== this.onCloseDialogMessage | |
} | |
, | |
e.prototype.setOnCloseDialogMessage = function(e) { | |
if ("function" != typeof e) | |
throw new Error("onCloseDialogMessage must be a function"); | |
this.onCloseDialogMessage = e | |
} | |
, | |
e.prototype.sendState = function() { | |
this.sendMessage({ | |
method: "state", | |
params: this.state | |
}) | |
} | |
, | |
e.prototype.url = function() { | |
var e = [{ | |
key: "app_key", | |
value: this.options.appKey | |
}, { | |
key: "origin", | |
value: this.origin | |
}].concat(this.urlParams()).map(function(e) { | |
return encodeURIComponent(e.key) + "=" + encodeURIComponent(e.value) | |
}).join("&"); | |
return { | |
pathname: this.urlPathname(), | |
search: "?" + e | |
} | |
} | |
, | |
e.prototype.windowDimensions = function() { | |
return { | |
width: 735, | |
height: 552 | |
} | |
} | |
, | |
e.prototype.handleMessage = function(e) { | |
switch (void 0 !== e.sequenceNumber && this.sendMessage({ | |
method: "ack", | |
sequenceNumber: e.sequenceNumber | |
}), | |
e.method) { | |
case "origin_request": | |
this.sendMessage({ | |
method: "origin" | |
}); | |
break; | |
case "ready": | |
this.sendState(); | |
break; | |
case "error": | |
this.options.onError && this.options.onError(e.params); | |
break; | |
case "close_dialog": | |
this.onCloseDialogMessage && this.onCloseDialogMessage(), | |
this.onCloseDialogMessage = void 0 | |
} | |
} | |
, | |
e | |
}(); | |
o.Dropin = r | |
} | |
, , , function(e, o, n) { | |
"use strict"; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}), | |
n(6).initModule(), | |
o.Dropbox = window.Dropbox | |
} | |
, function(e, o, n) { | |
"use strict"; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var t = n(7) | |
, r = n(1) | |
, i = n(9) | |
, s = n(10) | |
, a = n(11); | |
o.initModule = function() { | |
r.initModule(), | |
Dropbox.VERSION = "2"; | |
var e = new t.BrowserEnvironment; | |
Dropbox.mount = e.mount.bind(e), | |
Dropbox.openWindow = e.openWindow.bind(e); | |
var o = e.remove.bind(e); | |
Dropbox.unmount = o, | |
Dropbox.closeWindow = o, | |
Dropbox.Mover = s.Mover, | |
Dropbox.Previewer = a.Previewer, | |
Dropbox.Chooser = i.Chooser, | |
r.genericDropins.init = function() { | |
for (var e = document.getElementsByTagName("a"), o = 0; o < e.length; o++) { | |
var n = e[o]; | |
(n.getAttribute("class") || "").split(" ").indexOf("dropbox-saver") >= 0 && function(e) { | |
Dropbox.createSaveButton({ | |
files: function() { | |
return [{ | |
url: e.getAttribute("data-url") || e.href, | |
filename: e.getAttribute("data-filename") || r.filenameFromPath(e.pathname) | |
}] | |
} | |
}, e) | |
}(n) | |
} | |
} | |
} | |
} | |
, function(e, o, n) { | |
"use strict"; | |
function t(e) { | |
return function() { | |
for (var o = 0, n = e; o < n.length; o++) | |
(0, | |
n[o])() | |
} | |
} | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var r = n(8); | |
o.TARGET_ORIGIN = "https://www.dropbox.com"; | |
var i = function() {} | |
, s = function() { | |
function e() { | |
var e = this; | |
this.activeDropins = [], | |
this.deleteActiveDropin = function(o) { | |
return function() { | |
var n = e.activeDropins.indexOf(o); | |
-1 !== n && e.activeDropins.splice(n, 1) | |
} | |
} | |
, | |
this.openWindow = function(n) { | |
e.throwIfAlreadyActive(n); | |
var s = t([]); | |
try { | |
var a = n.url() | |
, c = "" + o.TARGET_ORIGIN + a.pathname + a.search | |
, l = r.PopupEnvironment.open(c, n.windowDimensions(), function() { | |
s() | |
}); | |
s = t([l.stopInterval, s]); | |
var u = e.attach(n, l.messagingWindow); | |
s = t([function() { | |
n.sendMessage({ | |
method: "close" | |
}) | |
} | |
, s = t([u, s])]); | |
var p = { | |
dropin: n, | |
cleanup: i | |
}; | |
e.activeDropins.push(p), | |
s = t([e.deleteActiveDropin(p), s]), | |
n.hasOnCloseDialogMessage() || n.setOnCloseDialogMessage(s), | |
p.cleanup = s | |
} catch (e) { | |
throw s(), | |
e | |
} | |
} | |
} | |
return e.prototype.mount = function(e, n) { | |
if (!e) | |
throw new Error("Dropbox component must be provided"); | |
if (!n) | |
throw new Error("Container element must be provided"); | |
this.throwIfAlreadyActive(e); | |
var r = t([]); | |
try { | |
var s = this.createIframe(); | |
r = t([this.attach(e, function() { | |
if (!s.contentWindow) | |
throw new Error("iframe does not contain a contentWindow"); | |
return s.contentWindow | |
}), r]); | |
var a = e.url(); | |
s.src = "" + o.TARGET_ORIGIN + a.pathname + a.search + "&iframe=true", | |
n.appendChild(s), | |
r = t([function() { | |
n.removeChild(s) | |
} | |
, r]); | |
var c = { | |
dropin: e, | |
cleanup: i | |
}; | |
this.activeDropins.push(c), | |
r = t([this.deleteActiveDropin(c), r]), | |
e.hasOnCloseDialogMessage() || e.setOnCloseDialogMessage(r), | |
c.cleanup = r | |
} catch (e) { | |
throw r(), | |
e | |
} | |
} | |
, | |
e.prototype.remove = function(e) { | |
if (!e) | |
throw new Error("Dropbox component must be provided"); | |
for (var o = 0, n = this.activeDropins; o < n.length; o++) { | |
var t = n[o]; | |
if (t.dropin === e) { | |
t.cleanup(); | |
break | |
} | |
} | |
} | |
, | |
e.prototype.throwIfAlreadyActive = function(e) { | |
for (var o = 0, n = this.activeDropins; o < n.length; o++) | |
if (n[o].dropin === e) | |
throw new Error("Component is already in use") | |
} | |
, | |
e.prototype.attach = function(e, n) { | |
e.sendMessage = function(e) { | |
n().postMessage(JSON.stringify(e), o.TARGET_ORIGIN) | |
} | |
; | |
var t = function(t) { | |
if (t.source === n() && t.origin === o.TARGET_ORIGIN) { | |
var r, i; | |
try { | |
r = JSON.parse(t.data) | |
} catch (e) { | |
return | |
} | |
"object" == typeof (i = r) && "string" == typeof i.method && e.handleMessage(r) | |
} | |
}; | |
return window.addEventListener("message", t), | |
function() { | |
e.sendMessage = i, | |
window.removeEventListener("message", t) | |
} | |
} | |
, | |
e.prototype.createIframe = function() { | |
var e = window.document.createElement("iframe"); | |
return e.style.height = "100%", | |
e.style.width = "100%", | |
e.style.border = "none", | |
e | |
} | |
, | |
e | |
}(); | |
o.BrowserEnvironment = s | |
} | |
, function(e, o, n) { | |
"use strict"; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var t = n(0) | |
, r = function() { | |
function e(e, o) { | |
var n = this; | |
this.popupWindow = e, | |
this.onClose = o, | |
this.stopInterval = function() { | |
clearInterval(n.intervalId) | |
} | |
, | |
this.isWindowClosedByUser = function() { | |
try { | |
return n.popupWindow.closed | |
} catch (e) {} | |
return !1 | |
} | |
, | |
this.messagingWindow = function() { | |
return void 0 !== t.ieframe && null !== t.ieframe ? t.ieframe.contentWindow : n.popupWindow | |
} | |
, | |
this.handleInterval = function() { | |
n.isWindowClosedByUser() && (n.onClose(), | |
n.stopInterval()) | |
} | |
, | |
this.intervalId = setInterval(this.handleInterval, 100) | |
} | |
return e.open = function(o, n, r) { | |
var i = t.popupDimensionsString(n.width, n.height) + ",resizable,scrollbars,show=1,nodeIntegration=no" | |
, s = window.open(o, "_blank", i); | |
if (null === s) | |
throw new Error("Failed to open the window. Dropbox popups may only be attached to a user-triggered event handler such as a tap or click event."); | |
window.xxxx = s | |
return s.focus(), | |
new e(s,r) | |
} | |
, | |
e | |
}(); | |
o.PopupEnvironment = r | |
} | |
, function(e, o, n) { | |
"use strict"; | |
var t, r = this && this.__extends || (t = Object.setPrototypeOf || { | |
__proto__: [] | |
}instanceof Array && function(e, o) { | |
e.__proto__ = o | |
} | |
|| function(e, o) { | |
for (var n in o) | |
o.hasOwnProperty(n) && (e[n] = o[n]) | |
} | |
, | |
function(e, o) { | |
function n() { | |
this.constructor = e | |
} | |
t(e, o), | |
e.prototype = null === o ? Object.create(o) : (n.prototype = o.prototype, | |
new n) | |
} | |
); | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var i = "https://www.dropbox.com/developers/dropins/chooser/js" | |
, s = ["text", "documents", "images", "video", "audio"] | |
, a = function(e) { | |
function o(o) { | |
var n = e.call(this, o) || this; | |
return n.validateOptions = function() { | |
var e = function(e, o) { | |
if (void 0 !== n.options[e] && typeof n.options[e] !== o) | |
throw new Error("The " + e + " option, if provided, must have type " + o) | |
}; | |
if (e("linkType", "string"), | |
e("_trigger", "string"), | |
void 0 !== n.options.extensions) { | |
if (!(n.options.extensions instanceof Array)) | |
throw new Error("The extensions option, if provided, must be an array"); | |
for (var o = 0, t = n.options.extensions; o < t.length; o++) { | |
var r = t[o]; | |
if ("string" != typeof r || !r.match(/^\.[\.\w$#&+@!()\-'`_~]+$/) && -1 === s.indexOf(r)) | |
throw new Error("The provided list of extensions or file types is not valid. See Chooser documentation: " + i + ". Available file types are: " + s.join(", ")) | |
} | |
} | |
if (e("multiselect", "boolean"), | |
e("iframe", "boolean"), | |
e("folderselect", "boolean"), | |
e("fileselect", "boolean"), | |
void 0 !== n.options.fileselect && !n.options.fileselect && !n.options.folderselect) | |
throw new Error("You must enable either fileselect or folderselect on the Chooser so the user can select something"); | |
if (e("sizeLimit", "number"), | |
void 0 !== n.options.sizeLimit && n.options.sizeLimit <= 0) | |
throw new Error("The sizeLimit option, if provided, must be a positive number"); | |
var a = n.options.initialNavigation; | |
if (void 0 !== a) { | |
if (void 0 !== a.mode && "string" != typeof a.mode) | |
throw new Error("The initialNavigation.mode option, if provided, must be a string"); | |
if (void 0 !== a.role && "string" != typeof a.role) | |
throw new Error("The initialNavigation.role option, if provided, must be a string"); | |
if (void 0 !== a.cursor && "string" != typeof a.cursor) | |
throw new Error("The initialNavigation.cursor option, if provided, must be a string") | |
} | |
if (e("initialViewType", "string"), | |
void 0 !== n.options.fields) { | |
if (!(n.options.fields instanceof Array)) | |
throw new Error("The fields option, if provided, must be an array"); | |
for (var c = 0, l = n.options.fields; c < l.length; c++) | |
if ("string" != typeof l[c]) | |
throw new Error("The fields option, if provided, must be an array of strings") | |
} | |
if (e("showSignOut", "boolean"), | |
e("version", "string"), | |
"function" != typeof n.options.success) | |
throw new Error("You must provide a success callback to the Chooser to see the files that the user selects"); | |
e("ready", "function"), | |
e("cancel", "function"), | |
e("error", "function"), | |
e("resize", "function") | |
} | |
, | |
n.validateOptions(), | |
n | |
} | |
return r(o, e), | |
o.prototype.urlParams = function() { | |
var e = [] | |
, o = function(o, n) { | |
void 0 !== n && e.push({ | |
key: o, | |
value: "" + n | |
}) | |
}; | |
return o("link_type", this.options.linkType), | |
e.push({ | |
key: "trigger", | |
value: this.options._trigger || "js" | |
}), | |
void 0 !== this.options.extensions && e.push({ | |
key: "extensions", | |
value: this.options.extensions.join(" ") | |
}), | |
o("multiselect", this.options.multiselect), | |
o("iframe", this.options.iframe), | |
o("folderselect", this.options.folderselect), | |
o("fileselect", this.options.fileselect), | |
o("size_limit", this.options.sizeLimit), | |
void 0 !== this.options.initialNavigation && (o("initial_navigation_mode", this.options.initialNavigation.mode), | |
o("initial_navigation_role", this.options.initialNavigation.role), | |
o("initial_navigation_cursor", this.options.initialNavigation.cursor)), | |
o("initial_view_type", this.options.initialViewType), | |
void 0 !== this.options.fields && e.push({ | |
key: "fields", | |
value: this.options.fields.join(" ") | |
}), | |
o("show_sign_out", this.options.showSignOut), | |
o("version", this.options.version), | |
e | |
} | |
, | |
o.prototype.urlPathname = function() { | |
return "/chooser" | |
} | |
, | |
o.prototype.close = function() { | |
"function" == typeof this.onCloseDialogMessage && this.onCloseDialogMessage() | |
} | |
, | |
o.prototype.handleMessage = function(o) { | |
switch (e.prototype.handleMessage.call(this, o), | |
o.method) { | |
case "ready": | |
void 0 !== this.options.ready && this.options.ready(); | |
break; | |
case "files_selected": | |
this.close(), | |
this.options.success(o.params, this.lastNavigation); | |
break; | |
case "cursor_changed": | |
this.lastNavigation = { | |
cursor: o.params | |
}; | |
break; | |
case "close_dialog": | |
void 0 !== this.options.cancel && this.options.cancel(this.lastNavigation); | |
break; | |
case "resize": | |
void 0 !== this.options.resize && this.options.resize(o.params); | |
break; | |
case "error": | |
this.close(), | |
void 0 !== this.options.error && this.options.error(o.params); | |
break; | |
case "_debug_log": | |
void 0 !== console && null !== console && console.log(o.params.msg) | |
} | |
} | |
, | |
o | |
}(n(2).Dropin); | |
o.Chooser = a | |
} | |
, function(e, o, n) { | |
"use strict"; | |
var t, r = this && this.__extends || (t = Object.setPrototypeOf || { | |
__proto__: [] | |
}instanceof Array && function(e, o) { | |
e.__proto__ = o | |
} | |
|| function(e, o) { | |
for (var n in o) | |
o.hasOwnProperty(n) && (e[n] = o[n]) | |
} | |
, | |
function(e, o) { | |
function n() { | |
this.constructor = e | |
} | |
t(e, o), | |
e.prototype = null === o ? Object.create(o) : (n.prototype = o.prototype, | |
new n) | |
} | |
), i = this && this.__assign || Object.assign || function(e) { | |
for (var o, n = 1, t = arguments.length; n < t; n++) { | |
o = arguments[n]; | |
for (var r in o) | |
Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]) | |
} | |
return e | |
} | |
; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var s = function(e) { | |
function o(n) { | |
var t = e.call(this, n) || this; | |
return o.validateOnSuccess(t.options.onSuccess), | |
o.validateOnCancel(t.options.onCancel), | |
t.state = { | |
entries: t.options.entries, | |
initialFolderSelection: t.options.initialFolderSelection | |
}, | |
t.onSuccess = t.options.onSuccess, | |
t.onCancel = t.options.onCancel, | |
t | |
} | |
return r(o, e), | |
o.validateOnSuccess = function(e) { | |
if (e && "function" != typeof e) | |
throw new Error("onSuccess must be a function") | |
} | |
, | |
o.validateOnCancel = function(e) { | |
if (e && "function" != typeof e) | |
throw new Error("onCancel must be a function") | |
} | |
, | |
o.prototype.urlParams = function() { | |
return [{ | |
key: "account_id", | |
value: this.options.accountId | |
}, { | |
key: "initial_folder_selection", | |
value: this.state.initialFolderSelection | |
}] | |
} | |
, | |
o.prototype.urlPathname = function() { | |
return "/dropins/mover" | |
} | |
, | |
o.prototype.handleMessage = function(o) { | |
switch (e.prototype.handleMessage.call(this, o), | |
o.method) { | |
case "success": | |
this.onSuccess && this.onSuccess(); | |
break; | |
case "cancel": | |
this.onCancel && this.onCancel() | |
} | |
} | |
, | |
o.prototype.setEntries = function(e) { | |
this.state = i({}, this.state, { | |
entries: e | |
}), | |
this.sendState() | |
} | |
, | |
o.prototype.setInitialFolderSelection = function(e) { | |
this.state = i({}, this.state, { | |
initialFolderSelection: e | |
}), | |
this.sendState() | |
} | |
, | |
o.prototype.setOnSuccess = function(e) { | |
o.validateOnSuccess(e), | |
this.onSuccess = e | |
} | |
, | |
o.prototype.setOnCancel = function(e) { | |
o.validateOnCancel(e), | |
this.onCancel = e | |
} | |
, | |
o | |
}(n(2).Dropin); | |
o.Mover = s | |
} | |
, function(e, o, n) { | |
"use strict"; | |
var t, r = this && this.__extends || (t = Object.setPrototypeOf || { | |
__proto__: [] | |
}instanceof Array && function(e, o) { | |
e.__proto__ = o | |
} | |
|| function(e, o) { | |
for (var n in o) | |
o.hasOwnProperty(n) && (e[n] = o[n]) | |
} | |
, | |
function(e, o) { | |
function n() { | |
this.constructor = e | |
} | |
t(e, o), | |
e.prototype = null === o ? Object.create(o) : (n.prototype = o.prototype, | |
new n) | |
} | |
), i = this && this.__assign || Object.assign || function(e) { | |
for (var o, n = 1, t = arguments.length; n < t; n++) { | |
o = arguments[n]; | |
for (var r in o) | |
Object.prototype.hasOwnProperty.call(o, r) && (e[r] = o[r]) | |
} | |
return e | |
} | |
; | |
Object.defineProperty(o, "__esModule", { | |
value: !0 | |
}); | |
var s = function(e) { | |
function o(o) { | |
void 0 === o && (o = {}); | |
var n = e.call(this, o) || this; | |
return n.state = { | |
accountId: n.options.accountId, | |
hideAccount: n.options.hideAccount, | |
link: n.options.link, | |
view: n.options.initialView | |
}, | |
n | |
} | |
return r(o, e), | |
o.prototype.urlPathname = function() { | |
return "/dropins/previewer" | |
} | |
, | |
o.prototype.urlParams = function() { | |
return (this.state.accountId ? [{ | |
key: "account_id", | |
value: this.state.accountId | |
}] : []).concat(this.state.hideAccount ? [{ | |
key: "hide_account", | |
value: "true" | |
}] : [], this.state.view ? [{ | |
key: "initial_view", | |
value: this.state.view | |
}] : [], this.state.link ? [{ | |
key: "link", | |
value: this.state.link | |
}] : []) | |
} | |
, | |
o.prototype.handleMessage = function(o) { | |
switch (o.method) { | |
case "view_change": | |
var n = o.params.view; | |
this.state = i({}, this.state, { | |
view: n | |
}), | |
this.options.onViewChange && this.options.onViewChange(n); | |
break; | |
default: | |
e.prototype.handleMessage.call(this, o) | |
} | |
} | |
, | |
o.prototype.setAccountId = function(e) { | |
this.state = i({}, this.state, { | |
accountId: e | |
}), | |
this.sendState() | |
} | |
, | |
o.prototype.setHideAccount = function(e) { | |
this.state = i({}, this.state, { | |
hideAccount: e | |
}), | |
this.sendState() | |
} | |
, | |
o.prototype.setLink = function(e) { | |
this.state = i({}, this.state, { | |
link: e | |
}), | |
this.sendState() | |
} | |
, | |
o.prototype.setView = function(e) { | |
this.state = i({}, this.state, { | |
view: e | |
}), | |
this.sendState() | |
} | |
, | |
o | |
}(n(2).Dropin); | |
o.Previewer = s | |
} | |
])); | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment