123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370 |
- /*
- Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
- For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
- */
- var SF = (function() {
- function d(a) {
- return (a = a.attributes ? a.attributes.getNamedItem("class") : null)
- ? a.value.split(" ")
- : [];
- }
- function c(a) {
- var e = document.createAttribute("class");
- e.value = a.join(" ");
- return e;
- }
- var b = {
- attachListener: function(a, e, b) {
- if (a.addEventListener) a.addEventListener(e, b, !1);
- else if (a.attachEvent)
- a.attachEvent("on" + e, function() {
- b.apply(a, arguments);
- });
- else throw Error("Could not attach event.");
- }
- };
- b.indexOf = (function() {
- var a = Array.prototype.indexOf;
- return "function" === a
- ? function(e, b) {
- return a.call(e, b);
- }
- : function(a, b) {
- for (var c = a.length, d = 0; d < c; d++) if (a[d] === b) return d;
- return -1;
- };
- })();
- b.accept = function(a, e) {
- var c;
- a.children
- ? ((c = a.children), e(a))
- : "number" === typeof a.length && (c = a);
- for (var d = c ? c.length || 0 : 0; d--; ) b.accept(c[d], e);
- };
- b.getByClass = (function() {
- var a = document.getElementsByClassName;
- return "function" === typeof a
- ? function(e, b) {
- "string" === typeof e && ((b = e), (e = document));
- return a.call(e, b);
- }
- : function(a, c) {
- "string" === typeof a &&
- ((c = a), (a = document.getElementsByTagName("html")[0]));
- var d = [];
- b.accept(a, function(a) {
- b.classList.contains(a, c) && d.push(a);
- });
- return d;
- };
- })();
- b.classList = {};
- b.classList.add = function(a, b) {
- var f = d(a);
- f.push(b);
- a.attributes.setNamedItem(c(f));
- };
- b.classList.remove = function(a, e) {
- var f = d(a, e),
- n = b.indexOf(f, e);
- -1 !== n && (f.splice(n, 1), a.attributes.setNamedItem(c(f)));
- };
- b.classList.contains = function(a, c) {
- return -1 !== b.indexOf(d(a), c);
- };
- b.classList.toggle = function(a, b) {
- this.contains(a, b) ? this.remove(a, b) : this.add(a, b);
- };
- return b;
- })();
- ("use strict");
- (function() {
- function d(c) {
- for (var b in c) delete c[b];
- }
- SF.modal = function(c) {
- function b(a) {
- 27 == a.keyCode && f.close();
- }
- c.modalClass = "modal content";
- c.closeClass = "modal-close";
- c.modalStyles = d;
- c.closeStyles = d;
- var a = c.afterCreate,
- e = c.afterClose;
- c.afterCreate = function(c) {
- a && a(c);
- window.addEventListener("keydown", b);
- };
- c.afterClose = function(a) {
- e && e(a);
- window.removeEventListener("keydown", b);
- };
- var f = new picoModal(c)
- .afterCreate(c.afterCreate)
- .afterClose(c.afterClose);
- return f;
- };
- })();
- ("use strict");
- (function() {
- for (var d = SF.getByClass("toggler"), c = d.length; c--; )
- SF.attachListener(d[c], "click", function() {
- var b =
- SF.classList.contains(this, "icon-toggler-expanded") ||
- SF.classList.contains(this, "icon-toggler-collapsed"),
- a = document.getElementById(this.getAttribute("data-for"));
- SF.classList.toggle(this, "collapsed");
- SF.classList.contains(this, "collapsed")
- ? (SF.classList.add(a, "collapsed"),
- b &&
- (SF.classList.remove(this, "icon-toggler-expanded"),
- SF.classList.add(this, "icon-toggler-collapsed")))
- : (SF.classList.remove(a, "collapsed"),
- b &&
- (SF.classList.remove(this, "icon-toggler-collapsed"),
- SF.classList.add(this, "icon-toggler-expanded")));
- });
- })();
- ("use strict");
- (function() {
- for (var d = SF.getByClass("tree-a"), c = d.length; c--; )
- SF.attachListener(d[c], "click", function(b) {
- b = b.target || b.srcElement;
- "H2" !== b.nodeName ||
- SF.classList.contains(b, "tree-a-no-sub") ||
- SF.classList.toggle(b, "tree-a-active");
- });
- })();
- (function(d, c) {
- function b(a) {
- return "object" === typeof Node
- ? a instanceof Node
- : a && "object" === typeof a && "number" === typeof a.nodeType;
- }
- function a() {
- var a = [];
- return {
- watch: a.push.bind(a),
- trigger: function(b) {
- for (
- var c = !0,
- d = {
- preventDefault: function() {
- c = !1;
- }
- },
- e = 0;
- e < a.length;
- e++
- )
- a[e](b, d);
- return c;
- }
- };
- }
- function e(a) {
- this.elem = a;
- }
- function f(a, b) {
- return e
- .div()
- .clazz("pico-overlay")
- .clazz(a("overlayClass", ""))
- .stylize({
- display: "block",
- position: "fixed",
- top: "0px",
- left: "0px",
- height: "100%",
- width: "100%",
- zIndex: 1e4
- })
- .stylize(a("overlayStyles", { opacity: 0.5, background: "#000" }))
- .onClick(function() {
- a("overlayClose", !0) && b();
- });
- }
- function n(a, b) {
- var c = a("width", "auto");
- "number" === typeof c && (c = "" + c + "px");
- return e
- .div()
- .clazz("pico-content")
- .clazz(a("modalClass", ""))
- .stylize({
- display: "block",
- position: "fixed",
- zIndex: 10001,
- left: "50%",
- top: "50px",
- width: c,
- "-ms-transform": "translateX(-50%)",
- "-moz-transform": "translateX(-50%)",
- "-webkit-transform": "translateX(-50%)",
- "-o-transform": "translateX(-50%)",
- transform: "translateX(-50%)"
- })
- .stylize(
- a("modalStyles", {
- backgroundColor: "white",
- padding: "20px",
- borderRadius: "5px"
- })
- )
- .html(a("content"))
- .attr("role", "dialog")
- .onClick(function(a) {
- new e(a.target).anyAncestor(function(a) {
- return /\bpico-close\b/.test(a.elem.className);
- }) && b();
- });
- }
- function p(a) {
- return function() {
- return a().elem;
- };
- }
- function k(c) {
- function e(a, b) {
- var d = c[a];
- "function" === typeof d && (d = d(b));
- return void 0 === d ? b : d;
- }
- function k() {
- l().hide();
- m().hide();
- v.trigger(h);
- }
- function q() {
- w.trigger(h) && k();
- }
- function g(a) {
- return function() {
- a.apply(this, arguments);
- return h;
- };
- }
- function r(a) {
- if (!t) {
- var c = n(e, q),
- b = f(e, q),
- d;
- d = e("closeButton", !0)
- ? c
- .child()
- .html(e("closeHtml", "\x26#xD7;"))
- .clazz("pico-close")
- .clazz(e("closeClass"))
- .stylize(
- e("closeStyles", {
- borderRadius: "2px",
- cursor: "pointer",
- height: "15px",
- width: "15px",
- position: "absolute",
- top: "5px",
- right: "5px",
- fontSize: "16px",
- textAlign: "center",
- lineHeight: "15px",
- background: "#CCC"
- })
- )
- : void 0;
- t = { modal: c, overlay: b, close: d };
- x.trigger(h);
- }
- return t[a];
- }
- if ("string" === typeof c || b(c)) c = { content: c };
- var x = a(),
- y = a(),
- z = a(),
- w = a(),
- v = a(),
- t,
- m = r.bind(d, "modal"),
- l = r.bind(d, "overlay"),
- u = r.bind(d, "close"),
- h = {
- modalElem: p(m),
- closeElem: p(u),
- overlayElem: p(l),
- show: function() {
- y.trigger(h) && (l().show(), u(), m().show(), z.trigger(h));
- return this;
- },
- close: g(q),
- forceClose: g(k),
- destroy: function() {
- m = m().destroy();
- l = l().destroy();
- u = void 0;
- },
- options: function(a) {
- c = a;
- },
- afterCreate: g(x.watch),
- beforeShow: g(y.watch),
- afterShow: g(z.watch),
- beforeClose: g(w.watch),
- afterClose: g(v.watch)
- };
- return h;
- }
- e.div = function(a) {
- var b = c.createElement("div");
- (a || c.body).appendChild(b);
- return new e(b);
- };
- e.prototype = {
- child: function() {
- return e.div(this.elem);
- },
- stylize: function(a) {
- a = a || {};
- "undefined" !== typeof a.opacity &&
- (a.filter = "alpha(opacity\x3d" + 100 * a.opacity + ")");
- for (var b in a) a.hasOwnProperty(b) && (this.elem.style[b] = a[b]);
- return this;
- },
- clazz: function(a) {
- this.elem.className += " " + a;
- return this;
- },
- html: function(a) {
- b(a) ? this.elem.appendChild(a) : (this.elem.innerHTML = a);
- return this;
- },
- onClick: function(a) {
- this.elem.addEventListener("click", a);
- return this;
- },
- destroy: function() {
- c.body.removeChild(this.elem);
- },
- hide: function() {
- this.elem.style.display = "none";
- },
- show: function() {
- this.elem.style.display = "block";
- },
- attr: function(a, b) {
- this.elem.setAttribute(a, b);
- return this;
- },
- anyAncestor: function(a) {
- for (var b = this.elem; b; ) {
- if (a(new e(b))) return !0;
- b = b.parentNode;
- }
- return !1;
- }
- };
- "function" === typeof d.define && d.define.amd
- ? d.define(function() {
- return k;
- })
- : (d.picoModal = k);
- })(window, document);
|