kkfileView/server/target/classes/static/xmind/xmind.js

389 lines
18 KiB
JavaScript

!function(e, t) {
"object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.XMindEmbedViewer = t() : e.XMindEmbedViewer = t()
}(self, (function() {
return (()=>{
"use strict";
var e = {
61: function(e, t) {
var n = this && this.__awaiter || function(e, t, n, r) {
return new (n || (n = Promise))((function(o, i) {
function a(e) {
try {
l(r.next(e))
} catch (e) {
i(e)
}
}
function s(e) {
try {
l(r.throw(e))
} catch (e) {
i(e)
}
}
function l(e) {
var t;
e.done ? o(e.value) : (t = e.value,
t instanceof n ? t : new n((function(e) {
e(t)
}
))).then(a, s)
}
l((r = r.apply(e, t || [])).next())
}
))
}
, r = this && this.__generator || function(e, t) {
var n, r, o, i, a = {
label: 0,
sent: function() {
if (1 & o[0])
throw o[1];
return o[1]
},
trys: [],
ops: []
};
return i = {
next: s(0),
throw: s(1),
return: s(2)
},
"function" == typeof Symbol && (i[Symbol.iterator] = function() {
return this
}
),
i;
function s(i) {
return function(s) {
return function(i) {
if (n)
throw new TypeError("Generator is already executing.");
for (; a; )
try {
if (n = 1,
r && (o = 2 & i[0] ? r.return : i[0] ? r.throw || ((o = r.return) && o.call(r),
0) : r.next) && !(o = o.call(r, i[1])).done)
return o;
switch (r = 0,
o && (i = [2 & i[0], o.value]),
i[0]) {
case 0:
case 1:
o = i;
break;
case 4:
return a.label++,
{
value: i[1],
done: !1
};
case 5:
a.label++,
r = i[1],
i = [0];
continue;
case 7:
i = a.ops.pop(),
a.trys.pop();
continue;
default:
if (!((o = (o = a.trys).length > 0 && o[o.length - 1]) || 6 !== i[0] && 2 !== i[0])) {
a = 0;
continue
}
if (3 === i[0] && (!o || i[1] > o[0] && i[1] < o[3])) {
a.label = i[1];
break
}
if (6 === i[0] && a.label < o[1]) {
a.label = o[1],
o = i;
break
}
if (o && a.label < o[2]) {
a.label = o[2],
a.ops.push(i);
break
}
o[2] && a.ops.pop(),
a.trys.pop();
continue
}
i = t.call(e, a)
} catch (e) {
i = [6, e],
r = 0
} finally {
n = o = 0
}
if (5 & i[0])
throw i[1];
return {
value: i[0] ? i[1] : void 0,
done: !0
}
}([i, s])
}
}
}
;
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.IframeEventChannelController = void 0;
var o = function() {
function e(e, t) {
void 0 === t && (t = "*"),
this.channel = new MessageChannel,
this.eventIndex = 0,
this.handlers = {};
var o = e.getIframe();
if (o.hasAttribute("data-event-channel-setup"))
throw new Error("An embed viewer instance already initialized on the iframe!");
o.setAttribute("data-event-channel-setup", "true"),
this.channelSetupPromise = n(this, void 0, void 0, (function() {
var e = this;
return r(this, (function(n) {
switch (n.label) {
case 0:
return [4, new Promise((function(n) {
o.addEventListener("load", (function() {
var r;
e.channel.port1.start();
var i = function(t) {
"channel-ready" === t.data[0] && (t.preventDefault(),
e.channel.port1.removeEventListener("message", i),
e.channel.port1.addEventListener("message", e.eventDispatcher.bind(e)),
n(void 0))
};
e.channel.port1.addEventListener("message", i),
null === (r = o.contentWindow) || void 0 === r || r.postMessage(["setup-channel", {
port: e.channel.port2
}], t || "*", [e.channel.port2])
}
))
}
))];
case 1:
return n.sent(),
[2]
}
}
))
}
))
}
return e.prototype.eventDispatcher = function(e) {
var t = e.data || []
, n = t[0]
, r = t[1]
, o = t[2];
"event" === n && r && this.handlers[r] && this.handlers[r].forEach((function(e) {
return e(o)
}
))
}
,
e.prototype.addEventListener = function(e, t) {
this.handlers[e] = this.handlers[e] || [],
this.handlers[e].includes(t) || this.handlers[e].push(t)
}
,
e.prototype.removeEventListener = function(e, t) {
if (this.handlers[e]) {
var n = this.handlers[e].findIndex((function(e) {
return e === t
}
));
this.handlers[e].splice(n, 1)
}
}
,
e.prototype.emit = function(e, t) {
return n(this, void 0, void 0, (function() {
var n, o = this;
return r(this, (function(r) {
switch (r.label) {
case 0:
return [4, this.channelSetupPromise];
case 1:
return r.sent(),
n = "xmind-embed-viewer#" + this.eventIndex++,
[4, new Promise((function(r) {
var i = function(e) {
var t = e.data
, a = t[0]
, s = t[1];
a === n && (o.channel.port1.removeEventListener("message", i),
r(s))
};
o.channel.port1.addEventListener("message", i),
o.channel.port1.postMessage([e, t, n])
}
))];
case 2:
return r.sent(),
[2]
}
}
))
}
))
}
,
e
}();
t.IframeEventChannelController = o
},
860: (e,t)=>{
Object.defineProperty(t, "__esModule", {
value: !0
}),
t.IframeController = void 0;
var n = function() {
function e(e, t) {
var n, r = "string" == typeof e ? document.querySelector(e) : e;
if (null === r)
throw new Error("IFrame or mount element not found by selector " + e);
r instanceof HTMLIFrameElement ? n = r : (n = document.createElement("iframe"),
r.appendChild(n)),
n.setAttribute("frameborder", "0"),
n.setAttribute("scrolling", "no"),
n.setAttribute("allowfullscreen", "true"),
n.setAttribute("allow", "allowfullscreen"),
n.setAttribute("crossorigin", "anonymous"),
n.setAttribute("src", t),
this.iframe = n
}
return e.prototype.getIframe = function() {
return this.iframe
}
,
e.prototype.setStyles = function(e) {
for (var t = this.getIframe(), n = 0, r = Object.entries(e); n < r.length; n++) {
var o = r[n]
, i = o[0]
, a = o[1];
t.style[i] = a
}
}
,
e
}();
t.IframeController = n
}
,
341: (e,t,n)=>{
t.XMindEmbedViewer = void 0;
var r = n(61)
, o = n(860)
, i = function() {
function e(e) {
var t = this;
this.internalState = {
sheets: [],
zoomScale: 100,
currentSheetId: ""
};
var windowWidth = document.documentElement.clientWidth || document.body.clientWidth;
var windowHeight = document.documentElement.clientHeight || document.body.clientHeight;
windowWidth = windowWidth-30;
windowHeight = windowHeight-30;
windowWidth =windowWidth+"px";
windowHeight =windowHeight+"px";
var n = e.file
, i = e.el
, a = e.styles
, s = void 0 === a ? {
height: windowWidth,
width: windowHeight
} : a
, l = new o.IframeController(i,"xmind/index.html")
, u = new r.IframeEventChannelController(l,"");
this.iframeController = l,
this.iframeEventChannelController = u,
u.addEventListener("sheet-switch", (function(e) {
return t.internalState.currentSheetId = e
}
)),
u.addEventListener("zoom-change", (function(e) {
return t.internalState.zoomScale = e
}
)),
u.addEventListener("sheets-load", (function(e) {
return t.internalState.sheets = e
}
)),
this.iframeController.setStyles(s),
n && this.load(n)
}
return e.prototype.addEventListener = function(e, t) {
this.iframeEventChannelController.addEventListener(e, t)
}
,
e.prototype.removeEventListener = function(e, t) {
this.iframeEventChannelController.removeEventListener(e, t)
}
,
e.prototype.setStyles = function(e) {
this.iframeController.setStyles(e)
}
,
e.prototype.load = function(e) {
this.iframeEventChannelController.emit("open-file", e)
}
,
e.prototype.setZoomScale = function(e) {
this.iframeEventChannelController.emit("zoom", e)
}
,
e.prototype.setFitMap = function() {
this.iframeEventChannelController.emit("fit-map")
}
,
e.prototype.switchSheet = function(e) {
this.iframeEventChannelController.emit("switch-sheet", e)
}
,
Object.defineProperty(e.prototype, "zoom", {
get: function() {
return this.internalState.zoomScale
},
enumerable: !1,
configurable: !0
}),
Object.defineProperty(e.prototype, "sheets", {
get: function() {
return JSON.parse(JSON.stringify(this.internalState.sheets))
},
enumerable: !1,
configurable: !0
}),
Object.defineProperty(e.prototype, "currentSheetId", {
get: function() {
return this.internalState.currentSheetId
},
enumerable: !1,
configurable: !0
}),
e
}();
t.XMindEmbedViewer = i
}
}
, t = {};
return function n(r) {
if (t[r])
return t[r].exports;
var o = t[r] = {
exports: {}
};
return e[r].call(o.exports, o, o.exports, n),
o.exports
}(341)
}
)().XMindEmbedViewer
}
));