library upgrades

This commit is contained in:
zadam 2020-03-31 20:52:41 +02:00
parent 58f610b2c6
commit 4485650cbc
9 changed files with 495 additions and 457 deletions

View File

@ -1,6 +1,6 @@
/*! jQuery Fancytree Plugin - 2.34.0 - 2019-12-26T14:16:19Z
/*! jQuery Fancytree Plugin - 2.35.0 - 2020-03-27T22:41:58Z
* https://github.com/mar10/fancytree
* Copyright (c) 2019 Martin Wendt; Licensed MIT
* Copyright (c) 2020 Martin Wendt; Licensed MIT
*/
/*! jQuery UI - v1.12.1 - 2018-05-20
* http://jqueryui.com
@ -1361,12 +1361,12 @@ var uniqueId = $.fn.extend( {
* Tree view control with support for lazy loading and much more.
* https://github.com/mar10/fancytree/
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
/** Core Fancytree module.
@ -1405,7 +1405,7 @@ var uniqueId = $.fn.extend( {
REX_HTML = /[&<>"'/]/g, // Escape those characters
REX_TOOLTIP = /[<>"'/]/g, // Don't escape `&` in tooltips
RECURSIVE_REQUEST_ERROR = "$recursive_request",
// CLIPBOARD = null,
INVALID_REQUEST_TARGET_ERROR = "$request_target_invalid",
ENTITY_MAP = {
"&": "&amp;",
"<": "&lt;",
@ -2206,7 +2206,7 @@ var uniqueId = $.fn.extend( {
*
* @param {FancytreeNode} node source node
* @param {string} [mode=child] 'before' | 'after' | 'child'
* @param {Function} [map] callback function(NodeData) that could modify the new node
* @param {Function} [map] callback function(NodeData, FancytreeNode) that could modify the new node
* @returns {FancytreeNode} new
*/
copyTo: function(node, mode, map) {
@ -2970,10 +2970,9 @@ var uniqueId = $.fn.extend( {
* @deprecated since 2014-02-16: use load() instead.
*/
lazyLoad: function(discard) {
this.warn(
$.error(
"FancytreeNode.lazyLoad() is deprecated since 2014-02-16. Use .load() instead."
);
return this.load(discard);
},
/**
* Load all children of a lazy node if neccessary. The <i>expanded</i> state is maintained.
@ -3496,9 +3495,9 @@ var uniqueId = $.fn.extend( {
// this.debug("scrollIntoView(), scrollTop=" + scrollTop, opts.scrollOfs);
// _assert($(this.span).is(":visible"), "scrollIntoView node is invisible"); // otherwise we cannot calc offsets
if (!this.isVisible()) {
if (this.isRootNode() || !this.isVisible()) {
// We cannot calc offsets for hidden elements
this.warn("scrollIntoView(): node is invisible.");
this.info("scrollIntoView(): node is invisible.");
return _getResolvedPromise();
}
if (isParentWindow) {
@ -3610,7 +3609,7 @@ var uniqueId = $.fn.extend( {
return this.tree._callHook("nodeSetSelected", this, flag, opts);
},
/**Mark a lazy node as 'error', 'loading', 'nodata', or 'ok'.
* @param {string} status 'error'|'empty'|'ok'
* @param {string} status 'error'|'loading'|'nodata'|'ok'
* @param {string} [message]
* @param {string} [details]
*/
@ -3671,7 +3670,7 @@ var uniqueId = $.fn.extend( {
*
* @param {boolean} [recursive=false] include child nodes
* @param {function} [callback] callback(dict, node) is called for every node, in order to allow modifications.
* Return `false` to ignore this node or "skip" to include this node without its children.
* Return `false` to ignore this node or `"skip"` to include this node without its children.
* @returns {NodeData}
*/
toDict: function(recursive, callback) {
@ -3703,7 +3702,7 @@ var uniqueId = $.fn.extend( {
}
}
if (recursive) {
if (this.hasChildren()) {
if ($.isArray(this.children)) {
dict.children = [];
for (i = 0, l = this.children.length; i < l; i++) {
node = this.children[i];
@ -4328,8 +4327,8 @@ var uniqueId = $.fn.extend( {
// case "copy":
// clipboard = {
// mode: cmd,
// data: node.toDict(function(n) {
// delete n.key;
// data: node.toDict(function(d, n) {
// delete d.key;
// }),
// };
// break;
@ -5613,12 +5612,16 @@ var uniqueId = $.fn.extend( {
nodeLoadChildren: function(ctx, source) {
var ajax,
delay,
dfd,
res,
ajaxDfd = null,
resultDfd,
isAsync = true,
tree = ctx.tree,
node = ctx.node,
nodePrevParent = node.parent,
tag = "nodeLoadChildren",
requestId = Date.now();
// `source` is a callback: use the returned result instead:
if ($.isFunction(source)) {
source = source.call(tree, { type: "source" }, ctx);
_assert(
@ -5626,23 +5629,15 @@ var uniqueId = $.fn.extend( {
"source callback must not return another function"
);
}
if (source.url) {
if (node._requestId) {
node.warn(
"Recursive load request #" +
requestId +
" while #" +
node._requestId +
" is pending."
);
// } else {
// node.debug("Send load request #" + requestId);
}
// `source` is already a promise:
if ($.isFunction(source.then)) {
// _assert($.isFunction(source.always), "Expected jQuery?");
ajaxDfd = source;
} else if (source.url) {
// `source` is an Ajax options object
ajax = $.extend({}, ctx.options.ajax, source);
node._requestId = requestId;
if (ajax.debugDelay) {
// simulate a slow server
// Simulate a slow server
delay = ajax.debugDelay;
delete ajax.debugDelay; // remove debug option
if ($.isArray(delay)) {
@ -5656,30 +5651,74 @@ var uniqueId = $.fn.extend( {
Math.round(delay) +
" ms ..."
);
dfd = $.Deferred(function(dfd) {
ajaxDfd = $.Deferred(function(ajaxDfd) {
setTimeout(function() {
$.ajax(ajax)
.done(function() {
dfd.resolveWith(this, arguments);
ajaxDfd.resolveWith(this, arguments);
})
.fail(function() {
dfd.rejectWith(this, arguments);
ajaxDfd.rejectWith(this, arguments);
});
}, delay);
});
} else {
dfd = $.ajax(ajax);
ajaxDfd = $.ajax(ajax);
}
} else if ($.isPlainObject(source) || $.isArray(source)) {
// `source` is already a constant dict or list, but we convert
// to a thenable for unified processing.
// 2020-01-03: refactored.
// `ajaxDfd = $.when(source)` would do the trick, but the returned
// promise will resolve async, which broke some tests and
// would probably also break current implementations out there.
// So we mock-up a thenable that resolves synchronously:
ajaxDfd = {
then: function(resolve, reject) {
resolve(source, null, null);
},
};
isAsync = false;
} else {
$.error("Invalid source type: " + source);
}
// Defer the deferred: we want to be able to reject, even if ajax
// resolved ok.
source = new $.Deferred();
dfd.done(function(data, textStatus, jqXHR) {
// Check for overlapping requests
if (node._requestId) {
node.warn(
"Recursive load request #" +
requestId +
" while #" +
node._requestId +
" is pending."
);
node._requestId = requestId;
// node.debug("Send load request #" + requestId);
}
if (isAsync) {
tree.debugTime(tag);
tree.nodeSetStatus(ctx, "loading");
}
// The async Ajax request has now started...
// Defer the deferred:
// we want to be able to reject invalid responses, even if
// the raw HTTP Ajax XHR resolved as Ok.
// We use the ajaxDfd.then() syntax here, which is compatible with
// jQuery and ECMA6.
// However resultDfd is a jQuery deferred, which is currently the
// expected result type of nodeLoadChildren()
resultDfd = new $.Deferred();
ajaxDfd.then(
function(data, textStatus, jqXHR) {
// ajaxDfd was resolved, but we reject or resolve resultDfd
// depending on the response data
var errorObj, res;
if (
(this.dataType === "json" ||
this.dataType === "jsonp") &&
(source.dataType === "json" ||
source.dataType === "jsonp") &&
typeof data === "string"
) {
$.error(
@ -5690,21 +5729,28 @@ var uniqueId = $.fn.extend( {
// The expected request time stamp is later than `requestId`
// (which was kept as as closure variable to this handler function)
// node.warn("Ignored load response for obsolete request #" + requestId + " (expected #" + node._requestId + ")");
source.rejectWith(this, [RECURSIVE_REQUEST_ERROR]);
resultDfd.rejectWith(this, [
RECURSIVE_REQUEST_ERROR,
]);
return;
// } else {
// node.debug("Response returned for load request #" + requestId);
}
// postProcess is similar to the standard ajax dataFilter hook,
// but it is also called for JSONP
if (node.parent === null && nodePrevParent !== null) {
resultDfd.rejectWith(this, [
INVALID_REQUEST_TARGET_ERROR,
]);
return;
}
// Allow to adjust the received response data in the `postProcess` event.
if (ctx.options.postProcess) {
// The handler may either
// - modify `ctx.response` in-place (and leave `ctx.result` undefined)
// => res = undefined
// - return a replacement in `ctx.result`
// => res = <new data>
// If res contains an `error` property, an error status is displayed
try {
// The handler may either
// - modify `ctx.response` in-place (and leave `ctx.result` undefined)
// => res = undefined
// - return a replacement in `ctx.result`
// => res = <new data>
// If res contains an `error` property, an error status is displayed
res = tree._triggerNodeEvent(
"postProcess",
ctx,
@ -5712,7 +5758,7 @@ var uniqueId = $.fn.extend( {
{
response: data,
error: null,
dataType: this.dataType,
dataType: source.dataType,
}
);
} catch (e) {
@ -5723,6 +5769,8 @@ var uniqueId = $.fn.extend( {
};
}
if (res.error) {
// Either postProcess failed with an exception, or the returned
// result object has an 'error' property attached:
errorObj = $.isPlainObject(res.error)
? res.error
: { message: res.error };
@ -5731,7 +5779,7 @@ var uniqueId = $.fn.extend( {
null,
errorObj
);
source.rejectWith(this, [errorObj]);
resultDfd.rejectWith(this, [errorObj]);
return;
}
if (
@ -5749,175 +5797,158 @@ var uniqueId = $.fn.extend( {
ctx.options.enableAspx
) {
// Process ASPX WebMethod JSON object inside "d" property
// (only if no postProcess event was defined)
if (ctx.options.enableAspx === 42) {
tree.warn(
"The default for enableAspx will change to `false` in the fututure. " +
"Pass `enableAspx: true` or implement postProcess to silence this warning."
);
}
data =
typeof data.d === "string"
? $.parseJSON(data.d)
: data.d;
}
source.resolveWith(this, [data]);
}).fail(function(jqXHR, textStatus, errorThrown) {
resultDfd.resolveWith(this, [data]);
},
function(jqXHR, textStatus, errorThrown) {
// ajaxDfd was rejected, so we reject resultDfd as well
var errorObj = tree._makeHookContext(node, null, {
error: jqXHR,
args: Array.prototype.slice.call(arguments),
message: errorThrown,
details: jqXHR.status + ": " + errorThrown,
});
source.rejectWith(this, [errorObj]);
});
}
// #383: accept and convert ECMAScript 6 Promise
if ($.isFunction(source.then) && $.isFunction(source.catch)) {
dfd = source;
source = new $.Deferred();
dfd.then(
function(value) {
source.resolve(value);
},
function(reason) {
source.reject(reason);
}
);
}
if ($.isFunction(source.promise)) {
// `source` is a deferred, i.e. ajax request
// _assert(!node.isLoading(), "recursive load");
tree.nodeSetStatus(ctx, "loading");
resultDfd.rejectWith(this, [errorObj]);
}
);
source
.done(function(children) {
tree.nodeSetStatus(ctx, "ok");
node._requestId = null;
})
.fail(function(error) {
var ctxErr;
// The async Ajax request has now started.
// resultDfd will be resolved/rejected after the response arrived,
// was postProcessed, and checked.
// Now we implement the UI update and add the data to the tree.
// We also return this promise to the caller.
resultDfd
.done(function(data) {
tree.nodeSetStatus(ctx, "ok");
var children, metaData, noDataRes;
if (error === RECURSIVE_REQUEST_ERROR) {
node.warn(
"Ignored response for obsolete load request #" +
requestId +
" (expected #" +
node._requestId +
")"
);
return;
} else if (
error.node &&
error.error &&
error.message
) {
// error is already a context object
ctxErr = error;
} else {
ctxErr = tree._makeHookContext(node, null, {
error: error, // it can be jqXHR or any custom error
args: Array.prototype.slice.call(arguments),
message: error
? error.message || error.toString()
: "",
});
if (ctxErr.message === "[object Object]") {
ctxErr.message = "";
if ($.isPlainObject(data)) {
// We got {foo: 'abc', children: [...]}
// Copy extra properties to tree.data.foo
_assert(
node.isRootNode(),
"source may only be an object for root nodes (expecting an array of child objects otherwise)"
);
_assert(
$.isArray(data.children),
"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"
);
metaData = data;
children = data.children;
delete metaData.children;
// Copy some attributes to tree.data
$.each(TREE_ATTRS, function(i, attr) {
if (metaData[attr] !== undefined) {
tree[attr] = metaData[attr];
delete metaData[attr];
}
}
node.warn(
"Load children failed (" + ctxErr.message + ")",
ctxErr
);
if (
tree._triggerNodeEvent(
"loadError",
ctxErr,
null
) !== false
) {
tree.nodeSetStatus(
ctx,
"error",
ctxErr.message,
ctxErr.details
});
// Copy all other attributes to tree.data.NAME
$.extend(tree.data, metaData);
} else {
children = data;
}
_assert(
$.isArray(children),
"expected array of children"
);
node._setChildren(children);
if (tree.options.nodata && children.length === 0) {
if ($.isFunction(tree.options.nodata)) {
noDataRes = tree.options.nodata.call(
tree,
{ type: "nodata" },
ctx
);
} else if (
tree.options.nodata === true &&
node.isRootNode()
) {
noDataRes = tree.options.strings.noData;
} else if (
typeof tree.options.nodata === "string" &&
node.isRootNode()
) {
noDataRes = tree.options.nodata;
}
});
} else {
if (ctx.options.postProcess) {
// #792: Call postProcess for non-deferred source
res = tree._triggerNodeEvent(
"postProcess",
ctx,
ctx.originalEvent,
{
response: source,
error: null,
dataType: typeof source,
if (noDataRes) {
node.setStatus("nodata", noDataRes);
}
);
if (
$.isArray(res) ||
($.isPlainObject(res) && $.isArray(res.children))
) {
// Use `ctx.result` if valid
// (otherwise use existing data, which may have been modified in-place)
source = res;
}
}
}
// $.when(source) resolves also for non-deferreds
return $.when(source).done(function(children) {
var metaData, noDataRes;
// trigger fancytreeloadchildren
tree._triggerNodeEvent("loadChildren", node);
})
.fail(function(error) {
var ctxErr;
if ($.isPlainObject(children)) {
// We got {foo: 'abc', children: [...]}
// Copy extra properties to tree.data.foo
_assert(
node.isRootNode(),
"source may only be an object for root nodes (expecting an array of child objects otherwise)"
);
_assert(
$.isArray(children.children),
"if an object is passed as source, it must contain a 'children' array (all other properties are added to 'tree.data')"
);
metaData = children;
children = children.children;
delete metaData.children;
// Copy some attributes to tree.data
$.each(TREE_ATTRS, function(i, attr) {
if (metaData[attr] !== undefined) {
tree[attr] = metaData[attr];
delete metaData[attr];
}
});
// Copy all other attributes to tree.data.NAME
$.extend(tree.data, metaData);
}
_assert($.isArray(children), "expected array of children");
node._setChildren(children);
if (tree.options.nodata && children.length === 0) {
if ($.isFunction(tree.options.nodata)) {
noDataRes = tree.options.nodata.call(
tree,
{ type: "nodata" },
ctx
if (error === RECURSIVE_REQUEST_ERROR) {
node.warn(
"Ignored response for obsolete load request #" +
requestId +
" (expected #" +
node._requestId +
")"
);
} else if (
tree.options.nodata === true &&
node.isRootNode()
) {
noDataRes = tree.options.strings.nodata;
} else if (
typeof tree.options.nodata === "string" &&
node.isRootNode()
) {
noDataRes = tree.options.nodata;
return;
} else if (error === INVALID_REQUEST_TARGET_ERROR) {
node.warn(
"Lazy parent node was removed while loading: discarding response."
);
return;
} else if (error.node && error.error && error.message) {
// error is already a context object
ctxErr = error;
} else {
ctxErr = tree._makeHookContext(node, null, {
error: error, // it can be jqXHR or any custom error
args: Array.prototype.slice.call(arguments),
message: error
? error.message || error.toString()
: "",
});
if (ctxErr.message === "[object Object]") {
ctxErr.message = "";
}
}
if (noDataRes) {
node.setStatus("nodata", noDataRes);
node.warn(
"Load children failed (" + ctxErr.message + ")",
ctxErr
);
if (
tree._triggerNodeEvent(
"loadError",
ctxErr,
null
) !== false
) {
tree.nodeSetStatus(
ctx,
"error",
ctxErr.message,
ctxErr.details
);
}
}
// trigger fancytreeloadchildren
tree._triggerNodeEvent("loadChildren", node);
});
})
.always(function() {
node._requestId = null;
if (isAsync) {
tree.debugTimeEnd(tag);
}
});
return resultDfd.promise();
},
/** [Not Implemented] */
nodeLoadKeyPath: function(ctx, keyPathList) {
@ -7591,7 +7622,7 @@ var uniqueId = $.fn.extend( {
clickFolderMode: 4,
debugLevel: null, // 0..4 (null: use global setting $.ui.fancytree.debugLevel)
disabled: false, // TODO: required anymore?
enableAspx: true,
enableAspx: 42, // TODO: this is truethy, but distinguishable from true: default will change to false in the future
escapeTitles: false,
extensions: [],
// fx: { height: "toggle", duration: 200 },
@ -8028,7 +8059,7 @@ var uniqueId = $.fn.extend( {
{
/** Version number `"MAJOR.MINOR.PATCH"`
* @type {string} */
version: "2.34.0", // Set to semver by 'grunt release'
version: "2.35.0", // Set to semver by 'grunt release'
/** @type {string}
* @description `"production" for release builds` */
buildType: "production", // Set to 'production' by 'grunt build'
@ -8658,13 +8689,13 @@ var uniqueId = $.fn.extend( {
* Add a child counter bubble to tree nodes.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
// To keep the global namespace clean, we wrap everything in a closure.
@ -8745,7 +8776,7 @@ var uniqueId = $.fn.extend( {
} else {
$badge.remove();
}
if (extOpts.deep && !node.isTopLevel() && !node.isRoot()) {
if (extOpts.deep && !node.isTopLevel() && !node.isRootNode()) {
node.parent.updateCounters();
}
};
@ -8783,7 +8814,7 @@ var uniqueId = $.fn.extend( {
// Every extension must be registered by a unique name.
name: "childcounter",
// Version information should be compliant with [semver](http://semver.org)
version: "2.34.0",
version: "2.35.0",
// Extension specific options and their defaults.
// This options will be available as `tree.options.childcounter.hideExpanded`
@ -8889,13 +8920,13 @@ var uniqueId = $.fn.extend( {
* Support faster lookup of nodes by key and shared ref-ids.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -9253,7 +9284,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "clones",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
highlightActiveClones: true, // set 'fancytree-active-clone' on active clones and all peers
@ -9410,13 +9441,13 @@ var uniqueId = $.fn.extend( {
* Drag-and-drop support (native HTML5).
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
/*
@ -10201,6 +10232,10 @@ var uniqueId = $.fn.extend( {
node.debug("Reject dropping below own ancestor.");
DRAG_ENTER_RESPONSE = false;
break;
} else if (dndOpts.preventLazyParents && !node.isLoaded()) {
node.warn("Drop over unloaded target node prevented.");
DRAG_ENTER_RESPONSE = false;
break;
}
$dropMarker.show();
@ -10209,6 +10244,7 @@ var uniqueId = $.fn.extend( {
r = dndOpts.dragEnter(node, data);
res = normalizeDragEnterResponse(r);
// alert("res:" + JSON.stringify(res))
DRAG_ENTER_RESPONSE = res;
allowDrop = res && (res.over || res.before || res.after);
@ -10254,6 +10290,7 @@ var uniqueId = $.fn.extend( {
} else if (
dndOpts.autoExpandMS &&
Date.now() - DRAG_OVER_STAMP > dndOpts.autoExpandMS &&
!node.isLoading() &&
(!dndOpts.dragExpand ||
dndOpts.dragExpand(node, data) !== false)
) {
@ -10420,7 +10457,7 @@ var uniqueId = $.fn.extend( {
$.ui.fancytree.registerExtension({
name: "dnd5",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
autoExpandMS: 1500, // Expand nodes after n milliseconds of hovering
@ -10431,6 +10468,7 @@ var uniqueId = $.fn.extend( {
// dropEffect: "auto", // 'copy'|'link'|'move'|'auto'(calculate from `effectAllowed`+modifier keys) or callback(node, data) that returns such string.
dropEffectDefault: "move", // Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed (overide in dragDrag, dragOver).
preventForeignNodes: false, // Prevent dropping nodes from different Fancytrees
preventLazyParents: true, // Prevent dropping items on unloaded lazy Fancytree nodes
preventNonNodes: false, // Prevent dropping items other than Fancytree nodes
preventRecursion: true, // Prevent dropping nodes on own descendants
preventSameParent: false, // Prevent dropping nodes under same direct parent
@ -10548,13 +10586,13 @@ var uniqueId = $.fn.extend( {
* Make node titles editable.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -10756,7 +10794,7 @@ var uniqueId = $.fn.extend( {
// Re-enable mouse and keyboard handling
tree.widget._bind();
if (local.lastDraggableAttrValue) {
if (node && local.lastDraggableAttrValue) {
node.span.draggable = true;
}
@ -10846,7 +10884,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "edit",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
adjustWidthOfs: 4, // null: don't adjust input size to content
@ -10952,13 +10990,13 @@ var uniqueId = $.fn.extend( {
* Remove or highlight tree nodes, based on a filter.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -11296,7 +11334,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "filter",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
autoApply: true, // Re-apply last filter if lazy data is loaded
@ -11411,13 +11449,13 @@ var uniqueId = $.fn.extend( {
* Use glyph-fonts, ligature-fonts, or SVG icons instead of icon sprites.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -11600,7 +11638,7 @@ var uniqueId = $.fn.extend( {
$.ui.fancytree.registerExtension({
name: "glyph",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
preset: null, // 'awesome3', 'awesome4', 'bootstrap3', 'material'
@ -11634,7 +11672,7 @@ var uniqueId = $.fn.extend( {
res = this._super(ctx);
if (node.isRoot()) {
if (node.isRootNode()) {
return res;
}
span = $span.children("span.fancytree-expander").get(0);
@ -11749,13 +11787,13 @@ var uniqueId = $.fn.extend( {
* Support keyboard navigation for trees with embedded input controls.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -11872,7 +11910,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "gridnav",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
autofocusInput: false, // Focus first embedded input if node gets activated
@ -11974,13 +12012,13 @@ var uniqueId = $.fn.extend( {
* Allow multiple selection of nodes by mouse or keyboard.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -12009,7 +12047,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "multi",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
allowNoSelect: false, //
@ -12106,13 +12144,13 @@ var uniqueId = $.fn.extend( {
*
* @depends: js-cookie or jquery-cookie
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -12312,7 +12350,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "persist",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
cookieDelimiter: "~",
@ -12600,13 +12638,13 @@ var uniqueId = $.fn.extend( {
* Render tree as table (aka 'tree grid', 'table tree').
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -12689,7 +12727,7 @@ var uniqueId = $.fn.extend( {
$.ui.fancytree.registerExtension({
name: "table",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
checkboxColumnIdx: null, // render the checkboxes into the this column index (default: nodeColumnIdx)
@ -13150,13 +13188,13 @@ var uniqueId = $.fn.extend( {
*
* @see http://jqueryui.com/themeroller/
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -13179,7 +13217,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "themeroller",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
activeClass: "ui-state-active", // Class added to active node
@ -13270,13 +13308,13 @@ var uniqueId = $.fn.extend( {
* Support for 100% wide selection bars.
* (Extension module for jquery.fancytree.js: https://github.com/mar10/fancytree/)
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
*
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
*/
(function(factory) {
@ -13406,7 +13444,7 @@ var uniqueId = $.fn.extend( {
*/
$.ui.fancytree.registerExtension({
name: "wide",
version: "2.34.0",
version: "2.35.0",
// Default options for this extension.
options: {
iconWidth: null, // Adjust this if @fancy-icon-width != "16px"

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -9,12 +9,12 @@
*
* This section is automatically generated from the `skin-common.less` template.
*
* Copyright (c) 2008-2019, Martin Wendt (https://wwWendt.de)
* Copyright (c) 2008-2020, Martin Wendt (https://wwWendt.de)
* Released under the MIT license
* https://github.com/mar10/fancytree/wiki/LicenseInfo
*
* @version 2.34.0
* @date 2019-12-26T14:16:19Z
* @version 2.35.0
* @date 2020-03-27T22:41:58Z
******************************************************************************/
/*------------------------------------------------------------------------------
* Helpers

316
package-lock.json generated
View File

@ -178,23 +178,23 @@
}
},
"@jimp/bmp": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.9.8.tgz",
"integrity": "sha512-CZYQPEC3iUBMuaGWrtIG+GKNl93q/PkdudrCKJR/B96dfNngsmoosEm3LuFgJHEcJIfvnJkNqKw74l+zEiqCbg==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/bmp/-/bmp-0.10.0.tgz",
"integrity": "sha512-CN3uTfm2NTeJ+l1MMP1O6VkjED+bJb1GVL8AegbUF1ZG4drfAyU74EuYOqqU39k0ws3rSnX8GIkZdOP2xZ88pw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"bmp-js": "^0.1.0",
"core-js": "^3.4.1"
}
},
"@jimp/core": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.9.8.tgz",
"integrity": "sha512-N4GCjcXb0QwR5GBABDK2xQ3cKyaF7LlCYeJEG9mV7G/ynBoRqJe4JA6YKU9Ww9imGkci/4A594nQo8tUIqdcBw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/core/-/core-0.10.0.tgz",
"integrity": "sha512-oCvwNz5sASKzU526RP8ci6crdhLKuaGJmEobYFXTGR1ZjRNyIsecV9CnXHPj9dzIGhtbf92zYii7uXSdFQjikA==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"any-base": "^1.1.0",
"buffer": "^5.2.0",
"core-js": "^3.4.1",
@ -215,295 +215,295 @@
}
},
"@jimp/custom": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.9.8.tgz",
"integrity": "sha512-1UpJjI7fhX02BWLJ/KEqPwkHH60eNkCNeD6hEd+IZdTwLXfZCfFiM5BVlpgiZYZJSsVoRiAL4ne2Q5mCiKPKyw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/custom/-/custom-0.10.0.tgz",
"integrity": "sha512-dqzATumk1VN/ZFREqyH765urWKj8VNta+E9G0izY7XLwcq0FwCN0C/aiBmiunJdjGcdWVWHbjMreXsIzlKTONg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/core": "^0.9.8",
"@jimp/core": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/gif": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.9.8.tgz",
"integrity": "sha512-LEbfpcO1sBJIQCJHchZjNlyNxzPjZQQ4X32klpQHZJG58n9FvL7Uuh1rpkrJRbqv3cU3P0ENNtTrsBDxsYwcfA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/gif/-/gif-0.10.0.tgz",
"integrity": "sha512-E4ZGaN3lMVqTzYaL2VmkjNK3iB8cuSEChXuBqSRnZbozG0+hoiJv0992Bj+2SX6+e8aJZCZGuf2gVXqRgoxj/Q==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1",
"omggif": "^1.0.9"
}
},
"@jimp/jpeg": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.9.8.tgz",
"integrity": "sha512-5u29SUzbZ32ZMmOaz3gO0hXatwSCnsvEAXRCKZoPPgbsPoyFAiZKVxjfLzjkeQF6awkvJ8hZni5chM15SNMg+g==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/jpeg/-/jpeg-0.10.0.tgz",
"integrity": "sha512-H78MgxGjljaTeHlkEsd2vL7CILv7/vqqN1AXSLTKOigXBQasef0/n5LUPnCbGzGbcjEVkC5f6zipULVbBJrHHQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1",
"jpeg-js": "^0.3.4"
}
},
"@jimp/plugin-blit": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.9.8.tgz",
"integrity": "sha512-6xTDomxJybhBcby1IUVaPydZFhxf+V0DRgfDlVK81kR9kSCoshJpzWqDuWrMqjNEPspPE7jRQwHMs0FdU7mVwQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-blit/-/plugin-blit-0.10.0.tgz",
"integrity": "sha512-37Zr9hmmXHm7nCE1SUFyaYHyy8Ci8uM7EDN2Vialq1zMjYJ4sgPl4410ykdRU6OtKtTqvF421NKsdmI3kEuKvw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-blur": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.9.8.tgz",
"integrity": "sha512-dqbxuNFBRbmt35iIRacdgma7nlXklmPThsKcGWNTDmqb/hniK5IC+0xSPzBV4qMI2fLGP39LWHqqDZ0xDz14dA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-blur/-/plugin-blur-0.10.0.tgz",
"integrity": "sha512-F+q2e23kGPXEUlfmk3L5QEHfdXt0yz9NzLJNJI+OmjqlmDt4szthC5/EJuNw0IKDup0PvYKYFTMCfJS5lfdNaA==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-circle": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.9.8.tgz",
"integrity": "sha512-+UStXUPCzPqzTixLC8eVqcFcEa6TS+BEM/6/hyM11TDb9sbiMGeUtgpwZP/euR5H5gfpAQDA1Ppzqhh5fuMDlw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-circle/-/plugin-circle-0.10.0.tgz",
"integrity": "sha512-NDAJy+Nw8X1YNM2nAwdmYnFP4M2lM4lOGIMSsBp8hd7OR2QD9iA1RlsfQC7zQDFSE8WapQwBDelouJKovu3lrQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-color": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.9.8.tgz",
"integrity": "sha512-SDHxOQsJHpt75hk6+sSlCPc2B3UJlXosFW+iLZ11xX1Qr0IdDtbfYlIoPmjKQFIDUNzqLSue/z7sKQ1OMZr/QA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-color/-/plugin-color-0.10.0.tgz",
"integrity": "sha512-+FpVmEKQSyFzmxs9h5/B4XrrJmDaxNcHqeQe/RiEmpS/91SL0KpfAiHZGFke++OYKomxFcbxu5m/WPGyN669rQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1",
"tinycolor2": "^1.4.1"
}
},
"@jimp/plugin-contain": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.9.8.tgz",
"integrity": "sha512-oK52CPt7efozuLYCML7qOmpFeDt3zpU8qq8UZlnjsDs15reU6L8EiUbwYpJvzoEnEOh1ZqamB8F/gymViEO5og==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-contain/-/plugin-contain-0.10.0.tgz",
"integrity": "sha512-ZH2+qbwumUMI/+l9TBf3ug94WXIAars7svEjNBFfB7aLQvJzFxLifsPxLnjfoNRFIkrolfQ1RzAModotycoliA==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-cover": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.9.8.tgz",
"integrity": "sha512-nnamtHzMrNd5j5HRSPd1VzpZ8v9YYtUJPtvCdHOOiIjqG72jxJ2kTBlsS3oG5XS64h/2MJwpl/fmmMs1Tj1CmQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-cover/-/plugin-cover-0.10.0.tgz",
"integrity": "sha512-BJZZtKkb9FNPyaiQm2cc/49Og+60njlqzLZxu0uMrDyGzVn/K1dkg3MS9BOQQi1BTyqXILk+EctlXVCaGXqxTQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-crop": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.9.8.tgz",
"integrity": "sha512-Nv/6AIp4aJmbSIH2uiIqm+kSoShKM8eaX2fyrUTj811kio0hwD3f/vIxrWebvAqwDZjAFIAmMufFoFCVg6caoQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-crop/-/plugin-crop-0.10.0.tgz",
"integrity": "sha512-UWp7HNRVyAPx8YYgFfW9qOtx2JNXZq0q4M0IztPe9wOZ4RE45otK3pgxFglYAn2pxwSbaTP6bt+E7acRJIqBpw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-displace": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.9.8.tgz",
"integrity": "sha512-0OgPjkOVa2xdbqI8P6gBKX/UK36RbaYVrFyXL8Jy9oNF69+LYWyTskuCu9YbGxzlCVjY/JFqQOvrKDbxgMYAKA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-displace/-/plugin-displace-0.10.0.tgz",
"integrity": "sha512-IK/KuMWuC1rWLrkgTg5Xh7HLO7FaJ/+b84m1sidVRwJ1PTbWCnsf3f2KL9xmfzwdUXS4VE1E4Z2uUe1qsDx8Cg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-dither": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.9.8.tgz",
"integrity": "sha512-jGM/4ByniZJnmV2fv8hKwyyydXZe/YzvgBcnB8XxzCq8kVR3Imcn+qnd2PEPZzIPKOTH4Cig/zo9Vk9Bs+m5FQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-dither/-/plugin-dither-0.10.0.tgz",
"integrity": "sha512-f11HgQr0i7UjHdeKg/6uQxRDFArHSPZrjYjtczCKB7XDE8Fs0BeaDGNr3oDiq3cFcn+533heYUtxYZMT2EZOnw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-fisheye": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.9.8.tgz",
"integrity": "sha512-VnsalrD05f4pxG1msjnkwIFi5QveOqRm4y7VkoZKNX+iqs4TvRnH5+HpBnfdMzX/RXBi+Lf/kpTtuZgbOu/QWw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-fisheye/-/plugin-fisheye-0.10.0.tgz",
"integrity": "sha512-r7eADsfWL7ajvUwhU2MVw2s3zTovyEyGUsP4P4FqSXUnni7Vhjx1gIapC13V3N71xzeFhra0zlHYVFiRKTSHtw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-flip": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.9.8.tgz",
"integrity": "sha512-XbiZ4OfHD6woc0f6Sk7XxB6a7IyMjTRQ4pNU7APjaNxsl3L6qZC8qfCQphWVe3DHx7f3y7jEiPMvNnqRDP1xgA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-flip/-/plugin-flip-0.10.0.tgz",
"integrity": "sha512-VdaF4xzmGVekGPyyaYsb+8xGY25wzPjpA54iSbl/CzrDVMMCiqNX5Ti5tFiJnq4YHP1Dr75X3dxbpYUV8un2YQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-gaussian": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.9.8.tgz",
"integrity": "sha512-ZBl5RA6+4XAD+mtqLfiG7u+qd8W5yqq3RBNca8eFqUSVo1v+eB2tzeLel0CWfVC/z6cw93Awm/nVnm6/CL2Oew==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-gaussian/-/plugin-gaussian-0.10.0.tgz",
"integrity": "sha512-r/t5UQEnuCpZ5eqn4H8tPSBtz531utfhs5KbF9VbqyoqlhbFM5nCPNeScOY8LLuh+mIOqH2iqStzXcUTS6+wiA==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-invert": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.9.8.tgz",
"integrity": "sha512-ESploqCoF6qUv5IWhVLaO5fEcrYZEsAWPFflh6ROiD2mmFKQxfeK+vHnk3IDLHtUwWTkAZQNbk89BVq7xvaNpQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-invert/-/plugin-invert-0.10.0.tgz",
"integrity": "sha512-QpvABEakobueEoVuHRPOTH+Habf8yzjE5zLYPDApt0zG/u/dEsZuyWcUdzstDEn4paH49X4DED4odCbExX/mdw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-mask": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.9.8.tgz",
"integrity": "sha512-zSvEisTV4iGsBReitEdnQuGJq9/1xB5mPATadYZmIlp8r5HpD72HQb0WdEtb51/pu9Odt8KAxUf0ASg/PRVUiQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-mask/-/plugin-mask-0.10.0.tgz",
"integrity": "sha512-slp4H8QzJE4NHL9m1odHoswvrGJYNCM5YJ+UX50cHnFe1iJVBwJ+84Knwul1eRtFP0IJ1KJAG1ycObns/qWSMw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-normalize": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.9.8.tgz",
"integrity": "sha512-dPFBfwTa67K1tRw1leCidQT25R3ozrTUUOpO4jcGFHqXvBTWaR8sML1qxdfOBWs164mE5YpfdTvu6MM/junvCg==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-normalize/-/plugin-normalize-0.10.0.tgz",
"integrity": "sha512-W5S8XuH+mOFKamGZ4YosF/1hxgV/edX3YKJuXTtXSsq4UgusscPy0CVafRuMgH5wJf9enGQgzzy0z5VojudSTw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-print": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.9.8.tgz",
"integrity": "sha512-nLLPv1/faehRsOjecXXUb6kzhRcZzImO55XuFZ0c90ZyoiHm4UFREwO5sKxHGvpLXS6RnkhvSav4+IWD2qGbEQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-print/-/plugin-print-0.10.0.tgz",
"integrity": "sha512-5taCmgZw+gNRQCYXmzYgJWoRimfyP6CM72LMPx5mfKONUrvu3Rj8tFQJMfbpf6AJOQp3mJPIYlcbZzozSDfjLg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1",
"load-bmfont": "^1.4.0"
}
},
"@jimp/plugin-resize": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.9.8.tgz",
"integrity": "sha512-L80NZ+HKsiKFyeDc6AfneC4+5XACrdL2vnyAVfAAsb3pmamgT/jDInWvvGhyI0Y76vx2w6XikplzEznW/QQvWg==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-resize/-/plugin-resize-0.10.0.tgz",
"integrity": "sha512-sYcbeMKTYEVmkKLIHUoz3o4Ai86dr8RnZz85uMsRAim+KxRCHMLD1MFpHSJWpIfuoNzo2onLZ8h0qqdQdZ6GuQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-rotate": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.9.8.tgz",
"integrity": "sha512-bpqzQheISYnBXKyU1lIj46uR7mRs0UhgEREWK70HnvFJSlRshdcoNMIrKamyrJeFdJrkYPSfR/a6D0d5zsWf1Q==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-rotate/-/plugin-rotate-0.10.0.tgz",
"integrity": "sha512-/2N7tkHX0KDupfgxmamZPv1/ZuSwMcfeyZhjxIg2yFf4MXYKQYe3ByclrmNR7nkOAiD0Fa5NSIZ8tkIUBacWVg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-scale": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.9.8.tgz",
"integrity": "sha512-QU3ZS4Lre8nN66U9dKCOC4FNfaOh/QJFYUmQPKpPS924oYbtnm4OlmsdfpK2hVMSVVyVOis8M+xpA1rDBnIp7w==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-scale/-/plugin-scale-0.10.0.tgz",
"integrity": "sha512-FSwW7rz0/EtnRpDa3YwQrdteYZw3ZWfs57MY6TYLcB3a9UlvGiGWiFnvoyu6tubjFi5uxDlkS6bLRH40UYdqAg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-shadow": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.9.8.tgz",
"integrity": "sha512-t/pE+QS3r1ZUxGIQNmwWDI3c5+/hLU+gxXD+C3EEC47/qk3gTBHpj/xDdGQBoObdT/HRjR048vC2BgBfzjj2hg==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-shadow/-/plugin-shadow-0.10.0.tgz",
"integrity": "sha512-+eXGK+Z5X99v3fHBpN35GIepfdZxF7V5gmFbCF4q7aIXLgNpVNM0j+g1wBFVqwSl97TpaD7Wbvh99zygWL/S6g==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugin-threshold": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.9.8.tgz",
"integrity": "sha512-WWmC3lnIwOTPvkKu55w4DUY8Ehlzf3nU98bY0QtIzkqxkAOZU5m+lvgC/JxO5FyGiA57j9FLMIf0LsWkjARj7g==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugin-threshold/-/plugin-threshold-0.10.0.tgz",
"integrity": "sha512-m/oIgDfZ3wAAdpC4/JMgd+G3AvMcMCXmLkKh30JSwsPgIgsAZRiiGSdy3obXKLcEQ2eNWPIaCU1/qPVt6m2org==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1"
}
},
"@jimp/plugins": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.9.8.tgz",
"integrity": "sha512-tD+cxS9SuEZaQ1hhAkNKw9TkUAqfoBAhdWPBrEZDr/GvGPrvJR4pYmmpSYhc5IZmMbXfQayHTTGqjj8D18bToA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/plugins/-/plugins-0.10.0.tgz",
"integrity": "sha512-pxBCETGOTwZ7rBbq5NtPY21NcGLEtY6HtCvcN/IUmUNhcuGcaM+YEjGYg7mAP9HNoP6e6UevA5aiouDA+lFVHw==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/plugin-blit": "^0.9.8",
"@jimp/plugin-blur": "^0.9.8",
"@jimp/plugin-circle": "^0.9.8",
"@jimp/plugin-color": "^0.9.8",
"@jimp/plugin-contain": "^0.9.8",
"@jimp/plugin-cover": "^0.9.8",
"@jimp/plugin-crop": "^0.9.8",
"@jimp/plugin-displace": "^0.9.8",
"@jimp/plugin-dither": "^0.9.8",
"@jimp/plugin-fisheye": "^0.9.8",
"@jimp/plugin-flip": "^0.9.8",
"@jimp/plugin-gaussian": "^0.9.8",
"@jimp/plugin-invert": "^0.9.8",
"@jimp/plugin-mask": "^0.9.8",
"@jimp/plugin-normalize": "^0.9.8",
"@jimp/plugin-print": "^0.9.8",
"@jimp/plugin-resize": "^0.9.8",
"@jimp/plugin-rotate": "^0.9.8",
"@jimp/plugin-scale": "^0.9.8",
"@jimp/plugin-shadow": "^0.9.8",
"@jimp/plugin-threshold": "^0.9.8",
"@jimp/plugin-blit": "^0.10.0",
"@jimp/plugin-blur": "^0.10.0",
"@jimp/plugin-circle": "^0.10.0",
"@jimp/plugin-color": "^0.10.0",
"@jimp/plugin-contain": "^0.10.0",
"@jimp/plugin-cover": "^0.10.0",
"@jimp/plugin-crop": "^0.10.0",
"@jimp/plugin-displace": "^0.10.0",
"@jimp/plugin-dither": "^0.10.0",
"@jimp/plugin-fisheye": "^0.10.0",
"@jimp/plugin-flip": "^0.10.0",
"@jimp/plugin-gaussian": "^0.10.0",
"@jimp/plugin-invert": "^0.10.0",
"@jimp/plugin-mask": "^0.10.0",
"@jimp/plugin-normalize": "^0.10.0",
"@jimp/plugin-print": "^0.10.0",
"@jimp/plugin-resize": "^0.10.0",
"@jimp/plugin-rotate": "^0.10.0",
"@jimp/plugin-scale": "^0.10.0",
"@jimp/plugin-shadow": "^0.10.0",
"@jimp/plugin-threshold": "^0.10.0",
"core-js": "^3.4.1",
"timm": "^1.6.1"
}
},
"@jimp/png": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.9.8.tgz",
"integrity": "sha512-9CqR8d40zQCDhbnXHqcwkAMnvlV0vk9xSyE6LHjkYHS7x18Unsz5txQdsaEkEcXxCrOQSoWyITfLezlrWXRJAA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/png/-/png-0.10.0.tgz",
"integrity": "sha512-RA52BB9duNFCEu1UuGrho7IQ+XVWsp4e+9dBToKfV0qsWAAHAffYz1y2XqLc1iCWcw1voBmJgIOygRu0jEt2QQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/utils": "^0.9.8",
"@jimp/utils": "^0.10.0",
"core-js": "^3.4.1",
"pngjs": "^3.3.3"
}
},
"@jimp/tiff": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.9.8.tgz",
"integrity": "sha512-eMxcpJivJqMByn2dZxUHLeh6qvVs5J/52kBF3TFa3C922OJ97D9l1C1h0WKUCBqFMWzMYapQQ4vwnLgpJ5tkow==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/tiff/-/tiff-0.10.0.tgz",
"integrity": "sha512-mD864zMb8gG5yRottcixbJj+AMrepGqYK+9guek1tVCuoOnWQzjwU3pbb59nqkbw3enf3XNmbK2f2TfE7s5Jbw==",
"requires": {
"@babel/runtime": "^7.7.2",
"core-js": "^3.4.1",
@ -511,24 +511,24 @@
}
},
"@jimp/types": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.9.8.tgz",
"integrity": "sha512-H5y/uqt0lqJ/ZN8pWqFG+pv8jPAppMKkTMByuC8YBIjWSsornwv44hjiWl93sbYhduLZY8ubz/CbX9jH2X6EwA==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/types/-/types-0.10.0.tgz",
"integrity": "sha512-PABpDNQi20aKe6Xcc4l4gVI95ztlkmfSSlgHJrby/Cg2b0NzQF81rY1W0eLC2/8R6OGTgi5FtvKI59NDss8nPg==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/bmp": "^0.9.8",
"@jimp/gif": "^0.9.8",
"@jimp/jpeg": "^0.9.8",
"@jimp/png": "^0.9.8",
"@jimp/tiff": "^0.9.8",
"@jimp/bmp": "^0.10.0",
"@jimp/gif": "^0.10.0",
"@jimp/jpeg": "^0.10.0",
"@jimp/png": "^0.10.0",
"@jimp/tiff": "^0.10.0",
"core-js": "^3.4.1",
"timm": "^1.6.1"
}
},
"@jimp/utils": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.9.8.tgz",
"integrity": "sha512-UK0Fu0eevQlpRXq5ff4o/71HJlpX9wJMddJjMYg9vUqCCl8ZnumRAljfShHFhGyO+Vc9IzN6dd8Y5JZZTp1KOw==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/@jimp/utils/-/utils-0.10.0.tgz",
"integrity": "sha512-a05KrUwDGuQn++gWyvQcWlFBXfyZXYpY/3Mde4i/HEIyzWrZSnSzppCssiKVXR5pSWSqfSsLDImrSuJRqtOVmQ==",
"requires": {
"@babel/runtime": "^7.7.2",
"core-js": "^3.4.1"
@ -2678,14 +2678,14 @@
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"ejs": {
"version": "2.7.4",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz",
"integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA=="
"version": "3.0.2",
"resolved": "https://registry.npmjs.org/ejs/-/ejs-3.0.2.tgz",
"integrity": "sha512-IncmUpn1yN84hy2shb0POJ80FWrfGNY0cxO9f4v+/sG7qcBvAtVWUA1IdzY/8EYUmOVhoKJVdJjNd3AZcnxOjA=="
},
"electron": {
"version": "9.0.0-beta.10",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.0.0-beta.10.tgz",
"integrity": "sha512-HTGLrC/BuRfKvWsS5ymOP1VUqnXCg2vbnVjViQ9f7WneWpDJ1D0CT2voP6Vi0ivHCQrKP8OQf7ZPphNkp+GUyA==",
"version": "9.0.0-beta.12",
"resolved": "https://registry.npmjs.org/electron/-/electron-9.0.0-beta.12.tgz",
"integrity": "sha512-wX4D36JQAFa+3BIduDizy51fd0Tkoh7y+foudNdesIDt9sFJCAcc8RDOjQpFDsuMzehS/1fvMzsuUbquVZdSbA==",
"dev": true,
"requires": {
"@electron/get": "^1.0.1",
@ -5380,14 +5380,14 @@
}
},
"jimp": {
"version": "0.9.8",
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.9.8.tgz",
"integrity": "sha512-DHN4apKMwLIvD/TKO9tFfPuankNuVK98vCwHm/Jv9z5cJnrd38xhi+4I7IAGmDU3jIDlrEVhzTkFH1Ymv5yTQQ==",
"version": "0.10.0",
"resolved": "https://registry.npmjs.org/jimp/-/jimp-0.10.0.tgz",
"integrity": "sha512-PwTUye0Z721FGzNZhbf48U3CMFMbtQY+LEshUx72Z716ku+/SjI6XXfXhZyU3o/PR1TxoFFjyLlV1x8qg6ZF+A==",
"requires": {
"@babel/runtime": "^7.7.2",
"@jimp/custom": "^0.9.8",
"@jimp/plugins": "^0.9.8",
"@jimp/types": "^0.9.8",
"@jimp/custom": "^0.10.0",
"@jimp/plugins": "^0.10.0",
"@jimp/types": "^0.10.0",
"core-js": "^3.4.1",
"regenerator-runtime": "^0.13.3"
}

View File

@ -29,7 +29,7 @@
"csurf": "1.11.0",
"dayjs": "1.8.23",
"debug": "4.1.1",
"ejs": "2.7.4",
"ejs": "3.0.2",
"electron-debug": "3.0.1",
"electron-dl": "3.0.0",
"electron-find": "1.0.6",
@ -49,8 +49,8 @@
"imagemin-mozjpeg": "8.0.0",
"imagemin-pngquant": "8.0.0",
"ini": "1.3.5",
"is-svg": "^4.2.1",
"jimp": "0.9.8",
"is-svg": "4.2.1",
"jimp": "0.10.0",
"mime-types": "2.1.26",
"multer": "1.4.2",
"node-abi": "2.15.0",
@ -77,7 +77,7 @@
"yazl": "^2.5.1"
},
"devDependencies": {
"electron": "9.0.0-beta.10",
"electron": "9.0.0-beta.12",
"electron-builder": "22.4.1",
"electron-packager": "14.2.1",
"electron-rebuild": "1.10.1",

View File

@ -3,7 +3,7 @@ import treeCache from "./tree_cache.js";
import ws from "./ws.js";
import hoistedNoteService from "./hoisted_note.js";
async function prepareTree() {
async function prepareRootNode() {
await treeCache.initializedPromise;
const hoistedNoteId = hoistedNoteService.getHoistedNoteId();
@ -18,7 +18,7 @@ async function prepareTree() {
hoistedBranch = (await hoistedNote.getBranches())[0];
}
return [ await prepareNode(hoistedBranch) ];
return await prepareNode(hoistedBranch);
}
async function prepareBranch(note) {
@ -167,7 +167,7 @@ function getExtraClasses(note) {
}
export default {
prepareTree,
prepareRootNode,
prepareBranch,
getExtraClasses,
getIcon

View File

@ -68,13 +68,13 @@ export default class NoteTreeWidget extends TabAwareWidget {
}
});
this.initialized = treeBuilder.prepareTree().then(treeData => this.initFancyTree(treeData));
this.initialized = this.initFancyTree();
return this.$widget;
}
async initFancyTree(treeData) {
utils.assertArguments(treeData);
async initFancyTree() {
const treeData = [await treeBuilder.prepareRootNode()];
this.$widget.fancytree({
autoScroll: true,
@ -414,8 +414,10 @@ export default class NoteTreeWidget extends TabAwareWidget {
return list ? list : []; // if no nodes with this refKey are found, fancy tree returns null
}
async reload(notes) {
await this.tree.reload(notes);
async reload() {
const rootNode = await treeBuilder.prepareRootNode();
await this.tree.reload([rootNode]);
}
// must be event since it's triggered from outside the tree
@ -581,13 +583,11 @@ export default class NoteTreeWidget extends TabAwareWidget {
}
async reloadTreeFromCache() {
const notes = await treeBuilder.prepareTree();
const activeNode = this.getActiveNode();
const activeNotePath = activeNode !== null ? treeService.getNotePath(activeNode) : null;
await this.reload(notes);
await this.reload();
if (activeNotePath) {
const node = await this.getNodeFromPath(activeNotePath, true);

View File

@ -12,30 +12,30 @@
<div class="dropdown-menu dropdown-menu-sm" id="context-menu-container"></div>
<% include dialogs/about.ejs %>
<% include dialogs/add_link.ejs %>
<% include dialogs/attributes.ejs %>
<% include dialogs/branch_prefix.ejs %>
<% include dialogs/export.ejs %>
<% include dialogs/import.ejs %>
<% include dialogs/jump_to_note.ejs %>
<% include dialogs/markdown_import.ejs %>
<% include dialogs/note_revisions.ejs %>
<% include dialogs/note_source.ejs %>
<% include dialogs/options.ejs %>
<% include dialogs/protected_session_password.ejs %>
<% include dialogs/recent_changes.ejs %>
<% include dialogs/sql_console.ejs %>
<% include dialogs/info.ejs %>
<% include dialogs/prompt.ejs %>
<% include dialogs/confirm.ejs %>
<% include dialogs/help.ejs %>
<% include dialogs/note_info.ejs %>
<% include dialogs/link_map.ejs %>
<% include dialogs/clone_to.ejs %>
<% include dialogs/move_to.ejs %>
<% include dialogs/backend_log.ejs %>
<% include dialogs/include_note.ejs %>
<%- include('dialogs/about.ejs') %>
<%- include('dialogs/add_link.ejs') %>
<%- include('dialogs/attributes.ejs') %>
<%- include('dialogs/branch_prefix.ejs') %>
<%- include('dialogs/export.ejs') %>
<%- include('dialogs/import.ejs') %>
<%- include('dialogs/jump_to_note.ejs') %>
<%- include('dialogs/markdown_import.ejs') %>
<%- include('dialogs/note_revisions.ejs') %>
<%- include('dialogs/note_source.ejs') %>
<%- include('dialogs/options.ejs') %>
<%- include('dialogs/protected_session_password.ejs') %>
<%- include('dialogs/recent_changes.ejs') %>
<%- include('dialogs/sql_console.ejs') %>
<%- include('dialogs/info.ejs') %>
<%- include('dialogs/prompt.ejs') %>
<%- include('dialogs/confirm.ejs') %>
<%- include('dialogs/help.ejs') %>
<%- include('dialogs/note_info.ejs') %>
<%- include('dialogs/link_map.ejs') %>
<%- include('dialogs/clone_to.ejs') %>
<%- include('dialogs/move_to.ejs') %>
<%- include('dialogs/backend_log.ejs') %>
<%- include('dialogs/include_note.ejs') %>
<script type="text/javascript">
window.baseApiUrl = 'api/';
@ -60,8 +60,8 @@
<script src="libraries/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Include Fancytree skin and library -->
<link href="libraries/fancytree/skin-win8/ui.fancytree.css" rel="stylesheet">
<script src="libraries/fancytree/jquery.fancytree-all-deps.js"></script>
<link href="libraries/fancytree/skin-win8/ui.fancytree.min.css" rel="stylesheet">
<script src="libraries/fancytree/jquery.fancytree-all-deps.min.js"></script>
<script src="libraries/jquery.hotkeys.js"></script>
<script src="libraries/jquery.fancytree.hotkeys.js"></script>