diff --git a/.npmignore b/.npmignore
new file mode 100644
index 0000000000..968748d69b
--- /dev/null
+++ b/.npmignore
@@ -0,0 +1,8 @@
+.gitattributes
+.github
+.drone.yml
+.eslintrc.yml
+run-eslint.sh
+webpack.config.js
+yarn.lock
+src
diff --git a/package.json b/package.json
index 23adabfde5..60b59eee79 100644
--- a/package.json
+++ b/package.json
@@ -3,18 +3,22 @@
"version": "0.0.0",
"description": "Web interface for Jellyfin",
"repository": "https://github.com/jellyfin/jellyfin-web",
- "license": "GPL-2",
+ "license": "GPL-2.0-or-later",
"devDependencies": {
- "connect": "^3.6.6",
+ "copy-webpack-plugin": "^5.0.3",
"css-loader": "^2.1.0",
+ "eslint": "^5.16.0",
"file-loader": "^3.0.1",
- "serve-static": "^1.13.2",
"style-loader": "^0.23.1",
"webpack": "^4.29.5",
"webpack-cli": "^3.2.3"
},
"dependencies": {
- "howler": "^2.1.1",
"jstree": "^3.3.7"
+ },
+ "scripts": {
+ "dev": "webpack --mode development",
+ "build": "webpack --mode production",
+ "lint": "eslint src"
}
}
diff --git a/src/bundle.js b/src/bundle.js
new file mode 100644
index 0000000000..e49067fce9
--- /dev/null
+++ b/src/bundle.js
@@ -0,0 +1,9 @@
+/**
+ * require.js module definitions bundled by webpack
+ */
+// Use define from require.js not webpack's define
+var _define = window.define;
+
+var jstree = require("jstree");
+require("jstree/dist/themes/default/style.css");
+_define("jstree", ["jQuery"], function() { return jstree; });
diff --git a/src/scripts/apploader.js b/src/scripts/apploader.js
index 3eb53cfcd0..9067ae6070 100644
--- a/src/scripts/apploader.js
+++ b/src/scripts/apploader.js
@@ -1,12 +1,29 @@
-! function() {
+(function() {
"use strict";
- function loadApp() {
- var script = document.createElement("script"),
- src = "./scripts/site.js";
- self.dashboardVersion && (src += "?v=" + self.dashboardVersion), script.src = src, document.head.appendChild(script)
- }! function() {
- var src, script = document.createElement("script");
- src = self.Promise ? "./bower_components/alameda/alameda.js" : "./bower_components/requirejs/require.js", self.dashboardVersion && (src += "?v=" + self.dashboardVersion), script.src = src, script.onload = loadApp, document.head.appendChild(script)
- }()
-}();
\ No newline at end of file
+ function injectScriptElement(src, onload) {
+ if (!src) {
+ return;
+ }
+
+ var script = document.createElement("script");
+ if (self.dashboardVersion) {
+ src += "?v=" + self.dashboardVersion;
+ }
+ script.src = src;
+
+ if (onload) {
+ script.onload = onload;
+ }
+
+ document.head.appendChild(script);
+ }
+
+ injectScriptElement(
+ self.Promise ? "./bower_components/alameda/alameda.js" : "./bower_components/requirejs/require.js",
+ function() {
+ // onload of require library
+ injectScriptElement("./scripts/site.js");
+ }
+ );
+})();
diff --git a/src/scripts/editorsidebar.js b/src/scripts/editorsidebar.js
index 672d2e0213..e39fc23a21 100644
--- a/src/scripts/editorsidebar.js
+++ b/src/scripts/editorsidebar.js
@@ -149,7 +149,9 @@ define(["datetime", "jQuery", "material-icons"], function(datetime, $) {
nodesToLoad = [], selectedNodeId = null, $.jstree.destroy(), $(".libraryTree", page).jstree({
plugins: ["wholerow"],
core: {
- check_callback: !0,
+ // Disable animations because jQuery slim does not support them
+ animation: false,
+ check_callback: true,
data: function(node, callback) {
loadNode(page, this, node, openItems, selectedId, currentUser, callback)
},
@@ -220,4 +222,4 @@ define(["datetime", "jQuery", "material-icons"], function(datetime, $) {
getCurrentItemId: getCurrentItemId,
setCurrentItemId: setCurrentItemId
}
-});
\ No newline at end of file
+});
diff --git a/src/scripts/site.js b/src/scripts/site.js
index 0a91030cf9..838608c661 100644
--- a/src/scripts/site.js
+++ b/src/scripts/site.js
@@ -818,12 +818,15 @@ var AppInfo = {};
text: "components/require/requiretext"
}
},
+ bundles: {
+ bundle: ["jstree"]
+ },
urlArgs: urlArgs,
paths: paths,
onError: onRequireJsError
});
requirejs.onError = onRequireJsError;
- define("jstree", ["thirdparty/jstree/jstree", "css!thirdparty/jstree/themes/default/style.css"], returnFirstDependency);
+
define("dashboardcss", ["css!css/dashboard"], returnFirstDependency);
define("slideshow", [componentsPath + "/slideshow/slideshow"], returnFirstDependency);
define("fetch", [bowerPath + "/fetch/fetch"], returnFirstDependency);
diff --git a/src/thirdparty/jstree/jstree.js b/src/thirdparty/jstree/jstree.js
deleted file mode 100644
index c53a496bc2..0000000000
--- a/src/thirdparty/jstree/jstree.js
+++ /dev/null
@@ -1,2926 +0,0 @@
-! function(factory) {
- "use strict";
- "function" == typeof define && define.amd ? define(["jquery"], factory) : factory("object" == typeof exports ? require("jquery") : jQuery)
-}(function($, undefined) {
- "use strict";
- if (!$.jstree) {
- var _temp1, _temp2, instance_counter = 0,
- ccp_node = !1,
- ccp_mode = !1,
- ccp_inst = !1,
- themes_loaded = [],
- src = $("script:last").attr("src"),
- document = window.document,
- _node = document.createElement("LI");
- _node.setAttribute("role", "treeitem"), _temp1 = document.createElement("I"), _temp1.className = "jstree-icon jstree-ocl", _temp1.setAttribute("role", "presentation"), _node.appendChild(_temp1), _temp1 = document.createElement("A"), _temp1.className = "jstree-anchor", _temp1.setAttribute("href", "#"), _temp1.setAttribute("tabindex", "-1"), _temp2 = document.createElement("I"), _temp2.className = "jstree-icon jstree-themeicon", _temp2.setAttribute("role", "presentation"), _temp1.appendChild(_temp2), _node.appendChild(_temp1), _temp1 = _temp2 = null, $.jstree = {
- version: "3.1.1",
- defaults: {
- plugins: []
- },
- plugins: {},
- path: src && -1 !== src.indexOf("/") ? src.replace(/\/[^\/]+$/, "") : "",
- idregex: /[\\:&!^|()\[\]<>@*'+~#";.,=\- \/${}%?`]/g
- }, $.jstree.create = function(el, options) {
- var tmp = new $.jstree.core(++instance_counter),
- opt = options;
- return options = $.extend(!0, {}, $.jstree.defaults, options), opt && opt.plugins && (options.plugins = opt.plugins), $.each(options.plugins, function(i, k) {
- "core" !== i && (tmp = tmp.plugin(k, options[k]))
- }), $(el).data("jstree", tmp), tmp.init(el, options), tmp
- }, $.jstree.destroy = function() {
- $(".jstree:jstree").jstree("destroy"), $(document).off(".jstree")
- }, $.jstree.core = function(id) {
- this._id = id, this._cnt = 0, this._wrk = null, this._data = {
- core: {
- themes: {
- name: !1,
- dots: !1,
- icons: !1
- },
- selected: [],
- last_error: {},
- working: !1,
- worker_queue: [],
- focused: null
- }
- }
- }, $.jstree.reference = function(needle) {
- var tmp = null,
- obj = null;
- if (!needle || !needle.id || needle.tagName && needle.nodeType || (needle = needle.id), !obj || !obj.length) try {
- obj = $(needle)
- } catch (ignore) {}
- if (!obj || !obj.length) try {
- obj = $("#" + needle.replace($.jstree.idregex, "\\$&"))
- } catch (ignore) {}
- return obj && obj.length && (obj = obj.closest(".jstree")).length && (obj = obj.data("jstree")) ? tmp = obj : $(".jstree").each(function() {
- var inst = $(this).data("jstree");
- if (inst && inst._model.data[needle]) return tmp = inst, !1
- }), tmp
- }, $.fn.jstree = function(arg) {
- var is_method = "string" == typeof arg,
- args = Array.prototype.slice.call(arguments, 1),
- result = null;
- return !(!0 === arg && !this.length) && (this.each(function() {
- var instance = $.jstree.reference(this),
- method = is_method && instance ? instance[arg] : null;
- if (result = is_method && method ? method.apply(instance, args) : null, instance || is_method || arg !== undefined && !$.isPlainObject(arg) || $.jstree.create(this, arg), (instance && !is_method || !0 === arg) && (result = instance || !1), null !== result && result !== undefined) return !1
- }), null !== result && result !== undefined ? result : this)
- }, $.expr[":"].jstree = $.expr.createPseudo(function(search) {
- return function(a) {
- return $(a).hasClass("jstree") && $(a).data("jstree") !== undefined
- }
- }), $.jstree.defaults.core = {
- data: !1,
- strings: !1,
- check_callback: !1,
- error: $.noop,
- animation: 200,
- multiple: !0,
- themes: {
- name: !1,
- url: !1,
- dir: !1,
- dots: !0,
- icons: !0,
- stripes: !1,
- variant: !1,
- responsive: !1
- },
- expand_selected_onload: !0,
- worker: !0,
- force_text: !1,
- dblclick_toggle: !0
- }, $.jstree.core.prototype = {
- plugin: function(deco, opts) {
- var Child = $.jstree.plugins[deco];
- return Child ? (this._data[deco] = {}, Child.prototype = this, new Child(opts, this)) : this
- },
- init: function(el, options) {
- this._model = {
- data: {
- "#": {
- id: "#",
- parent: null,
- parents: [],
- children: [],
- children_d: [],
- state: {
- loaded: !1
- }
- }
- },
- changed: [],
- force_full_redraw: !1,
- redraw_timeout: !1,
- default_state: {
- loaded: !0,
- opened: !1,
- selected: !1,
- disabled: !1
- }
- }, this.element = $(el).addClass("jstree jstree-" + this._id), this.settings = options, this._data.core.ready = !1, this._data.core.loaded = !1, this._data.core.rtl = "rtl" === this.element.css("direction"), this.element[this._data.core.rtl ? "addClass" : "removeClass"]("jstree-rtl"), this.element.attr("role", "tree"), this.settings.core.multiple && this.element.attr("aria-multiselectable", !0), this.element.attr("tabindex") || this.element.attr("tabindex", "0"), this.bind(), this.trigger("init"), this._data.core.original_container_html = this.element.find(" > ul > li").clone(!0), this._data.core.original_container_html.find("li").addBack().contents().filter(function() {
- return 3 === this.nodeType && (!this.nodeValue || /^\s+$/.test(this.nodeValue))
- }).remove(), this.element.html("
"), this.element.attr("aria-activedescendant", "j" + this._id + "_loading"), this._data.core.li_height = this.get_container_ul().children("li").first().height() || 24, this.trigger("loading"), this.load_node("#")
- },
- destroy: function(keep_html) {
- if (this._wrk) try {
- window.URL.revokeObjectURL(this._wrk), this._wrk = null
- } catch (ignore) {}
- keep_html || this.element.empty(), this.teardown()
- },
- teardown: function() {
- this.unbind(), this.element.removeClass("jstree").removeData("jstree").find("[class^='jstree']").addBack().attr("class", function() {
- return this.className.replace(/jstree[^ ]*|$/gi, "")
- }), this.element = null
- },
- bind: function() {
- var word = "",
- tout = null,
- was_click = 0;
- this.element.on("dblclick.jstree", function() {
- if (document.selection && document.selection.empty) document.selection.empty();
- else if (window.getSelection) {
- var sel = window.getSelection();
- try {
- sel.removeAllRanges(), sel.collapse()
- } catch (ignore) {}
- }
- }).on("mousedown.jstree", $.proxy(function(e) {
- e.target === this.element[0] && (e.preventDefault(), was_click = +new Date)
- }, this)).on("mousedown.jstree", ".jstree-ocl", function(e) {
- e.preventDefault()
- }).on("click.jstree", ".jstree-ocl", $.proxy(function(e) {
- this.toggle_node(e.target)
- }, this)).on("dblclick.jstree", ".jstree-anchor", $.proxy(function(e) {
- this.settings.core.dblclick_toggle && this.toggle_node(e.target)
- }, this)).on("click.jstree", ".jstree-anchor", $.proxy(function(e) {
- e.preventDefault(), e.currentTarget !== document.activeElement && $(e.currentTarget).focus(), this.activate_node(e.currentTarget, e)
- }, this)).on("keydown.jstree", ".jstree-anchor", $.proxy(function(e) {
- if ("INPUT" === e.target.tagName) return !0;
- if (32 !== e.which && 13 !== e.which && (e.shiftKey || e.ctrlKey || e.altKey || e.metaKey)) return !0;
- var o = null;
- switch (this._data.core.rtl && (37 === e.which ? e.which = 39 : 39 === e.which && (e.which = 37)), e.which) {
- case 32:
- e.ctrlKey && (e.type = "click", $(e.currentTarget).trigger(e));
- break;
- case 13:
- e.type = "click", $(e.currentTarget).trigger(e);
- break;
- case 37:
- e.preventDefault(), this.is_open(e.currentTarget) ? this.close_node(e.currentTarget) : (o = this.get_parent(e.currentTarget)) && "#" !== o.id && this.get_node(o, !0).children(".jstree-anchor").focus();
- break;
- case 38:
- e.preventDefault(), o = this.get_prev_dom(e.currentTarget), o && o.length && o.children(".jstree-anchor").focus();
- break;
- case 39:
- e.preventDefault(), this.is_closed(e.currentTarget) ? this.open_node(e.currentTarget, function(o) {
- this.get_node(o, !0).children(".jstree-anchor").focus()
- }) : this.is_open(e.currentTarget) && (o = this.get_node(e.currentTarget, !0).children(".jstree-children")[0]) && $(this._firstChild(o)).children(".jstree-anchor").focus();
- break;
- case 40:
- e.preventDefault(), o = this.get_next_dom(e.currentTarget), o && o.length && o.children(".jstree-anchor").focus();
- break;
- case 106:
- this.open_all();
- break;
- case 36:
- e.preventDefault(), o = this._firstChild(this.get_container_ul()[0]), o && $(o).children(".jstree-anchor").filter(":visible").focus();
- break;
- case 35:
- e.preventDefault(), this.element.find(".jstree-anchor").filter(":visible").last().focus()
- }
- }, this)).on("load_node.jstree", $.proxy(function(e, data) {
- data.status && ("#" !== data.node.id || this._data.core.loaded || (this._data.core.loaded = !0, this._firstChild(this.get_container_ul()[0]) && this.element.attr("aria-activedescendant", this._firstChild(this.get_container_ul()[0]).id), this.trigger("loaded")), this._data.core.ready || setTimeout($.proxy(function() {
- if (this.element && !this.get_container_ul().find(".jstree-loading").length) {
- if (this._data.core.ready = !0, this._data.core.selected.length) {
- if (this.settings.core.expand_selected_onload) {
- var i, j, tmp = [];
- for (i = 0, j = this._data.core.selected.length; i < j; i++) tmp = tmp.concat(this._model.data[this._data.core.selected[i]].parents);
- for (tmp = $.vakata.array_unique(tmp), i = 0, j = tmp.length; i < j; i++) this.open_node(tmp[i], !1, 0)
- }
- this.trigger("changed", {
- action: "ready",
- selected: this._data.core.selected
- })
- }
- this.trigger("ready")
- }
- }, this), 0))
- }, this)).on("keypress.jstree", $.proxy(function(e) {
- if ("INPUT" === e.target.tagName) return !0;
- tout && clearTimeout(tout), tout = setTimeout(function() {
- word = ""
- }, 500);
- var chr = String.fromCharCode(e.which).toLowerCase(),
- col = this.element.find(".jstree-anchor").filter(":visible"),
- ind = col.index(document.activeElement) || 0,
- end = !1;
- if (word += chr, word.length > 1) {
- if (col.slice(ind).each($.proxy(function(i, v) {
- if (0 === $(v).text().toLowerCase().indexOf(word)) return $(v).focus(), end = !0, !1
- }, this)), end) return;
- if (col.slice(0, ind).each($.proxy(function(i, v) {
- if (0 === $(v).text().toLowerCase().indexOf(word)) return $(v).focus(), end = !0, !1
- }, this)), end) return
- }
- if (new RegExp("^" + chr + "+$").test(word)) {
- if (col.slice(ind + 1).each($.proxy(function(i, v) {
- if ($(v).text().toLowerCase().charAt(0) === chr) return $(v).focus(), end = !0, !1
- }, this)), end) return;
- if (col.slice(0, ind + 1).each($.proxy(function(i, v) {
- if ($(v).text().toLowerCase().charAt(0) === chr) return $(v).focus(), end = !0, !1
- }, this)), end) return
- }
- }, this)).on("init.jstree", $.proxy(function() {
- var s = this.settings.core.themes;
- this._data.core.themes.dots = s.dots, this._data.core.themes.stripes = s.stripes, this._data.core.themes.icons = s.icons, this.set_theme(s.name || "default", s.url), this.set_theme_variant(s.variant)
- }, this)).on("loading.jstree", $.proxy(function() {
- this[this._data.core.themes.dots ? "show_dots" : "hide_dots"](), this[this._data.core.themes.icons ? "show_icons" : "hide_icons"](), this[this._data.core.themes.stripes ? "show_stripes" : "hide_stripes"]()
- }, this)).on("blur.jstree", ".jstree-anchor", $.proxy(function(e) {
- this._data.core.focused = null, $(e.currentTarget).filter(".jstree-hovered").mouseleave(), this.element.attr("tabindex", "0")
- }, this)).on("focus.jstree", ".jstree-anchor", $.proxy(function(e) {
- var tmp = this.get_node(e.currentTarget);
- tmp && tmp.id && (this._data.core.focused = tmp.id), this.element.find(".jstree-hovered").not(e.currentTarget).mouseleave(), $(e.currentTarget).mouseenter(), this.element.attr("tabindex", "-1")
- }, this)).on("focus.jstree", $.proxy(function() {
- if (+new Date - was_click > 500 && !this._data.core.focused) {
- was_click = 0;
- var act = this.get_node(this.element.attr("aria-activedescendant"), !0);
- act && act.find("> .jstree-anchor").focus()
- }
- }, this)).on("mouseenter.jstree", ".jstree-anchor", $.proxy(function(e) {
- this.hover_node(e.currentTarget)
- }, this)).on("mouseleave.jstree", ".jstree-anchor", $.proxy(function(e) {
- this.dehover_node(e.currentTarget)
- }, this))
- },
- unbind: function() {
- this.element.off(".jstree"), $(document).off(".jstree-" + this._id)
- },
- trigger: function(ev, data) {
- data || (data = {}), data.instance = this, this.element.triggerHandler(ev.replace(".jstree", "") + ".jstree", data)
- },
- get_container: function() {
- return this.element
- },
- get_container_ul: function() {
- return this.element.children(".jstree-children").first()
- },
- get_string: function(key) {
- var a = this.settings.core.strings;
- return $.isFunction(a) ? a.call(this, key) : a && a[key] ? a[key] : key
- },
- _firstChild: function(dom) {
- for (dom = dom ? dom.firstChild : null; null !== dom && 1 !== dom.nodeType;) dom = dom.nextSibling;
- return dom
- },
- _nextSibling: function(dom) {
- for (dom = dom ? dom.nextSibling : null; null !== dom && 1 !== dom.nodeType;) dom = dom.nextSibling;
- return dom
- },
- _previousSibling: function(dom) {
- for (dom = dom ? dom.previousSibling : null; null !== dom && 1 !== dom.nodeType;) dom = dom.previousSibling;
- return dom
- },
- get_node: function(obj, as_dom) {
- obj && obj.id && (obj = obj.id);
- var dom;
- try {
- if (this._model.data[obj]) obj = this._model.data[obj];
- else if ("string" == typeof obj && this._model.data[obj.replace(/^#/, "")]) obj = this._model.data[obj.replace(/^#/, "")];
- else if ("string" == typeof obj && (dom = $("#" + obj.replace($.jstree.idregex, "\\$&"), this.element)).length && this._model.data[dom.closest(".jstree-node").attr("id")]) obj = this._model.data[dom.closest(".jstree-node").attr("id")];
- else if ((dom = $(obj, this.element)).length && this._model.data[dom.closest(".jstree-node").attr("id")]) obj = this._model.data[dom.closest(".jstree-node").attr("id")];
- else {
- if (!(dom = $(obj, this.element)).length || !dom.hasClass("jstree")) return !1;
- obj = this._model.data["#"]
- }
- return as_dom && (obj = "#" === obj.id ? this.element : $("#" + obj.id.replace($.jstree.idregex, "\\$&"), this.element)), obj
- } catch (ex) {
- return !1
- }
- },
- get_path: function(obj, glue, ids) {
- if (!(obj = obj.parents ? obj : this.get_node(obj)) || "#" === obj.id || !obj.parents) return !1;
- var i, j, p = [];
- for (p.push(ids ? obj.id : obj.text), i = 0, j = obj.parents.length; i < j; i++) p.push(ids ? obj.parents[i] : this.get_text(obj.parents[i]));
- return p = p.reverse().slice(1), glue ? p.join(glue) : p
- },
- get_next_dom: function(obj, strict) {
- var tmp;
- if (obj = this.get_node(obj, !0), obj[0] === this.element[0]) {
- for (tmp = this._firstChild(this.get_container_ul()[0]); tmp && 0 === tmp.offsetHeight;) tmp = this._nextSibling(tmp);
- return !!tmp && $(tmp)
- }
- if (!obj || !obj.length) return !1;
- if (strict) {
- tmp = obj[0];
- do {
- tmp = this._nextSibling(tmp)
- } while (tmp && 0 === tmp.offsetHeight);
- return !!tmp && $(tmp)
- }
- if (obj.hasClass("jstree-open")) {
- for (tmp = this._firstChild(obj.children(".jstree-children")[0]); tmp && 0 === tmp.offsetHeight;) tmp = this._nextSibling(tmp);
- if (null !== tmp) return $(tmp)
- }
- tmp = obj[0];
- do {
- tmp = this._nextSibling(tmp)
- } while (tmp && 0 === tmp.offsetHeight);
- return null !== tmp ? $(tmp) : obj.parentsUntil(".jstree", ".jstree-node").nextAll(".jstree-node:visible").first()
- },
- get_prev_dom: function(obj, strict) {
- var tmp;
- if (obj = this.get_node(obj, !0), obj[0] === this.element[0]) {
- for (tmp = this.get_container_ul()[0].lastChild; tmp && 0 === tmp.offsetHeight;) tmp = this._previousSibling(tmp);
- return !!tmp && $(tmp)
- }
- if (!obj || !obj.length) return !1;
- if (strict) {
- tmp = obj[0];
- do {
- tmp = this._previousSibling(tmp)
- } while (tmp && 0 === tmp.offsetHeight);
- return !!tmp && $(tmp)
- }
- tmp = obj[0];
- do {
- tmp = this._previousSibling(tmp)
- } while (tmp && 0 === tmp.offsetHeight);
- if (null !== tmp) {
- for (obj = $(tmp); obj.hasClass("jstree-open");) obj = obj.children(".jstree-children").first().children(".jstree-node:visible:last");
- return obj
- }
- return !(!(tmp = obj[0].parentNode.parentNode) || !tmp.className || -1 === tmp.className.indexOf("jstree-node")) && $(tmp)
- },
- get_parent: function(obj) {
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && obj.parent
- },
- get_children_dom: function(obj) {
- return obj = this.get_node(obj, !0), obj[0] === this.element[0] ? this.get_container_ul().children(".jstree-node") : !(!obj || !obj.length) && obj.children(".jstree-children").children(".jstree-node")
- },
- is_parent: function(obj) {
- return (obj = this.get_node(obj)) && (!1 === obj.state.loaded || obj.children.length > 0)
- },
- is_loaded: function(obj) {
- return (obj = this.get_node(obj)) && obj.state.loaded
- },
- is_loading: function(obj) {
- return (obj = this.get_node(obj)) && obj.state && obj.state.loading
- },
- is_open: function(obj) {
- return (obj = this.get_node(obj)) && obj.state.opened
- },
- is_closed: function(obj) {
- return (obj = this.get_node(obj)) && this.is_parent(obj) && !obj.state.opened
- },
- is_leaf: function(obj) {
- return !this.is_parent(obj)
- },
- load_node: function(obj, callback) {
- var k, l, i, j, c;
- if ($.isArray(obj)) return this._load_nodes(obj.slice(), callback), !0;
- if (!(obj = this.get_node(obj))) return callback && callback.call(this, obj, !1), !1;
- if (obj.state.loaded) {
- for (obj.state.loaded = !1, k = 0, l = obj.children_d.length; k < l; k++) {
- for (i = 0, j = obj.parents.length; i < j; i++) this._model.data[obj.parents[i]].children_d = $.vakata.array_remove_item(this._model.data[obj.parents[i]].children_d, obj.children_d[k]);
- this._model.data[obj.children_d[k]].state.selected && (c = !0, this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.children_d[k])), delete this._model.data[obj.children_d[k]]
- }
- obj.children = [], obj.children_d = [], c && this.trigger("changed", {
- action: "load_node",
- node: obj,
- selected: this._data.core.selected
- })
- }
- return obj.state.failed = !1, obj.state.loading = !0, this.get_node(obj, !0).addClass("jstree-loading").attr("aria-busy", !0), this._load_node(obj, $.proxy(function(status) {
- obj = this._model.data[obj.id], obj.state.loading = !1, obj.state.loaded = status, obj.state.failed = !obj.state.loaded;
- var dom = this.get_node(obj, !0);
- obj.state.loaded && !obj.children.length && dom && dom.length && !dom.hasClass("jstree-leaf") && dom.removeClass("jstree-closed jstree-open").addClass("jstree-leaf"), dom.removeClass("jstree-loading").attr("aria-busy", !1), this.trigger("load_node", {
- node: obj,
- status: status
- }), callback && callback.call(this, obj, status)
- }, this)), !0
- },
- _load_nodes: function(nodes, callback, is_callback) {
- var i, j, r = !0,
- c = function() {
- this._load_nodes(nodes, callback, !0)
- },
- m = this._model.data,
- tmp = [];
- for (i = 0, j = nodes.length; i < j; i++) !m[nodes[i]] || (m[nodes[i]].state.loaded || m[nodes[i]].state.failed) && is_callback || (this.is_loading(nodes[i]) || this.load_node(nodes[i], c), r = !1);
- if (r) {
- for (i = 0, j = nodes.length; i < j; i++) m[nodes[i]] && m[nodes[i]].state.loaded && tmp.push(nodes[i]);
- callback && !callback.done && (callback.call(this, tmp), callback.done = !0)
- }
- },
- load_all: function(obj, callback) {
- if (obj || (obj = "#"), !(obj = this.get_node(obj))) return !1;
- var i, j, to_load = [],
- m = this._model.data,
- c = m[obj.id].children_d;
- for (obj.state && !obj.state.loaded && to_load.push(obj.id), i = 0, j = c.length; i < j; i++) m[c[i]] && m[c[i]].state && !m[c[i]].state.loaded && to_load.push(c[i]);
- to_load.length ? this._load_nodes(to_load, function() {
- this.load_all(obj, callback)
- }) : (callback && callback.call(this, obj), this.trigger("load_all", {
- node: obj
- }))
- },
- _load_node: function(obj, callback) {
- var t, s = this.settings.core.data;
- return s ? $.isFunction(s) ? s.call(this, obj, $.proxy(function(d) {
- !1 === d && callback.call(this, !1), this["string" == typeof d ? "_append_html_data" : "_append_json_data"](obj, "string" == typeof d ? $($.parseHTML(d)).filter(function() {
- return 3 !== this.nodeType
- }) : d, function(status) {
- callback.call(this, status)
- })
- }, this)) : "object" == typeof s ? s.url ? (s = $.extend(!0, {}, s), $.isFunction(s.url) && (s.url = s.url.call(this, obj)), $.isFunction(s.data) && (s.data = s.data.call(this, obj)), $.ajax(s).done($.proxy(function(d, t, x) {
- var type = x.getResponseHeader("Content-Type");
- return type && -1 !== type.indexOf("json") || "object" == typeof d ? this._append_json_data(obj, d, function(status) {
- callback.call(this, status)
- }) : type && -1 !== type.indexOf("html") || "string" == typeof d ? this._append_html_data(obj, $($.parseHTML(d)).filter(function() {
- return 3 !== this.nodeType
- }), function(status) {
- callback.call(this, status)
- }) : (this._data.core.last_error = {
- error: "ajax",
- plugin: "core",
- id: "core_04",
- reason: "Could not load node",
- data: JSON.stringify({
- id: obj.id,
- xhr: x
- })
- }, this.settings.core.error.call(this, this._data.core.last_error), callback.call(this, !1))
- }, this)).fail($.proxy(function(f) {
- callback.call(this, !1), this._data.core.last_error = {
- error: "ajax",
- plugin: "core",
- id: "core_04",
- reason: "Could not load node",
- data: JSON.stringify({
- id: obj.id,
- xhr: f
- })
- }, this.settings.core.error.call(this, this._data.core.last_error)
- }, this))) : (t = $.isArray(s) || $.isPlainObject(s) ? JSON.parse(JSON.stringify(s)) : s, "#" === obj.id ? this._append_json_data(obj, t, function(status) {
- callback.call(this, status)
- }) : (this._data.core.last_error = {
- error: "nodata",
- plugin: "core",
- id: "core_05",
- reason: "Could not load node",
- data: JSON.stringify({
- id: obj.id
- })
- }, this.settings.core.error.call(this, this._data.core.last_error), callback.call(this, !1))) : "string" == typeof s ? "#" === obj.id ? this._append_html_data(obj, $($.parseHTML(s)).filter(function() {
- return 3 !== this.nodeType
- }), function(status) {
- callback.call(this, status)
- }) : (this._data.core.last_error = {
- error: "nodata",
- plugin: "core",
- id: "core_06",
- reason: "Could not load node",
- data: JSON.stringify({
- id: obj.id
- })
- }, this.settings.core.error.call(this, this._data.core.last_error), callback.call(this, !1)) : callback.call(this, !1) : "#" === obj.id ? this._append_html_data(obj, this._data.core.original_container_html.clone(!0), function(status) {
- callback.call(this, status)
- }) : callback.call(this, !1)
- },
- _node_changed: function(obj) {
- (obj = this.get_node(obj)) && this._model.changed.push(obj.id)
- },
- _append_html_data: function(dom, data, cb) {
- dom = this.get_node(dom), dom.children = [], dom.children_d = [];
- var tmp, i, j, dat = data.is("ul") ? data.children() : data,
- par = dom.id,
- chd = [],
- dpc = [],
- m = this._model.data,
- p = m[par],
- s = this._data.core.selected.length;
- for (dat.each($.proxy(function(i, v) {
- (tmp = this._parse_model_from_html($(v), par, p.parents.concat())) && (chd.push(tmp), dpc.push(tmp), m[tmp].children_d.length && (dpc = dpc.concat(m[tmp].children_d)))
- }, this)), p.children = chd, p.children_d = dpc, i = 0, j = p.parents.length; i < j; i++) m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
- this.trigger("model", {
- nodes: dpc,
- parent: par
- }), "#" !== par ? (this._node_changed(par), this.redraw()) : (this.get_container_ul().children(".jstree-initial-node").remove(), this.redraw(!0)), this._data.core.selected.length !== s && this.trigger("changed", {
- action: "model",
- selected: this._data.core.selected
- }), cb.call(this, !0)
- },
- _append_json_data: function(dom, data, cb, force_processing) {
- if (null !== this.element) {
- dom = this.get_node(dom), dom.children = [], dom.children_d = [], data.d && "string" == typeof(data = data.d) && (data = JSON.parse(data)), $.isArray(data) || (data = [data]);
- var w = null,
- args = {
- df: this._model.default_state,
- dat: data,
- par: dom.id,
- m: this._model.data,
- t_id: this._id,
- t_cnt: this._cnt,
- sel: this._data.core.selected
- },
- func = function(data, undefined) {
- data.data && (data = data.data);
- var tmp, i, j, rslt, dat = data.dat,
- par = data.par,
- chd = [],
- dpc = [],
- add = [],
- df = data.df,
- t_id = data.t_id,
- t_cnt = data.t_cnt,
- m = data.m,
- p = m[par],
- sel = data.sel,
- parse_flat = function(d, p, ps) {
- ps = ps ? ps.concat() : [], p && ps.unshift(p);
- var i, j, c, e, tid = d.id.toString(),
- tmp = {
- id: tid,
- text: d.text || "",
- icon: d.icon === undefined || d.icon,
- parent: p,
- parents: ps,
- children: d.children || [],
- children_d: d.children_d || [],
- data: d.data,
- state: {},
- li_attr: {
- id: !1
- },
- a_attr: {
- href: "#"
- },
- original: !1
- };
- for (i in df) df.hasOwnProperty(i) && (tmp.state[i] = df[i]);
- if (d && d.data && d.data.jstree && d.data.jstree.icon && (tmp.icon = d.data.jstree.icon), tmp.icon !== undefined && null !== tmp.icon && "" !== tmp.icon || (tmp.icon = !0), d && d.data && (tmp.data = d.data, d.data.jstree))
- for (i in d.data.jstree) d.data.jstree.hasOwnProperty(i) && (tmp.state[i] = d.data.jstree[i]);
- if (d && "object" == typeof d.state)
- for (i in d.state) d.state.hasOwnProperty(i) && (tmp.state[i] = d.state[i]);
- if (d && "object" == typeof d.li_attr)
- for (i in d.li_attr) d.li_attr.hasOwnProperty(i) && (tmp.li_attr[i] = d.li_attr[i]);
- if (tmp.li_attr.id || (tmp.li_attr.id = tid), d && "object" == typeof d.a_attr)
- for (i in d.a_attr) d.a_attr.hasOwnProperty(i) && (tmp.a_attr[i] = d.a_attr[i]);
- for (d && d.children && !0 === d.children && (tmp.state.loaded = !1, tmp.children = [], tmp.children_d = []), m[tmp.id] = tmp, i = 0, j = tmp.children.length; i < j; i++) c = parse_flat(m[tmp.children[i]], tmp.id, ps), e = m[c], tmp.children_d.push(c), e.children_d.length && (tmp.children_d = tmp.children_d.concat(e.children_d));
- return delete d.data, delete d.children, m[tmp.id].original = d, tmp.state.selected && add.push(tmp.id), tmp.id
- },
- parse_nest = function(d, p, ps) {
- ps = ps ? ps.concat() : [], p && ps.unshift(p);
- var i, j, c, e, tmp, tid = !1;
- do {
- tid = "j" + t_id + "_" + ++t_cnt
- } while (m[tid]);
- tmp = {
- id: !1,
- text: "string" == typeof d ? d : "",
- icon: "object" != typeof d || d.icon === undefined || d.icon,
- parent: p,
- parents: ps,
- children: [],
- children_d: [],
- data: null,
- state: {},
- li_attr: {
- id: !1
- },
- a_attr: {
- href: "#"
- },
- original: !1
- };
- for (i in df) df.hasOwnProperty(i) && (tmp.state[i] = df[i]);
- if (d && d.id && (tmp.id = d.id.toString()), d && d.text && (tmp.text = d.text), d && d.data && d.data.jstree && d.data.jstree.icon && (tmp.icon = d.data.jstree.icon), tmp.icon !== undefined && null !== tmp.icon && "" !== tmp.icon || (tmp.icon = !0), d && d.data && (tmp.data = d.data, d.data.jstree))
- for (i in d.data.jstree) d.data.jstree.hasOwnProperty(i) && (tmp.state[i] = d.data.jstree[i]);
- if (d && "object" == typeof d.state)
- for (i in d.state) d.state.hasOwnProperty(i) && (tmp.state[i] = d.state[i]);
- if (d && "object" == typeof d.li_attr)
- for (i in d.li_attr) d.li_attr.hasOwnProperty(i) && (tmp.li_attr[i] = d.li_attr[i]);
- if (tmp.li_attr.id && !tmp.id && (tmp.id = tmp.li_attr.id.toString()), tmp.id || (tmp.id = tid), tmp.li_attr.id || (tmp.li_attr.id = tmp.id), d && "object" == typeof d.a_attr)
- for (i in d.a_attr) d.a_attr.hasOwnProperty(i) && (tmp.a_attr[i] = d.a_attr[i]);
- if (d && d.children && d.children.length) {
- for (i = 0, j = d.children.length; i < j; i++) c = parse_nest(d.children[i], tmp.id, ps), e = m[c], tmp.children.push(c), e.children_d.length && (tmp.children_d = tmp.children_d.concat(e.children_d));
- tmp.children_d = tmp.children_d.concat(tmp.children)
- }
- return d && d.children && !0 === d.children && (tmp.state.loaded = !1, tmp.children = [], tmp.children_d = []), delete d.data, delete d.children, tmp.original = d, m[tmp.id] = tmp, tmp.state.selected && add.push(tmp.id), tmp.id
- };
- if (dat.length && dat[0].id !== undefined && dat[0].parent !== undefined) {
- for (i = 0, j = dat.length; i < j; i++) dat[i].children || (dat[i].children = []), m[dat[i].id.toString()] = dat[i];
- for (i = 0, j = dat.length; i < j; i++) m[dat[i].parent.toString()].children.push(dat[i].id.toString()), p.children_d.push(dat[i].id.toString());
- for (i = 0, j = p.children.length; i < j; i++) tmp = parse_flat(m[p.children[i]], par, p.parents.concat()), dpc.push(tmp), m[tmp].children_d.length && (dpc = dpc.concat(m[tmp].children_d));
- for (i = 0, j = p.parents.length; i < j; i++) m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
- rslt = {
- cnt: t_cnt,
- mod: m,
- sel: sel,
- par: par,
- dpc: dpc,
- add: add
- }
- } else {
- for (i = 0, j = dat.length; i < j; i++)(tmp = parse_nest(dat[i], par, p.parents.concat())) && (chd.push(tmp), dpc.push(tmp), m[tmp].children_d.length && (dpc = dpc.concat(m[tmp].children_d)));
- for (p.children = chd, p.children_d = dpc, i = 0, j = p.parents.length; i < j; i++) m[p.parents[i]].children_d = m[p.parents[i]].children_d.concat(dpc);
- rslt = {
- cnt: t_cnt,
- mod: m,
- sel: sel,
- par: par,
- dpc: dpc,
- add: add
- }
- }
- if ("undefined" != typeof window && void 0 !== window.document) return rslt;
- postMessage(rslt)
- },
- rslt = function(rslt, worker) {
- if (null !== this.element) {
- if (this._cnt = rslt.cnt, this._model.data = rslt.mod, worker) {
- var i, j, a = rslt.add,
- r = rslt.sel,
- s = this._data.core.selected.slice(),
- m = this._model.data;
- if (r.length !== s.length || $.vakata.array_unique(r.concat(s)).length !== r.length) {
- for (i = 0, j = r.length; i < j; i++) - 1 === $.inArray(r[i], a) && -1 === $.inArray(r[i], s) && (m[r[i]].state.selected = !1);
- for (i = 0, j = s.length; i < j; i++) - 1 === $.inArray(s[i], r) && (m[s[i]].state.selected = !0)
- }
- }
- rslt.add.length && (this._data.core.selected = this._data.core.selected.concat(rslt.add)), this.trigger("model", {
- nodes: rslt.dpc,
- parent: rslt.par
- }), "#" !== rslt.par ? (this._node_changed(rslt.par), this.redraw()) : this.redraw(!0), rslt.add.length && this.trigger("changed", {
- action: "model",
- selected: this._data.core.selected
- }), cb.call(this, !0)
- }
- };
- if (this.settings.core.worker && window.Blob && window.URL && window.Worker) try {
- null === this._wrk && (this._wrk = window.URL.createObjectURL(new window.Blob(["self.onmessage = " + func.toString()], {
- type: "text/javascript"
- }))), !this._data.core.working || force_processing ? (this._data.core.working = !0, w = new window.Worker(this._wrk), w.onmessage = $.proxy(function(e) {
- rslt.call(this, e.data, !0);
- try {
- w.terminate(), w = null
- } catch (ignore) {}
- this._data.core.worker_queue.length ? this._append_json_data.apply(this, this._data.core.worker_queue.shift()) : this._data.core.working = !1
- }, this), args.par ? w.postMessage(args) : this._data.core.worker_queue.length ? this._append_json_data.apply(this, this._data.core.worker_queue.shift()) : this._data.core.working = !1) : this._data.core.worker_queue.push([dom, data, cb, !0])
- } catch (e) {
- rslt.call(this, func(args), !1), this._data.core.worker_queue.length ? this._append_json_data.apply(this, this._data.core.worker_queue.shift()) : this._data.core.working = !1
- } else rslt.call(this, func(args), !1)
- }
- },
- _parse_model_from_html: function(d, p, ps) {
- ps = ps ? [].concat(ps) : [], p && ps.unshift(p);
- var c, e, i, tmp, tid, m = this._model.data,
- data = {
- id: !1,
- text: !1,
- icon: !0,
- parent: p,
- parents: ps,
- children: [],
- children_d: [],
- data: null,
- state: {},
- li_attr: {
- id: !1
- },
- a_attr: {
- href: "#"
- },
- original: !1
- };
- for (i in this._model.default_state) this._model.default_state.hasOwnProperty(i) && (data.state[i] = this._model.default_state[i]);
- if (tmp = $.vakata.attributes(d, !0), $.each(tmp, function(i, v) {
- if (v = $.trim(v), !v.length) return !0;
- data.li_attr[i] = v, "id" === i && (data.id = v.toString())
- }), tmp = d.children("a").first(), tmp.length && (tmp = $.vakata.attributes(tmp, !0), $.each(tmp, function(i, v) {
- v = $.trim(v), v.length && (data.a_attr[i] = v)
- })), tmp = d.children("a").first().length ? d.children("a").first().clone() : d.clone(), tmp.children("ins, i, ul").remove(), tmp = tmp.html(), tmp = $("").html(tmp), data.text = this.settings.core.force_text ? tmp.text() : tmp.html(), tmp = d.data(), data.data = tmp ? $.extend(!0, {}, tmp) : null, data.state.opened = d.hasClass("jstree-open"), data.state.selected = d.children("a").hasClass("jstree-clicked"), data.state.disabled = d.children("a").hasClass("jstree-disabled"), data.data && data.data.jstree)
- for (i in data.data.jstree) data.data.jstree.hasOwnProperty(i) && (data.state[i] = data.data.jstree[i]);
- tmp = d.children("a").children(".jstree-themeicon"), tmp.length && (data.icon = !tmp.hasClass("jstree-themeicon-hidden") && tmp.attr("rel")), data.state.icon !== undefined && (data.icon = data.state.icon), data.icon !== undefined && null !== data.icon && "" !== data.icon || (data.icon = !0), tmp = d.children("ul").children("li");
- do {
- tid = "j" + this._id + "_" + ++this._cnt
- } while (m[tid]);
- return data.id = data.li_attr.id ? data.li_attr.id.toString() : tid, tmp.length ? (tmp.each($.proxy(function(i, v) {
- c = this._parse_model_from_html($(v), data.id, ps), e = this._model.data[c], data.children.push(c), e.children_d.length && (data.children_d = data.children_d.concat(e.children_d))
- }, this)), data.children_d = data.children_d.concat(data.children)) : d.hasClass("jstree-closed") && (data.state.loaded = !1), data.li_attr.class && (data.li_attr.class = data.li_attr.class.replace("jstree-closed", "").replace("jstree-open", "")), data.a_attr.class && (data.a_attr.class = data.a_attr.class.replace("jstree-clicked", "").replace("jstree-disabled", "")), m[data.id] = data, data.state.selected && this._data.core.selected.push(data.id), data.id
- },
- _parse_model_from_flat_json: function(d, p, ps) {
- ps = ps ? ps.concat() : [], p && ps.unshift(p);
- var i, j, c, e, tid = d.id.toString(),
- m = this._model.data,
- df = this._model.default_state,
- tmp = {
- id: tid,
- text: d.text || "",
- icon: d.icon === undefined || d.icon,
- parent: p,
- parents: ps,
- children: d.children || [],
- children_d: d.children_d || [],
- data: d.data,
- state: {},
- li_attr: {
- id: !1
- },
- a_attr: {
- href: "#"
- },
- original: !1
- };
- for (i in df) df.hasOwnProperty(i) && (tmp.state[i] = df[i]);
- if (d && d.data && d.data.jstree && d.data.jstree.icon && (tmp.icon = d.data.jstree.icon), tmp.icon !== undefined && null !== tmp.icon && "" !== tmp.icon || (tmp.icon = !0), d && d.data && (tmp.data = d.data, d.data.jstree))
- for (i in d.data.jstree) d.data.jstree.hasOwnProperty(i) && (tmp.state[i] = d.data.jstree[i]);
- if (d && "object" == typeof d.state)
- for (i in d.state) d.state.hasOwnProperty(i) && (tmp.state[i] = d.state[i]);
- if (d && "object" == typeof d.li_attr)
- for (i in d.li_attr) d.li_attr.hasOwnProperty(i) && (tmp.li_attr[i] = d.li_attr[i]);
- if (tmp.li_attr.id || (tmp.li_attr.id = tid), d && "object" == typeof d.a_attr)
- for (i in d.a_attr) d.a_attr.hasOwnProperty(i) && (tmp.a_attr[i] = d.a_attr[i]);
- for (d && d.children && !0 === d.children && (tmp.state.loaded = !1, tmp.children = [], tmp.children_d = []), m[tmp.id] = tmp, i = 0, j = tmp.children.length; i < j; i++) c = this._parse_model_from_flat_json(m[tmp.children[i]], tmp.id, ps), e = m[c], tmp.children_d.push(c), e.children_d.length && (tmp.children_d = tmp.children_d.concat(e.children_d));
- return delete d.data, delete d.children, m[tmp.id].original = d, tmp.state.selected && this._data.core.selected.push(tmp.id), tmp.id
- },
- _parse_model_from_json: function(d, p, ps) {
- ps = ps ? ps.concat() : [], p && ps.unshift(p);
- var i, j, c, e, tmp, tid = !1,
- m = this._model.data,
- df = this._model.default_state;
- do {
- tid = "j" + this._id + "_" + ++this._cnt
- } while (m[tid]);
- tmp = {
- id: !1,
- text: "string" == typeof d ? d : "",
- icon: "object" != typeof d || d.icon === undefined || d.icon,
- parent: p,
- parents: ps,
- children: [],
- children_d: [],
- data: null,
- state: {},
- li_attr: {
- id: !1
- },
- a_attr: {
- href: "#"
- },
- original: !1
- };
- for (i in df) df.hasOwnProperty(i) && (tmp.state[i] = df[i]);
- if (d && d.id && (tmp.id = d.id.toString()), d && d.text && (tmp.text = d.text), d && d.data && d.data.jstree && d.data.jstree.icon && (tmp.icon = d.data.jstree.icon), tmp.icon !== undefined && null !== tmp.icon && "" !== tmp.icon || (tmp.icon = !0), d && d.data && (tmp.data = d.data, d.data.jstree))
- for (i in d.data.jstree) d.data.jstree.hasOwnProperty(i) && (tmp.state[i] = d.data.jstree[i]);
- if (d && "object" == typeof d.state)
- for (i in d.state) d.state.hasOwnProperty(i) && (tmp.state[i] = d.state[i]);
- if (d && "object" == typeof d.li_attr)
- for (i in d.li_attr) d.li_attr.hasOwnProperty(i) && (tmp.li_attr[i] = d.li_attr[i]);
- if (tmp.li_attr.id && !tmp.id && (tmp.id = tmp.li_attr.id.toString()), tmp.id || (tmp.id = tid), tmp.li_attr.id || (tmp.li_attr.id = tmp.id),
- d && "object" == typeof d.a_attr)
- for (i in d.a_attr) d.a_attr.hasOwnProperty(i) && (tmp.a_attr[i] = d.a_attr[i]);
- if (d && d.children && d.children.length) {
- for (i = 0, j = d.children.length; i < j; i++) c = this._parse_model_from_json(d.children[i], tmp.id, ps), e = m[c], tmp.children.push(c), e.children_d.length && (tmp.children_d = tmp.children_d.concat(e.children_d));
- tmp.children_d = tmp.children_d.concat(tmp.children)
- }
- return d && d.children && !0 === d.children && (tmp.state.loaded = !1, tmp.children = [], tmp.children_d = []), delete d.data, delete d.children, tmp.original = d, m[tmp.id] = tmp, tmp.state.selected && this._data.core.selected.push(tmp.id), tmp.id
- },
- _redraw: function() {
- var tmp, i, j, nodes = this._model.force_full_redraw ? this._model.data["#"].children.concat([]) : this._model.changed.concat([]),
- f = document.createElement("UL"),
- fe = this._data.core.focused;
- for (i = 0, j = nodes.length; i < j; i++)(tmp = this.redraw_node(nodes[i], !0, this._model.force_full_redraw)) && this._model.force_full_redraw && f.appendChild(tmp);
- this._model.force_full_redraw && (f.className = this.get_container_ul()[0].className, f.setAttribute("role", "group"), this.element.empty().append(f)), null !== fe && (tmp = this.get_node(fe, !0), tmp && tmp.length && tmp.children(".jstree-anchor")[0] !== document.activeElement ? tmp.children(".jstree-anchor").focus() : this._data.core.focused = null), this._model.force_full_redraw = !1, this._model.changed = [], this.trigger("redraw", {
- nodes: nodes
- })
- },
- redraw: function(full) {
- full && (this._model.force_full_redraw = !0), this._redraw()
- },
- draw_children: function(node) {
- var obj = this.get_node(node),
- i = !1,
- j = !1,
- k = !1,
- d = document;
- if (!obj) return !1;
- if ("#" === obj.id) return this.redraw(!0);
- if (!(node = this.get_node(node, !0)) || !node.length) return !1;
- if (node.children(".jstree-children").remove(), node = node[0], obj.children.length && obj.state.loaded) {
- for (k = d.createElement("UL"), k.setAttribute("role", "group"), k.className = "jstree-children", i = 0, j = obj.children.length; i < j; i++) k.appendChild(this.redraw_node(obj.children[i], !0, !0));
- node.appendChild(k)
- }
- },
- redraw_node: function(node, deep, is_callback, force_render) {
- var obj = this.get_node(node),
- par = !1,
- ind = !1,
- old = !1,
- i = !1,
- j = !1,
- k = !1,
- c = "",
- d = document,
- m = this._model.data,
- f = !1,
- tmp = null,
- t = 0,
- l = 0;
- if (!obj) return !1;
- if ("#" === obj.id) return this.redraw(!0);
- if (deep = deep || 0 === obj.children.length, node = document.querySelector ? this.element[0].querySelector("#" + (-1 !== "0123456789".indexOf(obj.id[0]) ? "\\3" + obj.id[0] + " " + obj.id.substr(1).replace($.jstree.idregex, "\\$&") : obj.id.replace($.jstree.idregex, "\\$&"))) : document.getElementById(obj.id)) node = $(node), is_callback || (par = node.parent().parent()[0], par === this.element[0] && (par = null), ind = node.index()), deep || !obj.children.length || node.children(".jstree-children").length || (deep = !0), deep || (old = node.children(".jstree-children")[0]), f = node.children(".jstree-anchor")[0] === document.activeElement, node.remove();
- else if (deep = !0, !is_callback) {
- if (!(null === (par = "#" !== obj.parent ? $("#" + obj.parent.replace($.jstree.idregex, "\\$&"), this.element)[0] : null) || par && m[obj.parent].state.opened)) return !1;
- ind = $.inArray(obj.id, null === par ? m["#"].children : m[obj.parent].children)
- }
- node = _node.cloneNode(!0), c = "jstree-node ";
- for (i in obj.li_attr)
- if (obj.li_attr.hasOwnProperty(i)) {
- if ("id" === i) continue;
- "class" !== i ? node.setAttribute(i, obj.li_attr[i]) : c += obj.li_attr[i]
- } obj.a_attr.id || (obj.a_attr.id = obj.id + "_anchor"), node.setAttribute("aria-selected", !!obj.state.selected), node.setAttribute("aria-level", obj.parents.length), node.setAttribute("aria-labelledby", obj.a_attr.id), obj.state.disabled && node.setAttribute("aria-disabled", !0), obj.state.loaded && !obj.children.length ? c += " jstree-leaf" : (c += obj.state.opened && obj.state.loaded ? " jstree-open" : " jstree-closed", node.setAttribute("aria-expanded", obj.state.opened && obj.state.loaded)), null !== obj.parent && m[obj.parent].children[m[obj.parent].children.length - 1] === obj.id && (c += " jstree-last"), node.id = obj.id, node.className = c, c = (obj.state.selected ? " jstree-clicked" : "") + (obj.state.disabled ? " jstree-disabled" : "");
- for (j in obj.a_attr)
- if (obj.a_attr.hasOwnProperty(j)) {
- if ("href" === j && "#" === obj.a_attr[j]) continue;
- "class" !== j ? node.childNodes[1].setAttribute(j, obj.a_attr[j]) : c += " " + obj.a_attr[j]
- } if (c.length && (node.childNodes[1].className = "jstree-anchor " + c), (obj.icon && !0 !== obj.icon || !1 === obj.icon) && (!1 === obj.icon ? node.childNodes[1].childNodes[0].className += " jstree-themeicon-hidden" : -1 === obj.icon.indexOf("/") && -1 === obj.icon.indexOf(".") ? node.childNodes[1].childNodes[0].className += " " + obj.icon + " jstree-themeicon-custom" : (node.childNodes[1].childNodes[0].style.backgroundImage = "url(" + obj.icon + ")", node.childNodes[1].childNodes[0].style.backgroundPosition = "center center", node.childNodes[1].childNodes[0].style.backgroundSize = "auto", node.childNodes[1].childNodes[0].className += " jstree-themeicon-custom")), this.settings.core.force_text ? node.childNodes[1].appendChild(d.createTextNode(obj.text)) : node.childNodes[1].innerHTML += obj.text, deep && obj.children.length && (obj.state.opened || force_render) && obj.state.loaded) {
- for (k = d.createElement("UL"), k.setAttribute("role", "group"), k.className = "jstree-children", i = 0, j = obj.children.length; i < j; i++) k.appendChild(this.redraw_node(obj.children[i], deep, !0));
- node.appendChild(k)
- }
- if (old && node.appendChild(old), !is_callback) {
- for (par || (par = this.element[0]), i = 0, j = par.childNodes.length; i < j; i++)
- if (par.childNodes[i] && par.childNodes[i].className && -1 !== par.childNodes[i].className.indexOf("jstree-children")) {
- tmp = par.childNodes[i];
- break
- } tmp || (tmp = d.createElement("UL"), tmp.setAttribute("role", "group"), tmp.className = "jstree-children", par.appendChild(tmp)), par = tmp, ind < par.childNodes.length ? par.insertBefore(node, par.childNodes[ind]) : par.appendChild(node), f && (t = this.element[0].scrollTop, l = this.element[0].scrollLeft, node.childNodes[1].focus(), this.element[0].scrollTop = t, this.element[0].scrollLeft = l)
- }
- return obj.state.opened && !obj.state.loaded && (obj.state.opened = !1, setTimeout($.proxy(function() {
- this.open_node(obj.id, !1, 0)
- }, this), 0)), node
- },
- open_node: function(obj, callback, animation) {
- var t1, t2, d, t;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.open_node(obj[t1], callback, animation);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- if (animation = animation === undefined ? this.settings.core.animation : animation, !this.is_closed(obj)) return callback && callback.call(this, obj, !1), !1;
- if (this.is_loaded(obj)) d = this.get_node(obj, !0), t = this, d.length && (animation && d.children(".jstree-children").length, obj.children.length && !this._firstChild(d.children(".jstree-children")[0]) && this.draw_children(obj), animation ? (this.trigger("before_open", {
- node: obj
- }), d.children(".jstree-children").css("display", "none").end().removeClass("jstree-closed").addClass("jstree-open").attr("aria-expanded", !0).children(".jstree-children").show(), t.trigger("after_open", {
- node: obj
- })) : (this.trigger("before_open", {
- node: obj
- }), d[0].className = d[0].className.replace("jstree-closed", "jstree-open"), d[0].setAttribute("aria-expanded", !0))), obj.state.opened = !0, callback && callback.call(this, obj, !0), d.length || this.trigger("before_open", {
- node: obj
- }), this.trigger("open_node", {
- node: obj
- }), animation && d.length || this.trigger("after_open", {
- node: obj
- });
- else {
- if (this.is_loading(obj)) return setTimeout($.proxy(function() {
- this.open_node(obj, callback, animation)
- }, this), 500);
- this.load_node(obj, function(o, ok) {
- return ok ? this.open_node(o, callback, animation) : !!callback && callback.call(this, o, !1)
- })
- }
- },
- _open_to: function(obj) {
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- var i, j, p = obj.parents;
- for (i = 0, j = p.length; i < j; i += 1) "#" !== i && this.open_node(p[i], !1, 0);
- return $("#" + obj.id.replace($.jstree.idregex, "\\$&"), this.element)
- },
- close_node: function(obj, animation) {
- var t1, t2, t, d;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.close_node(obj[t1], animation);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && (!this.is_closed(obj) && (animation = animation === undefined ? this.settings.core.animation : animation, t = this, d = this.get_node(obj, !0), d.length && (animation ? (d.children(".jstree-children").attr("style", "display:block !important").end().removeClass("jstree-open").addClass("jstree-closed").attr("aria-expanded", !1).children(".jstree-children").hide(), d.children(".jstree-children").remove(), t.trigger("after_close", {
- node: obj
- })) : (d[0].className = d[0].className.replace("jstree-open", "jstree-closed"), d.attr("aria-expanded", !1).children(".jstree-children").remove())), obj.state.opened = !1, this.trigger("close_node", {
- node: obj
- }), void(animation && d.length || this.trigger("after_close", {
- node: obj
- }))))
- },
- toggle_node: function(obj) {
- var t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.toggle_node(obj[t1]);
- return !0
- }
- return this.is_closed(obj) ? this.open_node(obj) : this.is_open(obj) ? this.close_node(obj) : void 0
- },
- open_all: function(obj, animation, original_obj) {
- if (obj || (obj = "#"), !(obj = this.get_node(obj))) return !1;
- var i, j, _this, dom = "#" === obj.id ? this.get_container_ul() : this.get_node(obj, !0);
- if (!dom.length) {
- for (i = 0, j = obj.children_d.length; i < j; i++) this.is_closed(this._model.data[obj.children_d[i]]) && (this._model.data[obj.children_d[i]].state.opened = !0);
- return this.trigger("open_all", {
- node: obj
- })
- }
- original_obj = original_obj || dom, _this = this, dom = this.is_closed(obj) ? dom.find(".jstree-closed").addBack() : dom.find(".jstree-closed"), dom.each(function() {
- _this.open_node(this, function(node, status) {
- status && this.is_parent(node) && this.open_all(node, animation, original_obj)
- }, animation || 0)
- }), 0 === original_obj.find(".jstree-closed").length && this.trigger("open_all", {
- node: this.get_node(original_obj)
- })
- },
- close_all: function(obj, animation) {
- if (obj || (obj = "#"), !(obj = this.get_node(obj))) return !1;
- var i, j, dom = "#" === obj.id ? this.get_container_ul() : this.get_node(obj, !0),
- _this = this;
- if (!dom.length) {
- for (i = 0, j = obj.children_d.length; i < j; i++) this._model.data[obj.children_d[i]].state.opened = !1;
- return this.trigger("close_all", {
- node: obj
- })
- }
- dom = this.is_open(obj) ? dom.find(".jstree-open").addBack() : dom.find(".jstree-open"), $(dom.get().reverse()).each(function() {
- _this.close_node(this, animation || 0)
- }), this.trigger("close_all", {
- node: obj
- })
- },
- is_disabled: function(obj) {
- return (obj = this.get_node(obj)) && obj.state && obj.state.disabled
- },
- enable_node: function(obj) {
- var t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.enable_node(obj[t1]);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- obj.state.disabled = !1, this.get_node(obj, !0).children(".jstree-anchor").removeClass("jstree-disabled").attr("aria-disabled", !1), this.trigger("enable_node", {
- node: obj
- })
- },
- disable_node: function(obj) {
- var t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.disable_node(obj[t1]);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- obj.state.disabled = !0, this.get_node(obj, !0).children(".jstree-anchor").addClass("jstree-disabled").attr("aria-disabled", !0), this.trigger("disable_node", {
- node: obj
- })
- },
- activate_node: function(obj, e) {
- if (this.is_disabled(obj)) return !1;
- if (this._data.core.last_clicked = this._data.core.last_clicked && this._data.core.last_clicked.id !== undefined ? this.get_node(this._data.core.last_clicked.id) : null, this._data.core.last_clicked && !this._data.core.last_clicked.state.selected && (this._data.core.last_clicked = null), !this._data.core.last_clicked && this._data.core.selected.length && (this._data.core.last_clicked = this.get_node(this._data.core.selected[this._data.core.selected.length - 1])), this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && (!e.shiftKey || this._data.core.last_clicked && this.get_parent(obj) && this.get_parent(obj) === this._data.core.last_clicked.parent))
- if (e.shiftKey) {
- var i, j, o = this.get_node(obj).id,
- l = this._data.core.last_clicked.id,
- p = this.get_node(this._data.core.last_clicked.parent).children,
- c = !1;
- for (i = 0, j = p.length; i < j; i += 1) p[i] === o && (c = !c), p[i] === l && (c = !c), this.is_disabled(p[i]) || !c && p[i] !== o && p[i] !== l ? this.deselect_node(p[i], !0, e) : this.select_node(p[i], !0, !1, e);
- this.trigger("changed", {
- action: "select_node",
- node: this.get_node(obj),
- selected: this._data.core.selected,
- event: e
- })
- } else this.is_selected(obj) ? this.deselect_node(obj, !1, e) : this.select_node(obj, !1, !1, e);
- else !this.settings.core.multiple && (e.metaKey || e.ctrlKey || e.shiftKey) && this.is_selected(obj) ? this.deselect_node(obj, !1, e) : (this.deselect_all(!0), this.select_node(obj, !1, !1, e), this._data.core.last_clicked = this.get_node(obj));
- this.trigger("activate_node", {
- node: this.get_node(obj)
- })
- },
- hover_node: function(obj) {
- if (!(obj = this.get_node(obj, !0)) || !obj.length || obj.children(".jstree-hovered").length) return !1;
- var o = this.element.find(".jstree-hovered"),
- t = this.element;
- o && o.length && this.dehover_node(o), obj.children(".jstree-anchor").addClass("jstree-hovered"), this.trigger("hover_node", {
- node: this.get_node(obj)
- }), setTimeout(function() {
- t.attr("aria-activedescendant", obj[0].id)
- }, 0)
- },
- dehover_node: function(obj) {
- if (!(obj = this.get_node(obj, !0)) || !obj.length || !obj.children(".jstree-hovered").length) return !1;
- obj.children(".jstree-anchor").removeClass("jstree-hovered"), this.trigger("dehover_node", {
- node: this.get_node(obj)
- })
- },
- select_node: function(obj, supress_event, prevent_open, e) {
- var dom, t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.select_node(obj[t1], supress_event, prevent_open, e);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- dom = this.get_node(obj, !0), obj.state.selected || (obj.state.selected = !0, this._data.core.selected.push(obj.id), prevent_open || (dom = this._open_to(obj)), dom && dom.length && dom.attr("aria-selected", !0).children(".jstree-anchor").addClass("jstree-clicked"), this.trigger("select_node", {
- node: obj,
- selected: this._data.core.selected,
- event: e
- }), supress_event || this.trigger("changed", {
- action: "select_node",
- node: obj,
- selected: this._data.core.selected,
- event: e
- }))
- },
- deselect_node: function(obj, supress_event, e) {
- var t1, t2, dom;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.deselect_node(obj[t1], supress_event, e);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- dom = this.get_node(obj, !0), obj.state.selected && (obj.state.selected = !1, this._data.core.selected = $.vakata.array_remove_item(this._data.core.selected, obj.id), dom.length && dom.attr("aria-selected", !1).children(".jstree-anchor").removeClass("jstree-clicked"), this.trigger("deselect_node", {
- node: obj,
- selected: this._data.core.selected,
- event: e
- }), supress_event || this.trigger("changed", {
- action: "deselect_node",
- node: obj,
- selected: this._data.core.selected,
- event: e
- }))
- },
- select_all: function(supress_event) {
- var i, j, tmp = this._data.core.selected.concat([]);
- for (this._data.core.selected = this._model.data["#"].children_d.concat(), i = 0, j = this._data.core.selected.length; i < j; i++) this._model.data[this._data.core.selected[i]] && (this._model.data[this._data.core.selected[i]].state.selected = !0);
- this.redraw(!0), this.trigger("select_all", {
- selected: this._data.core.selected
- }), supress_event || this.trigger("changed", {
- action: "select_all",
- selected: this._data.core.selected,
- old_selection: tmp
- })
- },
- deselect_all: function(supress_event) {
- var i, j, tmp = this._data.core.selected.concat([]);
- for (i = 0, j = this._data.core.selected.length; i < j; i++) this._model.data[this._data.core.selected[i]] && (this._model.data[this._data.core.selected[i]].state.selected = !1);
- this._data.core.selected = [], this.element.find(".jstree-clicked").removeClass("jstree-clicked").parent().attr("aria-selected", !1), this.trigger("deselect_all", {
- selected: this._data.core.selected,
- node: tmp
- }), supress_event || this.trigger("changed", {
- action: "deselect_all",
- selected: this._data.core.selected,
- old_selection: tmp
- })
- },
- is_selected: function(obj) {
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && obj.state.selected
- },
- get_selected: function(full) {
- return full ? $.map(this._data.core.selected, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : this._data.core.selected.slice()
- },
- get_top_selected: function(full) {
- var i, j, k, l, tmp = this.get_selected(!0),
- obj = {};
- for (i = 0, j = tmp.length; i < j; i++) obj[tmp[i].id] = tmp[i];
- for (i = 0, j = tmp.length; i < j; i++)
- for (k = 0, l = tmp[i].children_d.length; k < l; k++) obj[tmp[i].children_d[k]] && delete obj[tmp[i].children_d[k]];
- tmp = [];
- for (i in obj) obj.hasOwnProperty(i) && tmp.push(i);
- return full ? $.map(tmp, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : tmp
- },
- get_bottom_selected: function(full) {
- var i, j, tmp = this.get_selected(!0),
- obj = [];
- for (i = 0, j = tmp.length; i < j; i++) tmp[i].children.length || obj.push(tmp[i].id);
- return full ? $.map(obj, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : obj
- },
- get_state: function() {
- var i, state = {
- core: {
- open: [],
- scroll: {
- left: this.element.scrollLeft(),
- top: this.element.scrollTop()
- },
- selected: []
- }
- };
- for (i in this._model.data) this._model.data.hasOwnProperty(i) && "#" !== i && (this._model.data[i].state.opened && state.core.open.push(i), this._model.data[i].state.selected && state.core.selected.push(i));
- return state
- },
- set_state: function(state, callback) {
- if (state) {
- if (state.core) {
- var _this, i;
- if (state.core.open) return $.isArray(state.core.open) && state.core.open.length ? this._load_nodes(state.core.open, function(nodes) {
- this.open_node(nodes, !1, 0), delete state.core.open, this.set_state(state, callback)
- }, !0) : (delete state.core.open, this.set_state(state, callback)), !1;
- if (state.core.scroll) return state.core.scroll && state.core.scroll.left !== undefined && this.element.scrollLeft(state.core.scroll.left), state.core.scroll && state.core.scroll.top !== undefined && this.element.scrollTop(state.core.scroll.top), delete state.core.scroll, this.set_state(state, callback), !1;
- if (state.core.selected) return _this = this, this.deselect_all(), $.each(state.core.selected, function(i, v) {
- _this.select_node(v, !1, !0)
- }), delete state.core.selected, this.set_state(state, callback), !1;
- for (i in state) state.hasOwnProperty(i) && "core" !== i && -1 === $.inArray(i, this.settings.plugins) && delete state[i];
- if ($.isEmptyObject(state.core)) return delete state.core, this.set_state(state, callback), !1
- }
- return !$.isEmptyObject(state) || (state = null, callback && callback.call(this), this.trigger("set_state"), !1)
- }
- return !1
- },
- refresh: function(skip_loading, forget_state) {
- this._data.core.state = !0 === forget_state ? {} : this.get_state(), forget_state && $.isFunction(forget_state) && (this._data.core.state = forget_state.call(this, this._data.core.state)), this._cnt = 0, this._model.data = {
- "#": {
- id: "#",
- parent: null,
- parents: [],
- children: [],
- children_d: [],
- state: {
- loaded: !1
- }
- }
- };
- var c = this.get_container_ul()[0].className;
- skip_loading || (this.element.html(""), this.element.attr("aria-activedescendant", "j" + this._id + "_loading")), this.load_node("#", function(o, s) {
- s && (this.get_container_ul()[0].className = c, this._firstChild(this.get_container_ul()[0]) && this.element.attr("aria-activedescendant", this._firstChild(this.get_container_ul()[0]).id), this.set_state($.extend(!0, {}, this._data.core.state), function() {
- this.trigger("refresh")
- })), this._data.core.state = null
- })
- },
- refresh_node: function(obj) {
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- var opened = [],
- to_load = [];
- this._data.core.selected.concat([]);
- to_load.push(obj.id), !0 === obj.state.opened && opened.push(obj.id), this.get_node(obj, !0).find(".jstree-open").each(function() {
- opened.push(this.id)
- }), this._load_nodes(to_load, $.proxy(function(nodes) {
- this.open_node(opened, !1, 0), this.select_node(this._data.core.selected), this.trigger("refresh_node", {
- node: obj,
- nodes: nodes
- })
- }, this))
- },
- set_id: function(obj, id) {
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- var i, j, m = this._model.data;
- for (id = id.toString(), m[obj.parent].children[$.inArray(obj.id, m[obj.parent].children)] = id, i = 0, j = obj.parents.length; i < j; i++) m[obj.parents[i]].children_d[$.inArray(obj.id, m[obj.parents[i]].children_d)] = id;
- for (i = 0, j = obj.children.length; i < j; i++) m[obj.children[i]].parent = id;
- for (i = 0, j = obj.children_d.length; i < j; i++) m[obj.children_d[i]].parents[$.inArray(obj.id, m[obj.children_d[i]].parents)] = id;
- return i = $.inArray(obj.id, this._data.core.selected), -1 !== i && (this._data.core.selected[i] = id), i = this.get_node(obj.id, !0), i && (i.attr("id", id).children(".jstree-anchor").attr("id", id + "_anchor").end().attr("aria-labelledby", id + "_anchor"), this.element.attr("aria-activedescendant") === obj.id && this.element.attr("aria-activedescendant", id)), delete m[obj.id], obj.id = id, obj.li_attr.id = id, m[id] = obj, !0
- },
- get_text: function(obj) {
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && obj.text
- },
- set_text: function(obj, val) {
- var t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.set_text(obj[t1], val);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && (obj.text = val, this.get_node(obj, !0).length && this.redraw_node(obj.id), this.trigger("set_text", {
- obj: obj,
- text: val
- }), !0)
- },
- get_json: function(obj, options, flat) {
- if (!(obj = this.get_node(obj || "#"))) return !1;
- options && options.flat && !flat && (flat = []);
- var i, j, tmp = {
- id: obj.id,
- text: obj.text,
- icon: this.get_icon(obj),
- li_attr: $.extend(!0, {}, obj.li_attr),
- a_attr: $.extend(!0, {}, obj.a_attr),
- state: {},
- data: (!options || !options.no_data) && $.extend(!0, {}, obj.data)
- };
- if (options && options.flat ? tmp.parent = obj.parent : tmp.children = [], !options || !options.no_state)
- for (i in obj.state) obj.state.hasOwnProperty(i) && (tmp.state[i] = obj.state[i]);
- if (options && options.no_id && (delete tmp.id, tmp.li_attr && tmp.li_attr.id && delete tmp.li_attr.id, tmp.a_attr && tmp.a_attr.id && delete tmp.a_attr.id), options && options.flat && "#" !== obj.id && flat.push(tmp), !options || !options.no_children)
- for (i = 0, j = obj.children.length; i < j; i++) options && options.flat ? this.get_json(obj.children[i], options, flat) : tmp.children.push(this.get_json(obj.children[i], options));
- return options && options.flat ? flat : "#" === obj.id ? tmp.children : tmp
- },
- create_node: function(par, node, pos, callback, is_loaded) {
- if (null === par && (par = "#"), !(par = this.get_node(par))) return !1;
- if (pos = pos === undefined ? "last" : pos, !pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) return this.load_node(par, function() {
- this.create_node(par, node, pos, callback, !0)
- });
- node || (node = {
- text: this.get_string("New node")
- }), "string" == typeof node && (node = {
- text: node
- }), node.text === undefined && (node.text = this.get_string("New node"));
- var tmp, dpc, i, j;
- switch ("#" === par.id && ("before" === pos && (pos = "first"), "after" === pos && (pos = "last")), pos) {
- case "before":
- tmp = this.get_node(par.parent), pos = $.inArray(par.id, tmp.children), par = tmp;
- break;
- case "after":
- tmp = this.get_node(par.parent), pos = $.inArray(par.id, tmp.children) + 1, par = tmp;
- break;
- case "inside":
- case "first":
- pos = 0;
- break;
- case "last":
- pos = par.children.length;
- break;
- default:
- pos || (pos = 0)
- }
- if (pos > par.children.length && (pos = par.children.length), node.id || (node.id = !0), !this.check("create_node", node, par, pos)) return this.settings.core.error.call(this, this._data.core.last_error), !1;
- if (!0 === node.id && delete node.id, !(node = this._parse_model_from_json(node, par.id, par.parents.concat()))) return !1;
- for (tmp = this.get_node(node), dpc = [], dpc.push(node), dpc = dpc.concat(tmp.children_d), this.trigger("model", {
- nodes: dpc,
- parent: par.id
- }), par.children_d = par.children_d.concat(dpc), i = 0, j = par.parents.length; i < j; i++) this._model.data[par.parents[i]].children_d = this._model.data[par.parents[i]].children_d.concat(dpc);
- for (node = tmp, tmp = [], i = 0, j = par.children.length; i < j; i++) tmp[i >= pos ? i + 1 : i] = par.children[i];
- return tmp[pos] = node.id, par.children = tmp, this.redraw_node(par, !0), callback && callback.call(this, this.get_node(node)), this.trigger("create_node", {
- node: this.get_node(node),
- parent: par.id,
- position: pos
- }), node.id
- },
- rename_node: function(obj, val) {
- var t1, t2, old;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.rename_node(obj[t1], val);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && (old = obj.text, this.check("rename_node", obj, this.get_parent(obj), val) ? (this.set_text(obj, val), this.trigger("rename_node", {
- node: obj,
- text: val,
- old: old
- }), !0) : (this.settings.core.error.call(this, this._data.core.last_error), !1))
- },
- delete_node: function(obj) {
- var t1, t2, par, pos, tmp, i, j, k, l, c;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.delete_node(obj[t1]);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- if (par = this.get_node(obj.parent), pos = $.inArray(obj.id, par.children), c = !1, !this.check("delete_node", obj, par, pos)) return this.settings.core.error.call(this, this._data.core.last_error), !1;
- for (-1 !== pos && (par.children = $.vakata.array_remove(par.children, pos)), tmp = obj.children_d.concat([]), tmp.push(obj.id), k = 0, l = tmp.length; k < l; k++) {
- for (i = 0, j = obj.parents.length; i < j; i++) - 1 !== (pos = $.inArray(tmp[k], this._model.data[obj.parents[i]].children_d)) && (this._model.data[obj.parents[i]].children_d = $.vakata.array_remove(this._model.data[obj.parents[i]].children_d, pos));
- this._model.data[tmp[k]].state.selected && (c = !0, -1 !== (pos = $.inArray(tmp[k], this._data.core.selected)) && (this._data.core.selected = $.vakata.array_remove(this._data.core.selected, pos)))
- }
- for (this.trigger("delete_node", {
- node: obj,
- parent: par.id
- }), c && this.trigger("changed", {
- action: "delete_node",
- node: obj,
- selected: this._data.core.selected,
- parent: par.id
- }), k = 0, l = tmp.length; k < l; k++) delete this._model.data[tmp[k]];
- return this.redraw_node(par, !0), !0
- },
- check: function(chk, obj, par, pos, more) {
- obj = obj && obj.id ? obj : this.get_node(obj), par = par && par.id ? par : this.get_node(par);
- var tmp = chk.match(/^move_node|copy_node|create_node$/i) ? par : obj,
- chc = this.settings.core.check_callback;
- return "move_node" !== chk && "copy_node" !== chk || more && more.is_multi || obj.id !== par.id && $.inArray(obj.id, par.children) !== pos && -1 === $.inArray(par.id, obj.children_d) ? (tmp && tmp.data && (tmp = tmp.data), tmp && tmp.functions && (!1 === tmp.functions[chk] || !0 === tmp.functions[chk]) ? (!1 === tmp.functions[chk] && (this._data.core.last_error = {
- error: "check",
- plugin: "core",
- id: "core_02",
- reason: "Node data prevents function: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }), tmp.functions[chk]) : !(!1 === chc || $.isFunction(chc) && !1 === chc.call(this, chk, obj, par, pos, more) || chc && !1 === chc[chk]) || (this._data.core.last_error = {
- error: "check",
- plugin: "core",
- id: "core_03",
- reason: "User config for core.check_callback prevents function: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }, !1)) : (this._data.core.last_error = {
- error: "check",
- plugin: "core",
- id: "core_01",
- reason: "Moving parent inside child",
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }, !1)
- },
- last_error: function() {
- return this._data.core.last_error
- },
- move_node: function(obj, par, pos, callback, is_loaded, skip_redraw, origin) {
- var t1, t2, old_par, old_pos, new_par, old_ins, is_multi, dpc, tmp, i, j, k, l, p;
- if (par = this.get_node(par), pos = pos === undefined ? 0 : pos, !par) return !1;
- if (!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) return this.load_node(par, function() {
- this.move_node(obj, par, pos, callback, !0, !1, origin)
- });
- if ($.isArray(obj)) {
- if (1 !== obj.length) {
- for (t1 = 0, t2 = obj.length; t1 < t2; t1++)(tmp = this.move_node(obj[t1], par, pos, callback, is_loaded, !1, origin)) && (par = tmp, pos = "after");
- return this.redraw(), !0
- }
- obj = obj[0]
- }
- if (!(obj = obj && obj.id ? obj : this.get_node(obj)) || "#" === obj.id) return !1;
- if (old_par = (obj.parent || "#").toString(), new_par = pos.toString().match(/^(before|after)$/) && "#" !== par.id ? this.get_node(par.parent) : par, old_ins = origin || (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)), is_multi = !old_ins || !old_ins._id || this._id !== old_ins._id, old_pos = old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1, old_ins && old_ins._id && (obj = old_ins._model.data[obj.id]), is_multi) return !!(tmp = this.copy_node(obj, par, pos, callback, is_loaded, !1, origin)) && (old_ins && old_ins.delete_node(obj), tmp);
- switch ("#" === par.id && ("before" === pos && (pos = "first"), "after" === pos && (pos = "last")), pos) {
- case "before":
- pos = $.inArray(par.id, new_par.children);
- break;
- case "after":
- pos = $.inArray(par.id, new_par.children) + 1;
- break;
- case "inside":
- case "first":
- pos = 0;
- break;
- case "last":
- pos = new_par.children.length;
- break;
- default:
- pos || (pos = 0)
- }
- if (pos > new_par.children.length && (pos = new_par.children.length), !this.check("move_node", obj, new_par, pos, {
- core: !0,
- origin: origin,
- is_multi: old_ins && old_ins._id && old_ins._id !== this._id,
- is_foreign: !old_ins || !old_ins._id
- })) return this.settings.core.error.call(this, this._data.core.last_error), !1;
- if (obj.parent === new_par.id) {
- for (dpc = new_par.children.concat(), tmp = $.inArray(obj.id, dpc), -1 !== tmp && (dpc = $.vakata.array_remove(dpc, tmp), pos > tmp && pos--), tmp = [], i = 0, j = dpc.length; i < j; i++) tmp[i >= pos ? i + 1 : i] = dpc[i];
- tmp[pos] = obj.id, new_par.children = tmp, this._node_changed(new_par.id), this.redraw("#" === new_par.id)
- } else {
- for (tmp = obj.children_d.concat(), tmp.push(obj.id), i = 0, j = obj.parents.length; i < j; i++) {
- for (dpc = [], p = old_ins._model.data[obj.parents[i]].children_d, k = 0, l = p.length; k < l; k++) - 1 === $.inArray(p[k], tmp) && dpc.push(p[k]);
- old_ins._model.data[obj.parents[i]].children_d = dpc
- }
- for (old_ins._model.data[old_par].children = $.vakata.array_remove_item(old_ins._model.data[old_par].children, obj.id), i = 0, j = new_par.parents.length; i < j; i++) this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(tmp);
- for (dpc = [], i = 0, j = new_par.children.length; i < j; i++) dpc[i >= pos ? i + 1 : i] = new_par.children[i];
- for (dpc[pos] = obj.id, new_par.children = dpc, new_par.children_d.push(obj.id), new_par.children_d = new_par.children_d.concat(obj.children_d), obj.parent = new_par.id, tmp = new_par.parents.concat(), tmp.unshift(new_par.id), p = obj.parents.length, obj.parents = tmp, tmp = tmp.concat(), i = 0, j = obj.children_d.length; i < j; i++) this._model.data[obj.children_d[i]].parents = this._model.data[obj.children_d[i]].parents.slice(0, -1 * p), Array.prototype.push.apply(this._model.data[obj.children_d[i]].parents, tmp);
- "#" !== old_par && "#" !== new_par.id || (this._model.force_full_redraw = !0), this._model.force_full_redraw || (this._node_changed(old_par), this._node_changed(new_par.id)), skip_redraw || this.redraw()
- }
- return callback && callback.call(this, obj, new_par, pos), this.trigger("move_node", {
- node: obj,
- parent: new_par.id,
- position: pos,
- old_parent: old_par,
- old_position: old_pos,
- is_multi: old_ins && old_ins._id && old_ins._id !== this._id,
- is_foreign: !old_ins || !old_ins._id,
- old_instance: old_ins,
- new_instance: this
- }), obj.id
- },
- copy_node: function(obj, par, pos, callback, is_loaded, skip_redraw, origin) {
- var t1, t2, dpc, tmp, i, j, node, old_par, new_par, old_ins;
- if (par = this.get_node(par), pos = pos === undefined ? 0 : pos, !par) return !1;
- if (!pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) return this.load_node(par, function() {
- this.copy_node(obj, par, pos, callback, !0, !1, origin)
- });
- if ($.isArray(obj)) {
- if (1 !== obj.length) {
- for (t1 = 0, t2 = obj.length; t1 < t2; t1++)(tmp = this.copy_node(obj[t1], par, pos, callback, is_loaded, !0, origin)) && (par = tmp, pos = "after");
- return this.redraw(), !0
- }
- obj = obj[0]
- }
- if (!(obj = obj && obj.id ? obj : this.get_node(obj)) || "#" === obj.id) return !1;
- switch (old_par = (obj.parent || "#").toString(), new_par = pos.toString().match(/^(before|after)$/) && "#" !== par.id ? this.get_node(par.parent) : par, old_ins = origin || (this._model.data[obj.id] ? this : $.jstree.reference(obj.id)), !old_ins || !old_ins._id || this._id !== old_ins._id, old_ins && old_ins._id && (obj = old_ins._model.data[obj.id]), "#" === par.id && ("before" === pos && (pos = "first"), "after" === pos && (pos = "last")), pos) {
- case "before":
- pos = $.inArray(par.id, new_par.children);
- break;
- case "after":
- pos = $.inArray(par.id, new_par.children) + 1;
- break;
- case "inside":
- case "first":
- pos = 0;
- break;
- case "last":
- pos = new_par.children.length;
- break;
- default:
- pos || (pos = 0)
- }
- if (pos > new_par.children.length && (pos = new_par.children.length), !this.check("copy_node", obj, new_par, pos, {
- core: !0,
- origin: origin,
- is_multi: old_ins && old_ins._id && old_ins._id !== this._id,
- is_foreign: !old_ins || !old_ins._id
- })) return this.settings.core.error.call(this, this._data.core.last_error), !1;
- if (!(node = old_ins ? old_ins.get_json(obj, {
- no_id: !0,
- no_data: !0,
- no_state: !0
- }) : obj)) return !1;
- if (!0 === node.id && delete node.id, !(node = this._parse_model_from_json(node, new_par.id, new_par.parents.concat()))) return !1;
- for (tmp = this.get_node(node), obj && obj.state && !1 === obj.state.loaded && (tmp.state.loaded = !1), dpc = [], dpc.push(node), dpc = dpc.concat(tmp.children_d), this.trigger("model", {
- nodes: dpc,
- parent: new_par.id
- }), i = 0, j = new_par.parents.length; i < j; i++) this._model.data[new_par.parents[i]].children_d = this._model.data[new_par.parents[i]].children_d.concat(dpc);
- for (dpc = [], i = 0,
- j = new_par.children.length; i < j; i++) dpc[i >= pos ? i + 1 : i] = new_par.children[i];
- return dpc[pos] = tmp.id, new_par.children = dpc, new_par.children_d.push(tmp.id), new_par.children_d = new_par.children_d.concat(tmp.children_d), "#" === new_par.id && (this._model.force_full_redraw = !0), this._model.force_full_redraw || this._node_changed(new_par.id), skip_redraw || this.redraw("#" === new_par.id), callback && callback.call(this, tmp, new_par, pos), this.trigger("copy_node", {
- node: tmp,
- original: obj,
- parent: new_par.id,
- position: pos,
- old_parent: old_par,
- old_position: old_ins && old_ins._id && old_par && old_ins._model.data[old_par] && old_ins._model.data[old_par].children ? $.inArray(obj.id, old_ins._model.data[old_par].children) : -1,
- is_multi: old_ins && old_ins._id && old_ins._id !== this._id,
- is_foreign: !old_ins || !old_ins._id,
- old_instance: old_ins,
- new_instance: this
- }), tmp.id
- },
- cut: function(obj) {
- if (obj || (obj = this._data.core.selected.concat()), $.isArray(obj) || (obj = [obj]), !obj.length) return !1;
- var o, t1, t2, tmp = [];
- for (t1 = 0, t2 = obj.length; t1 < t2; t1++)(o = this.get_node(obj[t1])) && o.id && "#" !== o.id && tmp.push(o);
- if (!tmp.length) return !1;
- ccp_node = tmp, ccp_inst = this, ccp_mode = "move_node", this.trigger("cut", {
- node: obj
- })
- },
- copy: function(obj) {
- if (obj || (obj = this._data.core.selected.concat()), $.isArray(obj) || (obj = [obj]), !obj.length) return !1;
- var o, t1, t2, tmp = [];
- for (t1 = 0, t2 = obj.length; t1 < t2; t1++)(o = this.get_node(obj[t1])) && o.id && "#" !== o.id && tmp.push(o);
- if (!tmp.length) return !1;
- ccp_node = tmp, ccp_inst = this, ccp_mode = "copy_node", this.trigger("copy", {
- node: obj
- })
- },
- get_buffer: function() {
- return {
- mode: ccp_mode,
- node: ccp_node,
- inst: ccp_inst
- }
- },
- can_paste: function() {
- return !1 !== ccp_mode && !1 !== ccp_node
- },
- paste: function(obj, pos) {
- if (!((obj = this.get_node(obj)) && ccp_mode && ccp_mode.match(/^(copy_node|move_node)$/) && ccp_node)) return !1;
- this[ccp_mode](ccp_node, obj, pos, !1, !1, !1, ccp_inst) && this.trigger("paste", {
- parent: obj.id,
- node: ccp_node,
- mode: ccp_mode
- }), ccp_node = !1, ccp_mode = !1, ccp_inst = !1
- },
- clear_buffer: function() {
- ccp_node = !1, ccp_mode = !1, ccp_inst = !1, this.trigger("clear_buffer")
- },
- edit: function(obj, default_text, callback) {
- var rtl, w, a, s, t, h1, h2, fn, tmp;
- return !!(obj = this.get_node(obj)) && (!1 === this.settings.core.check_callback ? (this._data.core.last_error = {
- error: "check",
- plugin: "core",
- id: "core_07",
- reason: "Could not edit node because of check_callback"
- }, this.settings.core.error.call(this, this._data.core.last_error), !1) : (tmp = obj, default_text = "string" == typeof default_text ? default_text : obj.text, this.set_text(obj, ""), obj = this._open_to(obj), tmp.text = default_text, rtl = this._data.core.rtl, w = this.element.width(), a = obj.children(".jstree-anchor"), s = $(""), t = default_text, h1 = $("", {
- css: {
- position: "absolute",
- top: "-200px",
- left: rtl ? "0px" : "-1000px",
- visibility: "hidden"
- }
- }).appendTo("body"), h2 = $("", {
- value: t,
- class: "jstree-rename-input",
- css: {
- padding: "0",
- border: "1px solid silver",
- "box-sizing": "border-box",
- display: "inline-block",
- height: this._data.core.li_height + "px",
- lineHeight: this._data.core.li_height + "px",
- width: "150px"
- },
- blur: $.proxy(function() {
- var nv, i = s.children(".jstree-rename-input"),
- v = i.val(),
- f = this.settings.core.force_text;
- "" === v && (v = t), h1.remove(), s.replaceWith(a), s.remove(), t = f ? t : $("").append($.parseHTML(t)).html(), this.set_text(obj, t), nv = !!this.rename_node(obj, f ? $("").text(v).text() : $("").append($.parseHTML(v)).html()), nv || this.set_text(obj, t), callback && callback.call(this, tmp, nv)
- }, this),
- keydown: function(event) {
- var key = event.which;
- 27 === key && (this.value = t), 27 !== key && 13 !== key && 37 !== key && 38 !== key && 39 !== key && 40 !== key && 32 !== key || event.stopImmediatePropagation(), 27 !== key && 13 !== key || (event.preventDefault(), this.blur())
- },
- click: function(e) {
- e.stopImmediatePropagation()
- },
- mousedown: function(e) {
- e.stopImmediatePropagation()
- },
- keyup: function(event) {
- h2.width(Math.min(h1.text("pW" + this.value).width(), w))
- },
- keypress: function(event) {
- if (13 === event.which) return !1
- }
- }), fn = {
- fontFamily: a.css("fontFamily") || "",
- fontSize: a.css("fontSize") || "",
- fontWeight: a.css("fontWeight") || "",
- fontStyle: a.css("fontStyle") || "",
- fontStretch: a.css("fontStretch") || "",
- fontVariant: a.css("fontVariant") || "",
- letterSpacing: a.css("letterSpacing") || "",
- wordSpacing: a.css("wordSpacing") || ""
- }, s.attr("class", a.attr("class")).append(a.contents().clone()).append(h2), a.replaceWith(s), h1.css(fn), void h2.css(fn).width(Math.min(h1.text("pW" + h2[0].value).width(), w))[0].select()))
- },
- set_theme: function(theme_name, theme_url) {
- if (!theme_name) return !1;
- if (!0 === theme_url) {
- var dir = this.settings.core.themes.dir;
- dir || (dir = $.jstree.path + "/themes"), theme_url = dir + "/" + theme_name + "/style.css"
- }
- theme_url && -1 === $.inArray(theme_url, themes_loaded) && ($("head").append(''), themes_loaded.push(theme_url)), this._data.core.themes.name && this.element.removeClass("jstree-" + this._data.core.themes.name), this._data.core.themes.name = theme_name, this.element.addClass("jstree-" + theme_name), this.element[this.settings.core.themes.responsive ? "addClass" : "removeClass"]("jstree-" + theme_name + "-responsive"), this.trigger("set_theme", {
- theme: theme_name
- })
- },
- get_theme: function() {
- return this._data.core.themes.name
- },
- set_theme_variant: function(variant_name) {
- this._data.core.themes.variant && this.element.removeClass("jstree-" + this._data.core.themes.name + "-" + this._data.core.themes.variant), this._data.core.themes.variant = variant_name, variant_name && this.element.addClass("jstree-" + this._data.core.themes.name + "-" + this._data.core.themes.variant)
- },
- get_theme_variant: function() {
- return this._data.core.themes.variant
- },
- show_stripes: function() {
- this._data.core.themes.stripes = !0, this.get_container_ul().addClass("jstree-striped")
- },
- hide_stripes: function() {
- this._data.core.themes.stripes = !1, this.get_container_ul().removeClass("jstree-striped")
- },
- toggle_stripes: function() {
- this._data.core.themes.stripes ? this.hide_stripes() : this.show_stripes()
- },
- show_dots: function() {
- this._data.core.themes.dots = !0, this.get_container_ul().removeClass("jstree-no-dots")
- },
- hide_dots: function() {
- this._data.core.themes.dots = !1, this.get_container_ul().addClass("jstree-no-dots")
- },
- toggle_dots: function() {
- this._data.core.themes.dots ? this.hide_dots() : this.show_dots()
- },
- show_icons: function() {
- this._data.core.themes.icons = !0, this.get_container_ul().removeClass("jstree-no-icons")
- },
- hide_icons: function() {
- this._data.core.themes.icons = !1, this.get_container_ul().addClass("jstree-no-icons")
- },
- toggle_icons: function() {
- this._data.core.themes.icons ? this.hide_icons() : this.show_icons()
- },
- set_icon: function(obj, icon) {
- var t1, t2, dom, old;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.set_icon(obj[t1], icon);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && (old = obj.icon, obj.icon = !0 === icon || null === icon || icon === undefined || "" === icon || icon, dom = this.get_node(obj, !0).children(".jstree-anchor").children(".jstree-themeicon"), !1 === icon ? this.hide_icon(obj) : !0 === icon || null === icon || icon === undefined || "" === icon ? (dom.removeClass("jstree-themeicon-custom " + old).css("background", "").removeAttr("rel"), !1 === old && this.show_icon(obj)) : -1 === icon.indexOf("/") && -1 === icon.indexOf(".") ? (dom.removeClass(old).css("background", ""), dom.addClass(icon + " jstree-themeicon-custom").attr("rel", icon), !1 === old && this.show_icon(obj)) : (dom.removeClass(old).css("background", ""), dom.addClass("jstree-themeicon-custom").css("background", "url('" + icon + "') center center no-repeat").attr("rel", icon), !1 === old && this.show_icon(obj)), !0)
- },
- get_icon: function(obj) {
- return !(!(obj = this.get_node(obj)) || "#" === obj.id) && obj.icon
- },
- hide_icon: function(obj) {
- var t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.hide_icon(obj[t1]);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj) && (obj.icon = !1, this.get_node(obj, !0).children(".jstree-anchor").children(".jstree-themeicon").addClass("jstree-themeicon-hidden"), !0)
- },
- show_icon: function(obj) {
- var t1, t2, dom;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.show_icon(obj[t1]);
- return !0
- }
- return !(!(obj = this.get_node(obj)) || "#" === obj) && (dom = this.get_node(obj, !0), obj.icon = !dom.length || dom.children(".jstree-anchor").children(".jstree-themeicon").attr("rel"), obj.icon || (obj.icon = !0), dom.children(".jstree-anchor").children(".jstree-themeicon").removeClass("jstree-themeicon-hidden"), !0)
- }
- }, $.vakata = {}, $.vakata.attributes = function(node, with_values) {
- node = $(node)[0];
- var attr = with_values ? {} : [];
- return node && node.attributes && $.each(node.attributes, function(i, v) {
- -1 === $.inArray(v.name.toLowerCase(), ["style", "contenteditable", "hasfocus", "tabindex"]) && null !== v.value && "" !== $.trim(v.value) && (with_values ? attr[v.name] = v.value : attr.push(v.name))
- }), attr
- }, $.vakata.array_unique = function(array) {
- var i, l, a = [],
- o = {};
- for (i = 0, l = array.length; i < l; i++) o[array[i]] === undefined && (a.push(array[i]), o[array[i]] = !0);
- return a
- }, $.vakata.array_remove = function(array, from, to) {
- var rest = array.slice((to || from) + 1 || array.length);
- return array.length = from < 0 ? array.length + from : from, array.push.apply(array, rest), array
- }, $.vakata.array_remove_item = function(array, item) {
- var tmp = $.inArray(item, array);
- return -1 !== tmp ? $.vakata.array_remove(array, tmp) : array
- };
- var _i = document.createElement("I");
- _i.className = "jstree-icon jstree-checkbox", _i.setAttribute("role", "presentation"), $.jstree.defaults.checkbox = {
- visible: !0,
- three_state: !0,
- whole_node: !0,
- keep_selected_style: !0,
- cascade: "",
- tie_selection: !0
- }, $.jstree.plugins.checkbox = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this), this._data.checkbox.uto = !1, this._data.checkbox.selected = [], this.settings.checkbox.three_state && (this.settings.checkbox.cascade = "up+down+undetermined"), this.element.on("init.jstree", $.proxy(function() {
- this._data.checkbox.visible = this.settings.checkbox.visible, this.settings.checkbox.keep_selected_style || this.element.addClass("jstree-checkbox-no-clicked"), this.settings.checkbox.tie_selection && this.element.addClass("jstree-checkbox-selection")
- }, this)).on("loading.jstree", $.proxy(function() {
- this[this._data.checkbox.visible ? "show_checkboxes" : "hide_checkboxes"]()
- }, this)), -1 !== this.settings.checkbox.cascade.indexOf("undetermined") && this.element.on("changed.jstree uncheck_node.jstree check_node.jstree uncheck_all.jstree check_all.jstree move_node.jstree copy_node.jstree redraw.jstree open_node.jstree", $.proxy(function() {
- this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50)
- }, this)), this.settings.checkbox.tie_selection || this.element.on("model.jstree", $.proxy(function(e, data) {
- var i, j, m = this._model.data,
- dpc = (m[data.parent], data.nodes);
- for (i = 0, j = dpc.length; i < j; i++) m[dpc[i]].state.checked = m[dpc[i]].original && m[dpc[i]].original.state && m[dpc[i]].original.state.checked, m[dpc[i]].state.checked && this._data.checkbox.selected.push(dpc[i])
- }, this)), -1 === this.settings.checkbox.cascade.indexOf("up") && -1 === this.settings.checkbox.cascade.indexOf("down") || this.element.on("model.jstree", $.proxy(function(e, data) {
- var c, i, j, k, l, tmp, m = this._model.data,
- p = m[data.parent],
- dpc = data.nodes,
- chd = [],
- s = this.settings.checkbox.cascade,
- t = this.settings.checkbox.tie_selection;
- if (-1 !== s.indexOf("down"))
- if (p.state[t ? "selected" : "checked"]) {
- for (i = 0, j = dpc.length; i < j; i++) m[dpc[i]].state[t ? "selected" : "checked"] = !0;
- this._data[t ? "core" : "checkbox"].selected = this._data[t ? "core" : "checkbox"].selected.concat(dpc)
- } else
- for (i = 0, j = dpc.length; i < j; i++)
- if (m[dpc[i]].state[t ? "selected" : "checked"]) {
- for (k = 0, l = m[dpc[i]].children_d.length; k < l; k++) m[m[dpc[i]].children_d[k]].state[t ? "selected" : "checked"] = !0;
- this._data[t ? "core" : "checkbox"].selected = this._data[t ? "core" : "checkbox"].selected.concat(m[dpc[i]].children_d)
- } if (-1 !== s.indexOf("up")) {
- for (i = 0, j = p.children_d.length; i < j; i++) m[p.children_d[i]].children.length || chd.push(m[p.children_d[i]].parent);
- for (chd = $.vakata.array_unique(chd), k = 0, l = chd.length; k < l; k++)
- for (p = m[chd[k]]; p && "#" !== p.id;) {
- for (c = 0, i = 0, j = p.children.length; i < j; i++) c += m[p.children[i]].state[t ? "selected" : "checked"];
- if (c !== j) break;
- p.state[t ? "selected" : "checked"] = !0, this._data[t ? "core" : "checkbox"].selected.push(p.id), (tmp = this.get_node(p, !0)) && tmp.length && tmp.attr("aria-selected", !0).children(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked"), p = this.get_node(p.parent)
- }
- }
- this._data[t ? "core" : "checkbox"].selected = $.vakata.array_unique(this._data[t ? "core" : "checkbox"].selected)
- }, this)).on(this.settings.checkbox.tie_selection ? "select_node.jstree" : "check_node.jstree", $.proxy(function(e, data) {
- var i, j, c, tmp, obj = data.node,
- m = this._model.data,
- par = this.get_node(obj.parent),
- dom = this.get_node(obj, !0),
- s = this.settings.checkbox.cascade,
- t = this.settings.checkbox.tie_selection;
- if (-1 !== s.indexOf("down"))
- for (this._data[t ? "core" : "checkbox"].selected = $.vakata.array_unique(this._data[t ? "core" : "checkbox"].selected.concat(obj.children_d)), i = 0, j = obj.children_d.length; i < j; i++) tmp = m[obj.children_d[i]], tmp.state[t ? "selected" : "checked"] = !0, tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined && (tmp.original.state.undetermined = !1);
- if (-1 !== s.indexOf("up"))
- for (; par && "#" !== par.id;) {
- for (c = 0, i = 0, j = par.children.length; i < j; i++) c += m[par.children[i]].state[t ? "selected" : "checked"];
- if (c !== j) break;
- par.state[t ? "selected" : "checked"] = !0, this._data[t ? "core" : "checkbox"].selected.push(par.id), (tmp = this.get_node(par, !0)) && tmp.length && tmp.attr("aria-selected", !0).children(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked"), par = this.get_node(par.parent)
- } - 1 !== s.indexOf("down") && dom.length && dom.find(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked").parent().attr("aria-selected", !0)
- }, this)).on(this.settings.checkbox.tie_selection ? "deselect_all.jstree" : "uncheck_all.jstree", $.proxy(function(e, data) {
- var i, j, tmp, obj = this.get_node("#"),
- m = this._model.data;
- for (i = 0, j = obj.children_d.length; i < j; i++)(tmp = m[obj.children_d[i]]) && tmp.original && tmp.original.state && tmp.original.state.undetermined && (tmp.original.state.undetermined = !1)
- }, this)).on(this.settings.checkbox.tie_selection ? "deselect_node.jstree" : "uncheck_node.jstree", $.proxy(function(e, data) {
- var i, j, tmp, obj = data.node,
- dom = this.get_node(obj, !0),
- s = this.settings.checkbox.cascade,
- t = this.settings.checkbox.tie_selection;
- if (obj && obj.original && obj.original.state && obj.original.state.undetermined && (obj.original.state.undetermined = !1), -1 !== s.indexOf("down"))
- for (i = 0, j = obj.children_d.length; i < j; i++) tmp = this._model.data[obj.children_d[i]], tmp.state[t ? "selected" : "checked"] = !1, tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined && (tmp.original.state.undetermined = !1);
- if (-1 !== s.indexOf("up"))
- for (i = 0, j = obj.parents.length; i < j; i++) tmp = this._model.data[obj.parents[i]], tmp.state[t ? "selected" : "checked"] = !1, tmp && tmp.original && tmp.original.state && tmp.original.state.undetermined && (tmp.original.state.undetermined = !1), (tmp = this.get_node(obj.parents[i], !0)) && tmp.length && tmp.attr("aria-selected", !1).children(".jstree-anchor").removeClass(t ? "jstree-clicked" : "jstree-checked");
- for (tmp = [], i = 0, j = this._data[t ? "core" : "checkbox"].selected.length; i < j; i++) - 1 !== s.indexOf("down") && -1 !== $.inArray(this._data[t ? "core" : "checkbox"].selected[i], obj.children_d) || -1 !== s.indexOf("up") && -1 !== $.inArray(this._data[t ? "core" : "checkbox"].selected[i], obj.parents) || tmp.push(this._data[t ? "core" : "checkbox"].selected[i]);
- this._data[t ? "core" : "checkbox"].selected = $.vakata.array_unique(tmp), -1 !== s.indexOf("down") && dom.length && dom.find(".jstree-anchor").removeClass(t ? "jstree-clicked" : "jstree-checked").parent().attr("aria-selected", !1)
- }, this)), -1 !== this.settings.checkbox.cascade.indexOf("up") && this.element.on("delete_node.jstree", $.proxy(function(e, data) {
- for (var i, j, c, tmp, p = this.get_node(data.parent), m = this._model.data, t = this.settings.checkbox.tie_selection; p && "#" !== p.id;) {
- for (c = 0, i = 0, j = p.children.length; i < j; i++) c += m[p.children[i]].state[t ? "selected" : "checked"];
- if (c !== j) break;
- p.state[t ? "selected" : "checked"] = !0, this._data[t ? "core" : "checkbox"].selected.push(p.id), (tmp = this.get_node(p, !0)) && tmp.length && tmp.attr("aria-selected", !0).children(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked"), p = this.get_node(p.parent)
- }
- }, this)).on("move_node.jstree", $.proxy(function(e, data) {
- var p, c, i, j, tmp, is_multi = data.is_multi,
- old_par = data.old_parent,
- new_par = this.get_node(data.parent),
- m = this._model.data,
- t = this.settings.checkbox.tie_selection;
- if (!is_multi)
- for (p = this.get_node(old_par); p && "#" !== p.id;) {
- for (c = 0, i = 0, j = p.children.length; i < j; i++) c += m[p.children[i]].state[t ? "selected" : "checked"];
- if (c !== j) break;
- p.state[t ? "selected" : "checked"] = !0, this._data[t ? "core" : "checkbox"].selected.push(p.id), (tmp = this.get_node(p, !0)) && tmp.length && tmp.attr("aria-selected", !0).children(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked"), p = this.get_node(p.parent)
- }
- for (p = new_par; p && "#" !== p.id;) {
- for (c = 0, i = 0, j = p.children.length; i < j; i++) c += m[p.children[i]].state[t ? "selected" : "checked"];
- if (c === j) p.state[t ? "selected" : "checked"] || (p.state[t ? "selected" : "checked"] = !0, this._data[t ? "core" : "checkbox"].selected.push(p.id), (tmp = this.get_node(p, !0)) && tmp.length && tmp.attr("aria-selected", !0).children(".jstree-anchor").addClass(t ? "jstree-clicked" : "jstree-checked"));
- else {
- if (!p.state[t ? "selected" : "checked"]) break;
- p.state[t ? "selected" : "checked"] = !1, this._data[t ? "core" : "checkbox"].selected = $.vakata.array_remove_item(this._data[t ? "core" : "checkbox"].selected, p.id), (tmp = this.get_node(p, !0)) && tmp.length && tmp.attr("aria-selected", !1).children(".jstree-anchor").removeClass(t ? "jstree-clicked" : "jstree-checked")
- }
- p = this.get_node(p.parent)
- }
- }, this))
- }, this._undetermined = function() {
- if (null !== this.element) {
- var i, j, k, l, o = {},
- m = this._model.data,
- t = this.settings.checkbox.tie_selection,
- s = this._data[t ? "core" : "checkbox"].selected,
- p = [],
- tt = this;
- for (i = 0, j = s.length; i < j; i++)
- if (m[s[i]] && m[s[i]].parents)
- for (k = 0, l = m[s[i]].parents.length; k < l; k++) o[m[s[i]].parents[k]] === undefined && "#" !== m[s[i]].parents[k] && (o[m[s[i]].parents[k]] = !0, p.push(m[s[i]].parents[k]));
- for (this.element.find(".jstree-closed").not(":has(.jstree-children)").each(function() {
- var tmp2, tmp = tt.get_node(this);
- if (tmp.state.loaded) {
- for (i = 0, j = tmp.children_d.length; i < j; i++)
- if (tmp2 = m[tmp.children_d[i]], !tmp2.state.loaded && tmp2.original && tmp2.original.state && tmp2.original.state.undetermined && !0 === tmp2.original.state.undetermined)
- for (o[tmp2.id] === undefined && "#" !== tmp2.id && (o[tmp2.id] = !0, p.push(tmp2.id)), k = 0, l = tmp2.parents.length; k < l; k++) o[tmp2.parents[k]] === undefined && "#" !== tmp2.parents[k] && (o[tmp2.parents[k]] = !0, p.push(tmp2.parents[k]))
- } else if (tmp.original && tmp.original.state && tmp.original.state.undetermined && !0 === tmp.original.state.undetermined)
- for (o[tmp.id] === undefined && "#" !== tmp.id && (o[tmp.id] = !0, p.push(tmp.id)), k = 0, l = tmp.parents.length; k < l; k++) o[tmp.parents[k]] === undefined && "#" !== tmp.parents[k] && (o[tmp.parents[k]] = !0, p.push(tmp.parents[k]))
- }), this.element.find(".jstree-undetermined").removeClass("jstree-undetermined"), i = 0, j = p.length; i < j; i++) m[p[i]].state[t ? "selected" : "checked"] || (s = this.get_node(p[i], !0)) && s.length && s.children(".jstree-anchor").children(".jstree-checkbox").addClass("jstree-undetermined")
- }
- }, this.redraw_node = function(obj, deep, is_callback, force_render) {
- if (obj = parent.redraw_node.apply(this, arguments)) {
- var i, j, tmp = null;
- for (i = 0, j = obj.childNodes.length; i < j; i++)
- if (obj.childNodes[i] && obj.childNodes[i].className && -1 !== obj.childNodes[i].className.indexOf("jstree-anchor")) {
- tmp = obj.childNodes[i];
- break
- } tmp && (!this.settings.checkbox.tie_selection && this._model.data[obj.id].state.checked && (tmp.className += " jstree-checked"), tmp.insertBefore(_i.cloneNode(!1), tmp.childNodes[0]))
- }
- return is_callback || -1 === this.settings.checkbox.cascade.indexOf("undetermined") || (this._data.checkbox.uto && clearTimeout(this._data.checkbox.uto), this._data.checkbox.uto = setTimeout($.proxy(this._undetermined, this), 50)), obj
- }, this.show_checkboxes = function() {
- this._data.core.themes.checkboxes = !0, this.get_container_ul().removeClass("jstree-no-checkboxes")
- }, this.hide_checkboxes = function() {
- this._data.core.themes.checkboxes = !1, this.get_container_ul().addClass("jstree-no-checkboxes")
- }, this.toggle_checkboxes = function() {
- this._data.core.themes.checkboxes ? this.hide_checkboxes() : this.show_checkboxes()
- }, this.is_undetermined = function(obj) {
- obj = this.get_node(obj);
- var i, j, s = this.settings.checkbox.cascade,
- t = this.settings.checkbox.tie_selection,
- d = this._data[t ? "core" : "checkbox"].selected,
- m = this._model.data;
- if (!obj || !0 === obj.state[t ? "selected" : "checked"] || -1 === s.indexOf("undetermined") || -1 === s.indexOf("down") && -1 === s.indexOf("up")) return !1;
- if (!obj.state.loaded && !0 === obj.original.state.undetermined) return !0;
- for (i = 0, j = obj.children_d.length; i < j; i++)
- if (-1 !== $.inArray(obj.children_d[i], d) || !m[obj.children_d[i]].state.loaded && m[obj.children_d[i]].original.state.undetermined) return !0;
- return !1
- }, this.activate_node = function(obj, e) {
- return this.settings.checkbox.tie_selection && (this.settings.checkbox.whole_node || $(e.target).hasClass("jstree-checkbox")) && (e.ctrlKey = !0), this.settings.checkbox.tie_selection || !this.settings.checkbox.whole_node && !$(e.target).hasClass("jstree-checkbox") ? parent.activate_node.call(this, obj, e) : !this.is_disabled(obj) && (this.is_checked(obj) ? this.uncheck_node(obj, e) : this.check_node(obj, e), void this.trigger("activate_node", {
- node: this.get_node(obj)
- }))
- }, this.check_node = function(obj, e) {
- if (this.settings.checkbox.tie_selection) return this.select_node(obj, !1, !0, e);
- var dom, t1, t2;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.check_node(obj[t1], e);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- dom = this.get_node(obj, !0), obj.state.checked || (obj.state.checked = !0, this._data.checkbox.selected.push(obj.id), dom && dom.length && dom.children(".jstree-anchor").addClass("jstree-checked"), this.trigger("check_node", {
- node: obj,
- selected: this._data.checkbox.selected,
- event: e
- }))
- }, this.uncheck_node = function(obj, e) {
- if (this.settings.checkbox.tie_selection) return this.deselect_node(obj, !1, e);
- var t1, t2, dom;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.uncheck_node(obj[t1], e);
- return !0
- }
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- dom = this.get_node(obj, !0), obj.state.checked && (obj.state.checked = !1, this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, obj.id), dom.length && dom.children(".jstree-anchor").removeClass("jstree-checked"), this.trigger("uncheck_node", {
- node: obj,
- selected: this._data.checkbox.selected,
- event: e
- }))
- }, this.check_all = function() {
- if (this.settings.checkbox.tie_selection) return this.select_all();
- var i, j;
- this._data.checkbox.selected.concat([]);
- for (this._data.checkbox.selected = this._model.data["#"].children_d.concat(), i = 0, j = this._data.checkbox.selected.length; i < j; i++) this._model.data[this._data.checkbox.selected[i]] && (this._model.data[this._data.checkbox.selected[i]].state.checked = !0);
- this.redraw(!0), this.trigger("check_all", {
- selected: this._data.checkbox.selected
- })
- }, this.uncheck_all = function() {
- if (this.settings.checkbox.tie_selection) return this.deselect_all();
- var i, j, tmp = this._data.checkbox.selected.concat([]);
- for (i = 0, j = this._data.checkbox.selected.length; i < j; i++) this._model.data[this._data.checkbox.selected[i]] && (this._model.data[this._data.checkbox.selected[i]].state.checked = !1);
- this._data.checkbox.selected = [], this.element.find(".jstree-checked").removeClass("jstree-checked"), this.trigger("uncheck_all", {
- selected: this._data.checkbox.selected,
- node: tmp
- })
- }, this.is_checked = function(obj) {
- return this.settings.checkbox.tie_selection ? this.is_selected(obj) : !(!(obj = this.get_node(obj)) || "#" === obj.id) && obj.state.checked
- }, this.get_checked = function(full) {
- return this.settings.checkbox.tie_selection ? this.get_selected(full) : full ? $.map(this._data.checkbox.selected, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : this._data.checkbox.selected
- }, this.get_top_checked = function(full) {
- if (this.settings.checkbox.tie_selection) return this.get_top_selected(full);
- var i, j, k, l, tmp = this.get_checked(!0),
- obj = {};
- for (i = 0, j = tmp.length; i < j; i++) obj[tmp[i].id] = tmp[i];
- for (i = 0, j = tmp.length; i < j; i++)
- for (k = 0, l = tmp[i].children_d.length; k < l; k++) obj[tmp[i].children_d[k]] && delete obj[tmp[i].children_d[k]];
- tmp = [];
- for (i in obj) obj.hasOwnProperty(i) && tmp.push(i);
- return full ? $.map(tmp, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : tmp
- }, this.get_bottom_checked = function(full) {
- if (this.settings.checkbox.tie_selection) return this.get_bottom_selected(full);
- var i, j, tmp = this.get_checked(!0),
- obj = [];
- for (i = 0, j = tmp.length; i < j; i++) tmp[i].children.length || obj.push(tmp[i].id);
- return full ? $.map(obj, $.proxy(function(i) {
- return this.get_node(i)
- }, this)) : obj
- }, this.load_node = function(obj, callback) {
- var k, l, tmp;
- if (!$.isArray(obj) && !this.settings.checkbox.tie_selection && (tmp = this.get_node(obj)) && tmp.state.loaded)
- for (k = 0, l = tmp.children_d.length; k < l; k++) this._model.data[tmp.children_d[k]].state.checked && (!0, this._data.checkbox.selected = $.vakata.array_remove_item(this._data.checkbox.selected, tmp.children_d[k]));
- return parent.load_node.apply(this, arguments)
- }, this.get_state = function() {
- var state = parent.get_state.apply(this, arguments);
- return this.settings.checkbox.tie_selection ? state : (state.checkbox = this._data.checkbox.selected.slice(), state)
- }, this.set_state = function(state, callback) {
- var res = parent.set_state.apply(this, arguments);
- if (res && state.checkbox) {
- if (!this.settings.checkbox.tie_selection) {
- this.uncheck_all();
- var _this = this;
- $.each(state.checkbox, function(i, v) {
- _this.check_node(v)
- })
- }
- return delete state.checkbox, this.set_state(state, callback), !1
- }
- return res
- }
- }, $.jstree.defaults.contextmenu = {
- select_node: !0,
- show_at_node: !0,
- items: function(o, cb) {
- return {
- create: {
- separator_before: !1,
- separator_after: !0,
- _disabled: !1,
- label: "Create",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.create_node(obj, {}, "last", function(new_node) {
- setTimeout(function() {
- inst.edit(new_node)
- }, 0)
- })
- }
- },
- rename: {
- separator_before: !1,
- separator_after: !1,
- _disabled: !1,
- label: "Rename",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.edit(obj)
- }
- },
- remove: {
- separator_before: !1,
- icon: !1,
- separator_after: !1,
- _disabled: !1,
- label: "Delete",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.is_selected(obj) ? inst.delete_node(inst.get_selected()) : inst.delete_node(obj)
- }
- },
- ccp: {
- separator_before: !0,
- icon: !1,
- separator_after: !1,
- label: "Edit",
- action: !1,
- submenu: {
- cut: {
- separator_before: !1,
- separator_after: !1,
- label: "Cut",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.is_selected(obj) ? inst.cut(inst.get_top_selected()) : inst.cut(obj)
- }
- },
- copy: {
- separator_before: !1,
- icon: !1,
- separator_after: !1,
- label: "Copy",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.is_selected(obj) ? inst.copy(inst.get_top_selected()) : inst.copy(obj)
- }
- },
- paste: {
- separator_before: !1,
- icon: !1,
- _disabled: function(data) {
- return !$.jstree.reference(data.reference).can_paste()
- },
- separator_after: !1,
- label: "Paste",
- action: function(data) {
- var inst = $.jstree.reference(data.reference),
- obj = inst.get_node(data.reference);
- inst.paste(obj)
- }
- }
- }
- }
- }
- }
- }, $.jstree.plugins.contextmenu = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this);
- var ex, ey, last_ts = 0,
- cto = null;
- this.element.on("contextmenu.jstree", ".jstree-anchor", $.proxy(function(e, data) {
- e.preventDefault(), last_ts = e.ctrlKey ? +new Date : 0, (data || cto) && (last_ts = +new Date + 1e4), cto && clearTimeout(cto), this.is_loading(e.currentTarget) || this.show_contextmenu(e.currentTarget, e.pageX, e.pageY, e)
- }, this)).on("click.jstree", ".jstree-anchor", $.proxy(function(e) {
- this._data.contextmenu.visible && (!last_ts || +new Date - last_ts > 250) && $.vakata.context.hide(), last_ts = 0
- }, this)).on("touchstart.jstree", ".jstree-anchor", function(e) {
- e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (ex = e.pageX, ey = e.pageY, cto = setTimeout(function() {
- $(e.currentTarget).trigger("contextmenu", !0)
- }, 750))
- }).on("touchmove.vakata.jstree", function(e) {
- cto && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (Math.abs(ex - e.pageX) > 50 || Math.abs(ey - e.pageY) > 50) && clearTimeout(cto)
- }).on("touchend.vakata.jstree", function(e) {
- cto && clearTimeout(cto)
- }), $(document).on("context_hide.vakata.jstree", $.proxy(function() {
- this._data.contextmenu.visible = !1
- }, this))
- }, this.teardown = function() {
- this._data.contextmenu.visible && $.vakata.context.hide(), parent.teardown.call(this)
- }, this.show_contextmenu = function(obj, x, y, e) {
- if (!(obj = this.get_node(obj)) || "#" === obj.id) return !1;
- var s = this.settings.contextmenu,
- d = this.get_node(obj, !0),
- a = d.children(".jstree-anchor"),
- o = !1,
- i = !1;
- (s.show_at_node || x === undefined || y === undefined) && (o = a.offset(), x = o.left, y = o.top + this._data.core.li_height), this.settings.contextmenu.select_node && !this.is_selected(obj) && this.activate_node(obj, e), i = s.items, $.isFunction(i) && (i = i.call(this, obj, $.proxy(function(i) {
- this._show_contextmenu(obj, x, y, i)
- }, this))), $.isPlainObject(i) && this._show_contextmenu(obj, x, y, i)
- }, this._show_contextmenu = function(obj, x, y, i) {
- var d = this.get_node(obj, !0),
- a = d.children(".jstree-anchor");
- $(document).one("context_show.vakata.jstree", $.proxy(function(e, data) {
- var cls = "jstree-contextmenu jstree-" + this.get_theme() + "-contextmenu";
- $(data.element).addClass(cls)
- }, this)), this._data.contextmenu.visible = !0, $.vakata.context.show(a, {
- x: x,
- y: y
- }, i), this.trigger("show_contextmenu", {
- node: obj,
- x: x,
- y: y
- })
- }
- },
- function($) {
- var right_to_left = !1,
- vakata_context = {
- element: !1,
- reference: !1,
- position_x: 0,
- position_y: 0,
- items: [],
- html: "",
- is_visible: !1
- };
- $.vakata.context = {
- settings: {
- hide_onmouseleave: 0,
- icons: !0
- },
- _trigger: function(event_name) {
- $(document).triggerHandler("context_" + event_name + ".vakata", {
- reference: vakata_context.reference,
- element: vakata_context.element,
- position: {
- x: vakata_context.position_x,
- y: vakata_context.position_y
- }
- })
- },
- _execute: function(i) {
- return !(!(i = vakata_context.items[i]) || i._disabled && (!$.isFunction(i._disabled) || i._disabled({
- item: i,
- reference: vakata_context.reference,
- element: vakata_context.element
- })) || !i.action) && i.action.call(null, {
- item: i,
- reference: vakata_context.reference,
- element: vakata_context.element,
- position: {
- x: vakata_context.position_x,
- y: vakata_context.position_y
- }
- })
- },
- _parse: function(o, is_callback) {
- if (!o) return !1;
- is_callback || (vakata_context.html = "", vakata_context.items = []);
- var tmp, str = "",
- sep = !1;
- return is_callback && (str += ""), $.each(o, function(i, val) {
- if (!val) return !0;
- vakata_context.items.push(val), !sep && val.separator_before && (str += "-
"), sep = !1, str += "", val.separator_after && (str += "-
", sep = !0)
- }), str = str.replace(/- <\/li\>$/, ""), is_callback && (str += "
"), is_callback || (vakata_context.html = str, $.vakata.context._trigger("parse")), str.length > 10 && str
- },
- _show_submenu: function(o) {
- if (o = $(o), o.length && o.children("ul").length) {
- var e = o.children("ul"),
- x = o.offset().left + o.outerWidth(),
- y = o.offset().top,
- w = e.width(),
- h = e.height(),
- dw = $(window).width() + $(window).scrollLeft(),
- dh = $(window).height() + $(window).scrollTop();
- right_to_left ? o[x - (w + 10 + o.outerWidth()) < 0 ? "addClass" : "removeClass"]("vakata-context-left") : o[x + w + 10 > dw ? "addClass" : "removeClass"]("vakata-context-right"), y + h + 10 > dh && e.css("bottom", "-1px"),
- e.show()
- }
- },
- show: function(reference, position, data) {
- var o, e, x, y, w, h, dw, dh;
- switch (vakata_context.element && vakata_context.element.length && vakata_context.element.width(""), !0) {
- case !position && !reference:
- return !1;
- case !!position && !!reference:
- vakata_context.reference = reference, vakata_context.position_x = position.x, vakata_context.position_y = position.y;
- break;
- case !position && !!reference:
- vakata_context.reference = reference, o = reference.offset(), vakata_context.position_x = o.left + reference.outerHeight(), vakata_context.position_y = o.top;
- break;
- case !!position && !reference:
- vakata_context.position_x = position.x, vakata_context.position_y = position.y
- }
- reference && !data && $(reference).data("vakata_contextmenu") && (data = $(reference).data("vakata_contextmenu")), $.vakata.context._parse(data) && vakata_context.element.html(vakata_context.html), vakata_context.items.length && (vakata_context.element.appendTo("body"), e = vakata_context.element, x = vakata_context.position_x, y = vakata_context.position_y, w = e.width(), h = e.height(), dw = $(window).width() + $(window).scrollLeft(), dh = $(window).height() + $(window).scrollTop(), right_to_left && (x -= e.outerWidth() - $(reference).outerWidth()) < $(window).scrollLeft() + 20 && (x = $(window).scrollLeft() + 20), x + w + 20 > dw && (x = dw - (w + 20)), y + h + 20 > dh && (y = dh - (h + 20)), vakata_context.element.css({
- left: x,
- top: y
- }).show().find("a").first().focus().parent().addClass("vakata-context-hover"), vakata_context.is_visible = !0, $.vakata.context._trigger("show"))
- },
- hide: function() {
- vakata_context.is_visible && (vakata_context.element.hide().find("ul").hide().end().find(":focus").blur().end().detach(), vakata_context.is_visible = !1, $.vakata.context._trigger("hide"))
- }
- }, $(function() {
- right_to_left = "rtl" === $("body").css("direction");
- var to = !1;
- vakata_context.element = $(""), vakata_context.element.on("mouseenter", "li", function(e) {
- e.stopImmediatePropagation(), $.contains(this, e.relatedTarget) || (to && clearTimeout(to), vakata_context.element.find(".vakata-context-hover").removeClass("vakata-context-hover").end(), $(this).siblings().find("ul").hide().end().end().parentsUntil(".vakata-context", "li").addBack().addClass("vakata-context-hover"), $.vakata.context._show_submenu(this))
- }).on("mouseleave", "li", function(e) {
- $.contains(this, e.relatedTarget) || $(this).find(".vakata-context-hover").addBack().removeClass("vakata-context-hover")
- }).on("mouseleave", function(e) {
- $(this).find(".vakata-context-hover").removeClass("vakata-context-hover"), $.vakata.context.settings.hide_onmouseleave && (to = setTimeout(function(t) {
- return function() {
- $.vakata.context.hide()
- }
- }(), $.vakata.context.settings.hide_onmouseleave))
- }).on("click", "a", function(e) {
- e.preventDefault(), $(this).blur().parent().hasClass("vakata-context-disabled") || !1 === $.vakata.context._execute($(this).attr("rel")) || $.vakata.context.hide()
- }).on("keydown", "a", function(e) {
- var o = null;
- switch (e.which) {
- case 13:
- case 32:
- e.type = "mouseup", e.preventDefault(), $(e.currentTarget).trigger(e);
- break;
- case 37:
- vakata_context.is_visible && (vakata_context.element.find(".vakata-context-hover").last().closest("li").first().find("ul").hide().find(".vakata-context-hover").removeClass("vakata-context-hover").end().end().children("a").focus(), e.stopImmediatePropagation(), e.preventDefault());
- break;
- case 38:
- vakata_context.is_visible && (o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").prevAll("li:not(.vakata-context-separator)").first(), o.length || (o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").last()), o.addClass("vakata-context-hover").children("a").focus(), e.stopImmediatePropagation(), e.preventDefault());
- break;
- case 39:
- vakata_context.is_visible && (vakata_context.element.find(".vakata-context-hover").last().children("ul").show().children("li:not(.vakata-context-separator)").removeClass("vakata-context-hover").first().addClass("vakata-context-hover").children("a").focus(), e.stopImmediatePropagation(), e.preventDefault());
- break;
- case 40:
- vakata_context.is_visible && (o = vakata_context.element.find("ul:visible").addBack().last().children(".vakata-context-hover").removeClass("vakata-context-hover").nextAll("li:not(.vakata-context-separator)").first(), o.length || (o = vakata_context.element.find("ul:visible").addBack().last().children("li:not(.vakata-context-separator)").first()), o.addClass("vakata-context-hover").children("a").focus(), e.stopImmediatePropagation(), e.preventDefault());
- break;
- case 27:
- $.vakata.context.hide(), e.preventDefault()
- }
- }).on("keydown", function(e) {
- e.preventDefault();
- var a = vakata_context.element.find(".vakata-contextmenu-shortcut-" + e.which).parent();
- a.parent().not(".vakata-context-disabled") && a.click()
- }), $(document).on("mousedown.vakata.jstree", function(e) {
- vakata_context.is_visible && !$.contains(vakata_context.element[0], e.target) && $.vakata.context.hide()
- }).on("context_show.vakata.jstree", function(e, data) {
- vakata_context.element.find("li:has(ul)").children("a").addClass("vakata-context-parent"), right_to_left && vakata_context.element.addClass("vakata-context-rtl").css("direction", "rtl"), vakata_context.element.find("ul").hide().end()
- })
- })
- }($), $.jstree.defaults.dnd = {
- copy: !0,
- open_timeout: 500,
- is_draggable: !0,
- check_while_dragging: !0,
- always_copy: !1,
- inside_pos: 0,
- drag_selection: !0,
- touch: !0,
- large_drop_target: !1,
- large_drag_target: !1
- }, $.jstree.plugins.dnd = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this), this.element.on("mousedown.jstree touchstart.jstree", this.settings.dnd.large_drag_target ? ".jstree-node" : ".jstree-anchor", $.proxy(function(e) {
- if (this.settings.dnd.large_drag_target && $(e.target).closest(".jstree-node")[0] !== e.currentTarget) return !0;
- if ("touchstart" === e.type && (!this.settings.dnd.touch || "selected" === this.settings.dnd.touch && !$(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").hasClass("jstree-clicked"))) return !0;
- var obj = this.get_node(e.target),
- mlt = this.is_selected(obj) && this.settings.dnd.drag_selection ? this.get_top_selected().length : 1,
- txt = mlt > 1 ? mlt + " " + this.get_string("nodes") : this.get_text(e.currentTarget);
- return this.settings.core.force_text && (txt = $.vakata.html.escape(txt)), obj && obj.id && "#" !== obj.id && (1 === e.which || "touchstart" === e.type) && (!0 === this.settings.dnd.is_draggable || $.isFunction(this.settings.dnd.is_draggable) && this.settings.dnd.is_draggable.call(this, mlt > 1 ? this.get_top_selected(!0) : [obj])) ? (this.element.trigger("mousedown.jstree"), $.vakata.dnd.start(e, {
- jstree: !0,
- origin: this,
- obj: this.get_node(obj, !0),
- nodes: mlt > 1 ? this.get_top_selected() : [obj.id]
- }, '' + txt + '+
')) : void 0
- }, this))
- }
- }, $(function() {
- var lastmv = !1,
- laster = !1,
- opento = !1,
- marker = $('
').hide();
- $(document).on("dnd_start.vakata.jstree", function(e, data) {
- lastmv = !1, data && data.data && data.data.jstree && marker.appendTo("body")
- }).on("dnd_move.vakata.jstree", function(e, data) {
- if (opento && clearTimeout(opento), data && data.data && data.data.jstree && (!data.event.target.id || "jstree-marker" !== data.event.target.id)) {
- var l, t, h, p, i, o, ok, t1, t2, op, ps, pr, ip, tm, ins = $.jstree.reference(data.event.target),
- ref = !1,
- off = !1,
- rel = !1;
- if (ins && ins._data && ins._data.dnd)
- if (marker.attr("class", "jstree-" + ins.get_theme() + (ins.settings.core.themes.responsive ? " jstree-dnd-responsive" : "")), data.helper.children().attr("class", "jstree-" + ins.get_theme() + " jstree-" + ins.get_theme() + "-" + ins.get_theme_variant() + " " + (ins.settings.core.themes.responsive ? " jstree-dnd-responsive" : "")).find(".jstree-copy").first()[data.data.origin && (data.data.origin.settings.dnd.always_copy || data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ? "show" : "hide"](), data.event.target !== ins.element[0] && data.event.target !== ins.get_container_ul()[0] || 0 !== ins.get_container_ul().children().length) {
- if ((ref = ins.settings.dnd.large_drop_target ? $(data.event.target).closest(".jstree-node").children(".jstree-anchor") : $(data.event.target).closest(".jstree-anchor")) && ref.length && ref.parent().is(".jstree-closed, .jstree-open, .jstree-leaf") && (off = ref.offset(), rel = data.event.pageY - off.top, h = ref.outerHeight(), o = rel < h / 3 ? ["b", "i", "a"] : rel > h - h / 3 ? ["a", "i", "b"] : rel > h / 2 ? ["i", "a", "b"] : ["i", "b", "a"], $.each(o, function(j, v) {
- switch (v) {
- case "b":
- l = off.left - 6, t = off.top, p = ins.get_parent(ref), i = ref.parent().index();
- break;
- case "i":
- ip = ins.settings.dnd.inside_pos, tm = ins.get_node(ref.parent()), l = off.left - 2, t = off.top + h / 2 + 1, p = tm.id, i = "first" === ip ? 0 : "last" === ip ? tm.children.length : Math.min(ip, tm.children.length);
- break;
- case "a":
- l = off.left - 6, t = off.top + h, p = ins.get_parent(ref), i = ref.parent().index() + 1
- }
- for (ok = !0, t1 = 0, t2 = data.data.nodes.length; t1 < t2; t1++)
- if (op = data.data.origin && (data.data.origin.settings.dnd.always_copy || data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ? "copy_node" : "move_node", ps = i, "move_node" === op && "a" === v && data.data.origin && data.data.origin === ins && p === ins.get_parent(data.data.nodes[t1]) && (pr = ins.get_node(p), ps > $.inArray(data.data.nodes[t1], pr.children) && (ps -= 1)), !(ok = ok && (ins && ins.settings && ins.settings.dnd && !1 === ins.settings.dnd.check_while_dragging || ins.check(op, data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1], p, ps, {
- dnd: !0,
- ref: ins.get_node(ref.parent()),
- pos: v,
- origin: data.data.origin,
- is_multi: data.data.origin && data.data.origin !== ins,
- is_foreign: !data.data.origin
- })))) {
- ins && ins.last_error && (laster = ins.last_error());
- break
- } if ("i" === v && ref.parent().is(".jstree-closed") && ins.settings.dnd.open_timeout && (opento = setTimeout(function(x, z) {
- return function() {
- x.open_node(z)
- }
- }(ins, ref), ins.settings.dnd.open_timeout)), ok) return lastmv = {
- ins: ins,
- par: p,
- pos: "i" !== v || "last" !== ip || 0 !== i || ins.is_loaded(tm) ? i : "last"
- }, marker.css({
- left: l + "px",
- top: t + "px"
- }).show(), data.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok"), laster = {}, o = !0, !1
- }), !0 === o)) return
- } else {
- for (ok = !0, t1 = 0, t2 = data.data.nodes.length; t1 < t2 && (ok = ok && ins.check(data.data.origin && (data.data.origin.settings.dnd.always_copy || data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ? "copy_node" : "move_node", data.data.origin && data.data.origin !== ins ? data.data.origin.get_node(data.data.nodes[t1]) : data.data.nodes[t1], "#", "last", {
- dnd: !0,
- ref: ins.get_node("#"),
- pos: "i",
- origin: data.data.origin,
- is_multi: data.data.origin && data.data.origin !== ins,
- is_foreign: !data.data.origin
- })); t1++);
- if (ok) return lastmv = {
- ins: ins,
- par: "#",
- pos: "last"
- }, marker.hide(), void data.helper.find(".jstree-icon").first().removeClass("jstree-er").addClass("jstree-ok")
- } lastmv = !1, data.helper.find(".jstree-icon").removeClass("jstree-ok").addClass("jstree-er"), marker.hide()
- }
- }).on("dnd_scroll.vakata.jstree", function(e, data) {
- data && data.data && data.data.jstree && (marker.hide(), lastmv = !1, data.helper.find(".jstree-icon").first().removeClass("jstree-ok").addClass("jstree-er"))
- }).on("dnd_stop.vakata.jstree", function(e, data) {
- if (opento && clearTimeout(opento), data && data.data && data.data.jstree) {
- marker.hide().detach();
- var i, j, nodes = [];
- if (lastmv) {
- for (i = 0, j = data.data.nodes.length; i < j; i++) nodes[i] = data.data.origin ? data.data.origin.get_node(data.data.nodes[i]) : data.data.nodes[i];
- lastmv.ins[data.data.origin && (data.data.origin.settings.dnd.always_copy || data.data.origin.settings.dnd.copy && (data.event.metaKey || data.event.ctrlKey)) ? "copy_node" : "move_node"](nodes, lastmv.par, lastmv.pos, !1, !1, !1, data.data.origin)
- } else i = $(data.event.target).closest(".jstree"), i.length && laster && laster.error && "check" === laster.error && (i = i.jstree(!0)) && i.settings.core.error.call(this, laster)
- }
- }).on("keyup.jstree keydown.jstree", function(e, data) {
- (data = $.vakata.dnd._get()) && data.data && data.data.jstree && data.helper.find(".jstree-copy").first()[data.data.origin && (data.data.origin.settings.dnd.always_copy || data.data.origin.settings.dnd.copy && (e.metaKey || e.ctrlKey)) ? "show" : "hide"]()
- })
- }),
- function($) {
- $.vakata.html = {
- div: $(""),
- escape: function(str) {
- return $.vakata.html.div.text(str).html()
- },
- strip: function(str) {
- return $.vakata.html.div.empty().append($.parseHTML(str)).text()
- }
- };
- var vakata_dnd = {
- element: !1,
- target: !1,
- is_down: !1,
- is_drag: !1,
- helper: !1,
- helper_w: 0,
- data: !1,
- init_x: 0,
- init_y: 0,
- scroll_l: 0,
- scroll_t: 0,
- scroll_e: !1,
- scroll_i: !1,
- is_touch: !1
- };
- $.vakata.dnd = {
- settings: {
- scroll_speed: 10,
- scroll_proximity: 20,
- helper_left: 5,
- helper_top: 10,
- threshold: 5,
- threshold_touch: 50
- },
- _trigger: function(event_name, e) {
- var data = $.vakata.dnd._get();
- data.event = e, $(document).triggerHandler("dnd_" + event_name + ".vakata", data)
- },
- _get: function() {
- return {
- data: vakata_dnd.data,
- element: vakata_dnd.element,
- helper: vakata_dnd.helper
- }
- },
- _clean: function() {
- vakata_dnd.helper && vakata_dnd.helper.remove(), vakata_dnd.scroll_i && (clearInterval(vakata_dnd.scroll_i), vakata_dnd.scroll_i = !1), vakata_dnd = {
- element: !1,
- target: !1,
- is_down: !1,
- is_drag: !1,
- helper: !1,
- helper_w: 0,
- data: !1,
- init_x: 0,
- init_y: 0,
- scroll_l: 0,
- scroll_t: 0,
- scroll_e: !1,
- scroll_i: !1,
- is_touch: !1
- }, $(document).off("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag), $(document).off("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop)
- },
- _scroll: function(init_only) {
- if (!vakata_dnd.scroll_e || !vakata_dnd.scroll_l && !vakata_dnd.scroll_t) return vakata_dnd.scroll_i && (clearInterval(vakata_dnd.scroll_i), vakata_dnd.scroll_i = !1), !1;
- if (!vakata_dnd.scroll_i) return vakata_dnd.scroll_i = setInterval($.vakata.dnd._scroll, 100), !1;
- if (!0 === init_only) return !1;
- var i = vakata_dnd.scroll_e.scrollTop(),
- j = vakata_dnd.scroll_e.scrollLeft();
- vakata_dnd.scroll_e.scrollTop(i + vakata_dnd.scroll_t * $.vakata.dnd.settings.scroll_speed), vakata_dnd.scroll_e.scrollLeft(j + vakata_dnd.scroll_l * $.vakata.dnd.settings.scroll_speed), i === vakata_dnd.scroll_e.scrollTop() && j === vakata_dnd.scroll_e.scrollLeft() || $.vakata.dnd._trigger("scroll", vakata_dnd.scroll_e)
- },
- start: function(e, data, html) {
- "touchstart" === e.type && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (e.pageX = e.originalEvent.changedTouches[0].pageX, e.pageY = e.originalEvent.changedTouches[0].pageY, e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset)), vakata_dnd.is_drag && $.vakata.dnd.stop({});
- try {
- e.currentTarget.unselectable = "on", e.currentTarget.onselectstart = function() {
- return !1
- }, e.currentTarget.style && (e.currentTarget.style.MozUserSelect = "none")
- } catch (ignore) {}
- return vakata_dnd.init_x = e.pageX, vakata_dnd.init_y = e.pageY, vakata_dnd.data = data, vakata_dnd.is_down = !0, vakata_dnd.element = e.currentTarget, vakata_dnd.target = e.target, vakata_dnd.is_touch = "touchstart" === e.type, !1 !== html && (vakata_dnd.helper = $("").html(html).css({
- display: "block",
- margin: "0",
- padding: "0",
- position: "absolute",
- top: "-2000px",
- lineHeight: "16px",
- zIndex: "10000"
- })), $(document).on("mousemove.vakata.jstree touchmove.vakata.jstree", $.vakata.dnd.drag), $(document).on("mouseup.vakata.jstree touchend.vakata.jstree", $.vakata.dnd.stop), !1
- },
- drag: function(e) {
- if ("touchmove" === e.type && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (e.pageX = e.originalEvent.changedTouches[0].pageX, e.pageY = e.originalEvent.changedTouches[0].pageY, e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset)), vakata_dnd.is_down) {
- if (!vakata_dnd.is_drag) {
- if (!(Math.abs(e.pageX - vakata_dnd.init_x) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold) || Math.abs(e.pageY - vakata_dnd.init_y) > (vakata_dnd.is_touch ? $.vakata.dnd.settings.threshold_touch : $.vakata.dnd.settings.threshold))) return;
- vakata_dnd.helper && (vakata_dnd.helper.appendTo("body"), vakata_dnd.helper_w = vakata_dnd.helper.outerWidth()), vakata_dnd.is_drag = !0, $.vakata.dnd._trigger("start", e)
- }
- var d = !1,
- w = !1,
- dh = !1,
- wh = !1,
- dw = !1,
- ww = !1,
- dt = !1,
- dl = !1,
- ht = !1,
- hl = !1;
- return vakata_dnd.scroll_t = 0, vakata_dnd.scroll_l = 0, vakata_dnd.scroll_e = !1, $($(e.target).parentsUntil("body").addBack().get().reverse()).filter(function() {
- return /^auto|scroll$/.test($(this).css("overflow")) && (this.scrollHeight > this.offsetHeight || this.scrollWidth > this.offsetWidth)
- }).each(function() {
- var t = $(this),
- o = t.offset();
- if (this.scrollHeight > this.offsetHeight && (o.top + t.height() - e.pageY < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_t = 1), e.pageY - o.top < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_t = -1)), this.scrollWidth > this.offsetWidth && (o.left + t.width() - e.pageX < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_l = 1), e.pageX - o.left < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_l = -1)), vakata_dnd.scroll_t || vakata_dnd.scroll_l) return vakata_dnd.scroll_e = $(this), !1
- }), vakata_dnd.scroll_e || (d = $(document), w = $(window), dh = d.height(), wh = w.height(), dw = d.width(), ww = w.width(), dt = d.scrollTop(), dl = d.scrollLeft(), dh > wh && e.pageY - dt < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_t = -1), dh > wh && wh - (e.pageY - dt) < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_t = 1), dw > ww && e.pageX - dl < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_l = -1), dw > ww && ww - (e.pageX - dl) < $.vakata.dnd.settings.scroll_proximity && (vakata_dnd.scroll_l = 1), (vakata_dnd.scroll_t || vakata_dnd.scroll_l) && (vakata_dnd.scroll_e = d)), vakata_dnd.scroll_e && $.vakata.dnd._scroll(!0), vakata_dnd.helper && (ht = parseInt(e.pageY + $.vakata.dnd.settings.helper_top, 10), hl = parseInt(e.pageX + $.vakata.dnd.settings.helper_left, 10), dh && ht + 25 > dh && (ht = dh - 50), dw && hl + vakata_dnd.helper_w > dw && (hl = dw - (vakata_dnd.helper_w + 2)), vakata_dnd.helper.css({
- left: hl + "px",
- top: ht + "px"
- })), $.vakata.dnd._trigger("move", e), !1
- }
- },
- stop: function(e) {
- if ("touchend" === e.type && e.originalEvent && e.originalEvent.changedTouches && e.originalEvent.changedTouches[0] && (e.pageX = e.originalEvent.changedTouches[0].pageX, e.pageY = e.originalEvent.changedTouches[0].pageY, e.target = document.elementFromPoint(e.originalEvent.changedTouches[0].pageX - window.pageXOffset, e.originalEvent.changedTouches[0].pageY - window.pageYOffset)), vakata_dnd.is_drag) $.vakata.dnd._trigger("stop", e);
- else if ("touchend" === e.type && e.target === vakata_dnd.target) {
- var to = setTimeout(function() {
- $(e.target).click()
- }, 100);
- $(e.target).one("click", function() {
- to && clearTimeout(to)
- })
- }
- return $.vakata.dnd._clean(), !1
- }
- }
- }($), $.jstree.defaults.massload = null, $.jstree.plugins.massload = function(options, parent) {
- this.init = function(el, options) {
- parent.init.call(this, el, options), this._data.massload = {}
- }, this._load_nodes = function(nodes, callback, is_callback) {
- var s = this.settings.massload;
- return is_callback && !$.isEmptyObject(this._data.massload) ? parent._load_nodes.call(this, nodes, callback, is_callback) : $.isFunction(s) ? s.call(this, nodes, $.proxy(function(data) {
- if (data)
- for (var i in data) data.hasOwnProperty(i) && (this._data.massload[i] = data[i]);
- parent._load_nodes.call(this, nodes, callback, is_callback)
- }, this)) : "object" == typeof s && s && s.url ? (s = $.extend(!0, {}, s), $.isFunction(s.url) && (s.url = s.url.call(this, nodes)), $.isFunction(s.data) && (s.data = s.data.call(this, nodes)), $.ajax(s).done($.proxy(function(data, t, x) {
- if (data)
- for (var i in data) data.hasOwnProperty(i) && (this._data.massload[i] = data[i]);
- parent._load_nodes.call(this, nodes, callback, is_callback)
- }, this)).fail($.proxy(function(f) {
- parent._load_nodes.call(this, nodes, callback, is_callback)
- }, this))) : parent._load_nodes.call(this, nodes, callback, is_callback)
- }, this._load_node = function(obj, callback) {
- var d = this._data.massload[obj.id];
- return d ? this["string" == typeof d ? "_append_html_data" : "_append_json_data"](obj, "string" == typeof d ? $($.parseHTML(d)).filter(function() {
- return 3 !== this.nodeType
- }) : d, function(status) {
- callback.call(this, status), delete this._data.massload[obj.id]
- }) : parent._load_node.call(this, obj, callback)
- }
- }, $.jstree.defaults.search = {
- ajax: !1,
- fuzzy: !1,
- case_sensitive: !1,
- show_only_matches: !1,
- show_only_matches_children: !1,
- close_opened_onclear: !0,
- search_leaves_only: !1,
- search_callback: !1
- }, $.jstree.plugins.search = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this), this._data.search.str = "", this._data.search.dom = $(), this._data.search.res = [], this._data.search.opn = [], this._data.search.som = !1, this._data.search.smc = !1, this.element.on("before_open.jstree", $.proxy(function(e, data) {
- var i, j, r = this._data.search.res,
- s = [],
- o = $();
- if (r && r.length && (this._data.search.dom = $(this.element[0].querySelectorAll("#" + $.map(r, function(v) {
- return -1 !== "0123456789".indexOf(v[0]) ? "\\3" + v[0] + " " + v.substr(1).replace($.jstree.idregex, "\\$&") : v.replace($.jstree.idregex, "\\$&")
- }).join(", #"))), this._data.search.dom.children(".jstree-anchor").addClass("jstree-search"), this._data.search.som && this._data.search.res.length)) {
- for (i = 0, j = r.length; i < j; i++) s = s.concat(this.get_node(r[i]).parents);
- s = $.vakata.array_remove_item($.vakata.array_unique(s), "#"), o = s.length ? $(this.element[0].querySelectorAll("#" + $.map(s, function(v) {
- return -1 !== "0123456789".indexOf(v[0]) ? "\\3" + v[0] + " " + v.substr(1).replace($.jstree.idregex, "\\$&") : v.replace($.jstree.idregex, "\\$&")
- }).join(", #"))) : $(), this.element.find(".jstree-node").hide().filter(".jstree-last").filter(function() {
- return this.nextSibling
- }).removeClass("jstree-last"), o = o.add(this._data.search.dom), this._data.search.smc && this._data.search.dom.children(".jstree-children").find(".jstree-node").show(), o.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function() {
- $(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")
- })
- }
- }, this)).on("search.jstree", $.proxy(function(e, data) {
- this._data.search.som && data.nodes.length && (this.element.find(".jstree-node").hide().filter(".jstree-last").filter(function() {
- return this.nextSibling
- }).removeClass("jstree-last"), this._data.search.smc && data.nodes.children(".jstree-children").find(".jstree-node").show(), data.nodes.parentsUntil(".jstree").addBack().show().filter(".jstree-children").each(function() {
- $(this).children(".jstree-node:visible").eq(-1).addClass("jstree-last")
- }))
- }, this)).on("clear_search.jstree", $.proxy(function(e, data) {
- this._data.search.som && data.nodes.length && this.element.find(".jstree-node").css("display", "").filter(".jstree-last").filter(function() {
- return this.nextSibling
- }).removeClass("jstree-last")
- }, this))
- }, this.search = function(str, skip_async, show_only_matches, inside, append, show_only_matches_children) {
- if (!1 === str || "" === $.trim(str.toString())) return this.clear_search();
- inside = this.get_node(inside), inside = inside && inside.id ? inside.id : null, str = str.toString();
- var s = this.settings.search,
- a = !!s.ajax && s.ajax,
- m = this._model.data,
- f = null,
- r = [],
- p = [];
- if (this._data.search.res.length && !append && this.clear_search(), show_only_matches === undefined && (show_only_matches = s.show_only_matches), show_only_matches_children === undefined && (show_only_matches_children = s.show_only_matches_children), !skip_async && !1 !== a) return $.isFunction(a) ? a.call(this, str, $.proxy(function(d) {
- d && d.d && (d = d.d), this._load_nodes($.isArray(d) ? $.vakata.array_unique(d) : [], function() {
- this.search(str, !0, show_only_matches, inside, append)
- }, !0)
- }, this), inside) : (a = $.extend({}, a), a.data || (a.data = {}), a.data.str = str, inside && (a.data.inside = inside), $.ajax(a).fail($.proxy(function() {
- this._data.core.last_error = {
- error: "ajax",
- plugin: "search",
- id: "search_01",
- reason: "Could not load search parents",
- data: JSON.stringify(a)
- }, this.settings.core.error.call(this, this._data.core.last_error)
- }, this)).done($.proxy(function(d) {
- d && d.d && (d = d.d), this._load_nodes($.isArray(d) ? $.vakata.array_unique(d) : [], function() {
- this.search(str, !0, show_only_matches, inside, append)
- }, !0)
- }, this)));
- append || (this._data.search.str = str, this._data.search.dom = $(), this._data.search.res = [], this._data.search.opn = [], this._data.search.som = show_only_matches, this._data.search.smc = show_only_matches_children), f = new $.vakata.search(str, !0, {
- caseSensitive: s.case_sensitive,
- fuzzy: s.fuzzy
- }), $.each(m[inside || "#"].children_d, function(ii, i) {
- var v = m[i];
- v.text && (s.search_callback && s.search_callback.call(this, str, v) || !s.search_callback && f.search(v.text).isMatch) && (!s.search_leaves_only || v.state.loaded && 0 === v.children.length) && (r.push(i), p = p.concat(v.parents))
- }), r.length && (p = $.vakata.array_unique(p), this._search_open(p), append ? (this._data.search.dom = this._data.search.dom.add($(this.element[0].querySelectorAll("#" + $.map(r, function(v) {
- return -1 !== "0123456789".indexOf(v[0]) ? "\\3" + v[0] + " " + v.substr(1).replace($.jstree.idregex, "\\$&") : v.replace($.jstree.idregex, "\\$&")
- }).join(", #")))), this._data.search.res = $.vakata.array_unique(this._data.search.res.concat(r))) : (this._data.search.dom = $(this.element[0].querySelectorAll("#" + $.map(r, function(v) {
- return -1 !== "0123456789".indexOf(v[0]) ? "\\3" + v[0] + " " + v.substr(1).replace($.jstree.idregex, "\\$&") : v.replace($.jstree.idregex, "\\$&")
- }).join(", #"))), this._data.search.res = r), this._data.search.dom.children(".jstree-anchor").addClass("jstree-search")), this.trigger("search", {
- nodes: this._data.search.dom,
- str: str,
- res: this._data.search.res,
- show_only_matches: show_only_matches
- })
- }, this.clear_search = function() {
- this._data.search.dom.children(".jstree-anchor").removeClass("jstree-search"), this.settings.search.close_opened_onclear && this.close_node(this._data.search.opn, 0), this.trigger("clear_search", {
- nodes: this._data.search.dom,
- str: this._data.search.str,
- res: this._data.search.res
- }), this._data.search.str = "", this._data.search.res = [], this._data.search.opn = [], this._data.search.dom = $()
- }, this._search_open = function(d) {
- var t = this;
- $.each(d.concat([]), function(i, v) {
- if ("#" === v) return !0;
- try {
- v = $("#" + v.replace($.jstree.idregex, "\\$&"), t.element)
- } catch (ignore) {}
- v && v.length && t.is_closed(v) && (t._data.search.opn.push(v[0].id), t.open_node(v, function() {
- t._search_open(d)
- }, 0))
- })
- }
- },
- function($) {
- $.vakata.search = function(pattern, txt, options) {
- options = options || {}, options = $.extend({}, $.vakata.search.defaults, options), !1 !== options.fuzzy && (options.fuzzy = !0), pattern = options.caseSensitive ? pattern : pattern.toLowerCase();
- var matchmask, pattern_alphabet, match_bitapScore, search, MATCH_LOCATION = options.location,
- MATCH_DISTANCE = options.distance,
- MATCH_THRESHOLD = options.threshold,
- patternLen = pattern.length;
- return patternLen > 32 && (options.fuzzy = !1), options.fuzzy && (matchmask = 1 << patternLen - 1, pattern_alphabet = function() {
- var mask = {},
- i = 0;
- for (i = 0; i < patternLen; i++) mask[pattern.charAt(i)] = 0;
- for (i = 0; i < patternLen; i++) mask[pattern.charAt(i)] |= 1 << patternLen - i - 1;
- return mask
- }(), match_bitapScore = function(e, x) {
- var accuracy = e / patternLen,
- proximity = Math.abs(MATCH_LOCATION - x);
- return MATCH_DISTANCE ? accuracy + proximity / MATCH_DISTANCE : proximity ? 1 : accuracy
- }), search = function(text) {
- if (text = options.caseSensitive ? text : text.toLowerCase(), pattern === text || -1 !== text.indexOf(pattern)) return {
- isMatch: !0,
- score: 0
- };
- if (!options.fuzzy) return {
- isMatch: !1,
- score: 1
- };
- var i, j, binMin, binMid, lastRd, start, finish, rd, charMatch, textLen = text.length,
- scoreThreshold = MATCH_THRESHOLD,
- bestLoc = text.indexOf(pattern, MATCH_LOCATION),
- binMax = patternLen + textLen,
- score = 1,
- locations = [];
- for (-1 !== bestLoc && (scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold), -1 !== (bestLoc = text.lastIndexOf(pattern, MATCH_LOCATION + patternLen)) && (scoreThreshold = Math.min(match_bitapScore(0, bestLoc), scoreThreshold))), bestLoc = -1, i = 0; i < patternLen; i++) {
- for (binMin = 0, binMid = binMax; binMin < binMid;) match_bitapScore(i, MATCH_LOCATION + binMid) <= scoreThreshold ? binMin = binMid : binMax = binMid, binMid = Math.floor((binMax - binMin) / 2 + binMin);
- for (binMax = binMid, start = Math.max(1, MATCH_LOCATION - binMid + 1), finish = Math.min(MATCH_LOCATION + binMid, textLen) + patternLen, rd = new Array(finish + 2), rd[finish + 1] = (1 << i) - 1, j = finish; j >= start; j--)
- if (charMatch = pattern_alphabet[text.charAt(j - 1)], rd[j] = 0 === i ? (rd[j + 1] << 1 | 1) & charMatch : (rd[j + 1] << 1 | 1) & charMatch | (lastRd[j + 1] | lastRd[j]) << 1 | 1 | lastRd[j + 1], rd[j] & matchmask && (score = match_bitapScore(i, j - 1)) <= scoreThreshold) {
- if (scoreThreshold = score, bestLoc = j - 1, locations.push(bestLoc), !(bestLoc > MATCH_LOCATION)) break;
- start = Math.max(1, 2 * MATCH_LOCATION - bestLoc)
- } if (match_bitapScore(i + 1, MATCH_LOCATION) > scoreThreshold) break;
- lastRd = rd
- }
- return {
- isMatch: bestLoc >= 0,
- score: score
- }
- }, !0 === txt ? {
- search: search
- } : search(txt)
- }, $.vakata.search.defaults = {
- location: 0,
- distance: 100,
- threshold: .6,
- fuzzy: !1,
- caseSensitive: !1
- }
- }($), $.jstree.defaults.sort = function(a, b) {
- return this.get_text(a) > this.get_text(b) ? 1 : -1
- }, $.jstree.plugins.sort = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this), this.element.on("model.jstree", $.proxy(function(e, data) {
- this.sort(data.parent, !0)
- }, this)).on("rename_node.jstree create_node.jstree", $.proxy(function(e, data) {
- this.sort(data.parent || data.node.parent, !1), this.redraw_node(data.parent || data.node.parent, !0)
- }, this)).on("move_node.jstree copy_node.jstree", $.proxy(function(e, data) {
- this.sort(data.parent, !1), this.redraw_node(data.parent, !0)
- }, this))
- }, this.sort = function(obj, deep) {
- var i, j;
- if ((obj = this.get_node(obj)) && obj.children && obj.children.length && (obj.children.sort($.proxy(this.settings.sort, this)), deep))
- for (i = 0, j = obj.children_d.length; i < j; i++) this.sort(obj.children_d[i], !1)
- }
- };
- var to = !1;
- $.jstree.defaults.state = {
- key: "jstree",
- events: "changed.jstree open_node.jstree close_node.jstree check_node.jstree uncheck_node.jstree",
- ttl: !1,
- filter: !1
- }, $.jstree.plugins.state = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this);
- var bind = $.proxy(function() {
- this.element.on(this.settings.state.events, $.proxy(function() {
- to && clearTimeout(to), to = setTimeout($.proxy(function() {
- this.save_state()
- }, this), 100)
- }, this)), this.trigger("state_ready")
- }, this);
- this.element.on("ready.jstree", $.proxy(function(e, data) {
- this.element.one("restore_state.jstree", bind), this.restore_state() || bind()
- }, this))
- }, this.save_state = function() {
- var st = {
- state: this.get_state(),
- ttl: this.settings.state.ttl,
- sec: +new Date
- };
- $.vakata.storage.set(this.settings.state.key, JSON.stringify(st))
- }, this.restore_state = function() {
- var k = $.vakata.storage.get(this.settings.state.key);
- if (k) try {
- k = JSON.parse(k)
- } catch (ex) {
- return !1
- }
- return !(k && k.ttl && k.sec && +new Date - k.sec > k.ttl) && (k && k.state && (k = k.state), k && $.isFunction(this.settings.state.filter) && (k = this.settings.state.filter.call(this, k)), !!k && (this.element.one("set_state.jstree", function(e, data) {
- data.instance.trigger("restore_state", {
- state: $.extend(!0, {}, k)
- })
- }), this.set_state(k), !0))
- }, this.clear_state = function() {
- return $.vakata.storage.del(this.settings.state.key)
- }
- },
- function($, undefined) {
- $.vakata.storage = {
- set: function(key, val) {
- return window.localStorage.setItem(key, val)
- },
- get: function(key) {
- return window.localStorage.getItem(key)
- },
- del: function(key) {
- return window.localStorage.removeItem(key)
- }
- }
- }($), $.jstree.defaults.types = {
- "#": {},
- default: {}
- }, $.jstree.plugins.types = function(options, parent) {
- this.init = function(el, options) {
- var i, j;
- if (options && options.types && options.types.default)
- for (i in options.types)
- if ("default" !== i && "#" !== i && options.types.hasOwnProperty(i))
- for (j in options.types.default) options.types.default.hasOwnProperty(j) && options.types[i][j] === undefined && (options.types[i][j] = options.types.default[j]);
- parent.init.call(this, el, options), this._model.data["#"].type = "#"
- }, this.refresh = function(skip_loading, forget_state) {
- parent.refresh.call(this, skip_loading, forget_state), this._model.data["#"].type = "#"
- }, this.bind = function() {
- this.element.on("model.jstree", $.proxy(function(e, data) {
- var i, j, m = this._model.data,
- dpc = data.nodes,
- t = this.settings.types,
- c = "default";
- for (i = 0, j = dpc.length; i < j; i++) c = "default", m[dpc[i]].original && m[dpc[i]].original.type && t[m[dpc[i]].original.type] && (c = m[dpc[i]].original.type), m[dpc[i]].data && m[dpc[i]].data.jstree && m[dpc[i]].data.jstree.type && t[m[dpc[i]].data.jstree.type] && (c = m[dpc[i]].data.jstree.type), m[dpc[i]].type = c, !0 === m[dpc[i]].icon && t[c].icon !== undefined && (m[dpc[i]].icon = t[c].icon);
- m["#"].type = "#"
- }, this)), parent.bind.call(this)
- }, this.get_json = function(obj, options, flat) {
- var i, j, m = this._model.data,
- opt = options ? $.extend(!0, {}, options, {
- no_id: !1
- }) : {},
- tmp = parent.get_json.call(this, obj, opt, flat);
- if (!1 === tmp) return !1;
- if ($.isArray(tmp))
- for (i = 0, j = tmp.length; i < j; i++) tmp[i].type = tmp[i].id && m[tmp[i].id] && m[tmp[i].id].type ? m[tmp[i].id].type : "default", options && options.no_id && (delete tmp[i].id, tmp[i].li_attr && tmp[i].li_attr.id && delete tmp[i].li_attr.id,
- tmp[i].a_attr && tmp[i].a_attr.id && delete tmp[i].a_attr.id);
- else tmp.type = tmp.id && m[tmp.id] && m[tmp.id].type ? m[tmp.id].type : "default", options && options.no_id && (tmp = this._delete_ids(tmp));
- return tmp
- }, this._delete_ids = function(tmp) {
- if ($.isArray(tmp)) {
- for (var i = 0, j = tmp.length; i < j; i++) tmp[i] = this._delete_ids(tmp[i]);
- return tmp
- }
- return delete tmp.id, tmp.li_attr && tmp.li_attr.id && delete tmp.li_attr.id, tmp.a_attr && tmp.a_attr.id && delete tmp.a_attr.id, tmp.children && $.isArray(tmp.children) && (tmp.children = this._delete_ids(tmp.children)), tmp
- }, this.check = function(chk, obj, par, pos, more) {
- if (!1 === parent.check.call(this, chk, obj, par, pos, more)) return !1;
- obj = obj && obj.id ? obj : this.get_node(obj), par = par && par.id ? par : this.get_node(par);
- var tmp, d, i, j, m = obj && obj.id ? more && more.origin ? more.origin : $.jstree.reference(obj.id) : null;
- switch (m = m && m._model && m._model.data ? m._model.data : null, chk) {
- case "create_node":
- case "move_node":
- case "copy_node":
- if ("move_node" !== chk || -1 === $.inArray(obj.id, par.children)) {
- if (tmp = this.get_rules(par), tmp.max_children !== undefined && -1 !== tmp.max_children && tmp.max_children === par.children.length) return this._data.core.last_error = {
- error: "check",
- plugin: "types",
- id: "types_01",
- reason: "max_children prevents function: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }, !1;
- if (tmp.valid_children !== undefined && -1 !== tmp.valid_children && -1 === $.inArray(obj.type || "default", tmp.valid_children)) return this._data.core.last_error = {
- error: "check",
- plugin: "types",
- id: "types_02",
- reason: "valid_children prevents function: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }, !1;
- if (m && obj.children_d && obj.parents) {
- for (d = 0, i = 0, j = obj.children_d.length; i < j; i++) d = Math.max(d, m[obj.children_d[i]].parents.length);
- d = d - obj.parents.length + 1
- }(d <= 0 || d === undefined) && (d = 1);
- do {
- if (tmp.max_depth !== undefined && -1 !== tmp.max_depth && tmp.max_depth < d) return this._data.core.last_error = {
- error: "check",
- plugin: "types",
- id: "types_03",
- reason: "max_depth prevents function: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }, !1;
- par = this.get_node(par.parent), tmp = this.get_rules(par), d++
- } while (par)
- }
- }
- return !0
- }, this.get_rules = function(obj) {
- if (!(obj = this.get_node(obj))) return !1;
- var tmp = this.get_type(obj, !0);
- return tmp.max_depth === undefined && (tmp.max_depth = -1), tmp.max_children === undefined && (tmp.max_children = -1), tmp.valid_children === undefined && (tmp.valid_children = -1), tmp
- }, this.get_type = function(obj, rules) {
- return !!(obj = this.get_node(obj)) && (rules ? $.extend({
- type: obj.type
- }, this.settings.types[obj.type]) : obj.type)
- }, this.set_type = function(obj, type) {
- var t, t1, t2, old_type, old_icon;
- if ($.isArray(obj)) {
- for (obj = obj.slice(), t1 = 0, t2 = obj.length; t1 < t2; t1++) this.set_type(obj[t1], type);
- return !0
- }
- return t = this.settings.types, obj = this.get_node(obj), !(!t[type] || !obj) && (old_type = obj.type, old_icon = this.get_icon(obj), obj.type = type, (!0 === old_icon || t[old_type] && t[old_type].icon !== undefined && old_icon === t[old_type].icon) && this.set_icon(obj, t[type].icon === undefined || t[type].icon), !0)
- }
- }, $.jstree.defaults.unique = {
- case_sensitive: !1,
- duplicate: function(name, counter) {
- return name + " (" + counter + ")"
- }
- }, $.jstree.plugins.unique = function(options, parent) {
- this.check = function(chk, obj, par, pos, more) {
- if (!1 === parent.check.call(this, chk, obj, par, pos, more)) return !1;
- if (obj = obj && obj.id ? obj : this.get_node(obj), !(par = par && par.id ? par : this.get_node(par)) || !par.children) return !0;
- var i, j, n = "rename_node" === chk ? pos : obj.text,
- c = [],
- s = this.settings.unique.case_sensitive,
- m = this._model.data;
- for (i = 0, j = par.children.length; i < j; i++) c.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase());
- switch (s || (n = n.toLowerCase()), chk) {
- case "delete_node":
- return !0;
- case "rename_node":
- return i = -1 === $.inArray(n, c) || obj.text && obj.text[s ? "toString" : "toLowerCase"]() === n, i || (this._data.core.last_error = {
- error: "check",
- plugin: "unique",
- id: "unique_01",
- reason: "Child with name " + n + " already exists. Preventing: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }), i;
- case "create_node":
- return i = -1 === $.inArray(n, c), i || (this._data.core.last_error = {
- error: "check",
- plugin: "unique",
- id: "unique_04",
- reason: "Child with name " + n + " already exists. Preventing: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }), i;
- case "copy_node":
- return i = -1 === $.inArray(n, c), i || (this._data.core.last_error = {
- error: "check",
- plugin: "unique",
- id: "unique_02",
- reason: "Child with name " + n + " already exists. Preventing: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }), i;
- case "move_node":
- return i = obj.parent === par.id && (!more || !more.is_multi) || -1 === $.inArray(n, c), i || (this._data.core.last_error = {
- error: "check",
- plugin: "unique",
- id: "unique_03",
- reason: "Child with name " + n + " already exists. Preventing: " + chk,
- data: JSON.stringify({
- chk: chk,
- pos: pos,
- obj: !(!obj || !obj.id) && obj.id,
- par: !(!par || !par.id) && par.id
- })
- }), i
- }
- return !0
- }, this.create_node = function(par, node, pos, callback, is_loaded) {
- if (!node || node.text === undefined) {
- if (null === par && (par = "#"), !(par = this.get_node(par))) return parent.create_node.call(this, par, node, pos, callback, is_loaded);
- if (pos = pos === undefined ? "last" : pos, !pos.toString().match(/^(before|after)$/) && !is_loaded && !this.is_loaded(par)) return parent.create_node.call(this, par, node, pos, callback, is_loaded);
- node || (node = {});
- var tmp, n, dpc, i, j, m = this._model.data,
- s = this.settings.unique.case_sensitive,
- cb = this.settings.unique.duplicate;
- for (n = tmp = this.get_string("New node"), dpc = [], i = 0, j = par.children.length; i < j; i++) dpc.push(s ? m[par.children[i]].text : m[par.children[i]].text.toLowerCase());
- for (i = 1; - 1 !== $.inArray(s ? n : n.toLowerCase(), dpc);) n = cb.call(this, tmp, ++i).toString();
- node.text = n
- }
- return parent.create_node.call(this, par, node, pos, callback, is_loaded)
- }
- };
- var div = document.createElement("DIV");
- if (div.setAttribute("unselectable", "on"), div.setAttribute("role", "presentation"), div.className = "jstree-wholerow", div.innerHTML = " ", $.jstree.plugins.wholerow = function(options, parent) {
- this.bind = function() {
- parent.bind.call(this), this.element.on("ready.jstree set_state.jstree", $.proxy(function() {
- this.hide_dots()
- }, this)).on("init.jstree loading.jstree ready.jstree", $.proxy(function() {
- this.get_container_ul().addClass("jstree-wholerow-ul")
- }, this)).on("deselect_all.jstree", $.proxy(function(e, data) {
- this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked")
- }, this)).on("changed.jstree", $.proxy(function(e, data) {
- this.element.find(".jstree-wholerow-clicked").removeClass("jstree-wholerow-clicked");
- var i, j, tmp = !1;
- for (i = 0, j = data.selected.length; i < j; i++)(tmp = this.get_node(data.selected[i], !0)) && tmp.length && tmp.children(".jstree-wholerow").addClass("jstree-wholerow-clicked")
- }, this)).on("open_node.jstree", $.proxy(function(e, data) {
- this.get_node(data.node, !0).find(".jstree-clicked").parent().children(".jstree-wholerow").addClass("jstree-wholerow-clicked")
- }, this)).on("hover_node.jstree dehover_node.jstree", $.proxy(function(e, data) {
- "hover_node" === e.type && this.is_disabled(data.node) || this.get_node(data.node, !0).children(".jstree-wholerow")["hover_node" === e.type ? "addClass" : "removeClass"]("jstree-wholerow-hovered")
- }, this)).on("contextmenu.jstree", ".jstree-wholerow", $.proxy(function(e) {
- e.preventDefault();
- var tmp = $.Event("contextmenu", {
- metaKey: e.metaKey,
- ctrlKey: e.ctrlKey,
- altKey: e.altKey,
- shiftKey: e.shiftKey,
- pageX: e.pageX,
- pageY: e.pageY
- });
- $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp)
- }, this)).on("click.jstree", ".jstree-wholerow", function(e) {
- e.stopImmediatePropagation();
- var tmp = $.Event("click", {
- metaKey: e.metaKey,
- ctrlKey: e.ctrlKey,
- altKey: e.altKey,
- shiftKey: e.shiftKey
- });
- $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus()
- }).on("click.jstree", ".jstree-leaf > .jstree-ocl", $.proxy(function(e) {
- e.stopImmediatePropagation();
- var tmp = $.Event("click", {
- metaKey: e.metaKey,
- ctrlKey: e.ctrlKey,
- altKey: e.altKey,
- shiftKey: e.shiftKey
- });
- $(e.currentTarget).closest(".jstree-node").children(".jstree-anchor").first().trigger(tmp).focus()
- }, this)).on("mouseover.jstree", ".jstree-wholerow, .jstree-icon", $.proxy(function(e) {
- return e.stopImmediatePropagation(), this.is_disabled(e.currentTarget) || this.hover_node(e.currentTarget), !1
- }, this)).on("mouseleave.jstree", ".jstree-node", $.proxy(function(e) {
- this.dehover_node(e.currentTarget)
- }, this))
- }, this.teardown = function() {
- this.settings.wholerow && this.element.find(".jstree-wholerow").remove(), parent.teardown.call(this)
- }, this.redraw_node = function(obj, deep, callback, force_render) {
- if (obj = parent.redraw_node.apply(this, arguments)) {
- var tmp = div.cloneNode(!0); - 1 !== $.inArray(obj.id, this._data.core.selected) && (tmp.className += " jstree-wholerow-clicked"), this._data.core.focused && this._data.core.focused === obj.id && (tmp.className += " jstree-wholerow-hovered"), obj.insertBefore(tmp, obj.childNodes[0])
- }
- return obj
- }
- }, document.registerElement && Object && Object.create) {
- var proto = Object.create(HTMLElement.prototype);
- proto.createdCallback = function() {
- var i, c = {
- core: {},
- plugins: []
- };
- for (i in $.jstree.plugins) $.jstree.plugins.hasOwnProperty(i) && this.attributes[i] && (c.plugins.push(i), this.getAttribute(i) && JSON.parse(this.getAttribute(i)) && (c[i] = JSON.parse(this.getAttribute(i))));
- for (i in $.jstree.defaults.core) $.jstree.defaults.core.hasOwnProperty(i) && this.attributes[i] && (c.core[i] = JSON.parse(this.getAttribute(i)) || this.getAttribute(i));
- $(this).jstree(c)
- };
- try {
- document.registerElement("vakata-jstree", {
- prototype: proto
- })
- } catch (ignore) {}
- }
- }
-});
\ No newline at end of file
diff --git a/src/thirdparty/jstree/themes/default/32px.png b/src/thirdparty/jstree/themes/default/32px.png
deleted file mode 100644
index f083720bc5..0000000000
Binary files a/src/thirdparty/jstree/themes/default/32px.png and /dev/null differ
diff --git a/src/thirdparty/jstree/themes/default/style.css b/src/thirdparty/jstree/themes/default/style.css
deleted file mode 100644
index 7c496756a0..0000000000
--- a/src/thirdparty/jstree/themes/default/style.css
+++ /dev/null
@@ -1,1003 +0,0 @@
-.jstree-anchor,
-.jstree-node {
- white-space: nowrap
-}
-
-.jstree-anchor:focus,
-.vakata-context li>a:focus {
- outline: 0
-}
-
-.jstree-children,
-.jstree-container-ul,
-.jstree-node {
- display: block;
- margin: 0;
- padding: 0;
- list-style-type: none;
- list-style-image: none
-}
-
-.jstree-anchor,
-.jstree-icon,
-.jstree-icon:empty {
- display: inline-block;
- margin: 0;
- vertical-align: top
-}
-
-.jstree-anchor {
- padding: 0 4px 0 1px
-}
-
-.jstree-anchor,
-.jstree-anchor:active,
-.jstree-anchor:hover,
-.jstree-anchor:link,
-.jstree-anchor:visited {
- text-decoration: none;
- color: inherit
-}
-
-.jstree-icon,
-.jstree-icon:empty {
- text-decoration: none;
- padding: 0;
- text-align: center
-}
-
-.jstree-ocl {
- cursor: pointer
-}
-
-.jstree-leaf>.jstree-ocl {
- cursor: default
-}
-
-.jstree .jstree-open>.jstree-children {
- display: block
-}
-
-.jstree .jstree-closed>.jstree-children,
-.jstree .jstree-leaf>.jstree-children,
-.jstree-anchor>.jstree-themeicon-hidden,
-.jstree-no-icons .jstree-themeicon {
- display: none
-}
-
-.jstree-anchor>.jstree-themeicon {
- margin-right: 2px
-}
-
-.jstree-rtl .jstree-anchor {
- padding: 0 1px 0 4px
-}
-
-.jstree-rtl .jstree-anchor>.jstree-themeicon {
- margin-left: 2px;
- margin-right: 0
-}
-
-.jstree-rtl .jstree-node {
- margin-left: 0
-}
-
-.jstree-rtl .jstree-container-ul>.jstree-node {
- margin-right: 0
-}
-
-.jstree-wholerow-ul {
- position: relative;
- display: inline-block;
- min-width: 100%
-}
-
-.jstree-wholerow-ul .jstree-leaf>.jstree-ocl {
- cursor: pointer
-}
-
-.jstree-wholerow-ul .jstree-anchor,
-.jstree-wholerow-ul .jstree-icon {
- position: relative
-}
-
-.jstree-wholerow-ul .jstree-wholerow {
- width: 100%;
- cursor: pointer;
- position: absolute;
- left: 0;
- -webkit-user-select: none;
- -moz-user-select: none;
- -ms-user-select: none;
- user-select: none
-}
-
-.vakata-context {
- display: none
-}
-
-.vakata-context,
-.vakata-context ul {
- margin: 0;
- padding: 2px;
- position: absolute;
- background: #f5f5f5;
- border: 1px solid #979797;
- -webkit-box-shadow: 2px 2px 2px #999;
- box-shadow: 2px 2px 2px #999
-}
-
-.vakata-context ul {
- list-style: none;
- left: 100%;
- margin-top: -2.7em;
- margin-left: -4px
-}
-
-.vakata-context .vakata-context-right ul {
- left: auto;
- right: 100%;
- margin-left: auto;
- margin-right: -4px
-}
-
-.vakata-context li {
- list-style: none;
- display: inline
-}
-
-.vakata-context li>a {
- display: block;
- padding: 0 2em;
- text-decoration: none;
- width: auto;
- color: #000;
- white-space: nowrap;
- line-height: 2.4em;
- -moz-text-shadow: 1px 1px 0 #fff;
- -webkit-text-shadow: 1px 1px 0 #fff;
- text-shadow: 1px 1px 0 #fff;
- -webkit-border-radius: 1px;
- border-radius: 1px
-}
-
-.vakata-context li>a>i,
-.vakata-context li>a>i:empty {
- width: 2.4em;
- line-height: 2.4em
-}
-
-.vakata-context li>a:hover {
- position: relative;
- background-color: #e8eff7;
- -webkit-box-shadow: 0 0 2px #0a6aa1;
- box-shadow: 0 0 2px #0a6aa1
-}
-
-.vakata-context li>a.vakata-context-parent {
- background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAIORI4JlrqN1oMSnmmZDQUAOw==);
- background-position: right center;
- background-repeat: no-repeat
-}
-
-.vakata-context .vakata-context-hover>a {
- position: relative;
- background-color: #e8eff7;
- -webkit-box-shadow: 0 0 2px #0a6aa1;
- box-shadow: 0 0 2px #0a6aa1
-}
-
-.vakata-context .vakata-context-separator>a,
-.vakata-context .vakata-context-separator>a:hover {
- background: #fff;
- border: 0;
- border-top: 1px solid #e2e3e3;
- height: 1px;
- min-height: 1px;
- max-height: 1px;
- padding: 0;
- margin: 0 0 0 2.4em;
- border-left: 1px solid #e0e0e0;
- -moz-text-shadow: 0 0 0 transparent;
- -webkit-text-shadow: 0 0 0 transparent;
- text-shadow: 0 0 0 transparent;
- -webkit-box-shadow: 0 0 0 transparent;
- box-shadow: 0 0 0 transparent;
- -webkit-border-radius: 0;
- border-radius: 0
-}
-
-.vakata-context .vakata-contextmenu-disabled a,
-.vakata-context .vakata-contextmenu-disabled a:hover {
- color: silver;
- background-color: transparent;
- border: 0;
- -webkit-box-shadow: 0 0 0;
- box-shadow: 0 0 0
-}
-
-.vakata-context li>a>i {
- text-decoration: none;
- display: inline-block;
- height: 2.4em;
- background: 0 0;
- margin: 0 0 0 -2em;
- vertical-align: top;
- text-align: center
-}
-
-.vakata-context li>a .vakata-contextmenu-sep {
- display: inline-block;
- width: 1px;
- height: 2.4em;
- background: #fff;
- margin: 0 .5em 0 0;
- border-left: 1px solid #e2e3e3
-}
-
-.vakata-context .vakata-contextmenu-shortcut {
- color: silver;
- opacity: .5;
- display: none
-}
-
-.vakata-context-rtl ul {
- left: auto;
- right: 100%;
- margin-left: auto;
- margin-right: -4px
-}
-
-.vakata-context-rtl li>a.vakata-context-parent {
- background-image: url(data:image/gif;base64,R0lGODlhCwAHAIAAACgoKP///yH5BAEAAAEALAAAAAALAAcAAAINjI+AC7rWHIsPtmoxLAA7);
- background-position: left center;
- background-repeat: no-repeat
-}
-
-.vakata-context-rtl .vakata-context-separator>a {
- margin: 0 2.4em 0 0;
- border-left: 0;
- border-right: 1px solid #e2e3e3
-}
-
-.vakata-context-rtl .vakata-context-left ul {
- right: auto;
- left: 100%;
- margin-left: -4px;
- margin-right: auto
-}
-
-.vakata-context-rtl li>a>i {
- margin: 0 -2em 0 0
-}
-
-.vakata-context-rtl li>a .vakata-contextmenu-sep {
- margin: 0 0 0 .5em;
- border-left-color: #fff;
- background: #e2e3e3
-}
-
-#jstree-marker {
- position: absolute;
- top: 0;
- left: 0;
- margin: -5px 0 0;
- padding: 0;
- border-right: 0;
- border-top: 5px solid transparent;
- border-bottom: 5px solid transparent;
- border-left: 5px solid;
- width: 0;
- height: 0;
- font-size: 0;
- line-height: 0
-}
-
-#jstree-dnd {
- line-height: 16px;
- margin: 0;
- padding: 4px
-}
-
-#jstree-dnd .jstree-copy,
-#jstree-dnd .jstree-icon {
- display: inline-block;
- text-decoration: none;
- margin: 0 2px 0 0;
- padding: 0;
- width: 16px;
- height: 16px
-}
-
-#jstree-dnd .jstree-ok {
- background: green
-}
-
-#jstree-dnd .jstree-er {
- background: red
-}
-
-#jstree-dnd .jstree-copy {
- margin: 0 2px
-}
-
-.jstree-default .jstree-icon,
-.jstree-default .jstree-node {
- background-repeat: no-repeat;
- background-color: transparent
-}
-
-.jstree-default .jstree-anchor,
-.jstree-default .jstree-wholerow {
- -webkit-transition: background-color .15s, -webkit-box-shadow .15s;
- -o-transition: background-color .15s, box-shadow .15s;
- transition: background-color .15s, box-shadow .15s
-}
-
-.jstree-default .jstree-hovered {
- background: #e7f4f9;
- -webkit-border-radius: 2px;
- border-radius: 2px;
- -webkit-box-shadow: inset 0 0 1px #ccc;
- box-shadow: inset 0 0 1px #ccc
-}
-
-.jstree-default .jstree-clicked {
- background: #beebff;
- -webkit-border-radius: 2px;
- border-radius: 2px;
- -webkit-box-shadow: inset 0 0 1px #999;
- box-shadow: inset 0 0 1px #999
-}
-
-.jstree-default .jstree-no-icons .jstree-anchor>.jstree-themeicon {
- display: none
-}
-
-.jstree-default .jstree-disabled {
- color: #666
-}
-
-.jstree-default .jstree-disabled.jstree-hovered {
- -webkit-box-shadow: none;
- box-shadow: none
-}
-
-.jstree-default .jstree-disabled>.jstree-icon {
- opacity: .8;
- filter: url("data:image/svg+xml;utf8,#jstree-grayscale");
- filter: gray;
- -webkit-filter: grayscale(100%)
-}
-
-.jstree-default .jstree-search {
- font-style: italic;
- color: #8b0000;
- font-weight: 700
-}
-
-.jstree-default .jstree-no-checkboxes .jstree-checkbox {
- display: none !important
-}
-
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked {
- background: 0 0;
- -webkit-box-shadow: none;
- box-shadow: none
-}
-
-.jstree-default.jstree-checkbox-no-clicked .jstree-clicked.jstree-hovered {
- background: #e7f4f9
-}
-
-.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked {
- background: 0 0
-}
-
-.jstree-default.jstree-checkbox-no-clicked>.jstree-wholerow-ul .jstree-wholerow-clicked.jstree-wholerow-hovered {
- background: #e7f4f9
-}
-
-.jstree-default>.jstree-striped {
- background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAkCAMAAAB/qqA+AAAABlBMVEUAAAAAAAClZ7nPAAAAAnRSTlMNAMM9s3UAAAAXSURBVHjajcEBAQAAAIKg/H/aCQZ70AUBjAATb6YPDgAAAABJRU5ErkJggg==) left top
-}
-
-.jstree-default>.jstree-wholerow-ul .jstree-clicked,
-.jstree-default>.jstree-wholerow-ul .jstree-hovered {
- background: 0 0;
- -webkit-box-shadow: none;
- box-shadow: none;
- -webkit-border-radius: 0;
- border-radius: 0
-}
-
-.jstree-default .jstree-wholerow {
- -webkit-box-sizing: border-box;
- box-sizing: border-box;
- height: 24px
-}
-
-.jstree-default .jstree-wholerow-hovered {
- background: #e7f4f9
-}
-
-.jstree-default .jstree-wholerow-clicked {
- background: #beebff;
- background: -webkit-gradient(linear, left top, left bottom, color-stop(0, #beebff), color-stop(100%, #a8e4ff));
- background: -webkit-linear-gradient(top, #beebff 0, #a8e4ff 100%);
- background: -o-linear-gradient(top, #beebff 0, #a8e4ff 100%);
- background: -webkit-gradient(linear, left top, left bottom, from(#beebff), to(#a8e4ff));
- background: linear-gradient(to bottom, #beebff 0, #a8e4ff 100%)
-}
-
-.jstree-default .jstree-node {
- min-height: 24px;
- line-height: 24px;
- margin-left: 24px;
- min-width: 24px;
- background-position: -292px -4px;
- background-repeat: repeat-y
-}
-
-.jstree-default .jstree-anchor {
- line-height: 24px;
- height: 24px
-}
-
-.jstree-default .jstree-icon,
-.jstree-default .jstree-icon:empty {
- width: 24px;
- height: 24px;
- line-height: 24px
-}
-
-.jstree-default .jstree-icon,
-.jstree-default .jstree-node {
- background-image: url(32px.png)
-}
-
-.jstree-default .jstree-last {
- background: 0 0
-}
-
-.jstree-default .jstree-open>.jstree-ocl {
- background-position: -132px -4px
-}
-
-.jstree-default .jstree-closed>.jstree-ocl {
- background-position: -100px -4px
-}
-
-.jstree-default .jstree-leaf>.jstree-ocl {
- background-position: -68px -4px
-}
-
-.jstree-default .jstree-themeicon {
- background-position: -260px -4px
-}
-
-.jstree-default>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -36px -4px
-}
-
-.jstree-default>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: -4px -4px
-}
-
-.jstree-default .jstree-disabled,
-.jstree-default .jstree-disabled.jstree-hovered {
- background: 0 0
-}
-
-.jstree-default .jstree-disabled.jstree-clicked {
- background: #efefef
-}
-
-.jstree-default .jstree-checkbox {
- background-position: -164px -4px
-}
-
-.jstree-default .jstree-checkbox:hover {
- background-position: -164px -36px
-}
-
-.jstree-default .jstree-checked>.jstree-checkbox,
-.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox {
- background-position: -228px -4px
-}
-
-.jstree-default .jstree-checked>.jstree-checkbox:hover,
-.jstree-default.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover {
- background-position: -228px -36px
-}
-
-.jstree-default .jstree-anchor>.jstree-undetermined {
- background-position: -196px -4px
-}
-
-.jstree-default .jstree-anchor>.jstree-undetermined:hover {
- background-position: -196px -36px
-}
-
-.jstree-default>.jstree-striped {
- -webkit-background-size: auto 48px;
- background-size: auto 48px
-}
-
-.jstree-default.jstree-rtl .jstree-node {
- margin-right: 24px;
- background-position: 100% 1px;
- background-repeat: repeat-y
-}
-
-.jstree-default.jstree-rtl .jstree-open>.jstree-ocl {
- background-position: -132px -36px
-}
-
-.jstree-default.jstree-rtl .jstree-closed>.jstree-ocl {
- background-position: -100px -36px
-}
-
-.jstree-default.jstree-rtl .jstree-leaf>.jstree-ocl {
- background-position: -68px -36px
-}
-
-.jstree-default.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default.jstree-rtl>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -36px -36px
-}
-
-.jstree-default.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: -4px -36px
-}
-
-.jstree-default .jstree-themeicon-custom {
- background-color: transparent;
- background-image: none;
- background-position: 0 0
-}
-
-.jstree-default>.jstree-container-ul .jstree-loading>.jstree-ocl {
- background: url(throbber.gif) center center no-repeat
-}
-
-.jstree-default .jstree-file {
- background: url(32px.png) -100px -68px no-repeat
-}
-
-.jstree-default .jstree-folder {
- background: url(32px.png) -260px -4px no-repeat
-}
-
-.jstree-default>.jstree-container-ul>.jstree-node {
- margin-left: 0;
- margin-right: 0
-}
-
-#jstree-dnd.jstree-default {
- line-height: 24px;
- padding: 0 4px
-}
-
-#jstree-dnd.jstree-default .jstree-er,
-#jstree-dnd.jstree-default .jstree-ok {
- background-image: url(32px.png);
- background-repeat: no-repeat;
- background-color: transparent
-}
-
-#jstree-dnd.jstree-default i {
- background: 0 0;
- width: 24px;
- height: 24px;
- line-height: 24px
-}
-
-#jstree-dnd.jstree-default .jstree-ok {
- background-position: -4px -68px
-}
-
-#jstree-dnd.jstree-default .jstree-er {
- background-position: -36px -68px
-}
-
-.jstree-default.jstree-rtl .jstree-node {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAACAQMAAAB49I5GAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMOBgAAGAAJMwQHdQAAAABJRU5ErkJggg==)
-}
-
-.jstree-default.jstree-rtl .jstree-last {
- background: 0 0
-}
-
-.jstree-default-small .jstree-node {
- min-height: 18px;
- line-height: 18px;
- margin-left: 18px;
- min-width: 18px;
- background-position: -295px -7px;
- background-repeat: repeat-y
-}
-
-.jstree-default-small .jstree-anchor {
- line-height: 18px;
- height: 18px
-}
-
-.jstree-default-small .jstree-icon,
-.jstree-default-small .jstree-icon:empty {
- width: 18px;
- height: 18px;
- line-height: 18px
-}
-
-.jstree-default-small .jstree-wholerow {
- height: 18px
-}
-
-.jstree-default-small .jstree-icon,
-.jstree-default-small .jstree-node {
- background-image: url(32px.png)
-}
-
-.jstree-default-small .jstree-last {
- background: 0 0
-}
-
-.jstree-default-small .jstree-open>.jstree-ocl {
- background-position: -135px -7px
-}
-
-.jstree-default-small .jstree-closed>.jstree-ocl {
- background-position: -103px -7px
-}
-
-.jstree-default-small .jstree-leaf>.jstree-ocl {
- background-position: -71px -7px
-}
-
-.jstree-default-small .jstree-themeicon {
- background-position: -263px -7px
-}
-
-.jstree-default-small>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default-small>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default-small>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -39px -7px
-}
-
-.jstree-default-small>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: -7px -7px
-}
-
-.jstree-default-small .jstree-disabled,
-.jstree-default-small .jstree-disabled.jstree-hovered {
- background: 0 0
-}
-
-.jstree-default-small .jstree-disabled.jstree-clicked {
- background: #efefef
-}
-
-.jstree-default-small .jstree-checkbox {
- background-position: -167px -7px
-}
-
-.jstree-default-small .jstree-checkbox:hover {
- background-position: -167px -39px
-}
-
-.jstree-default-small .jstree-checked>.jstree-checkbox,
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox {
- background-position: -231px -7px
-}
-
-.jstree-default-small .jstree-checked>.jstree-checkbox:hover,
-.jstree-default-small.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover {
- background-position: -231px -39px
-}
-
-.jstree-default-small .jstree-anchor>.jstree-undetermined {
- background-position: -199px -7px
-}
-
-.jstree-default-small .jstree-anchor>.jstree-undetermined:hover {
- background-position: -199px -39px
-}
-
-.jstree-default-small>.jstree-striped {
- -webkit-background-size: auto 36px;
- background-size: auto 36px
-}
-
-.jstree-default-small.jstree-rtl .jstree-node {
- margin-right: 18px;
- background-position: 100% 1px;
- background-repeat: repeat-y
-}
-
-.jstree-default-small.jstree-rtl .jstree-open>.jstree-ocl {
- background-position: -135px -39px
-}
-
-.jstree-default-small.jstree-rtl .jstree-closed>.jstree-ocl {
- background-position: -103px -39px
-}
-
-.jstree-default-small.jstree-rtl .jstree-leaf>.jstree-ocl {
- background-position: -71px -39px
-}
-
-.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -39px -39px
-}
-
-.jstree-default-small.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: -7px -39px
-}
-
-.jstree-default-small .jstree-themeicon-custom {
- background-color: transparent;
- background-image: none;
- background-position: 0 0
-}
-
-.jstree-default-small>.jstree-container-ul .jstree-loading>.jstree-ocl {
- background: url(throbber.gif) center center no-repeat
-}
-
-.jstree-default-small .jstree-file {
- background: url(32px.png) -103px -71px no-repeat
-}
-
-.jstree-default-small .jstree-folder {
- background: url(32px.png) -263px -7px no-repeat
-}
-
-.jstree-default-small>.jstree-container-ul>.jstree-node {
- margin-left: 0;
- margin-right: 0
-}
-
-#jstree-dnd.jstree-default-small {
- line-height: 18px;
- padding: 0 4px
-}
-
-#jstree-dnd.jstree-default-small .jstree-er,
-#jstree-dnd.jstree-default-small .jstree-ok {
- background-image: url(32px.png);
- background-repeat: no-repeat;
- background-color: transparent
-}
-
-#jstree-dnd.jstree-default-small i {
- background: 0 0;
- width: 18px;
- height: 18px;
- line-height: 18px
-}
-
-#jstree-dnd.jstree-default-small .jstree-ok {
- background-position: -7px -71px
-}
-
-#jstree-dnd.jstree-default-small .jstree-er {
- background-position: -39px -71px
-}
-
-.jstree-default-small.jstree-rtl .jstree-node {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAACAQMAAABv1h6PAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjAAMHBgAAiABBI4gz9AAAAABJRU5ErkJggg==)
-}
-
-.jstree-default-small.jstree-rtl .jstree-last {
- background: 0 0
-}
-
-.jstree-default-large .jstree-node {
- min-height: 32px;
- line-height: 32px;
- margin-left: 32px;
- min-width: 32px;
- background-position: -288px 0;
- background-repeat: repeat-y
-}
-
-.jstree-default-large .jstree-anchor {
- line-height: 32px;
- height: 32px
-}
-
-.jstree-default-large .jstree-icon,
-.jstree-default-large .jstree-icon:empty {
- width: 32px;
- height: 32px;
- line-height: 32px
-}
-
-.jstree-default-large .jstree-wholerow {
- height: 32px
-}
-
-.jstree-default-large .jstree-icon,
-.jstree-default-large .jstree-node {
- background-image: url(32px.png)
-}
-
-.jstree-default-large .jstree-last {
- background: 0 0
-}
-
-.jstree-default-large .jstree-open>.jstree-ocl {
- background-position: -128px 0
-}
-
-.jstree-default-large .jstree-closed>.jstree-ocl {
- background-position: -96px 0
-}
-
-.jstree-default-large .jstree-leaf>.jstree-ocl {
- background-position: -64px 0
-}
-
-.jstree-default-large .jstree-themeicon {
- background-position: -256px 0
-}
-
-.jstree-default-large>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default-large>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default-large>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -32px 0
-}
-
-.jstree-default-large>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: 0 0
-}
-
-.jstree-default-large .jstree-disabled,
-.jstree-default-large .jstree-disabled.jstree-hovered {
- background: 0 0
-}
-
-.jstree-default-large .jstree-disabled.jstree-clicked {
- background: #efefef
-}
-
-.jstree-default-large .jstree-checkbox {
- background-position: -160px 0
-}
-
-.jstree-default-large .jstree-checkbox:hover {
- background-position: -160px -32px
-}
-
-.jstree-default-large .jstree-checked>.jstree-checkbox,
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox {
- background-position: -224px 0
-}
-
-.jstree-default-large .jstree-checked>.jstree-checkbox:hover,
-.jstree-default-large.jstree-checkbox-selection .jstree-clicked>.jstree-checkbox:hover {
- background-position: -224px -32px
-}
-
-.jstree-default-large .jstree-anchor>.jstree-undetermined {
- background-position: -192px 0
-}
-
-.jstree-default-large .jstree-anchor>.jstree-undetermined:hover {
- background-position: -192px -32px
-}
-
-.jstree-default-large>.jstree-striped {
- -webkit-background-size: auto 64px;
- background-size: auto 64px
-}
-
-.jstree-default-large.jstree-rtl .jstree-node {
- margin-right: 32px;
- background-position: 100% 1px;
- background-repeat: repeat-y
-}
-
-.jstree-default-large.jstree-rtl .jstree-open>.jstree-ocl {
- background-position: -128px -32px
-}
-
-.jstree-default-large.jstree-rtl .jstree-closed>.jstree-ocl {
- background-position: -96px -32px
-}
-
-.jstree-default-large.jstree-rtl .jstree-leaf>.jstree-ocl {
- background-position: -64px -32px
-}
-
-.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-leaf>.jstree-ocl,
-.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-node {
- background: 0 0
-}
-
-.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-open>.jstree-ocl {
- background-position: -32px -32px
-}
-
-.jstree-default-large.jstree-rtl>.jstree-no-dots .jstree-closed>.jstree-ocl {
- background-position: 0 -32px
-}
-
-.jstree-default-large .jstree-themeicon-custom {
- background-color: transparent;
- background-image: none;
- background-position: 0 0
-}
-
-.jstree-default-large>.jstree-container-ul .jstree-loading>.jstree-ocl {
- background: url(throbber.gif) center center no-repeat
-}
-
-.jstree-default-large .jstree-file {
- background: url(32px.png) -96px -64px no-repeat
-}
-
-.jstree-default-large .jstree-folder {
- background: url(32px.png) -256px 0 no-repeat
-}
-
-.jstree-default-large>.jstree-container-ul>.jstree-node {
- margin-left: 0;
- margin-right: 0
-}
-
-#jstree-dnd.jstree-default-large {
- line-height: 32px;
- padding: 0 4px
-}
-
-#jstree-dnd.jstree-default-large .jstree-er,
-#jstree-dnd.jstree-default-large .jstree-ok {
- background-image: url(32px.png);
- background-repeat: no-repeat;
- background-color: transparent
-}
-
-#jstree-dnd.jstree-default-large i {
- background: 0 0;
- width: 32px;
- height: 32px;
- line-height: 32px
-}
-
-#jstree-dnd.jstree-default-large .jstree-ok {
- background-position: 0 -64px
-}
-
-#jstree-dnd.jstree-default-large .jstree-er {
- background-position: -32px -64px
-}
-
-.jstree-default-large.jstree-rtl .jstree-node {
- background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAACAQMAAAAD0EyKAAAABlBMVEUAAAAdHRvEkCwcAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjgIIGBgABCgCBvVLXcAAAAABJRU5ErkJggg==)
-}
-
-.jstree-default-large.jstree-rtl .jstree-last {
- background: 0 0
-}
\ No newline at end of file
diff --git a/src/thirdparty/jstree/themes/default/throbber.gif b/src/thirdparty/jstree/themes/default/throbber.gif
deleted file mode 100644
index 96ffbb1237..0000000000
Binary files a/src/thirdparty/jstree/themes/default/throbber.gif and /dev/null differ
diff --git a/webpack.config.js b/webpack.config.js
index 75f6b80d11..9fabd9bc9d 100644
--- a/webpack.config.js
+++ b/webpack.config.js
@@ -1,35 +1,44 @@
const path = require('path');
+const CopyPlugin = require('copy-webpack-plugin');
module.exports = {
- context: __dirname + '/src',
- entry: './scripts/site.js',
+ context: path.resolve(__dirname, 'src'),
+ entry: './bundle.js',
output: {
- filename: 'main.js',
- path: path.resolve(__dirname, 'dist')
+ filename: 'bundle.js',
+ path: path.resolve(__dirname, 'dist'),
+ libraryTarget: 'amd'
},
+ externals: [{
+ jquery: {
+ amd: "jQuery"
+ }
+ }],
+
resolve: {
modules: [
- path.resolve(__dirname, 'src/scripts'),
- path.resolve(__dirname, 'src/components'),
- path.resolve(__dirname, 'src/components/playback'),
- path.resolve(__dirname, 'src/components/emby-button'),
- path.resolve(__dirname, 'src/components/usersettings'),
- path.resolve(__dirname, 'src/components/images'),
- path.resolve(__dirname, 'src/bower_components'),
- path.resolve(__dirname, 'src/bower_components/apiclient'),
- path.resolve(__dirname, 'src/bower_components/apiclient/sync'),
- path.resolve(__dirname, 'src/components/cardbuilder'),
- 'node_modules'
+ path.resolve(__dirname, 'node_modules')
]
},
module: {
rules: [
{
- test: /\.css$/,
+ test: /\.css$/i,
use: ['style-loader', 'css-loader']
+ },
+ {
+ test: /\.(png|jpg|gif)$/i,
+ use: ['file-loader']
}
]
- }
-};
\ No newline at end of file
+ },
+
+ plugins: [
+ new CopyPlugin([{
+ from: '**/*',
+ to: '.'
+ }])
+ ]
+};
diff --git a/yarn.lock b/yarn.lock
index 11c3480efd..45af9485b8 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2,6 +2,22 @@
# yarn lockfile v1
+"@babel/code-frame@^7.0.0":
+ version "7.5.5"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
+ integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+ dependencies:
+ "@babel/highlight" "^7.0.0"
+
+"@babel/highlight@^7.0.0":
+ version "7.5.0"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
+ integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
+ dependencies:
+ chalk "^2.0.0"
+ esutils "^2.0.2"
+ js-tokens "^4.0.0"
+
"@webassemblyjs/ast@1.8.5":
version "1.8.5"
resolved "https://registry.yarnpkg.com/@webassemblyjs/ast/-/ast-1.8.5.tgz#51b1c5fe6576a34953bf4b253df9f0d490d9e359"
@@ -163,7 +179,12 @@ abbrev@1:
resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8"
integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==
-acorn@^6.2.1:
+acorn-jsx@^5.0.0:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.1.tgz#32a064fd925429216a09b141102bfdd185fae40e"
+ integrity sha512-HJ7CfNHrfJLlNTzIEUTj43LNWGkqpRLxm3YjAlcD0ACydk9XynzYsCBHxut+iqt+1aBXkx9UP/w/ZqMr13XIzg==
+
+acorn@^6.0.7, acorn@^6.2.1:
version "6.2.1"
resolved "https://registry.yarnpkg.com/acorn/-/acorn-6.2.1.tgz#3ed8422d6dec09e6121cc7a843ca86a330a86b51"
integrity sha512-JD0xT5FCRDNyjDda3Lrg/IxFscp9q4tiYtxE1/nOzlKCk7hIRuYjhq1kCNkbPjMRMZuFq20HNQn1I9k8Oj0E+Q==
@@ -178,7 +199,7 @@ ajv-keywords@^3.1.0, ajv-keywords@^3.4.1:
resolved "https://registry.yarnpkg.com/ajv-keywords/-/ajv-keywords-3.4.1.tgz#ef916e271c64ac12171fd8384eaae6b2345854da"
integrity sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==
-ajv@^6.1.0, ajv@^6.10.2:
+ajv@^6.1.0, ajv@^6.10.2, ajv@^6.9.1:
version "6.10.2"
resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
@@ -188,6 +209,16 @@ ajv@^6.1.0, ajv@^6.10.2:
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
+ansi-colors@^3.0.0:
+ version "3.2.4"
+ resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
+ integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+
+ansi-escapes@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
ansi-regex@^2.0.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
@@ -231,6 +262,13 @@ are-we-there-yet@~1.1.2:
delegates "^1.0.0"
readable-stream "^2.0.6"
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
arr-diff@^4.0.0:
version "4.0.0"
resolved "https://registry.yarnpkg.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
@@ -246,6 +284,18 @@ arr-union@^3.1.0:
resolved "https://registry.yarnpkg.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
integrity sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=
+array-union@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=
+
array-unique@^0.3.2:
version "0.3.2"
resolved "https://registry.yarnpkg.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
@@ -273,6 +323,11 @@ assign-symbols@^1.0.0:
resolved "https://registry.yarnpkg.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
integrity sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
async-each@^1.0.1:
version "1.0.3"
resolved "https://registry.yarnpkg.com/async-each/-/async-each-1.0.3.tgz#b727dbf87d7651602f06f4d4ac387f47d91b0cbf"
@@ -289,9 +344,9 @@ balanced-match@^1.0.0:
integrity sha1-ibTRmasr7kneFk6gK4nORi1xt2c=
base64-js@^1.0.2:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.0.tgz#cab1e6118f051095e58b5281aea8c1cd22bfc0e3"
- integrity sha512-ccav/yGvoa80BQDljCxsmmQ3Xvx60/UpBIij5QN21W3wBi/hhIC9OoO+KLpu9IJTS9j4DRVJ3aDDF9cMSoa2lw==
+ version "1.3.1"
+ resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.3.1.tgz#58ece8cb75dd07e71ed08c736abc5fac4dbf8df1"
+ integrity sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==
base@^0.11.1:
version "0.11.2"
@@ -438,6 +493,26 @@ builtin-status-codes@^3.0.0:
resolved "https://registry.yarnpkg.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
integrity sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=
+cacache@^11.3.3:
+ version "11.3.3"
+ resolved "https://registry.yarnpkg.com/cacache/-/cacache-11.3.3.tgz#8bd29df8c6a718a6ebd2d010da4d7972ae3bbadc"
+ integrity sha512-p8WcneCytvzPxhDvYp31PD039vi77I12W+/KfR9S8AZbaiARFBCpsPJS+9uhWfeBfeAtW7o/4vt3MUqLkbY6nA==
+ dependencies:
+ bluebird "^3.5.5"
+ chownr "^1.1.1"
+ figgy-pudding "^3.5.1"
+ glob "^7.1.4"
+ graceful-fs "^4.1.15"
+ lru-cache "^5.1.1"
+ mississippi "^3.0.0"
+ mkdirp "^0.5.1"
+ move-concurrently "^1.0.1"
+ promise-inflight "^1.0.1"
+ rimraf "^2.6.3"
+ ssri "^6.0.1"
+ unique-filename "^1.1.1"
+ y18n "^4.0.0"
+
cacache@^12.0.2:
version "12.0.2"
resolved "https://registry.yarnpkg.com/cacache/-/cacache-12.0.2.tgz#8db03205e36089a3df6954c66ce92541441ac46c"
@@ -474,12 +549,17 @@ cache-base@^1.0.1:
union-value "^1.0.0"
unset-value "^1.0.0"
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
camelcase@^5.0.0, camelcase@^5.2.0:
version "5.3.1"
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
-chalk@2.4.2, chalk@^2.4.2:
+chalk@2.4.2, chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
@@ -488,6 +568,11 @@ chalk@2.4.2, chalk@^2.4.2:
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
chokidar@^2.0.2:
version "2.1.6"
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.6.tgz#b6cad653a929e244ce8a834244164d241fa954c5"
@@ -537,6 +622,18 @@ class-utils@^0.3.5:
isobject "^3.0.0"
static-extend "^0.1.1"
+cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-width@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
+ integrity sha1-/xnt6Kml5XkyQUewwR8PvLq+1jk=
+
cliui@^5.0.0:
version "5.0.0"
resolved "https://registry.yarnpkg.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
@@ -601,16 +698,6 @@ concat-stream@^1.5.0:
readable-stream "^2.2.2"
typedarray "^0.0.6"
-connect@^3.6.6:
- version "3.7.0"
- resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8"
- integrity sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==
- dependencies:
- debug "2.6.9"
- finalhandler "1.1.2"
- parseurl "~1.3.3"
- utils-merge "1.0.1"
-
console-browserify@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/console-browserify/-/console-browserify-1.1.0.tgz#f0241c45730a9fc6323b206dbf38edc741d0bb10"
@@ -645,6 +732,24 @@ copy-descriptor@^0.1.0:
resolved "https://registry.yarnpkg.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
integrity sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=
+copy-webpack-plugin@^5.0.3:
+ version "5.0.4"
+ resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-5.0.4.tgz#c78126f604e24f194c6ec2f43a64e232b5d43655"
+ integrity sha512-YBuYGpSzoCHSSDGyHy6VJ7SHojKp6WHT4D7ItcQFNAYx2hrwkMe56e97xfVR0/ovDuMTrMffXUiltvQljtAGeg==
+ dependencies:
+ cacache "^11.3.3"
+ find-cache-dir "^2.1.0"
+ glob-parent "^3.1.0"
+ globby "^7.1.1"
+ is-glob "^4.0.1"
+ loader-utils "^1.2.3"
+ minimatch "^3.0.4"
+ normalize-path "^3.0.0"
+ p-limit "^2.2.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^1.7.0"
+ webpack-log "^2.0.0"
+
core-util-is@~1.0.0:
version "1.0.2"
resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
@@ -681,7 +786,7 @@ create-hmac@^1.1.0, create-hmac@^1.1.2, create-hmac@^1.1.4:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
-cross-spawn@6.0.5, cross-spawn@^6.0.0:
+cross-spawn@6.0.5, cross-spawn@^6.0.0, cross-spawn@^6.0.5:
version "6.0.5"
resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4"
integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==
@@ -741,7 +846,7 @@ date-now@^0.1.4:
resolved "https://registry.yarnpkg.com/date-now/-/date-now-0.1.4.tgz#eaf439fd4d4848ad74e5cc7dbef200672b9e345b"
integrity sha1-6vQ5/U1ISK105cx9vvIAZyueNFs=
-debug@2.6.9, debug@^2.2.0, debug@^2.3.3:
+debug@^2.2.0, debug@^2.3.3:
version "2.6.9"
resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
@@ -755,6 +860,13 @@ debug@^3.2.6:
dependencies:
ms "^2.1.1"
+debug@^4.0.1:
+ version "4.1.1"
+ resolved "https://registry.yarnpkg.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
decamelize@^1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
@@ -770,6 +882,11 @@ deep-extend@^0.6.0:
resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+deep-is@~0.1.3:
+ version "0.1.3"
+ resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.3.tgz#b369d6fb5dbc13eecf524f91b070feedc357cf34"
+ integrity sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=
+
define-property@^0.2.5:
version "0.2.5"
resolved "https://registry.yarnpkg.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
@@ -797,11 +914,6 @@ delegates@^1.0.0:
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
-depd@~1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
- integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
-
des.js@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/des.js/-/des.js-1.0.0.tgz#c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc"
@@ -810,11 +922,6 @@ des.js@^1.0.0:
inherits "^2.0.1"
minimalistic-assert "^1.0.0"
-destroy@~1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
- integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
-
detect-file@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
@@ -834,6 +941,20 @@ diffie-hellman@^5.0.0:
miller-rabin "^4.0.0"
randombytes "^2.0.0"
+dir-glob@^2.0.0:
+ version "2.2.2"
+ resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
+ integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==
+ dependencies:
+ path-type "^3.0.0"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
domain-browser@^1.1.1:
version "1.2.0"
resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
@@ -849,11 +970,6 @@ duplexify@^3.4.2, duplexify@^3.6.0:
readable-stream "^2.0.0"
stream-shift "^1.0.0"
-ee-first@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
- integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
-
elliptic@^6.0.0:
version "6.5.0"
resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.0.tgz#2b8ed4c891b7de3200e14412a5b8248c7af505ca"
@@ -877,11 +993,6 @@ emojis-list@^2.0.0:
resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
integrity sha1-TapNnbAPmBmIDHn6RXrlsJof04k=
-encodeurl@~1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
- integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
-
end-of-stream@^1.0.0, end-of-stream@^1.1.0:
version "1.4.1"
resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.1.tgz#ed29634d19baba463b6ce6b80a37213eab71ec43"
@@ -905,11 +1016,6 @@ errno@^0.1.3, errno@~0.1.7:
dependencies:
prr "~1.0.1"
-escape-html@~1.0.3:
- version "1.0.3"
- resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
- integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
-
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
@@ -923,6 +1029,81 @@ eslint-scope@^4.0.3:
esrecurse "^4.1.0"
estraverse "^4.1.1"
+eslint-utils@^1.3.1:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.0.tgz#e2c3c8dba768425f897cf0f9e51fe2e241485d4c"
+ integrity sha512-7ehnzPaP5IIEh1r1tkjuIrxqhNkzUJa9z3R92tLJdZIVdWaczEhr3EbhGtsMrVxi1KeR8qA7Off6SWc5WNQqyQ==
+ dependencies:
+ eslint-visitor-keys "^1.0.0"
+
+eslint-visitor-keys@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz#3f3180fb2e291017716acb4c9d6d5b5c34a6a81d"
+ integrity sha512-qzm/XxIbxm/FHyH341ZrbnMUpe+5Bocte9xkmFMzPMjRaZMcXww+MpBptFvtU+79L362nqiLhekCxCxDPaUMBQ==
+
+eslint@^5.16.0:
+ version "5.16.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-5.16.0.tgz#a1e3ac1aae4a3fbd8296fcf8f7ab7314cbb6abea"
+ integrity sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ ajv "^6.9.1"
+ chalk "^2.1.0"
+ cross-spawn "^6.0.5"
+ debug "^4.0.1"
+ doctrine "^3.0.0"
+ eslint-scope "^4.0.3"
+ eslint-utils "^1.3.1"
+ eslint-visitor-keys "^1.0.0"
+ espree "^5.0.1"
+ esquery "^1.0.1"
+ esutils "^2.0.2"
+ file-entry-cache "^5.0.1"
+ functional-red-black-tree "^1.0.1"
+ glob "^7.1.2"
+ globals "^11.7.0"
+ ignore "^4.0.6"
+ import-fresh "^3.0.0"
+ imurmurhash "^0.1.4"
+ inquirer "^6.2.2"
+ js-yaml "^3.13.0"
+ json-stable-stringify-without-jsonify "^1.0.1"
+ levn "^0.3.0"
+ lodash "^4.17.11"
+ minimatch "^3.0.4"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ optionator "^0.8.2"
+ path-is-inside "^1.0.2"
+ progress "^2.0.0"
+ regexpp "^2.0.1"
+ semver "^5.5.1"
+ strip-ansi "^4.0.0"
+ strip-json-comments "^2.0.1"
+ table "^5.2.3"
+ text-table "^0.2.0"
+
+espree@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
+ integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==
+ dependencies:
+ acorn "^6.0.7"
+ acorn-jsx "^5.0.0"
+ eslint-visitor-keys "^1.0.0"
+
+esprima@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
+ integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
+ dependencies:
+ estraverse "^4.0.0"
+
esrecurse@^4.1.0:
version "4.2.1"
resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.2.1.tgz#007a3b9fdbc2b3bb87e4879ea19c92fdbd3942cf"
@@ -930,15 +1111,15 @@ esrecurse@^4.1.0:
dependencies:
estraverse "^4.1.0"
-estraverse@^4.1.0, estraverse@^4.1.1:
+estraverse@^4.0.0, estraverse@^4.1.0, estraverse@^4.1.1:
version "4.2.0"
resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.2.0.tgz#0dee3fed31fcd469618ce7342099fc1afa0bdb13"
integrity sha1-De4/7TH81GlhjOc0IJn8GvoL2xM=
-etag@~1.8.1:
- version "1.8.1"
- resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
- integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
events@^3.0.0:
version "3.0.0"
@@ -1001,6 +1182,15 @@ extend-shallow@^3.0.0, extend-shallow@^3.0.2:
assign-symbols "^1.0.0"
is-extendable "^1.0.1"
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
extglob@^2.0.4:
version "2.0.4"
resolved "https://registry.yarnpkg.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
@@ -1025,11 +1215,30 @@ fast-json-stable-stringify@^2.0.0:
resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
+fast-levenshtein@~2.0.4:
+ version "2.0.6"
+ resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
figgy-pudding@^3.5.1:
version "3.5.1"
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.1.tgz#862470112901c727a0e495a80744bd5baa1d6790"
integrity sha512-vNKxJHTEKNThjfrdJwHc7brvM6eVevuO5nTj6ez8ZQ1qbXTvGthucRF7S4vf2cr71QVnT70V34v0S1DyQsti0w==
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ dependencies:
+ flat-cache "^2.0.1"
+
file-loader@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa"
@@ -1048,19 +1257,6 @@ fill-range@^4.0.0:
repeat-string "^1.6.1"
to-regex-range "^2.1.0"
-finalhandler@1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
- integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
- dependencies:
- debug "2.6.9"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- on-finished "~2.3.0"
- parseurl "~1.3.3"
- statuses "~1.5.0"
- unpipe "~1.0.0"
-
find-cache-dir@^2.1.0:
version "2.1.0"
resolved "https://registry.yarnpkg.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
@@ -1087,6 +1283,20 @@ findup-sync@3.0.0:
micromatch "^3.0.4"
resolve-dir "^1.0.1"
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flatted@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/flatted/-/flatted-2.0.1.tgz#69e57caa8f0eacbc281d2e2cb458d46fdb449e08"
+ integrity sha512-a1hQMktqW9Nmqr5aktAux3JMNqaucxGcjtjWnZLHX7yyPCmlSV3M54nGYbqT8K+0GhF3NBgmJCc3ma+WOgX8Jg==
+
flush-write-stream@^1.0.0:
version "1.1.1"
resolved "https://registry.yarnpkg.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
@@ -1107,11 +1317,6 @@ fragment-cache@^0.2.1:
dependencies:
map-cache "^0.2.2"
-fresh@0.5.2:
- version "0.5.2"
- resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
- integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
-
from2@^2.1.0:
version "2.3.0"
resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
@@ -1150,6 +1355,11 @@ fsevents@^1.2.7:
nan "^2.12.1"
node-pre-gyp "^0.12.0"
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
gauge@~2.7.3:
version "2.7.4"
resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
@@ -1189,7 +1399,7 @@ glob-parent@^3.1.0:
is-glob "^3.1.0"
path-dirname "^1.0.0"
-glob@^7.1.3, glob@^7.1.4:
+glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
version "7.1.4"
resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
@@ -1237,10 +1447,27 @@ global-prefix@^3.0.0:
kind-of "^6.0.2"
which "^1.3.1"
+globals@^11.7.0:
+ version "11.12.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globby@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
+ integrity sha1-+yzP+UAfhgCUXfral0QMypcrhoA=
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "^2.0.0"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2:
- version "4.2.0"
- resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.0.tgz#8d8fdc73977cb04104721cb53666c1ca64cd328b"
- integrity sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d"
+ integrity sha512-b9usnbDGnD928gJB3LrCmxoibr3VE4U2SMo5PBuBnokWyDADTqDPXg4YpwKF1trpH+UbGp7QLicO3+aWEy0+mw==
has-flag@^3.0.0:
version "3.0.0"
@@ -1315,28 +1542,12 @@ homedir-polyfill@^1.0.1:
dependencies:
parse-passwd "^1.0.0"
-howler@^2.1.1:
- version "2.1.2"
- resolved "https://registry.yarnpkg.com/howler/-/howler-2.1.2.tgz#8433a09d8fe84132a3e726e05cb2bd352ef8bd49"
- integrity sha512-oKrTFaVXsDRoB/jik7cEpWKTj7VieoiuzMYJ7E/EU5ayvmpRhumCv3YQ3823zi9VTJkSWAhbryHnlZAionGAJg==
-
-http-errors@~1.7.2:
- version "1.7.3"
- resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
- integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
- dependencies:
- depd "~1.1.2"
- inherits "2.0.4"
- setprototypeof "1.1.1"
- statuses ">= 1.5.0 < 2"
- toidentifier "1.0.0"
-
https-browserify@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
integrity sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=
-iconv-lite@^0.4.4:
+iconv-lite@^0.4.24, iconv-lite@^0.4.4:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
@@ -1372,6 +1583,24 @@ ignore-walk@^3.0.1:
dependencies:
minimatch "^3.0.4"
+ignore@^3.3.5:
+ version "3.3.10"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+
+ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+import-fresh@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
+ integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
import-local@2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
@@ -1403,7 +1632,7 @@ inflight@^1.0.4:
once "^1.3.0"
wrappy "1"
-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
+inherits@2, inherits@^2.0.1, inherits@^2.0.3, inherits@~2.0.1, inherits@~2.0.3:
version "2.0.4"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
@@ -1423,6 +1652,25 @@ ini@^1.3.4, ini@^1.3.5, ini@~1.3.0:
resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.5.tgz#eee25f56db1c9ec6085e0c22778083f596abf927"
integrity sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==
+inquirer@^6.2.2:
+ version "6.5.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.0.tgz#2303317efc9a4ea7ec2e2df6f86569b734accf42"
+ integrity sha512-scfHejeG/lVZSpvCXpsB4j/wQNPM5JC8kiElOI0OUTwmc1RTpXr4H32/HOlQHcZiYl2z2VElwuCVDRG8vFmbnA==
+ dependencies:
+ ansi-escapes "^3.2.0"
+ chalk "^2.4.2"
+ cli-cursor "^2.1.0"
+ cli-width "^2.0.0"
+ external-editor "^3.0.3"
+ figures "^2.0.0"
+ lodash "^4.17.12"
+ mute-stream "0.0.7"
+ run-async "^2.2.0"
+ rxjs "^6.4.0"
+ string-width "^2.1.0"
+ strip-ansi "^5.1.0"
+ through "^2.3.6"
+
interpret@1.2.0:
version "1.2.0"
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.2.0.tgz#d5061a6224be58e8083985f5014d844359576296"
@@ -1527,7 +1775,7 @@ is-glob@^3.1.0:
dependencies:
is-extglob "^2.1.0"
-is-glob@^4.0.0:
+is-glob@^4.0.0, is-glob@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
integrity sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==
@@ -1548,6 +1796,11 @@ is-plain-object@^2.0.3, is-plain-object@^2.0.4:
dependencies:
isobject "^3.0.1"
+is-promise@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa"
+ integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=
+
is-stream@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
@@ -1590,6 +1843,19 @@ jquery@>=1.9.1:
resolved "https://registry.yarnpkg.com/jquery/-/jquery-3.4.1.tgz#714f1f8d9dde4bdfa55764ba37ef214630d80ef2"
integrity sha512-36+AdBzCL+y6qjw5Tx7HgzeGCzC81MDDgaUP8ld2zhx58HdqXGoBd+tHdrBMiyjGQs0Hxs/MLZTu/eHNJJuWPw==
+js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.0:
+ version "3.13.1"
+ resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.13.1.tgz#aff151b30bfdfa8e49e05da22e7415e9dfa37847"
+ integrity sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
json-parse-better-errors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
@@ -1600,6 +1866,11 @@ json-schema-traverse@^0.4.1:
resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
json5@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/json5/-/json5-1.0.1.tgz#779fb0018604fa854eacbf6252180d83543e3dbe"
@@ -1645,6 +1916,14 @@ lcid@^2.0.0:
dependencies:
invert-kv "^2.0.0"
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
loader-runner@^2.4.0:
version "2.4.0"
resolved "https://registry.yarnpkg.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
@@ -1667,6 +1946,11 @@ locate-path@^3.0.0:
p-locate "^3.0.0"
path-exists "^3.0.0"
+lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14:
+ version "4.17.15"
+ resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
+ integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
+
lru-cache@^5.1.1:
version "5.1.1"
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
@@ -1759,10 +2043,10 @@ miller-rabin@^4.0.0:
bn.js "^4.0.0"
brorand "^1.0.1"
-mime@1.6.0:
- version "1.6.0"
- resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
- integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
mimic-fn@^2.0.0:
version "2.1.0"
@@ -1859,16 +2143,16 @@ ms@2.0.0:
resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
-ms@2.1.1:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
- integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
ms@^2.1.1:
version "2.1.2"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+
nan@^2.12.1:
version "2.14.0"
resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.0.tgz#7818f722027b2459a86f0295d434d1fc2336c52c"
@@ -1891,6 +2175,11 @@ nanomatch@^1.2.9:
snapdragon "^0.8.1"
to-regex "^3.0.1"
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
needle@^2.2.1:
version "2.4.0"
resolved "https://registry.yarnpkg.com/needle/-/needle-2.4.0.tgz#6833e74975c444642590e15a750288c5f939b57c"
@@ -2038,13 +2327,6 @@ object.pick@^1.3.0:
dependencies:
isobject "^3.0.1"
-on-finished@~2.3.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
- integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
- dependencies:
- ee-first "1.1.1"
-
once@^1.3.0, once@^1.3.1, once@^1.4.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -2052,6 +2334,25 @@ once@^1.3.0, once@^1.3.1, once@^1.4.0:
dependencies:
wrappy "1"
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+ dependencies:
+ mimic-fn "^1.0.0"
+
+optionator@^0.8.2:
+ version "0.8.2"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
+ integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
+ dependencies:
+ deep-is "~0.1.3"
+ fast-levenshtein "~2.0.4"
+ levn "~0.3.0"
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+ wordwrap "~1.0.0"
+
os-browserify@^0.3.0:
version "0.3.0"
resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
@@ -2071,7 +2372,7 @@ os-locale@^3.1.0:
lcid "^2.0.0"
mem "^4.0.0"
-os-tmpdir@^1.0.0:
+os-tmpdir@^1.0.0, os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
integrity sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=
@@ -2099,7 +2400,7 @@ p-is-promise@^2.0.0:
resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
-p-limit@^2.0.0:
+p-limit@^2.0.0, p-limit@^2.2.0:
version "2.2.0"
resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.2.0.tgz#417c9941e6027a9abcba5092dd2904e255b5fbc2"
integrity sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==
@@ -2132,6 +2433,13 @@ parallel-transform@^1.1.0:
inherits "^2.0.3"
readable-stream "^2.1.5"
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
parse-asn1@^5.0.0:
version "5.1.4"
resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.4.tgz#37f6628f823fbdeb2273b4d540434a22f3ef1fcc"
@@ -2149,11 +2457,6 @@ parse-passwd@^1.0.0:
resolved "https://registry.yarnpkg.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
integrity sha1-bVuTSkVpk7I9N/QKOC1vFmao5cY=
-parseurl@~1.3.3:
- version "1.3.3"
- resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
- integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
-
pascalcase@^0.1.1:
version "0.1.1"
resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
@@ -2179,11 +2482,23 @@ path-is-absolute@^1.0.0:
resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=
+
path-key@^2.0.0, path-key@^2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
integrity sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+ dependencies:
+ pify "^3.0.0"
+
pbkdf2@^3.0.3:
version "3.0.17"
resolved "https://registry.yarnpkg.com/pbkdf2/-/pbkdf2-3.0.17.tgz#976c206530617b14ebb32114239f7b09336e93a6"
@@ -2195,6 +2510,11 @@ pbkdf2@^3.0.3:
safe-buffer "^5.0.1"
sha.js "^2.4.8"
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=
+
pify@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
@@ -2267,6 +2587,11 @@ postcss@^7.0.14, postcss@^7.0.5, postcss@^7.0.6:
source-map "^0.6.1"
supports-color "^6.1.0"
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
process-nextick-args@~2.0.0:
version "2.0.1"
resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
@@ -2277,6 +2602,11 @@ process@^0.11.10:
resolved "https://registry.yarnpkg.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
integrity sha1-czIwDoQBYb2j5podHZGn1LwW8YI=
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
promise-inflight@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
@@ -2364,11 +2694,6 @@ randomfill@^1.0.3:
randombytes "^2.0.5"
safe-buffer "^5.1.0"
-range-parser@~1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
- integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
-
rc@^1.2.7:
version "1.2.8"
resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
@@ -2409,6 +2734,11 @@ regex-not@^1.0.0, regex-not@^1.0.2:
extend-shallow "^3.0.2"
safe-regex "^1.1.0"
+regexpp@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
+ integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+
remove-trailing-separator@^1.0.1:
version "1.1.0"
resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
@@ -2454,17 +2784,30 @@ resolve-from@^3.0.0:
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
integrity sha1-six699nWiBvItuZTM17rywoYh0g=
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
resolve-url@^0.2.1:
version "0.2.1"
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
ret@~0.1.10:
version "0.1.15"
resolved "https://registry.yarnpkg.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
-rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
+rimraf@2.6.3, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3:
version "2.6.3"
resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
@@ -2479,6 +2822,13 @@ ripemd160@^2.0.0, ripemd160@^2.0.1:
hash-base "^3.0.0"
inherits "^2.0.1"
+run-async@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
+ integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
+ dependencies:
+ is-promise "^2.1.0"
+
run-queue@^1.0.0, run-queue@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
@@ -2486,6 +2836,13 @@ run-queue@^1.0.0, run-queue@^1.0.3:
dependencies:
aproba "^1.1.1"
+rxjs@^6.4.0:
+ version "6.5.2"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
+ integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
+ dependencies:
+ tslib "^1.9.0"
+
safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2:
version "5.2.0"
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519"
@@ -2522,45 +2879,16 @@ schema-utils@^1.0.0:
ajv-errors "^1.0.0"
ajv-keywords "^3.1.0"
-semver@^5.3.0, semver@^5.5.0, semver@^5.6.0:
+semver@^5.3.0, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
version "5.7.0"
resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b"
integrity sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==
-send@0.17.1:
- version "0.17.1"
- resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
- integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
- dependencies:
- debug "2.6.9"
- depd "~1.1.2"
- destroy "~1.0.4"
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- etag "~1.8.1"
- fresh "0.5.2"
- http-errors "~1.7.2"
- mime "1.6.0"
- ms "2.1.1"
- on-finished "~2.3.0"
- range-parser "~1.2.1"
- statuses "~1.5.0"
-
serialize-javascript@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/serialize-javascript/-/serialize-javascript-1.7.0.tgz#d6e0dfb2a3832a8c94468e6eb1db97e55a192a65"
integrity sha512-ke8UG8ulpFOxO8f8gRYabHQe/ZntKlcig2Mp+8+URDP1D8vJZ0KUt7LYo07q25Z/+JVSgpr/cui9PIp5H6/+nA==
-serve-static@^1.13.2:
- version "1.14.1"
- resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
- integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
- dependencies:
- encodeurl "~1.0.2"
- escape-html "~1.0.3"
- parseurl "~1.3.3"
- send "0.17.1"
-
set-blocking@^2.0.0, set-blocking@~2.0.0:
version "2.0.0"
resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
@@ -2581,11 +2909,6 @@ setimmediate@^1.0.4:
resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=
-setprototypeof@1.1.1:
- version "1.1.1"
- resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
- integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-
sha.js@^2.4.0, sha.js@^2.4.8:
version "2.4.11"
resolved "https://registry.yarnpkg.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
@@ -2606,11 +2929,25 @@ shebang-regex@^1.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
integrity sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=
-signal-exit@^3.0.0:
+signal-exit@^3.0.0, signal-exit@^3.0.2:
version "3.0.2"
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.2.tgz#b5fdc08f1287ea1178628e415e25132b73646c6d"
integrity sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=
+
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
snapdragon-node@^2.0.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
@@ -2687,6 +3024,11 @@ split-string@^3.0.1, split-string@^3.0.2:
dependencies:
extend-shallow "^3.0.0"
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
ssri@^6.0.1:
version "6.0.1"
resolved "https://registry.yarnpkg.com/ssri/-/ssri-6.0.1.tgz#2a3c41b28dd45b62b63676ecb74001265ae9edd8"
@@ -2702,11 +3044,6 @@ static-extend@^0.1.1:
define-property "^0.2.5"
object-copy "^0.1.0"
-"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
- version "1.5.0"
- resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
- integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
-
stream-browserify@^2.0.1:
version "2.0.2"
resolved "https://registry.yarnpkg.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
@@ -2748,7 +3085,7 @@ string-width@^1.0.1:
is-fullwidth-code-point "^1.0.0"
strip-ansi "^3.0.0"
-"string-width@^1.0.2 || 2":
+"string-width@^1.0.2 || 2", string-width@^2.1.0:
version "2.1.1"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
@@ -2805,7 +3142,7 @@ strip-eof@^1.0.0:
resolved "https://registry.yarnpkg.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
integrity sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=
-strip-json-comments@~2.0.1:
+strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
version "2.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
@@ -2832,6 +3169,16 @@ supports-color@^5.3.0:
dependencies:
has-flag "^3.0.0"
+table@^5.2.3:
+ version "5.4.5"
+ resolved "https://registry.yarnpkg.com/table/-/table-5.4.5.tgz#c8f4ea2d8fee08c0027fac27b0ec0a4fe01dfa42"
+ integrity sha512-oGa2Hl7CQjfoaogtrOHEJroOcYILTx7BZWLGsJIlzoWmB2zmguhNfPJZsWPKYek/MgCxfco54gEi31d1uN2hFA==
+ dependencies:
+ ajv "^6.10.2"
+ lodash "^4.17.14"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
tapable@^1.0.0, tapable@^1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
@@ -2874,6 +3221,11 @@ terser@^4.1.2:
source-map "~0.6.1"
source-map-support "~0.5.12"
+text-table@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
through2@^2.0.0:
version "2.0.5"
resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
@@ -2882,6 +3234,11 @@ through2@^2.0.0:
readable-stream "~2.3.6"
xtend "~4.0.1"
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
timers-browserify@^2.0.4:
version "2.0.10"
resolved "https://registry.yarnpkg.com/timers-browserify/-/timers-browserify-2.0.10.tgz#1d28e3d2aadf1d5a5996c4e9f95601cd053480ae"
@@ -2889,6 +3246,13 @@ timers-browserify@^2.0.4:
dependencies:
setimmediate "^1.0.4"
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
to-arraybuffer@^1.0.0:
version "1.0.1"
resolved "https://registry.yarnpkg.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
@@ -2919,11 +3283,6 @@ to-regex@^3.0.1, to-regex@^3.0.2:
regex-not "^1.0.2"
safe-regex "^1.1.0"
-toidentifier@1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
- integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-
tslib@^1.9.0:
version "1.10.0"
resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
@@ -2934,6 +3293,13 @@ tty-browserify@0.0.0:
resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
integrity sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+ dependencies:
+ prelude-ls "~1.1.2"
+
typedarray@^0.0.6:
version "0.0.6"
resolved "https://registry.yarnpkg.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
@@ -2968,11 +3334,6 @@ unique-slug@^2.0.0:
dependencies:
imurmurhash "^0.1.4"
-unpipe@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
- integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
-
unset-value@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
@@ -3030,10 +3391,10 @@ util@^0.11.0:
dependencies:
inherits "2.0.3"
-utils-merge@1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
- integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+uuid@^3.3.2:
+ version "3.3.2"
+ resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131"
+ integrity sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==
v8-compile-cache@2.0.3:
version "2.0.3"
@@ -3071,10 +3432,18 @@ webpack-cli@^3.2.3:
v8-compile-cache "2.0.3"
yargs "13.2.4"
+webpack-log@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
+ integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
+ dependencies:
+ ansi-colors "^3.0.0"
+ uuid "^3.3.2"
+
webpack-sources@^1.4.0, webpack-sources@^1.4.1:
- version "1.4.1"
- resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.1.tgz#b91b2c5b1c4e890ff50d1d35b7fa3657040da1da"
- integrity sha512-XSz38193PTo/1csJabKaV4b53uRVotlMgqJXm3s3eje0Bu6gQTxYDqpD38CmQfDBA+gN+QqaGjasuC8I/7eW3Q==
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
dependencies:
source-list-map "^2.0.0"
source-map "~0.6.1"
@@ -3127,6 +3496,11 @@ wide-align@^1.1.0:
dependencies:
string-width "^1.0.2 || 2"
+wordwrap@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+
worker-farm@^1.7.0:
version "1.7.0"
resolved "https://registry.yarnpkg.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
@@ -3148,6 +3522,13 @@ wrappy@1:
resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ dependencies:
+ mkdirp "^0.5.1"
+
xtend@^4.0.0, xtend@~4.0.1:
version "4.0.2"
resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"