From be976eb9683769449ea579e55025f4c0b5fa501f Mon Sep 17 00:00:00 2001 From: Martin Wendt Date: Tue, 31 Oct 2023 15:26:47 +0100 Subject: [PATCH] Bump version to 0.5.5 --- dist/wunderbaum.d.ts | 58 +++- dist/wunderbaum.esm.js | 245 ++++++++++------- dist/wunderbaum.esm.min.js | 44 +-- dist/wunderbaum.esm.min.js.map | 2 +- dist/wunderbaum.umd.js | 245 ++++++++++------- dist/wunderbaum.umd.min.js | 50 ++-- dist/wunderbaum.umd.min.js.map | 2 +- docs/api/assets/navigation.js | 2 +- docs/api/assets/search.js | 2 +- docs/api/classes/util.Deferred.html | 20 +- docs/api/classes/wb_node.WunderbaumNode.html | 256 +++++++++--------- docs/api/classes/wunderbaum.Wunderbaum.html | 218 +++++++-------- docs/api/enums/types.ChangeType.html | 24 +- docs/api/enums/types.NavModeEnum.html | 16 +- docs/api/enums/types.NodeRegion.html | 22 +- docs/api/enums/types.NodeStatusType.html | 18 +- docs/api/enums/types.RenderFlag.html | 16 +- .../functions/common.inflateSourceData.html | 8 +- .../common.makeNodeTitleMatcher.html | 8 +- .../common.makeNodeTitleStartMatcher.html | 8 +- .../api/functions/common.nodeTitleSorter.html | 8 +- docs/api/functions/util.adaptiveThrottle.html | 8 +- docs/api/functions/util.assert.html | 12 +- docs/api/functions/util.documentReady.html | 8 +- .../functions/util.documentReadyPromise.html | 8 +- docs/api/functions/util.each.html | 8 +- docs/api/functions/util.elemFromHtml.html | 8 +- docs/api/functions/util.elemFromSelector.html | 8 +- docs/api/functions/util.error.html | 8 +- docs/api/functions/util.escapeHtml.html | 8 +- docs/api/functions/util.escapeRegex.html | 8 +- docs/api/functions/util.escapeTooltip.html | 8 +- .../util.eventTargetFromSelector.html | 8 +- docs/api/functions/util.eventToString.html | 8 +- docs/api/functions/util.extend.html | 8 +- docs/api/functions/util.extractHtmlText.html | 8 +- docs/api/functions/util.getOption.html | 8 +- docs/api/functions/util.getValueFromElem.html | 8 +- docs/api/functions/util.isArray.html | 8 +- docs/api/functions/util.isEmptyObject.html | 8 +- docs/api/functions/util.isFunction.html | 8 +- docs/api/functions/util.isPlainObject.html | 8 +- docs/api/functions/util.noop.html | 8 +- docs/api/functions/util.onEvent.html | 10 +- docs/api/functions/util.overrideMethod.html | 8 +- docs/api/functions/util.setElemDisplay.html | 8 +- .../api/functions/util.setTimeoutPromise.html | 8 +- docs/api/functions/util.setValueToElem.html | 8 +- docs/api/functions/util.sleep.html | 8 +- docs/api/functions/util.toSet.html | 8 +- docs/api/functions/util.toggleCheckbox.html | 8 +- docs/api/functions/util.type.html | 8 +- docs/api/index.html | 11 +- .../interfaces/types.AddChildrenOptions.html | 14 +- .../interfaces/types.ApplyCommandOptions.html | 8 +- .../interfaces/types.ColumnDefinition.html | 30 +- .../api/interfaces/types.ColumnEventInfo.html | 16 +- .../interfaces/types.ExpandAllOptions.html | 16 +- .../interfaces/types.FilterNodesOptions.html | 22 +- .../interfaces/types.MakeVisibleOptions.html | 14 +- .../api/interfaces/types.NavigateOptions.html | 12 +- .../interfaces/types.NodeTypeDefinition.html | 18 +- docs/api/interfaces/types.RenderOptions.html | 22 +- .../types.ScrollIntoViewOptions.html | 16 +- .../api/interfaces/types.ScrollToOptions.html | 18 +- .../interfaces/types.SetActiveOptions.html | 20 +- .../interfaces/types.SetExpandedOptions.html | 18 +- .../interfaces/types.SetSelectedOptions.html | 16 +- .../interfaces/types.SetStatusOptions.html | 12 +- docs/api/interfaces/types.SourceAjaxType.html | 16 +- .../interfaces/types.SourceObjectType.html | 22 +- docs/api/interfaces/types.UpdateOptions.html | 10 +- .../interfaces/types.VisitRowsOptions.html | 18 +- .../interfaces/types.WbActivateEventType.html | 22 +- .../interfaces/types.WbChangeEventType.html | 26 +- .../interfaces/types.WbClickEventType.html | 20 +- .../types.WbDeactivateEventType.html | 22 +- .../interfaces/types.WbErrorEventType.html | 22 +- docs/api/interfaces/types.WbEventInfo.html | 26 +- .../interfaces/types.WbFocusEventType.html | 18 +- .../types.WbIconBadgeEventResultType.html | 14 +- .../types.WbIconBadgeEventType.html | 22 +- .../api/interfaces/types.WbInitEventType.html | 18 +- .../interfaces/types.WbKeydownEventType.html | 20 +- docs/api/interfaces/types.WbNodeData.html | 44 +-- .../api/interfaces/types.WbNodeEventType.html | 20 +- .../interfaces/types.WbReceiveEventType.html | 22 +- .../interfaces/types.WbRenderEventType.html | 30 +- .../api/interfaces/types.WbTreeEventType.html | 16 +- .../wb_options.WunderbaumOptions.html | 112 ++++---- docs/api/modules/common.html | 8 +- docs/api/modules/types.html | 10 +- docs/api/modules/util.html | 8 +- docs/api/modules/wb_node.html | 8 +- docs/api/modules/wb_options.html | 8 +- docs/api/modules/wunderbaum.html | 8 +- docs/api/types/types.ApplyCommandType.html | 8 +- docs/api/types/types.BoolOptionResolver.html | 8 +- .../types.BoolOrStringOptionResolver.html | 8 +- docs/api/types/types.CheckboxOption.html | 8 +- .../api/types/types.ColumnDefinitionList.html | 8 +- docs/api/types/types.ColumnEventInfoMap.html | 8 +- docs/api/types/types.DndOptionsType.html | 35 ++- .../types/types.DropEffectAllowedType.html | 46 ++++ docs/api/types/types.DropEffectType.html | 46 ++++ docs/api/types/types.DropRegionType.html | 8 +- docs/api/types/types.DropRegionTypeSet.html | 8 +- docs/api/types/types.DynamicBoolOption.html | 8 +- .../types.DynamicBoolOrStringOption.html | 8 +- .../types/types.DynamicCheckboxOption.html | 8 +- docs/api/types/types.DynamicIconOption.html | 8 +- docs/api/types/types.DynamicStringOption.html | 8 +- docs/api/types/types.EditOptionsType.html | 8 +- docs/api/types/types.FilterModeType.html | 8 +- docs/api/types/types.FilterOptionsType.html | 8 +- docs/api/types/types.GridOptionsType.html | 8 +- docs/api/types/types.IconOption.html | 8 +- docs/api/types/types.InsertNodeType.html | 8 +- docs/api/types/types.MatcherCallback.html | 8 +- docs/api/types/types.NodeAnyCallback.html | 8 +- docs/api/types/types.NodeFilterCallback.html | 8 +- docs/api/types/types.NodeFilterResponse.html | 8 +- docs/api/types/types.NodeSelectCallback.html | 8 +- docs/api/types/types.NodeStringCallback.html | 8 +- docs/api/types/types.NodeToDictCallback.html | 8 +- .../types/types.NodeTypeDefinitionMap.html | 8 +- docs/api/types/types.NodeVisitCallback.html | 8 +- docs/api/types/types.NodeVisitResponse.html | 8 +- docs/api/types/types.SelectModeType.html | 8 +- docs/api/types/types.SortCallback.html | 8 +- docs/api/types/types.SourceListType.html | 8 +- docs/api/types/types.SourceType.html | 8 +- docs/api/types/types.TristateType.html | 8 +- docs/api/types/types.WbIconBadgeCallback.html | 8 +- docs/api/types/util.EventCallbackType.html | 8 +- docs/api/types/util.FunctionType.html | 8 +- .../variables/common.DEFAULT_DEBUGLEVEL.html | 8 +- docs/api/variables/common.ICON_WIDTH.html | 8 +- docs/api/variables/common.INPUT_KEYS.html | 8 +- docs/api/variables/common.KEY_NODATA.html | 8 +- .../variables/common.KEY_TO_ACTION_DICT.html | 8 +- .../variables/common.RENDER_MAX_PREFETCH.html | 8 +- .../variables/common.RENDER_MIN_PREFETCH.html | 8 +- .../common.RESERVED_TREE_SOURCE_KEYS.html | 8 +- docs/api/variables/common.ROW_HEIGHT.html | 8 +- docs/api/variables/common.TEST_IMG.html | 8 +- .../variables/common.TITLE_SPAN_PAD_Y.html | 8 +- docs/api/variables/common.iconMaps.html | 8 +- docs/api/variables/util.MAX_INT.html | 8 +- docs/api/variables/util.MOUSE_BUTTONS.html | 8 +- docs/api/variables/util.isMac.html | 8 +- package.json | 2 +- 152 files changed, 1597 insertions(+), 1347 deletions(-) create mode 100644 docs/api/types/types.DropEffectAllowedType.html create mode 100644 docs/api/types/types.DropEffectType.html diff --git a/dist/wunderbaum.d.ts b/dist/wunderbaum.d.ts index f8586bde..45248116 100644 --- a/dist/wunderbaum.d.ts +++ b/dist/wunderbaum.d.ts @@ -34,7 +34,7 @@ declare module "util" { }; } /**Throw an `Error` if `cond` is falsey. */ - export function assert(cond: any, msg?: string): void; + export function assert(cond: any, msg: string): void; /** Run `callback` when document was loaded. */ export function documentReady(callback: () => void): void; /** Resolve when document was loaded. */ @@ -1790,6 +1790,8 @@ declare module "types" { }; export type GridOptionsType = object; export type InsertNodeType = "before" | "after" | "prependChild" | "appendChild"; + export type DropEffectType = "none" | "copy" | "link" | "move"; + export type DropEffectAllowedType = "none" | "copy" | "copyLink" | "copyMove" | "link" | "linkMove" | "move" | "all"; export type DropRegionType = "over" | "before" | "after"; export type DropRegionTypeSet = Set; export type DndOptionsType = { @@ -1804,15 +1806,26 @@ declare module "types" { */ multiSource?: false; /** - * Restrict the possible cursor shapes and modifier operations (can also be set in the dragStart event) + * Restrict the possible cursor shapes and modifier operations + * (can also be set in the dragStart event) * @default "all" */ - effectAllowed?: "all"; + effectAllowed?: DropEffectAllowedType; /** - * Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed (overide in drag, dragOver). + * Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed. + * Overidable in the dragEnter or dragOver event. * @default "move" */ - dropEffectDefault?: string; + dropEffectDefault?: DropEffectType; + /** + * Use opinionated heuristics to determine the dropEffect ('copy', 'link', or 'move') + * based on `effectAllowed`, `dropEffectDefault`, and modifier keys. + * This is recalculated before each dragEnter and dragOver event and can be + * overridden there. + * + * @default true + */ + guessDropEffect: boolean; /** * Prevent dropping nodes from different Wunderbaum trees * @default false @@ -1847,7 +1860,7 @@ declare module "types" { * Serialize Node Data to datatransfer object * @default true */ - serializeClipboardData?: boolean | ((nodeData: WbNodeData) => string); + serializeClipboardData?: boolean | ((nodeData: WbNodeData, node: WunderbaumNode) => string); /** * Enable auto-scrolling while dragging * @default true @@ -1895,7 +1908,7 @@ declare module "types" { */ dragEnter?: null | ((e: WbNodeEventType & { event: DragEvent; - }) => boolean); + }) => DropRegionTypeSet | boolean); /** * Callback(targetNode, data) * @default null @@ -1917,8 +1930,10 @@ declare module "types" { drop?: null | ((e: WbNodeEventType & { event: DragEvent; region: DropRegionType; - defaultDropMode: string; + suggestedDropMode: InsertNodeType; + suggestedDropEffect: DropEffectType; sourceNode: WunderbaumNode; + sourceNodeData: WbNodeData | null; }) => void); /** * Callback(targetNode, data) @@ -2137,14 +2152,14 @@ declare module "wb_ext_dnd" { import { Wunderbaum } from "wunderbaum"; import { WunderbaumExtension } from "wb_extension_base"; import { WunderbaumNode } from "wb_node"; - import { DndOptionsType, DropRegionType, DropRegionTypeSet } from "types"; + import { DndOptionsType, DropEffectType, DropRegionType, DropRegionTypeSet } from "types"; import { DebouncedFunction } from "debounce"; export class DndExtension extends WunderbaumExtension { protected srcNode: WunderbaumNode | null; protected lastTargetNode: WunderbaumNode | null; protected lastEnterStamp: number; protected lastAllowedDropRegions: DropRegionTypeSet | null; - protected lastDropEffect: string | null; + protected lastDropEffect: DropEffectType | null; protected lastDropRegion: DropRegionType | false; protected currentScrollDir: number; protected applyScrollDirThrottled: DebouncedFunction<() => void>; @@ -2158,12 +2173,25 @@ declare module "wb_ext_dnd" { * Calculates the drop region based on the drag event and the allowed drop regions. */ protected _calcDropRegion(e: DragEvent, allowed: DropRegionTypeSet | null): DropRegionType | false; - protected applyScrollDir(): void; - protected autoScroll(viewportY: number): number; + /** + * Guess drop effect (copy/link/move) using opinionated conventions. + * + * Default: dnd.dropEffectDefault + */ + protected _guessDropEffect(e: DragEvent): DropEffectType; + /** Don't allow void operation ('drop on self').*/ + protected _isVoidDrop(targetNode: WunderbaumNode, srcNode: WunderbaumNode | null, dropRegion: DropRegionType | false): boolean; + protected _applyScrollDir(): void; + protected _autoScroll(viewportY: number): number; /** Return true if a drag operation currently in progress. */ isDragging(): boolean; + /** + * Handle dragstart, drag and dragend events for the source node. + */ protected onDragEvent(e: DragEvent): boolean; - private _isVoidDrop; + /** + * Handle dragenter, dragover, dragleave, drop events. + */ protected onDropEvent(e: DragEvent): boolean; } } @@ -2670,9 +2698,9 @@ declare module "wunderbaum" { isEnabled(): boolean; /** Return true if tree has more than one column, i.e. has additional data columns. */ isGrid(): boolean; - /** Return true if cell-navigation mode is acive. */ + /** Return true if cell-navigation mode is active. */ isCellNav(): boolean; - /** Return true if row-navigation mode is acive. */ + /** Return true if row-navigation mode is active. */ isRowNav(): boolean; /** Set the tree's navigation mode. */ setCellNav(flag?: boolean): void; diff --git a/dist/wunderbaum.esm.js b/dist/wunderbaum.esm.js index 00692cd8..871e58f9 100644 --- a/dist/wunderbaum.esm.js +++ b/dist/wunderbaum.esm.js @@ -1,7 +1,7 @@ /*! * Wunderbaum - util * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** @module util */ /** Readable names for `MouseEvent.button` */ @@ -580,7 +580,7 @@ async function sleep(ms) { */ function toggleCheckbox(element, value, tristate) { const input = elemFromSelector(element); - assert(input.type === "checkbox"); + assert(input.type === "checkbox", `Expected a checkbox: ${input.type}`); tristate !== null && tristate !== void 0 ? tristate : (tristate = input.classList.contains("wb-tristate") || input.indeterminate); if (value === undefined) { const curValue = input.indeterminate ? null : input.checked; @@ -765,7 +765,7 @@ var util = /*#__PURE__*/Object.freeze({ /*! * Wunderbaum - types * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Possible values for {@link WunderbaumNode.update()} and {@link Wunderbaum.update()}. @@ -829,7 +829,7 @@ var NavModeEnum; /*! * Wunderbaum - wb_extension_base * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class WunderbaumExtension { constructor(tree, id, defaults) { @@ -1185,7 +1185,7 @@ function throttle(func, wait = 0, options = {}) { /*! * Wunderbaum - ext-filter * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const START_MARKER = "\uFFF7"; const END_MARKER = "\uFFF8"; @@ -1485,7 +1485,7 @@ function _markFuzzyMatchedChars(text, matches, escapeTitles = true) { /*! * Wunderbaum - ext-keynav * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const QUICKSEARCH_DELAY = 500; class KeynavExtension extends WunderbaumExtension { @@ -1831,7 +1831,7 @@ class KeynavExtension extends WunderbaumExtension { /*! * Wunderbaum - ext-logger * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class LoggerExtension extends WunderbaumExtension { constructor(tree) { @@ -1873,7 +1873,7 @@ class LoggerExtension extends WunderbaumExtension { /*! * Wunderbaum - common * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const DEFAULT_DEBUGLEVEL = 3; // Replaced by rollup script /** @@ -1999,7 +1999,7 @@ function makeNodeTitleMatcher(match) { return match.test(node.title); }; } - assert(typeof match === "string"); + assert(typeof match === "string", `Expected a string or RegExp: ${match}`); // s = escapeRegex(s.toLowerCase()); return function (node) { return node.title === match; @@ -2139,7 +2139,7 @@ function inflateSourceData(source) { /*! * Wunderbaum - ext-dnd * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const nodeMimeType = "application/x-wunderbaum-node"; class DndExtension extends WunderbaumExtension { @@ -2152,8 +2152,8 @@ class DndExtension extends WunderbaumExtension { // dropMarkerParent: "body", // Root Container used for drop marker (could be a shadow root) multiSource: false, effectAllowed: "all", - // dropEffect: "auto", // 'copy'|'link'|'move'|'auto'(calculate from `effectAllowed`+modifier keys) or callback(node, data) that returns such string. dropEffectDefault: "move", + guessDropEffect: true, preventForeignNodes: false, preventLazyParents: true, preventNonNodes: false, @@ -2163,7 +2163,7 @@ class DndExtension extends WunderbaumExtension { serializeClipboardData: true, scroll: true, scrollSensitivity: 20, - // scrollnterval: 50, // Generste event every 50 ms + // scrollnterval: 50, // Generate event every 50 ms scrollSpeed: 5, // setTextTypeJson: false, // Allow dragging of nodes to different IE windows sourceCopyHook: null, @@ -2186,7 +2186,7 @@ class DndExtension extends WunderbaumExtension { this.lastDropEffect = null; this.lastDropRegion = false; this.currentScrollDir = 0; - this.applyScrollDirThrottled = throttle(this.applyScrollDir, 50); + this.applyScrollDirThrottled = throttle(this._applyScrollDir, 50); } init() { super.init(); @@ -2258,8 +2258,68 @@ class DndExtension extends WunderbaumExtension { } // return "over"; } + /** + * Guess drop effect (copy/link/move) using opinionated conventions. + * + * Default: dnd.dropEffectDefault + */ + _guessDropEffect(e) { + // const nativeDropEffect = e.dataTransfer?.dropEffect; + var _a; + // if (nativeDropEffect && nativeDropEffect !== "none") { + // return nativeDropEffect; + // } + const dndOpts = this.treeOpts.dnd; + const ea = (_a = dndOpts.effectAllowed) !== null && _a !== void 0 ? _a : "all"; + const canCopy = ["all", "copy", "copyLink", "copyMove"].includes(ea); + const canLink = ["all", "link", "copyLink", "linkMove"].includes(ea); + const canMove = ["all", "move", "copyMove", "linkMove"].includes(ea); + let res = dndOpts.dropEffectDefault; + if (dndOpts.guessDropEffect) { + if (isMac) { + if (e.altKey && canCopy) { + res = "copy"; + } + if (e.metaKey && canMove) { + res = "move"; // command key + } + if (e.altKey && e.metaKey && canLink) { + res = "link"; + } + } + else { + if (e.ctrlKey && canCopy) { + res = "copy"; + } + if (e.shiftKey && canMove) { + res = "move"; + } + if (e.altKey && canLink) { + res = "link"; + } + } + } + return res; + } + /** Don't allow void operation ('drop on self').*/ + _isVoidDrop(targetNode, srcNode, dropRegion) { + // this.tree.logDebug( + // `_isVoidDrop: ${srcNode} -> ${dropRegion} ${targetNode}` + // ); + // TODO: should be checked on move only + if (!this.treeOpts.dnd.preventVoidMoves || !srcNode) { + return false; + } + if ((dropRegion === "before" && targetNode === srcNode.getNextSibling()) || + (dropRegion === "after" && targetNode === srcNode.getPrevSibling())) { + // this.tree.logDebug("Prevented before/after self"); + return true; + } + // Don't allow dropping nodes on own parent (or self) + return srcNode === targetNode || srcNode.parent === targetNode; + } /* Implement auto scrolling when drag cursor is in top/bottom area of scroll parent. */ - applyScrollDir() { + _applyScrollDir() { if (this.isDragging() && this.currentScrollDir) { const dndOpts = this.tree.options.dnd; const sp = this.tree.element; // scroll parent @@ -2273,7 +2333,7 @@ class DndExtension extends WunderbaumExtension { } } /* Implement auto scrolling when drag cursor is in top/bottom area of scroll parent. */ - autoScroll(viewportY) { + _autoScroll(viewportY) { const tree = this.tree; const dndOpts = tree.options.dnd; const sensitivity = dndOpts.scrollSensitivity; @@ -2309,15 +2369,19 @@ class DndExtension extends WunderbaumExtension { isDragging() { return !!this.srcNode; } + /** + * Handle dragstart, drag and dragend events for the source node. + */ onDragEvent(e) { // const tree = this.tree; const dndOpts = this.treeOpts.dnd; const srcNode = Wunderbaum.getNode(e); if (!srcNode) { + this.tree.logWarn(`onDragEvent.${e.type} no node`); return; } - if (e.type !== "drag") { - this.tree.logDebug("onDragEvent." + e.type + ", srcNode: " + srcNode, e); + if (["dragstart", "dragend"].includes(e.type)) { + this.tree.logDebug(`onDragEvent.${e.type} srcNode: ${srcNode}`, e); } // --- dragstart --- if (e.type === "dragstart") { @@ -2336,13 +2400,13 @@ class DndExtension extends WunderbaumExtension { } const nodeData = srcNode.toDict(true, (n) => { // We don't want to re-use the key on drop: - n._org_key = n.key; + n._orgKey = n.key; delete n.key; }); nodeData._treeId = srcNode.tree.id; if (dndOpts.serializeClipboardData) { if (typeof dndOpts.serializeClipboardData === "function") { - e.dataTransfer.setData(nodeMimeType, dndOpts.serializeClipboardData(nodeData)); + e.dataTransfer.setData(nodeMimeType, dndOpts.serializeClipboardData(nodeData, srcNode)); } else { e.dataTransfer.setData(nodeMimeType, JSON.stringify(nodeData)); @@ -2370,28 +2434,15 @@ class DndExtension extends WunderbaumExtension { if (this.lastTargetNode) { this._leaveNode(); } - if (dndOpts.dragEnd) { - srcNode._callEvent("dnd.dragEnd", { event: e }); - } + srcNode._callEvent("dnd.dragEnd", { event: e }); } return true; } - /* Don't allow void operation ('drop on self').*/ - _isVoidDrop(targetNode, srcNode, dropRegion) { - this.tree.logDebug(`_isVoidDrop: ${srcNode} -> ${dropRegion} ${targetNode}`); - // TODO: should be checked on move only - if (!this.treeOpts.dnd.preventVoidMoves || !srcNode) { - return false; - } - if ((dropRegion === "before" && targetNode === srcNode.getNextSibling()) || - (dropRegion === "after" && targetNode === srcNode.getPrevSibling())) { - this.tree.logDebug("Prevented before/after self"); - return true; - } - // Don't allow dropping nodes on own parent (or self) - return srcNode === targetNode || srcNode.parent === targetNode; - } + /** + * Handle dragenter, dragover, dragleave, drop events. + */ onDropEvent(e) { + var _a; // const isLink = event.dataTransfer.types.includes("text/uri-list"); const srcNode = this.srcNode; const srcTree = srcNode ? srcNode.tree : null; @@ -2403,15 +2454,9 @@ class DndExtension extends WunderbaumExtension { this._leaveNode(); return; } - if (!["dragenter", "dragover", "dragleave"].includes(e.type)) { - this.tree.logDebug("onDropEvent." + - e.type + - " targetNode: " + - targetNode + - ", ea: " + - (dt === null || dt === void 0 ? void 0 : dt.effectAllowed) + - ", de: " + - (dt === null || dt === void 0 ? void 0 : dt.dropEffect), ", cy: " + e.offsetY, ", r: " + dropRegion, ", srcNode: " + srcNode, e); + if (["drop"].includes(e.type)) { + this.tree.logDebug(`onDropEvent.${e.type} targetNode: ${targetNode}, ea: ${dt === null || dt === void 0 ? void 0 : dt.effectAllowed}, ` + + `de: ${dt === null || dt === void 0 ? void 0 : dt.dropEffect}, cy: ${e.offsetY}, r: ${dropRegion}, srcNode: ${srcNode}`, e); } // --- dragenter --- if (e.type === "dragenter") { @@ -2445,6 +2490,8 @@ class DndExtension extends WunderbaumExtension { return true; // Prevent drop operation } // User may return a set of regions (or `false` to prevent drop) + // Figure out a drop effect (copy/link/move) using opinated conventions. + dt.dropEffect = this._guessDropEffect(e) || "none"; let regionSet = targetNode._callEvent("dnd.dragEnter", { event: e }); // regionSet = this.unifyDragover(regionSet); @@ -2461,12 +2508,12 @@ class DndExtension extends WunderbaumExtension { } else if (e.type === "dragover") { const viewportY = e.clientY - this.tree.element.offsetTop; - this.autoScroll(viewportY); - if (dndOpts.dragOver) { - targetNode._callEvent("dnd.dragOver", { event: e }); - } + this._autoScroll(viewportY); + dt.dropEffect = this._guessDropEffect(e) || "none"; + targetNode._callEvent("dnd.dragOver", { event: e }); const region = this._calcDropRegion(e, this.lastAllowedDropRegions); this.lastDropRegion = region; + this.lastDropEffect = dt.dropEffect; if (dndOpts.autoExpandMS > 0 && targetNode.isExpandable(true) && !targetNode._isLoading && @@ -2480,8 +2527,6 @@ class DndExtension extends WunderbaumExtension { targetNode.setClass("wb-drop-over", region === "over"); targetNode.setClass("wb-drop-before", region === "before"); targetNode.setClass("wb-drop-after", region === "after"); - // console.log("dragover", e); - // dt.dropEffect = this.lastDropEffect!; e.preventDefault(); // Allow drop (Drop operation is denied by default) return false; // --- dragleave --- @@ -2489,21 +2534,30 @@ class DndExtension extends WunderbaumExtension { else if (e.type === "dragleave") { // NOTE: we cannot trust this event, since it is always fired, // Instead we remove the marker on dragenter - if (dndOpts.dragLeave) { - targetNode._callEvent("dnd.dragLeave", { event: e }); - } + targetNode._callEvent("dnd.dragLeave", { event: e }); // --- drop --- } else if (e.type === "drop") { e.stopPropagation(); // prevent browser from opening links? this._leaveNode(); const region = this.lastDropRegion; - targetNode._callEvent("dnd.drop", { - event: e, - region: region, - defaultDropMode: region === "over" ? "appendChild" : region, - sourceNode: this.srcNode, - }); + let nodeData = (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData(nodeMimeType); + nodeData = nodeData ? JSON.parse(nodeData) : null; + const srcNode = this.srcNode; + const lastDropEffect = this.lastDropEffect; + setTimeout(() => { + // Decouple this call, because drop actions may prevent the dragend event + // from being fired on some browsers + targetNode._callEvent("dnd.drop", { + event: e, + region: region, + suggestedDropMode: region === "over" ? "appendChild" : region, + suggestedDropEffect: lastDropEffect, + // suggestedDropEffect: e.dataTransfer?.dropEffect, + sourceNode: srcNode, + sourceNodeData: nodeData, + }); + }, 10); } } } @@ -2511,7 +2565,7 @@ class DndExtension extends WunderbaumExtension { /*! * Wunderbaum - drag_observer * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Convert mouse- and touch events to 'dragstart', 'drag', and 'dragstop'. @@ -2647,7 +2701,7 @@ class DragObserver { /*! * Wunderbaum - ext-grid * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class GridExtension extends WunderbaumExtension { constructor(tree) { @@ -2684,7 +2738,7 @@ class GridExtension extends WunderbaumExtension { /*! * Wunderbaum - deferred * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Implement a ES6 Promise, that exposes a resolve() and reject() method. @@ -2737,7 +2791,7 @@ class Deferred { /*! * Wunderbaum - wunderbaum_node * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** WunderbaumNode properties that can be passed with source data. * (Any other source properties will be stored as `node.data.PROP`.) @@ -2794,8 +2848,8 @@ class WunderbaumNode { this.subMatchCount = 0; this._rowIdx = 0; this._rowElem = undefined; - assert(!parent || parent.tree === tree); - assert(!data.children); + assert(!parent || parent.tree === tree, `Invalid parent: ${parent}`); + assert(!data.children, "'children' not allowed here"); this.tree = tree; this.parent = parent; this.key = "" + ((_a = data.key) !== null && _a !== void 0 ? _a : ++WunderbaumNode.sequence); @@ -2982,7 +3036,7 @@ class WunderbaumNode { case "appendChild": return this.addChildren(nodeData); } - assert(false, "Invalid mode: " + mode); + assert(false, `Invalid mode: ${mode}`); return undefined; } /** @@ -3528,9 +3582,9 @@ class WunderbaumNode { if (isArray(source)) { source = { children: source }; } - assert(isPlainObject(source)); + assert(isPlainObject(source), `Expected an array or plain object: ${source}`); const format = (_a = source.format) !== null && _a !== void 0 ? _a : "nested"; - assert(format === "nested" || format === "flat"); + assert(format === "nested" || format === "flat", `Expected source.format = 'nested' or 'flat': ${format}`); // Pre-rocess for 'nested' or 'flat' format inflateSourceData(source); assert(source.children, "If `source` is an object, it must have a `children` property"); @@ -3658,7 +3712,9 @@ class WunderbaumNode { this._requestId = 0; elap = Date.now() - start; if (tree.options.debugLevel >= 3) { - tree.logInfo(`Load source took ${elap / 1000} seconds (transfer: ${elapLoad / 1000}s, processing: ${elapProcess / 1000}s)`); + tree.logInfo(`Load source took ${elap / 1000} seconds ` + + `(transfer: ${elapLoad / 1000}s, ` + + `processing: ${elapProcess / 1000}s)`); } } } @@ -4073,9 +4129,9 @@ class WunderbaumNode { let checkboxSpan = null; let expanderSpan = null; const isNew = !rowDiv; - assert(isNew); + assert(isNew, "Expected unrendered node"); assert(!isNew || (opts && opts.after), "opts.after expected, unless updating"); - assert(!this.isRootNode()); + assert(!this.isRootNode(), "Root node not allowed"); rowDiv = document.createElement("div"); rowDiv.classList.add("wb-row"); rowDiv.style.top = this._rowIdx * ROW_HEIGHT + "px"; @@ -4175,7 +4231,7 @@ class WunderbaumNode { * @see {@link WunderbaumNode._render} */ _render_data(opts) { - assert(this._rowElem); + assert(this._rowElem, "No _rowElem"); const tree = this.tree; const treeOptions = tree.options; const rowDiv = this._rowElem; @@ -4634,7 +4690,7 @@ class WunderbaumNode { * {@link Wunderbaum.update()} API. */ update(change = ChangeType.data) { - assert(change === ChangeType.status || change === ChangeType.data); + assert(change === ChangeType.status || change === ChangeType.data, `Invalid change type ${change}`); this.tree.update(change, this); } /** @@ -4862,8 +4918,8 @@ class WunderbaumNode { // system root) const children = this.children; const firstChild = children ? children[0] : null; - assert(data.statusNodeType); - assert(!firstChild || !firstChild.isStatusNode()); + assert(data.statusNodeType, "Not a status node"); + assert(!firstChild || !firstChild.isStatusNode(), "Child must not be a status node"); statusNode = this.addNode(data, "prependChild"); statusNode.match = true; tree.update(ChangeType.structure); @@ -5062,7 +5118,7 @@ WunderbaumNode.sequence = 0; /*! * Wunderbaum - ext-edit * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ // const START_MARKER = "\uFFF7"; class EditExtension extends WunderbaumExtension { @@ -5328,7 +5384,7 @@ class EditExtension extends WunderbaumExtension { init = { title: init }; } else { - assert(isPlainObject(init)); + assert(isPlainObject(init), `Expected a plain object: ${init}`); } // Make sure node is expanded (and loaded) in 'child' mode if ((mode === "prependChild" || mode === "appendChild") && @@ -5358,8 +5414,8 @@ class EditExtension extends WunderbaumExtension { * https://github.com/mar10/wunderbaum * * Released under the MIT license. - * @version v0.5.4 - * @date Sun, 15 Oct 2023 16:43:28 GMT + * @version v0.5.5 + * @date Tue, 31 Oct 2023 14:26:34 GMT */ // import "./wunderbaum.scss"; class WbSystemRoot extends WunderbaumNode { @@ -5740,7 +5796,7 @@ class Wunderbaum { else if (el.target) { el = el.target; } - assert(el instanceof Element); + assert(el instanceof Element, `Invalid el type: ${el}`); if (!el.matches(".wunderbaum")) { el = el.closest(".wunderbaum"); } @@ -5992,7 +6048,7 @@ class Wunderbaum { } else { node = this.getActiveNode(); - assert(options === undefined); + assert(options === undefined, `Unexpected options: ${options}`); options = nodeOrOpts; } // clipboard = options.clipboard; @@ -6200,7 +6256,7 @@ class Wunderbaum { try { this.enableUpdate(false); const res = func(); - assert(!(res instanceof Promise)); + assert(!(res instanceof Promise), `Promise return not allowed: ${res}`); return res; } finally { @@ -6636,7 +6692,7 @@ class Wunderbaum { options = nodeOrOpts; node = options.node; } - assert(node && node._rowIdx != null); + assert(node && node._rowIdx != null, `Invalid node: ${node}`); const scrollParent = this.element; const headerHeight = this.headerElement.clientHeight; // May be 0 const scrollTop = scrollParent.scrollTop; @@ -6706,8 +6762,8 @@ class Wunderbaum { */ setColumn(colIdx) { var _a; - assert(this.isCellNav()); - assert(0 <= colIdx && colIdx < this.columns.length); + assert(this.isCellNav(), "Exected cellNav mode"); + assert(0 <= colIdx && colIdx < this.columns.length, `Invalid colIdx: ${colIdx}`); this.activeColIdx = colIdx; // Update `wb-active` class for all headers if (this.hasHeader()) { @@ -6825,11 +6881,11 @@ class Wunderbaum { isGrid() { return this.columns && this.columns.length > 1; } - /** Return true if cell-navigation mode is acive. */ + /** Return true if cell-navigation mode is active. */ isCellNav() { return !!this._cellNavMode; } - /** Return true if row-navigation mode is acive. */ + /** Return true if row-navigation mode is active. */ isRowNav() { return !this._cellNavMode; } @@ -6882,7 +6938,7 @@ class Wunderbaum { } /** Add or redefine node type definitions. */ setTypes(types, replace = true) { - assert(isPlainObject(types)); + assert(isPlainObject(types), `Expected plain objext: ${types}`); if (replace) { this.types = types; } @@ -6928,7 +6984,8 @@ class Wunderbaum { const defaultMinWidth = 4; const vpWidth = this.element.clientWidth; // Shorten last column width to avoid h-scrollbar - const FIX_ADJUST_LAST_COL = 0; // 2; + // (otherwise resizbing the demo would display a void scrollbar?) + const FIX_ADJUST_LAST_COL = 1; const columns = this.columns; const col0 = columns[0]; let totalWidth = 0; @@ -7021,7 +7078,7 @@ class Wunderbaum { * @internal */ _renderHeaderMarkup() { - assert(this.headerElement); + assert(this.headerElement, "Expected a headerElement"); const wantHeader = this.hasHeader(); setElemDisplay(this.headerElement, wantHeader); if (!wantHeader) { @@ -7029,7 +7086,7 @@ class Wunderbaum { } const colCount = this.columns.length; const headerRow = this.headerElement.querySelector(".wb-row"); - assert(headerRow); + assert(headerRow, "Expected a row in header element"); headerRow.innerHTML = "".repeat(colCount); for (let i = 0; i < colCount; i++) { const col = this.columns[i]; @@ -7491,7 +7548,7 @@ class Wunderbaum { } Wunderbaum.sequence = 0; /** Wunderbaum release version number "MAJOR.MINOR.PATCH". */ -Wunderbaum.version = "v0.5.4"; // Set to semver by 'grunt release' +Wunderbaum.version = "v0.5.5"; // Set to semver by 'grunt release' /** Expose some useful methods of the util.ts module as `Wunderbaum.util`. */ Wunderbaum.util = util; diff --git a/dist/wunderbaum.esm.min.js b/dist/wunderbaum.esm.min.js index 0d0cb4db..0d5cde33 100644 --- a/dist/wunderbaum.esm.min.js +++ b/dist/wunderbaum.esm.min.js @@ -1,76 +1,76 @@ /*! * Wunderbaum - util * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ -const MOUSE_BUTTONS={0:"",1:"left",2:"middle",3:"right",4:"back",5:"forward"},MAX_INT=9007199254740991,userInfo=_getUserInfo(),isMac=userInfo.isMac,REX_HTML=/[&<>"'/]/g,REX_TOOLTIP=/[<>"'/]/g,ENTITY_MAP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let Deferred$1=class{constructor(){this.thens=[],this.catches=[],this.status=""}resolve(e){if(this.status)throw new Error("already settled");this.status="resolved",this.resolvedValue=e,this.thens.forEach((t=>t(e))),this.thens=[]}reject(e){if(this.status)throw new Error("already settled");this.status="rejected",this.rejectedError=e,this.catches.forEach((t=>t(e))),this.catches=[]}then(e){"resolved"===status?e(this.resolvedValue):this.thens.unshift(e)}catch(e){"rejected"===this.status?e(this.rejectedError):this.catches.unshift(e)}promise(){return{then:this.then,catch:this.catch}}};function assert(e,t){if(!e)throw t=t||"Assertion failed.",new Error(t)}function _getUserInfo(){const e=navigator;return{isMac:/Mac/.test(e.platform)}}function documentReady(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}function documentReadyPromise(){return new Promise((e=>{documentReady(e)}))}function each(e,t){if(null==e)return e;const i=e.length;let s=0;if("number"==typeof i)for(;s")>=0&&error("Not implemented"),e}function getValueFromElem(e,t=!1){const i=e.tagName;let s=null;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,n=i.querySelector("input,select");if(n)return getValueFromElem(n,t);i.innerText=""+s}else if("INPUT"===i){const i=e;switch(i.type){case"button":case"reset":case"submit":case"image":break;case"checkbox":s=i.indeterminate?null:i.checked;break;case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":s=t?i.valueAsDate:i.value;break;case"number":case"range":s=i.valueAsNumber;break;case"radio":{const e=i.name,t=i.parentElement.querySelector(`input[name="${e}"]:checked`);s=t?t.value:void 0}break;default:s=i.value}}else if("SELECT"===i){s=e.value}return s}function setValueToElem(e,t){const i=e.tagName;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,s=i.querySelector("input,select");if(s)return setValueToElem(s,t);i.innerText=""+t}else if("INPUT"===i){const i=e,s=i.type;switch(s){case"checkbox":i.indeterminate=null===t,i.checked=!!t;break;case"date":case"month":case"time":case"week":case"datetime":case"datetime-local":i.valueAsDate=new Date(t);break;case"number":case"range":null==t?i.value=t:i.valueAsNumber=t;break;case"radio":error(`Not yet implemented: ${s}`);break;case"button":case"reset":case"submit":case"image":break;default:i.value=null!=t?t:""}}else if("SELECT"===i){const i=e;null==t?i.selectedIndex=-1:i.value=t}}function setElemDisplay(e,t){const i=elemFromSelector(e).style;t?"none"===i.display&&(i.display=""):""===i.display&&(i.display="none")}function elemFromHtml(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}const _IGNORE_KEYS=new Set(["Alt","Control","Meta","Shift"]);function elemFromSelector(e){return e?"string"==typeof e?document.querySelector(e):e:null}function eventTargetFromSelector(e){return e?"string"==typeof e?document.querySelector(e):e:null}function eventToString(e){const t=e.key,i=e.type,s=[];return e.altKey&&s.push("Alt"),e.ctrlKey&&s.push("Control"),e.metaKey&&s.push("Meta"),e.shiftKey&&s.push("Shift"),"click"===i||"dblclick"===i?s.push(MOUSE_BUTTONS[e.button]+i):"wheel"===i?s.push(i):_IGNORE_KEYS.has(t)||s.push(t),s.join("+")}function extend(...e){for(let t=1;t{e.addEventListener(t,(function(e){if(!n)return r(e);if(e.target){let t=e.target;if(t.matches(n))return r(e);if(t=t.closest(n),t)return r(e)}}))}))}function overrideMethod(e,t,i,s){let n,r;const o=s||e,l=e[t],a=(...e)=>l.apply(o,e),d=e=>l.apply(o,e);e[t]=(...e)=>{try{return n=o._super,r=o._superApply,o._super=a,o._superApply=d,i.apply(o,e)}finally{o._super=n,o._superApply=r}}}function setTimeoutPromise(e,t){return new Promise(((i,s)=>{setTimeout((()=>{try{i(e.apply(this))}catch(e){s(e)}}),t)}))}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function toggleCheckbox(e,t,i){const s=elemFromSelector(e);if(assert("checkbox"===s.type),null!=i||(i=s.classList.contains("wb-tristate")||s.indeterminate),void 0===t){switch(s.indeterminate?null:s.checked){case!0:t=!1;break;case!1:t=!i||null;break;case null:t=!0}}s.indeterminate=null==t,s.checked=!!t}function getOption(e,t,i=void 0){let s;e&&t.indexOf(".")>=0&&([s,t]=t.split("."),e=e[s]);const n=e?e[t]:null;return null!=n?n:i}function toSet(e){if(e instanceof Set)return e;if("string"==typeof e){const t=new Set;for(const i of e.split(" "))t.add(i.trim());return t}if(Array.isArray(e))return new Set(e);throw new Error("Cannot convert to Set: "+e)}function type(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase()}function adaptiveThrottle(e,t){let i=0,s=null;const n=Object.assign({minDelay:16,defaultDelay:200,maxDelay:5e3,delayFactor:2},t),r=Math.max(16,+n.minDelay),o=+n.maxDelay,l=(...t)=>{if(i)s=t,i+=1;else{i=1;const a=t;s=null;const d=Date.now();try{e.apply(this,a)}catch(e){console.error(e)}const c=Date.now()-d,h=Math.min(Math.max(r,c*n.delayFactor),o),u=Math.max(r,h-c);setTimeout((()=>{i=0,null!=s&&l.apply(this,s)}),u)}};return l}var ChangeType,RenderFlag,NodeStatusType,NodeRegion,NavModeEnum,util=Object.freeze({__proto__:null,Deferred:Deferred$1,MAX_INT:MAX_INT,MOUSE_BUTTONS:MOUSE_BUTTONS,adaptiveThrottle:adaptiveThrottle,assert:assert,documentReady:documentReady,documentReadyPromise:documentReadyPromise,each:each,elemFromHtml:elemFromHtml,elemFromSelector:elemFromSelector,error:error,escapeHtml:escapeHtml,escapeRegex:escapeRegex,escapeTooltip:escapeTooltip,eventTargetFromSelector:eventTargetFromSelector,eventToString:eventToString,extend:extend,extractHtmlText:extractHtmlText,getOption:getOption,getValueFromElem:getValueFromElem,isArray:isArray,isEmptyObject:isEmptyObject,isFunction:isFunction,isMac:isMac,isPlainObject:isPlainObject,noop:noop,onEvent:onEvent,overrideMethod:overrideMethod,setElemDisplay:setElemDisplay,setTimeoutPromise:setTimeoutPromise,setValueToElem:setValueToElem,sleep:sleep,toSet:toSet,toggleCheckbox:toggleCheckbox,type:type}); +const MOUSE_BUTTONS={0:"",1:"left",2:"middle",3:"right",4:"back",5:"forward"},MAX_INT=9007199254740991,userInfo=_getUserInfo(),isMac=userInfo.isMac,REX_HTML=/[&<>"'/]/g,REX_TOOLTIP=/[<>"'/]/g,ENTITY_MAP={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};let Deferred$1=class{constructor(){this.thens=[],this.catches=[],this.status=""}resolve(e){if(this.status)throw new Error("already settled");this.status="resolved",this.resolvedValue=e,this.thens.forEach((t=>t(e))),this.thens=[]}reject(e){if(this.status)throw new Error("already settled");this.status="rejected",this.rejectedError=e,this.catches.forEach((t=>t(e))),this.catches=[]}then(e){"resolved"===status?e(this.resolvedValue):this.thens.unshift(e)}catch(e){"rejected"===this.status?e(this.rejectedError):this.catches.unshift(e)}promise(){return{then:this.then,catch:this.catch}}};function assert(e,t){if(!e)throw t=t||"Assertion failed.",new Error(t)}function _getUserInfo(){const e=navigator;return{isMac:/Mac/.test(e.platform)}}function documentReady(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}function documentReadyPromise(){return new Promise((e=>{documentReady(e)}))}function each(e,t){if(null==e)return e;const i=e.length;let s=0;if("number"==typeof i)for(;s")>=0&&error("Not implemented"),e}function getValueFromElem(e,t=!1){const i=e.tagName;let s=null;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,n=i.querySelector("input,select");if(n)return getValueFromElem(n,t);i.innerText=""+s}else if("INPUT"===i){const i=e;switch(i.type){case"button":case"reset":case"submit":case"image":break;case"checkbox":s=i.indeterminate?null:i.checked;break;case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":s=t?i.valueAsDate:i.value;break;case"number":case"range":s=i.valueAsNumber;break;case"radio":{const e=i.name,t=i.parentElement.querySelector(`input[name="${e}"]:checked`);s=t?t.value:void 0}break;default:s=i.value}}else if("SELECT"===i){s=e.value}return s}function setValueToElem(e,t){const i=e.tagName;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,s=i.querySelector("input,select");if(s)return setValueToElem(s,t);i.innerText=""+t}else if("INPUT"===i){const i=e,s=i.type;switch(s){case"checkbox":i.indeterminate=null===t,i.checked=!!t;break;case"date":case"month":case"time":case"week":case"datetime":case"datetime-local":i.valueAsDate=new Date(t);break;case"number":case"range":null==t?i.value=t:i.valueAsNumber=t;break;case"radio":error(`Not yet implemented: ${s}`);break;case"button":case"reset":case"submit":case"image":break;default:i.value=null!=t?t:""}}else if("SELECT"===i){const i=e;null==t?i.selectedIndex=-1:i.value=t}}function setElemDisplay(e,t){const i=elemFromSelector(e).style;t?"none"===i.display&&(i.display=""):""===i.display&&(i.display="none")}function elemFromHtml(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}const _IGNORE_KEYS=new Set(["Alt","Control","Meta","Shift"]);function elemFromSelector(e){return e?"string"==typeof e?document.querySelector(e):e:null}function eventTargetFromSelector(e){return e?"string"==typeof e?document.querySelector(e):e:null}function eventToString(e){const t=e.key,i=e.type,s=[];return e.altKey&&s.push("Alt"),e.ctrlKey&&s.push("Control"),e.metaKey&&s.push("Meta"),e.shiftKey&&s.push("Shift"),"click"===i||"dblclick"===i?s.push(MOUSE_BUTTONS[e.button]+i):"wheel"===i?s.push(i):_IGNORE_KEYS.has(t)||s.push(t),s.join("+")}function extend(...e){for(let t=1;t{e.addEventListener(t,(function(e){if(!n)return r(e);if(e.target){let t=e.target;if(t.matches(n))return r(e);if(t=t.closest(n),t)return r(e)}}))}))}function overrideMethod(e,t,i,s){let n,r;const o=s||e,l=e[t],a=(...e)=>l.apply(o,e),d=e=>l.apply(o,e);e[t]=(...e)=>{try{return n=o._super,r=o._superApply,o._super=a,o._superApply=d,i.apply(o,e)}finally{o._super=n,o._superApply=r}}}function setTimeoutPromise(e,t){return new Promise(((i,s)=>{setTimeout((()=>{try{i(e.apply(this))}catch(e){s(e)}}),t)}))}async function sleep(e){return new Promise((t=>setTimeout(t,e)))}function toggleCheckbox(e,t,i){const s=elemFromSelector(e);if(assert("checkbox"===s.type,`Expected a checkbox: ${s.type}`),null!=i||(i=s.classList.contains("wb-tristate")||s.indeterminate),void 0===t){switch(s.indeterminate?null:s.checked){case!0:t=!1;break;case!1:t=!i||null;break;case null:t=!0}}s.indeterminate=null==t,s.checked=!!t}function getOption(e,t,i=void 0){let s;e&&t.indexOf(".")>=0&&([s,t]=t.split("."),e=e[s]);const n=e?e[t]:null;return null!=n?n:i}function toSet(e){if(e instanceof Set)return e;if("string"==typeof e){const t=new Set;for(const i of e.split(" "))t.add(i.trim());return t}if(Array.isArray(e))return new Set(e);throw new Error("Cannot convert to Set: "+e)}function type(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase()}function adaptiveThrottle(e,t){let i=0,s=null;const n=Object.assign({minDelay:16,defaultDelay:200,maxDelay:5e3,delayFactor:2},t),r=Math.max(16,+n.minDelay),o=+n.maxDelay,l=(...t)=>{if(i)s=t,i+=1;else{i=1;const a=t;s=null;const d=Date.now();try{e.apply(this,a)}catch(e){console.error(e)}const c=Date.now()-d,h=Math.min(Math.max(r,c*n.delayFactor),o),u=Math.max(r,h-c);setTimeout((()=>{i=0,null!=s&&l.apply(this,s)}),u)}};return l}var ChangeType,RenderFlag,NodeStatusType,NodeRegion,NavModeEnum,util=Object.freeze({__proto__:null,Deferred:Deferred$1,MAX_INT:MAX_INT,MOUSE_BUTTONS:MOUSE_BUTTONS,adaptiveThrottle:adaptiveThrottle,assert:assert,documentReady:documentReady,documentReadyPromise:documentReadyPromise,each:each,elemFromHtml:elemFromHtml,elemFromSelector:elemFromSelector,error:error,escapeHtml:escapeHtml,escapeRegex:escapeRegex,escapeTooltip:escapeTooltip,eventTargetFromSelector:eventTargetFromSelector,eventToString:eventToString,extend:extend,extractHtmlText:extractHtmlText,getOption:getOption,getValueFromElem:getValueFromElem,isArray:isArray,isEmptyObject:isEmptyObject,isFunction:isFunction,isMac:isMac,isPlainObject:isPlainObject,noop:noop,onEvent:onEvent,overrideMethod:overrideMethod,setElemDisplay:setElemDisplay,setTimeoutPromise:setTimeoutPromise,setValueToElem:setValueToElem,sleep:sleep,toSet:toSet,toggleCheckbox:toggleCheckbox,type:type}); /*! * Wunderbaum - types * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */!function(e){e.any="any",e.data="data",e.colStructure="colStructure",e.resize="resize",e.row="row",e.structure="structure",e.status="status",e.scroll="scroll"}(ChangeType||(ChangeType={})),function(e){e.clearMarkup="clearMarkup",e.header="header",e.redraw="redraw",e.scroll="scroll"}(RenderFlag||(RenderFlag={})),function(e){e.ok="ok",e.loading="loading",e.error="error",e.noData="noData",e.paging="paging"}(NodeStatusType||(NodeStatusType={})),function(e){e.unknown="",e.checkbox="checkbox",e.column="column",e.expander="expander",e.icon="icon",e.prefix="prefix",e.title="title"}(NodeRegion||(NodeRegion={})),function(e){e.startRow="startRow",e.cell="cell",e.startCell="startCell",e.row="row"}(NavModeEnum||(NavModeEnum={})); /*! * Wunderbaum - wb_extension_base * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class WunderbaumExtension{constructor(e,t,i){this.enabled=!0,this.tree=e,this.id=t,this.treeOpts=e.options;const s=e.options;void 0===this.treeOpts[t]?s[t]=this.extensionOpts=extend({},i):(this.extensionOpts=extend({},i,s[t]),s[t]=this.extensionOpts),this.enabled=this.getPluginOption("enabled",!0)}init(){this.tree.element.classList.add("wb-ext-"+this.id)}getPluginOption(e,t){var i;return null!==(i=this.extensionOpts[e])&&void 0!==i?i:t}setPluginOption(e,t){this.extensionOpts[e]=t}setEnabled(e=!0){return this.setPluginOption("enabled",!!e)}onKeyEvent(e){}onRender(e){}} /*! * debounce & throttle, taken from https://github.com/lodash/lodash v4.17.21 * MIT License: https://raw.githubusercontent.com/lodash/lodash/4.17.21-npm/LICENSE * Modified for TypeScript type annotations. - */const freeGlobal="object"==typeof global&&null!==global&&global.Object===Object&&global,freeGlobalThis="object"==typeof globalThis&&null!==globalThis&&globalThis.Object==Object&&globalThis,freeSelf="object"==typeof self&&null!==self&&self.Object===Object&&self,root=freeGlobalThis||freeGlobal||freeSelf||Function("return this")();function isObject(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function debounce(e,t=0,i={}){let s,n,r,o,l,a,d=0,c=!1,h=!1,u=!0;const p=!t&&0!==t&&"function"==typeof root.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function g(t){const i=s,r=n;return s=n=void 0,d=t,o=e.apply(r,i),o}function f(e,t){return p?(root.cancelAnimationFrame(l),root.requestAnimationFrame(e)):setTimeout(e,t)}function m(e){const i=e-a;return void 0===a||i>=t||i<0||h&&e-d>=r}function v(){const e=Date.now();if(m(e))return b(e);l=f(v,function(e){const i=e-d,s=t-(e-a);return h?Math.min(s,r-i):s}(e))}function b(e){return l=void 0,u&&s?g(e):(s=n=void 0,o)}function y(...e){const i=Date.now(),r=m(i);if(s=e,n=this,a=i,r){if(void 0===l)return function(e){return d=e,l=f(v,t),c?g(e):o}(a);if(h)return l=f(v,t),g(a)}return void 0===l&&(l=f(v,t)),o}return t=+t||0,isObject(i)&&(c=!!i.leading,h="maxWait"in i,r=h?Math.max(+i.maxWait||0,t):r,u="trailing"in i?!!i.trailing:u),y.cancel=function(){void 0!==l&&function(e){if(p)return root.cancelAnimationFrame(e);clearTimeout(e)}(l),d=0,s=a=n=l=void 0},y.flush=function(){return void 0===l?o:b(Date.now())},y.pending=function(){return void 0!==l},y}function throttle(e,t=0,i={}){let s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return isObject(i)&&(s="leading"in i?!!i.leading:s,n="trailing"in i?!!i.trailing:n),debounce(e,t,{leading:s,trailing:n,maxWait:t})} + */const freeGlobal="object"==typeof global&&null!==global&&global.Object===Object&&global,freeGlobalThis="object"==typeof globalThis&&null!==globalThis&&globalThis.Object==Object&&globalThis,freeSelf="object"==typeof self&&null!==self&&self.Object===Object&&self,root=freeGlobalThis||freeGlobal||freeSelf||Function("return this")();function isObject(e){const t=typeof e;return null!=e&&("object"===t||"function"===t)}function debounce(e,t=0,i={}){let s,n,r,o,l,a,d=0,c=!1,h=!1,u=!0;const p=!t&&0!==t&&"function"==typeof root.requestAnimationFrame;if("function"!=typeof e)throw new TypeError("Expected a function");function f(t){const i=s,r=n;return s=n=void 0,d=t,o=e.apply(r,i),o}function g(e,t){return p?(root.cancelAnimationFrame(l),root.requestAnimationFrame(e)):setTimeout(e,t)}function m(e){const i=e-a;return void 0===a||i>=t||i<0||h&&e-d>=r}function v(){const e=Date.now();if(m(e))return b(e);l=g(v,function(e){const i=e-d,s=t-(e-a);return h?Math.min(s,r-i):s}(e))}function b(e){return l=void 0,u&&s?f(e):(s=n=void 0,o)}function y(...e){const i=Date.now(),r=m(i);if(s=e,n=this,a=i,r){if(void 0===l)return function(e){return d=e,l=g(v,t),c?f(e):o}(a);if(h)return l=g(v,t),f(a)}return void 0===l&&(l=g(v,t)),o}return t=+t||0,isObject(i)&&(c=!!i.leading,h="maxWait"in i,r=h?Math.max(+i.maxWait||0,t):r,u="trailing"in i?!!i.trailing:u),y.cancel=function(){void 0!==l&&function(e){if(p)return root.cancelAnimationFrame(e);clearTimeout(e)}(l),d=0,s=a=n=l=void 0},y.flush=function(){return void 0===l?o:b(Date.now())},y.pending=function(){return void 0!==l},y}function throttle(e,t=0,i={}){let s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return isObject(i)&&(s="leading"in i?!!i.leading:s,n="trailing"in i?!!i.trailing:n),debounce(e,t,{leading:s,trailing:n,maxWait:t})} /*! * Wunderbaum - ext-filter * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */const START_MARKER="￷",END_MARKER="￸",RE_START_MARKER=new RegExp(escapeRegex("￷"),"g"),RE_END_MARTKER=new RegExp(escapeRegex("￸"),"g");class FilterExtension extends WunderbaumExtension{constructor(e){super(e,"filter",{connectInput:null,autoApply:!0,autoExpand:!1,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!0,leavesOnly:!1,mode:"dim",noData:!0}),this.lastFilterArgs=null}init(){super.init();const e=this.getPluginOption("connectInput");e&&(this.queryInput=elemFromSelector(e),onEvent(this.queryInput,"input",debounce((e=>{this.filterNodes(this.queryInput.value.trim(),{})}),700)))}setPluginOption(e,t){if(super.setPluginOption(e,t),"mode"===e)this.tree.filterMode="hide"===t?"hide":"dim",this.tree.updateFilter()}_applyFilterNoUpdate(e,t,i){return this.tree.runWithDeferredUpdate((()=>this._applyFilterImpl(e,t,i)))}_applyFilterImpl(e,t,i){let s,n,r=0;const o=Date.now(),l=this.tree,a=l.options,d=a.autoCollapse,c=extend({},a.filter,i),h="hide"===c.mode,u=!!c.leavesOnly&&!t;if("string"==typeof e){if(""===e)return l.logInfo("Passing an empty string as a filter is handled as clearFilter()."),void this.clearFilter();s=c.fuzzy?e.split("").map(escapeRegex).reduce((function(e,t){return e+"([^"+t+"]*)"+t}),""):escapeRegex(e);const t=new RegExp(s,"i"),i=new RegExp(escapeRegex(e),"gi");e=e=>{if(!e.title)return!1;const s=e.title,r=s.match(t);return r&&c.highlight&&(n=c.fuzzy?_markFuzzyMatchedChars(s,r,!0):s.replace(i,(function(e){return"￷"+e+"￸"})),e.titleWithHighlight=escapeHtml(n).replace(RE_START_MARKER,"").replace(RE_END_MARTKER,"")),!!r}}return l.filterMode=c.mode,this.lastFilterArgs=arguments,l.element.classList.toggle("wb-ext-filter-hide",!!h),l.element.classList.toggle("wb-ext-filter-dim",!h),l.element.classList.toggle("wb-ext-filter-hide-expanders",!!c.hideExpanders),l.root.subMatchCount=0,l.visit((e=>{delete e.match,delete e.titleWithHighlight,e.subMatchCount=0})),l.setStatus(NodeStatusType.ok),a.autoCollapse=!1,l.visit((i=>{if(u&&null!=i.children)return;let s=e(i);if("skip"===s)return i.visit((function(e){e.match=!1}),!0),"skip";let n=!1;(t||"branch"===s)&&i.parent.match&&(s=!0,n=!0),s&&(r++,i.match=!0,i.visitParents((e=>{e!==i&&(e.subMatchCount+=1),!c.autoExpand||n||e.expanded||(e.setExpanded(!0,{noAnimation:!0,noEvents:!0}),e._filterAutoExpanded=!0)}),!0))})),a.autoCollapse=d,0===r&&c.noData&&h&&l.root.setStatus(NodeStatusType.noData),l.logInfo(`Filter '${s}' found ${r} nodes in ${Date.now()-o} ms.`),r}filterNodes(e,t){return this._applyFilterNoUpdate(e,!1,t)}filterBranches(e,t){return this._applyFilterNoUpdate(e,!0,t)}updateFilter(){var e;const t=this.tree;t.filterMode&&this.lastFilterArgs&&(null===(e=t.options.filter)||void 0===e?void 0:e.autoApply)?this._applyFilterNoUpdate.apply(this,this.lastFilterArgs):t.logWarn("updateFilter(): no filter active.")}clearFilter(){const e=this.tree;e.enableUpdate(!1),e.setStatus(NodeStatusType.ok),delete e.root.match,delete e.root.subMatchCount,e.visit((e=>{delete e.match,delete e.subMatchCount,delete e.titleWithHighlight,e._filterAutoExpanded&&e.expanded&&e.setExpanded(!1,{noAnimation:!0,noEvents:!0}),delete e._filterAutoExpanded})),e.filterMode=null,this.lastFilterArgs=null,e.element.classList.remove("wb-ext-filter-dim","wb-ext-filter-hide"),e.enableUpdate(!0)}}function _markFuzzyMatchedChars(e,t,i=!0){const s=[];for(let e=1;e"})),n.join("")} /*! * Wunderbaum - ext-keynav * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */const QUICKSEARCH_DELAY=500;class KeynavExtension extends WunderbaumExtension{constructor(e){super(e,"keynav",{})}_getEmbeddedInputElem(e){var t;let i=null;if(e&&null!=e.type)i=e;else{const e=null===(t=this.tree.getActiveColElem())||void 0===t?void 0:t.querySelector("input,select");e&&(i=e)}return i}_isCurInputFocused(){var e;return!!(null===(e=this.tree.getActiveColElem())||void 0===e?void 0:e.querySelector("input:focus,select:focus"))}onKeyEvent(e){const t=e.event,i=this.tree,s=e.options,n=!t.ctrlKey||s.autoActivate,r=this._getEmbeddedInputElem(t.target),o=r&&this._isCurInputFocused(),l=s.navigationModeOption;let a,d=eventToString(t),c=e.node,h=!0;if(!i.isEnabled())return!1;if(!1===i._callEvent("keydown",e))return!1;if(!1===i._callMethod("edit._preprocessKeyEvent",e))return!1;if(!c){const e=i.getFocusNode()||i.getActiveNode(),t=i.getFirstChild();if(!e&&t&&"ArrowDown"===d)return t.logInfo("Keydown: activate first node."),void t.setActive();a=e||t,a&&(a.setFocus(),c=i.getFocusNode(),c.logInfo("Keydown: force focus on active node."))}const u=c.isColspan();if(i.isRowNav()){if(o){switch(d){case"Enter":r.blur(),i.setFocus();break;case"Escape":c._render(),i.setFocus()}return}if(s.quicksearch&&1===d.length&&/^\w$/.test(d)&&!r){const e=Date.now();e-i.lastQuicksearchTime>500&&(i.lastQuicksearchTerm=""),i.lastQuicksearchTime=e,i.lastQuicksearchTerm+=d;const s=i.findNextNode(i.lastQuicksearchTerm,i.getActiveNode());return s&&s.setActive(!0,{event:t}),void t.preventDefault()}switch(d){case"Enter":c.isActive()&&(c.isExpanded()?d="Subtract":c.isExpandable(!0)&&(d="Add"));break;case"ArrowLeft":c.expanded&&(d="Subtract");break;case"ArrowRight":if(!c.expanded&&c.isExpandable(!0))d="Add";else if(l===NavModeEnum.startCell||l===NavModeEnum.startRow)return t.preventDefault(),i.setCellNav(),!1}switch(d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":c.getOption("checkbox")?c.toggleSelected():c.setActive(!0,{event:t});break;case"Enter":c.setActive(!0,{event:t});break;case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"Backspace":case"End":case"Home":case"Control+End":case"Control+Home":case"Meta+ArrowDown":case"Meta+ArrowUp":case"PageDown":case"PageUp":c.navigate(d,{activate:n,event:t});break;default:h=!1}}else{const e=this._getEmbeddedInputElem(null),s=e?e.type||e.tagName:"",r=e&&this._isCurInputFocused(),o=e&&"checkbox"!==s;if(r){if("Escape"===d)return c._render(),c.logDebug("Reset focused input"),i.setFocus(),void i.setColumn(i.activeColIdx);if("Enter"!==d)return void c.logDebug(`Ignored ${d} inside focused input`)}else if(e&&1===d.length&&o)return e.focus(),e.value="",c.logDebug(`Focus imput: ${d}`),!1;switch("Tab"===d?(d="ArrowRight",h=!0):"Shift+Tab"===d&&(d=i.activeColIdx>0?"ArrowLeft":"",h=!0),d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":0===i.activeColIdx&&c.getOption("checkbox")?(c.toggleSelected(),h=!0):e&&"checkbox"===s&&(e.click(),h=!0);break;case"F2":e&&!r&&o&&(e.focus(),h=!0);break;case"Enter":i.setFocus(),(0===i.activeColIdx||u)&&c.isExpandable()?(c.setExpanded(!c.isExpanded()),h=!0):e&&!r&&o&&(e.focus(),h=!0);break;case"Escape":i.setFocus(),c.log("keynav: focus tree..."),i.isCellNav()&&l!==NavModeEnum.cell&&(c.log("keynav: setCellNav(false)"),i.setCellNav(!1),i.setFocus(),h=!0);break;case"ArrowLeft":i.setFocus(),u&&c.isExpanded()?c.setExpanded(!1):!u&&i.activeColIdx>0?i.setColumn(i.activeColIdx-1):l!==NavModeEnum.cell&&i.setCellNav(!1),h=!0;break;case"ArrowRight":i.setFocus(),u&&!c.isExpanded()?c.setExpanded():!u&&i.activeColIdx0&&i.setColumn(0),h=!0;break;case"End":i.setFocus(),!u&&i.activeColIdx=4){const t=this.ignoreEvents,i=this.prefix;overrideMethod(e,"callEvent",(function(s,n){if(t.has(s))return e._superApply(arguments);const r=Date.now(),o=e._superApply(arguments);return e.logDebug(`${i}: callEvent('${s}') took ${Date.now()-r} ms.`,arguments[1]),o}))}}onKeyEvent(e){this.tree.logDebug(`${this.prefix}: onKeyEvent()`,e)}} /*! * Wunderbaum - common * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const DEFAULT_DEBUGLEVEL=3,ROW_HEIGHT=22,ICON_WIDTH=20,TITLE_SPAN_PAD_Y=7,RENDER_MAX_PREFETCH=5,TEST_IMG=new RegExp(/\.|\//),iconMaps={bootstrap:{error:"bi bi-exclamation-triangle",loading:"bi bi-chevron-right wb-busy",noData:"bi bi-question-circle",expanderExpanded:"bi bi-chevron-down",expanderCollapsed:"bi bi-chevron-right",expanderLazy:"bi bi-chevron-right wb-helper-lazy-expander",checkChecked:"bi bi-check-square",checkUnchecked:"bi bi-square",checkUnknown:"bi bi-dash-square-dotted",radioChecked:"bi bi-circle-fill",radioUnchecked:"bi bi-circle",radioUnknown:"bi bi-record-circle",folder:"bi bi-folder2",folderOpen:"bi bi-folder2-open",folderLazy:"bi bi-folder-symlink",doc:"bi bi-file-earmark"},fontawesome6:{error:"fa-solid fa-triangle-exclamation",loading:"fa-solid fa-chevron-right fa-beat",noData:"fa-solid fa-circle-question",expanderExpanded:"fa-solid fa-chevron-down",expanderCollapsed:"fa-solid fa-chevron-right",expanderLazy:"fa-solid fa-chevron-right wb-helper-lazy-expander",checkChecked:"fa-regular fa-square-check",checkUnchecked:"fa-regular fa-square",checkUnknown:"fa-regular fa-square-minus",radioChecked:"fa-solid fa-circle",radioUnchecked:"fa-regular fa-circle",radioUnknown:"fa-regular fa-circle-question",folder:"fa-solid fa-folder-closed",folderOpen:"fa-regular fa-folder-open",folderLazy:"fa-solid fa-folder-plus",doc:"fa-regular fa-file"}},RESERVED_TREE_SOURCE_KEYS=new Set(["_format","_keyMap","_positional","_typeList","_version","children","columns","types"]),KEY_TO_ACTION_DICT={" ":"toggleSelect","+":"expand",Add:"expand",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",Backspace:"parent","/":"collapseAll",Divide:"collapseAll",End:"lastCol",Home:"firstCol","Control+End":"last","Control+Home":"first","Meta+ArrowDown":"last","Meta+ArrowUp":"first","*":"expandAll",Multiply:"expandAll",PageDown:"pageDown",PageUp:"pageUp","-":"collapse",Subtract:"collapse"};function makeNodeTitleMatcher(e){return e instanceof RegExp?function(t){return e.test(t.title)}:(assert("string"==typeof e),function(t){return t.title===e})}function makeNodeTitleStartMatcher(e){e=escapeRegex(e);const t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}function nodeTitleSorter(e,t){const i=e.title.toLowerCase(),s=t.title.toLowerCase();return i===s?0:i>s?1:-1}function unflattenSource(e){var t,i,s;const{_format:n,_keyMap:r,_positional:o,children:l}=e;if("flat"!==n)throw new Error(`Expected source._format: "flat", but got ${n}`);if(o&&o.includes("children"))throw new Error(`source._positional must not include "children": ${o}`);const a={};if(r)for(const[e,t]of Object.entries(r))a[t]=e;const d=o.map((e=>a[e])),c=[],h={},u={},p=null!==(t=a.key)&&void 0!==t?t:"key",g=null!==(i=a.children)&&void 0!==i?i:"children";for(const[e,t]of l.entries()){const[i,n,r={}]=t;t[1]=null,null!=t[2]&&(t[2]=null),n.forEach(((e,t)=>{r[d[t]]=e})),u[e]=r;const o=r[p];null!=o&&(h[o]=r);let l=null;if(null===i);else if("number"==typeof i){if(l=u[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by index: ${i}.`)}else if(l=h[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by key: ${i}`);l?(null!==(s=l[g])&&void 0!==s||(l[g]=[]),l[g].push(r)):c.push(r)}delete e.children,e.children=c}function inflateSourceData(e){const{_format:t,_keyMap:i,_typeList:s}=e;"flat"===t&&unflattenSource(e),delete e._format,delete e._version,delete e._keyMap,delete e._typeList,delete e._positional,function e(t){for(const n of t){i&&Object.getOwnPropertyNames(n).forEach((e=>{var t;const s=null!==(t=i[e])&&void 0!==t?t:e;s!==e&&(n[s]=n[e],delete n[e])}));const t=n.type;if(s&&null!=t&&"number"==typeof t){const e=s[t];if(null==e)throw new Error(`Expected typeList[${t}] entry in [${s}]`);n.type=e}n.children&&e(n.children)}}(e.children)} + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */const DEFAULT_DEBUGLEVEL=3,ROW_HEIGHT=22,ICON_WIDTH=20,TITLE_SPAN_PAD_Y=7,RENDER_MAX_PREFETCH=5,TEST_IMG=new RegExp(/\.|\//),iconMaps={bootstrap:{error:"bi bi-exclamation-triangle",loading:"bi bi-chevron-right wb-busy",noData:"bi bi-question-circle",expanderExpanded:"bi bi-chevron-down",expanderCollapsed:"bi bi-chevron-right",expanderLazy:"bi bi-chevron-right wb-helper-lazy-expander",checkChecked:"bi bi-check-square",checkUnchecked:"bi bi-square",checkUnknown:"bi bi-dash-square-dotted",radioChecked:"bi bi-circle-fill",radioUnchecked:"bi bi-circle",radioUnknown:"bi bi-record-circle",folder:"bi bi-folder2",folderOpen:"bi bi-folder2-open",folderLazy:"bi bi-folder-symlink",doc:"bi bi-file-earmark"},fontawesome6:{error:"fa-solid fa-triangle-exclamation",loading:"fa-solid fa-chevron-right fa-beat",noData:"fa-solid fa-circle-question",expanderExpanded:"fa-solid fa-chevron-down",expanderCollapsed:"fa-solid fa-chevron-right",expanderLazy:"fa-solid fa-chevron-right wb-helper-lazy-expander",checkChecked:"fa-regular fa-square-check",checkUnchecked:"fa-regular fa-square",checkUnknown:"fa-regular fa-square-minus",radioChecked:"fa-solid fa-circle",radioUnchecked:"fa-regular fa-circle",radioUnknown:"fa-regular fa-circle-question",folder:"fa-solid fa-folder-closed",folderOpen:"fa-regular fa-folder-open",folderLazy:"fa-solid fa-folder-plus",doc:"fa-regular fa-file"}},RESERVED_TREE_SOURCE_KEYS=new Set(["_format","_keyMap","_positional","_typeList","_version","children","columns","types"]),KEY_TO_ACTION_DICT={" ":"toggleSelect","+":"expand",Add:"expand",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",Backspace:"parent","/":"collapseAll",Divide:"collapseAll",End:"lastCol",Home:"firstCol","Control+End":"last","Control+Home":"first","Meta+ArrowDown":"last","Meta+ArrowUp":"first","*":"expandAll",Multiply:"expandAll",PageDown:"pageDown",PageUp:"pageUp","-":"collapse",Subtract:"collapse"};function makeNodeTitleMatcher(e){return e instanceof RegExp?function(t){return e.test(t.title)}:(assert("string"==typeof e,`Expected a string or RegExp: ${e}`),function(t){return t.title===e})}function makeNodeTitleStartMatcher(e){e=escapeRegex(e);const t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}function nodeTitleSorter(e,t){const i=e.title.toLowerCase(),s=t.title.toLowerCase();return i===s?0:i>s?1:-1}function unflattenSource(e){var t,i,s;const{_format:n,_keyMap:r,_positional:o,children:l}=e;if("flat"!==n)throw new Error(`Expected source._format: "flat", but got ${n}`);if(o&&o.includes("children"))throw new Error(`source._positional must not include "children": ${o}`);const a={};if(r)for(const[e,t]of Object.entries(r))a[t]=e;const d=o.map((e=>a[e])),c=[],h={},u={},p=null!==(t=a.key)&&void 0!==t?t:"key",f=null!==(i=a.children)&&void 0!==i?i:"children";for(const[e,t]of l.entries()){const[i,n,r={}]=t;t[1]=null,null!=t[2]&&(t[2]=null),n.forEach(((e,t)=>{r[d[t]]=e})),u[e]=r;const o=r[p];null!=o&&(h[o]=r);let l=null;if(null===i);else if("number"==typeof i){if(l=u[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by index: ${i}.`)}else if(l=h[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by key: ${i}`);l?(null!==(s=l[f])&&void 0!==s||(l[f]=[]),l[f].push(r)):c.push(r)}delete e.children,e.children=c}function inflateSourceData(e){const{_format:t,_keyMap:i,_typeList:s}=e;"flat"===t&&unflattenSource(e),delete e._format,delete e._version,delete e._keyMap,delete e._typeList,delete e._positional,function e(t){for(const n of t){i&&Object.getOwnPropertyNames(n).forEach((e=>{var t;const s=null!==(t=i[e])&&void 0!==t?t:e;s!==e&&(n[s]=n[e],delete n[e])}));const t=n.type;if(s&&null!=t&&"number"==typeof t){const e=s[t];if(null==e)throw new Error(`Expected typeList[${t}] entry in [${s}]`);n.type=e}n.children&&e(n.children)}}(e.children)} /*! * Wunderbaum - ext-dnd * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const nodeMimeType="application/x-wunderbaum-node";class DndExtension extends WunderbaumExtension{constructor(e){super(e,"dnd",{autoExpandMS:1500,multiSource:!1,effectAllowed:"all",dropEffectDefault:"move",preventForeignNodes:!1,preventLazyParents:!0,preventNonNodes:!1,preventRecursion:!0,preventSameParent:!1,preventVoidMoves:!0,serializeClipboardData:!0,scroll:!0,scrollSensitivity:20,scrollSpeed:5,sourceCopyHook:null,dragStart:null,drag:null,dragEnd:null,dragEnter:null,dragOver:null,dragExpand:null,drop:null,dragLeave:null}),this.srcNode=null,this.lastTargetNode=null,this.lastEnterStamp=0,this.lastAllowedDropRegions=null,this.lastDropEffect=null,this.lastDropRegion=!1,this.currentScrollDir=0,this.applyScrollDirThrottled=throttle(this.applyScrollDir,50)}init(){super.init();const e=this.tree,t=e.options.dnd;t.dragStart&&onEvent(e.element,"dragstart drag dragend",this.onDragEvent.bind(this)),t.dragEnter&&onEvent(e.element,"dragenter dragover dragleave drop",this.onDropEvent.bind(this))}_leaveNode(){const e=this.lastTargetNode;this.lastEnterStamp=0,e&&(e.setClass("wb-drop-target wb-drop-over wb-drop-after wb-drop-before",!1),this.lastTargetNode=null)}unifyDragover(e){if(!1===e)return!1;if(e instanceof Set)return e.size>0&&e;if(!0===e)return new Set(["over","before","after"]);if("string"==typeof e||isArray(e))return(e=toSet(e)).size>0&&e;throw new Error("Unsupported drop region definition: "+e)}_calcDropRegion(e,t){const i=e.offsetY;return!!t&&(3===t.size?i<5.5?"before":i>16.5?"after":"over":1===t.size&&t.has("over")?"over":i>11?"after":"before")}applyScrollDir(){if(this.isDragging()&&this.currentScrollDir){const e=this.tree.options.dnd,t=this.tree.element,i=t.scrollTop;this.currentScrollDir<0?t.scrollTop=Math.max(0,i-e.scrollSpeed):this.currentScrollDir>0&&(t.scrollTop=i+e.scrollSpeed)}}autoScroll(e){const t=this.tree,i=t.options.dnd.scrollSensitivity,s=t.element,n=t.headerElement.clientHeight,r=s.offsetHeight,o=s.scrollTop;return this.currentScrollDir=0,o>0&&e>0&&e<=i+n?this.currentScrollDir=-1:o=r-i&&(this.currentScrollDir=1),this.currentScrollDir&&this.applyScrollDirThrottled(),s.scrollTop-o}isDragging(){return!!this.srcNode}onDragEvent(e){const t=this.treeOpts.dnd,i=Wunderbaum.getNode(e);if(i){if("drag"!==e.type&&this.tree.logDebug("onDragEvent."+e.type+", srcNode: "+i,e),"dragstart"===e.type){if(e.dataTransfer.effectAllowed=t.effectAllowed,i.isEditing())return i.logDebug("Prevented dragging node in edit mode."),e.preventDefault(),!1;if(!i._callEvent("dnd.dragStart",{event:e}))return e.preventDefault(),!1;const s=i.toDict(!0,(e=>{e._org_key=e.key,delete e.key}));s._treeId=i.tree.id,t.serializeClipboardData&&("function"==typeof t.serializeClipboardData?e.dataTransfer.setData(nodeMimeType,t.serializeClipboardData(s)):e.dataTransfer.setData(nodeMimeType,JSON.stringify(s))),e.dataTransfer.setData("text/plain",i.title),this.srcNode=i,setTimeout((()=>{i.setClass("wb-drag-source")}),0)}else"drag"===e.type?t.drag&&i._callEvent("dnd.drag",{event:e}):"dragend"===e.type&&(i.setClass("wb-drag-source",!1),this.srcNode=null,this.lastTargetNode&&this._leaveNode(),t.dragEnd&&i._callEvent("dnd.dragEnd",{event:e}));return!0}}_isVoidDrop(e,t,i){return this.tree.logDebug(`_isVoidDrop: ${t} -> ${i} ${e}`),!(!this.treeOpts.dnd.preventVoidMoves||!t)&&("before"===i&&e===t.getNextSibling()||"after"===i&&e===t.getPrevSibling()?(this.tree.logDebug("Prevented before/after self"),!0):t===e||t.parent===e)}onDropEvent(e){const t=this.srcNode,i=t?t.tree:null,s=Wunderbaum.getNode(e),n=this.treeOpts.dnd,r=e.dataTransfer,o=this._calcDropRegion(e,this.lastAllowedDropRegions);if(s){if(["dragenter","dragover","dragleave"].includes(e.type)||this.tree.logDebug("onDropEvent."+e.type+" targetNode: "+s+", ea: "+(null==r?void 0:r.effectAllowed)+", de: "+(null==r?void 0:r.dropEffect),", cy: "+e.offsetY,", r: "+o,", srcNode: "+t,e),"dragenter"===e.type){if(this.lastAllowedDropRegions=null,this.lastTargetNode&&this.lastTargetNode!==s&&this._leaveNode(),this.lastTargetNode=s,this.lastEnterStamp=Date.now(),s.isStatusNode()||n.preventForeignNodes&&s.tree!==i||n.preventLazyParents&&!s.isLoaded()||n.preventNonNodes&&!t||n.preventRecursion&&(null==t?void 0:t.isAncestorOf(s))||n.preventSameParent&&t&&s.parent===t.parent||n.preventVoidMoves&&s===t)return r.dropEffect="none",this.tree.log("Prevented drop operation"),!0;let o=s._callEvent("dnd.dragEnter",{event:e});return o=this.unifyDragover(o),o?(this.lastAllowedDropRegions=o,this.lastDropEffect=r.dropEffect,s.setClass("wb-drop-target"),e.preventDefault(),!1):(r.dropEffect="none",!0)}if("dragover"===e.type){const i=e.clientY-this.tree.element.offsetTop;this.autoScroll(i),n.dragOver&&s._callEvent("dnd.dragOver",{event:e});const r=this._calcDropRegion(e,this.lastAllowedDropRegions);if(this.lastDropRegion=r,n.autoExpandMS>0&&s.isExpandable(!0)&&!s._isLoading&&Date.now()-this.lastEnterStamp>n.autoExpandMS&&!1!==s._callEvent("dnd.dragExpand",{event:e})&&s.setExpanded(),!r||this._isVoidDrop(s,t,r))return;return s.setClass("wb-drop-over","over"===r),s.setClass("wb-drop-before","before"===r),s.setClass("wb-drop-after","after"===r),e.preventDefault(),!1}if("dragleave"===e.type)n.dragLeave&&s._callEvent("dnd.dragLeave",{event:e});else if("drop"===e.type){e.stopPropagation(),this._leaveNode();const t=this.lastDropRegion;s._callEvent("dnd.drop",{event:e,region:t,defaultDropMode:"over"===t?"appendChild":t,sourceNode:this.srcNode})}}else this._leaveNode()}} + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */const nodeMimeType="application/x-wunderbaum-node";class DndExtension extends WunderbaumExtension{constructor(e){super(e,"dnd",{autoExpandMS:1500,multiSource:!1,effectAllowed:"all",dropEffectDefault:"move",guessDropEffect:!0,preventForeignNodes:!1,preventLazyParents:!0,preventNonNodes:!1,preventRecursion:!0,preventSameParent:!1,preventVoidMoves:!0,serializeClipboardData:!0,scroll:!0,scrollSensitivity:20,scrollSpeed:5,sourceCopyHook:null,dragStart:null,drag:null,dragEnd:null,dragEnter:null,dragOver:null,dragExpand:null,drop:null,dragLeave:null}),this.srcNode=null,this.lastTargetNode=null,this.lastEnterStamp=0,this.lastAllowedDropRegions=null,this.lastDropEffect=null,this.lastDropRegion=!1,this.currentScrollDir=0,this.applyScrollDirThrottled=throttle(this._applyScrollDir,50)}init(){super.init();const e=this.tree,t=e.options.dnd;t.dragStart&&onEvent(e.element,"dragstart drag dragend",this.onDragEvent.bind(this)),t.dragEnter&&onEvent(e.element,"dragenter dragover dragleave drop",this.onDropEvent.bind(this))}_leaveNode(){const e=this.lastTargetNode;this.lastEnterStamp=0,e&&(e.setClass("wb-drop-target wb-drop-over wb-drop-after wb-drop-before",!1),this.lastTargetNode=null)}unifyDragover(e){if(!1===e)return!1;if(e instanceof Set)return e.size>0&&e;if(!0===e)return new Set(["over","before","after"]);if("string"==typeof e||isArray(e))return(e=toSet(e)).size>0&&e;throw new Error("Unsupported drop region definition: "+e)}_calcDropRegion(e,t){const i=e.offsetY;return!!t&&(3===t.size?i<5.5?"before":i>16.5?"after":"over":1===t.size&&t.has("over")?"over":i>11?"after":"before")}_guessDropEffect(e){var t;const i=this.treeOpts.dnd,s=null!==(t=i.effectAllowed)&&void 0!==t?t:"all",n=["all","copy","copyLink","copyMove"].includes(s),r=["all","link","copyLink","linkMove"].includes(s),o=["all","move","copyMove","linkMove"].includes(s);let l=i.dropEffectDefault;return i.guessDropEffect&&(isMac?(e.altKey&&n&&(l="copy"),e.metaKey&&o&&(l="move"),e.altKey&&e.metaKey&&r&&(l="link")):(e.ctrlKey&&n&&(l="copy"),e.shiftKey&&o&&(l="move"),e.altKey&&r&&(l="link"))),l}_isVoidDrop(e,t,i){return!(!this.treeOpts.dnd.preventVoidMoves||!t)&&("before"===i&&e===t.getNextSibling()||"after"===i&&e===t.getPrevSibling()||(t===e||t.parent===e))}_applyScrollDir(){if(this.isDragging()&&this.currentScrollDir){const e=this.tree.options.dnd,t=this.tree.element,i=t.scrollTop;this.currentScrollDir<0?t.scrollTop=Math.max(0,i-e.scrollSpeed):this.currentScrollDir>0&&(t.scrollTop=i+e.scrollSpeed)}}_autoScroll(e){const t=this.tree,i=t.options.dnd.scrollSensitivity,s=t.element,n=t.headerElement.clientHeight,r=s.offsetHeight,o=s.scrollTop;return this.currentScrollDir=0,o>0&&e>0&&e<=i+n?this.currentScrollDir=-1:o=r-i&&(this.currentScrollDir=1),this.currentScrollDir&&this.applyScrollDirThrottled(),s.scrollTop-o}isDragging(){return!!this.srcNode}onDragEvent(e){const t=this.treeOpts.dnd,i=Wunderbaum.getNode(e);if(i){if(["dragstart","dragend"].includes(e.type)&&this.tree.logDebug(`onDragEvent.${e.type} srcNode: ${i}`,e),"dragstart"===e.type){if(e.dataTransfer.effectAllowed=t.effectAllowed,i.isEditing())return i.logDebug("Prevented dragging node in edit mode."),e.preventDefault(),!1;if(!i._callEvent("dnd.dragStart",{event:e}))return e.preventDefault(),!1;const s=i.toDict(!0,(e=>{e._orgKey=e.key,delete e.key}));s._treeId=i.tree.id,t.serializeClipboardData&&("function"==typeof t.serializeClipboardData?e.dataTransfer.setData(nodeMimeType,t.serializeClipboardData(s,i)):e.dataTransfer.setData(nodeMimeType,JSON.stringify(s))),e.dataTransfer.setData("text/plain",i.title),this.srcNode=i,setTimeout((()=>{i.setClass("wb-drag-source")}),0)}else"drag"===e.type?t.drag&&i._callEvent("dnd.drag",{event:e}):"dragend"===e.type&&(i.setClass("wb-drag-source",!1),this.srcNode=null,this.lastTargetNode&&this._leaveNode(),i._callEvent("dnd.dragEnd",{event:e}));return!0}this.tree.logWarn(`onDragEvent.${e.type} no node`)}onDropEvent(e){var t;const i=this.srcNode,s=i?i.tree:null,n=Wunderbaum.getNode(e),r=this.treeOpts.dnd,o=e.dataTransfer,l=this._calcDropRegion(e,this.lastAllowedDropRegions);if(n){if(["drop"].includes(e.type)&&this.tree.logDebug(`onDropEvent.${e.type} targetNode: ${n}, ea: ${null==o?void 0:o.effectAllowed}, de: ${null==o?void 0:o.dropEffect}, cy: ${e.offsetY}, r: ${l}, srcNode: ${i}`,e),"dragenter"===e.type){if(this.lastAllowedDropRegions=null,this.lastTargetNode&&this.lastTargetNode!==n&&this._leaveNode(),this.lastTargetNode=n,this.lastEnterStamp=Date.now(),n.isStatusNode()||r.preventForeignNodes&&n.tree!==s||r.preventLazyParents&&!n.isLoaded()||r.preventNonNodes&&!i||r.preventRecursion&&(null==i?void 0:i.isAncestorOf(n))||r.preventSameParent&&i&&n.parent===i.parent||r.preventVoidMoves&&n===i)return o.dropEffect="none",this.tree.log("Prevented drop operation"),!0;o.dropEffect=this._guessDropEffect(e)||"none";let t=n._callEvent("dnd.dragEnter",{event:e});return t=this.unifyDragover(t),t?(this.lastAllowedDropRegions=t,this.lastDropEffect=o.dropEffect,n.setClass("wb-drop-target"),e.preventDefault(),!1):(o.dropEffect="none",!0)}if("dragover"===e.type){const t=e.clientY-this.tree.element.offsetTop;this._autoScroll(t),o.dropEffect=this._guessDropEffect(e)||"none",n._callEvent("dnd.dragOver",{event:e});const s=this._calcDropRegion(e,this.lastAllowedDropRegions);if(this.lastDropRegion=s,this.lastDropEffect=o.dropEffect,r.autoExpandMS>0&&n.isExpandable(!0)&&!n._isLoading&&Date.now()-this.lastEnterStamp>r.autoExpandMS&&!1!==n._callEvent("dnd.dragExpand",{event:e})&&n.setExpanded(),!s||this._isVoidDrop(n,i,s))return;return n.setClass("wb-drop-over","over"===s),n.setClass("wb-drop-before","before"===s),n.setClass("wb-drop-after","after"===s),e.preventDefault(),!1}if("dragleave"===e.type)n._callEvent("dnd.dragLeave",{event:e});else if("drop"===e.type){e.stopPropagation(),this._leaveNode();const i=this.lastDropRegion;let s=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData(nodeMimeType);s=s?JSON.parse(s):null;const r=this.srcNode,o=this.lastDropEffect;setTimeout((()=>{n._callEvent("dnd.drop",{event:e,region:i,suggestedDropMode:"over"===i?"appendChild":i,suggestedDropEffect:o,sourceNode:r,sourceNodeData:s})}),10)}}else this._leaveNode()}} /*! * Wunderbaum - drag_observer * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */class DragObserver{constructor(e){if(this.start={x:0,y:0,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1},this.dragElem=null,this.dragging=!1,this.events=["mousedown","mouseup","mousemove","keydown"],!e.root)throw new Error("Missing `root` option.");this.opts=Object.assign({thresh:5},e),this.root=e.root,this._handler=this.handleEvent.bind(this),this.events.forEach((e=>{this.root.addEventListener(e,this._handler)}))}disconnect(){this.events.forEach((e=>{this.root.removeEventListener(e,this._handler)}))}getDragElem(){return this.dragElem}isDragging(){return this.dragging}stopDrag(e){this.dragging&&this.opts.dragstop&&e&&(e.type="dragstop",this.opts.dragstop(e)),this.dragElem=null,this.dragging=!1}handleEvent(e){const t=e.type,i=this.opts,s={type:e.type,event:e,dragElem:this.dragElem,dx:e.pageX-this.start.x,dy:e.pageY-this.start.y,apply:void 0};switch(t){case"keydown":this.stopDrag(s);break;case"mousedown":if(this.dragElem){this.stopDrag(s);break}if(i.selector){let t=e.target;if(t.matches(i.selector))this.dragElem=t;else{if(t=t.closest(i.selector),!t)break;this.dragElem=t}}this.start.x=e.pageX,this.start.y=e.pageY,this.start.altKey=e.altKey,this.start.ctrlKey=e.ctrlKey,this.start.metaKey=e.metaKey,this.start.shiftKey=e.shiftKey;break;case"mousemove":if(!this.dragElem)break;if(!this.dragging){if(i.thresh){if(s.dx*s.dx+s.dy*s.dythis.tree.element.contains(e.dragElem),drag:e=>this.handleDrag(e),dragstop:e=>this.handleDrag(e)})}init(){super.init()}handleDrag(e){const t=Wunderbaum.getEventInfo(e.event);this.tree.log(`${e.type}(${e.dx})`,e,t)}} /*! * Wunderbaum - deferred * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */class Deferred{constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve(e)}reject(e){this._reject(e)}promise(){return this._promise}then(e){return this._promise.then(e)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}} /*! * Wunderbaum - wunderbaum_node * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const NODE_PROPS=new Set(["checkbox","classes","expanded","icon","iconTooltip","key","lazy","_partsel","radiogroup","refKey","selected","statusNodeType","title","tooltip","type","unselectable"]),NODE_DICT_PROPS=new Set(NODE_PROPS);NODE_DICT_PROPS.delete("_partsel"),NODE_DICT_PROPS.delete("unselectable");class WunderbaumNode{constructor(e,t,i){var s,n;this.refKey=void 0,this.children=null,this.classes=null,this.data={},this._isLoading=!1,this._requestId=0,this._errorInfo=null,this._partsel=!1,this._partload=!1,this.subMatchCount=0,this._rowIdx=0,this._rowElem=void 0,assert(!t||t.tree===e),assert(!i.children),this.tree=e,this.parent=t,this.key=""+(null!==(s=i.key)&&void 0!==s?s:++WunderbaumNode.sequence),this.title=""+(null!==(n=i.title)&&void 0!==n?n:"<"+this.key+">"),null!=i.refKey&&(this.refKey=""+i.refKey),null!=i.type&&(this.type=""+i.type),this.expanded=!0===i.expanded,null!=i.icon&&(this.icon=i.icon),this.lazy=!0===i.lazy,null!=i.statusNodeType&&(this.statusNodeType=""+i.statusNodeType),null!=i.colspan&&(this.colspan=!!i.colspan),null!=i.checkbox&&(this.checkbox=!!i.checkbox),null!=i.radiogroup&&(this.radiogroup=!!i.radiogroup),this.selected=!0===i.selected,!0===i.unselectable&&(this.unselectable=!0),i.classes&&this.setClass(i.classes);for(const[e,t]of Object.entries(i))NODE_PROPS.has(e)||(this.data[e]=t);t&&!this.statusNodeType&&e._registerNode(this)}toString(){return`WunderbaumNode@${this.key}<'${this.title}'>`}*[Symbol.iterator](){const e=this.children;if(e)for(let t=0,i=e.length;t=0,`options.before must be a direct child of ${this}`),this.children.splice(e,0,...o)}else this.children=o;i.update(ChangeType.structure)}finally{i.enableUpdate(!0)}return o[0]}addNode(e,t="appendChild"){switch("over"===t&&(t="appendChild"),t){case"after":return this.parent.addChildren(e,{before:this.getNextSibling()});case"before":return this.parent.addChildren(e,{before:this});case"prependChild":return this.addChildren(e,{before:0});case"appendChild":return this.addChildren(e)}assert(!1,"Invalid mode: "+t)}applyCommand(e,t){return this.tree.applyCommand(e,this,t)}collapseSiblings(e){for(const t of this.parent.children)t!==this&&t.expanded&&t.setExpanded(!1,e)}setClass(e,t=!0){const i=toSet(e);if(t)null===this.classes&&(this.classes=new Set),i.forEach((e=>{var i;this.classes.add(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)}));else{if(null===this.classes)return;i.forEach((e=>{var i;this.classes.delete(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)})),0===this.classes.size&&(this.classes=null)}}async expandAll(e=!0,t){const i=this.tree,s=this.tree.options.minExpandLevel,{depth:n=99,loadLazy:r,force:o,keepActiveNodeVisible:l=!0}=null!=t?t:{},a={scrollIntoView:!1,force:o,loadLazy:r};const d=i.logTime(`${this}.expandAll(${e})`);try{i.enableUpdate(!1),await async function t(i,n){var l;if(0===n)return;const d=null==n?null:n-1,c=[];return null===(l=i.children)||void 0===l||l.forEach((i=>{if(e)if(!i.expanded&&(i.children||r&&i.lazy)){const e=i.setExpanded(!0,a);c.push(e),e.then((async()=>{await t(i,d)}))}else c.push(t(i,d));else(!s||o||i.getLevel()>s)&&i.setExpanded(!1,a),t(i,d)})),new Promise((e=>{Promise.all(c).then((()=>{e(!0)}))}))}(this,n)}finally{i.enableUpdate(!0),i.logTimeEnd(d)}i.activeNode&&l&&i.activeNode.scrollIntoView()}findAll(e){const t="function"==typeof e?e:makeNodeTitleMatcher(e),i=[];return this.visit((e=>{t(e)&&i.push(e)})),i}findDirectChild(e){const t=this.children;if(!t)return null;if("string"==typeof e){for(let i=0,s=t.length;i{if(t(e))return i=e,!1})),i}findRelatedNode(e,t=!1){return this.tree.findRelatedNode(this,e,t)}*format_iter(e,t){function i(e){const t=e.parent.children;return e===t[t.length-1]}null!=t||(t=[" "," | "," ╰─ "," ├─ "]),null!=e||(e=e=>""+e);const s=s=>{const n=[e(s)];n.unshift(t[i(s)?2:3]);let r=s.parent;for(;r&&r!==this;)n.unshift(t[i(r)?0:1]),r=r.parent;return n.join("")};yield e(this);for(const e of this)yield s(e)}format(e,t){const i=[];for(const s of this.format_iter(e,t))i.push(s);return i.join("\n")}getColElem(e){var t;"string"==typeof e&&(e=this.tree.columns.findIndex((t=>t.id===e)));const i=null===(t=this._rowElem)||void 0===t?void 0:t.querySelectorAll("span.wb-col");return i?i[e]:null}getFirstChild(){return this.children?this.children[0]:null}getLastChild(){return this.children?this.children[this.children.length-1]:null}getLevel(){let e=0,t=this.parent;for(;t;)e++,t=t.parent;return e}getNextSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t+1]||null}getParent(){return this.parent}getParentList(e=!1,t=!1){const i=[];let s=t?this:this.parent;for(;s;)(e||s.parent)&&i.unshift(s),s=s.parent;return i}getPath(e=!0,t="title",i="/"){let s;const n=[],r="function"==typeof t;return this.visitParents((e=>{e.parent&&(s=r?t(e):e[t],n.unshift(s))}),e),n.join(i)}getPrevSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t-1]||null}hasChildren(){if(this.lazy){if(null==this.children)return;if(0===this.children.length)return!1;if(1===this.children.length&&this.children[0].isStatusNode())return;return!0}return!(!this.children||!this.children.length)}hasClass(e){return!!this.classes&&this.classes.has(e)}isActive(){return this.tree.activeNode===this}isAncestorOf(e){return e&&e.isDescendantOf(this)}isChildOf(e){return e&&this.parent===e}isColspan(){return!!this.getOption("colspan")}isDescendantOf(e){if(!e||e.tree!==this.tree)return!1;let t=this.parent;for(;t;){if(t===e)return!0;t===t.parent&&error(`Recursive parent link: ${t}`),t=t.parent}return!1}isExpandable(e=!1){return!(e&&this.expanded||!1===this.children)&&(null==this.children?!!this.lazy:0!==this.children.length||!!this.tree.options.emptyChildListExpandable)}isEditing(){return this.tree._callMethod("edit.isEditingTitle",this)}isExpanded(){return!!this.expanded}isFirstSibling(){const e=this.parent;return!e||e.children[0]===this}isLastSibling(){const e=this.parent;return!e||e.children[e.children.length-1]===this}isLazy(){return!!this.lazy}isLoaded(){return!this.lazy||void 0!==this.hasChildren()}isLoading(){return this._isLoading}isPagingNode(){return"paging"===this.statusNodeType}isParentOf(e){return e&&e.parent===this}isPartload(){return!!this._partload}isPartsel(){return!this.selected&&!!this._partsel}isRadio(){return!!this.parent.radiogroup||"radio"===this.getOption("checkbox")}isRendered(){return!!this._rowElem}isRootNode(){return this.tree.root===this}isSelected(){return!!this.selected||!!this._partsel&&void 0}isStatusNode(){return!!this.statusNodeType}isTopLevel(){return this.tree.root===this.parent}isUnloaded(){return void 0===this.hasChildren()}isVisible(){const e="hide"===this.tree.filterMode,t=this.getParentList(!1,!1);if(e&&!this.match&&!this.subMatchCount)return!1;for(let e=0,i=t.length;ei)return void this.logWarn(`Ignored load response #${i} because #${this._requestId} is pending.`);if(this.logDebug(`Received response for load request #${i}`),null===this.parent&&null!==s)return void this.logWarn("Lazy parent node was removed while loading: discarding response.");this.setStatus(NodeStatusType.ok);const r=Date.now();this._loadSourceObject(t),l=Date.now()-r}else this._loadSourceObject(e),l=Date.now()-n}catch(t){throw this.logError("Error during load()",e,t),this._callEvent("error",{error:t}),this.setStatus(NodeStatusType.error,{message:""+t}),t}finally{this._requestId=0,r=Date.now()-n,t.options.debugLevel>=3&&t.logInfo(`Load source took ${r/1e3} seconds (transfer: ${o/1e3}s, processing: ${l/1e3}s)`)}}async loadLazy(e=!1){const t=this.expanded;if(assert(this.lazy,"load() requires a lazy node"),e||this.isUnloaded()){this.isLoaded()&&this.resetLazy(),this.setStatus(NodeStatusType.loading);try{const e=await this._callEvent("lazyLoad");if(!1===e)return void this.setStatus(NodeStatusType.ok);assert(isArray(e)||e&&e.url,"The lazyLoad event must return a node list, `{url: ...}`, or false."),await this.load(e),t?(this.expanded=!0,this.tree.update(ChangeType.structure)):this.update()}catch(e){this.logError("Error during loadLazy()",e),this._callEvent("error",{error:e}),this.setStatus(NodeStatusType.error,{message:""+e})}}}log(...e){this.logDebug(...e)}logDebug(...e){this.tree.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.tree.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.tree.options.debugLevel>=3&&console.info(this.toString(),...e)}logWarn(...e){this.tree.options.debugLevel>=2&&console.warn(this.toString(),...e)}async makeVisible(e){let t;const i=new Deferred,s=[],n=this.getParentList(!1,!1),r=n.length,o=getOption(e,"noAnimation",!1),l=getOption(e,"scrollIntoView",!0);for(t=r-1;t>=0;t--){const e={noAnimation:o};s.push(n[t].setExpanded(!0,e))}return Promise.all(s).then((()=>{l&&this.tree?(this.tree.updatePendingModifications(),this.scrollIntoView().then((()=>{i.resolve()}))):i.resolve()})),i.promise()}moveTo(e,t="appendChild",i){let s;"over"===t&&(t="appendChild"),"prependChild"===t&&(e.children&&e.children.length?(t="before",e=e.children[0]):t="appendChild");const n=this.tree,r=this.parent,o="appendChild"===t?e:e.parent;if(this!==e){if(this.parent?o.isDescendantOf(this)&&error("Cannot move a node to its own descendant"):error("Cannot move system root"),o!==r&&r.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===o)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else s=this.parent.children.indexOf(this),assert(s>=0,"invalid source parent"),this.parent.children.splice(s,1);if(this.parent=o,o.hasChildren())switch(t){case"appendChild":o.children.push(this);break;case"before":s=o.children.indexOf(e),assert(s>=0,"invalid target parent"),o.children.splice(s,0,this);break;case"after":s=o.children.indexOf(e),assert(s>=0,"invalid target parent"),o.children.splice(s+1,0,this);break;default:error(`Invalid mode '${t}'.`)}else o.children=[this];i&&e.visit(i,!0),o===r?o.triggerModifyChild("move",this):o.triggerModifyChild("add",this),n!==e.tree&&(this.logWarn("Cross-tree moveTo is experimental!"),this.visit((t=>{t.tree=e.tree}),!0)),setTimeout((()=>{n.update(ChangeType.any)}),0)}}async navigate(e,t){e=KEY_TO_ACTION_DICT[e]||e;const i=this.findRelatedNode(e);if(!i)return this.logWarn(`Could not find related node '${e}'.`),Promise.resolve(this);try{i.makeVisible({scrollIntoView:!1})}catch(e){}return i.setFocus(),!1===(null==t?void 0:t.activate)?Promise.resolve(this):i.setActive(!0,{event:null==t?void 0:t.event})}remove(){const e=this.tree,t=this.parent.children.indexOf(this);this.triggerModify("remove"),this.parent.children.splice(t,1),this.visit((t=>{t.removeMarkup(),e._unregisterNode(t)}),!0),e.update(ChangeType.structure)}removeChildren(){const e=this.tree;this.children&&(e.activeNode&&e.activeNode.isDescendantOf(this)&&e.activeNode.setActive(!1),e.focusNode&&e.focusNode.isDescendantOf(this)&&(e.focusNode=null),this.triggerModifyChild("remove",null),this.visit((t=>{e._unregisterNode(t)})),this.lazy?this.children=[]:this.children=null,this.isRootNode()||(this.expanded=!1),this.tree.update(ChangeType.structure))}removeMarkup(){this._rowElem&&(delete this._rowElem._wb_node,this._rowElem.remove(),this._rowElem=void 0)}_getRenderInfo(){const e={},t={},i=this.isColspan(),s=this._rowElem?this._rowElem.querySelectorAll("span.wb-col"):null;let n=0;for(const r of this.tree.columns)e[r.id]={id:r.id,idx:n,elem:s?s[n]:null,info:r},i||"*"===r.id||(t[r.id]=e[r.id]),n++;return{allColInfosById:e,renderColInfosById:t}}_createIcon(e,t,i,s){let n,r=this.getOption("icon");if(this._errorInfo?r=e.error:this._isLoading&&s&&(r=e.loading),!1===r)return null;"string"==typeof r||(r=this.statusNodeType?e[this.statusNodeType]:this.expanded?e.folderOpen:this.children?e.folder:this.lazy?e.folderLazy:e.doc),r?r.indexOf("<")>=0?n=elemFromHtml(r):TEST_IMG.test(r)?n=elemFromHtml(``):(n=document.createElement("i"),n.className="wb-icon "+r):(n=document.createElement("i"),n.className="wb-icon"),i?t.replaceChild(n,i):t.appendChild(n);const o=this._callEvent("iconBadge",{iconSpan:n});let l=null;if(null!=o&&!1!==o){let e="",t="";isPlainObject(o)?(l=""+o.badge,e=o.badgeClass?" "+o.badgeClass:"",t=o.badgeTooltip?` title="${o.badgeTooltip}"`:""):l="number"==typeof o?""+o:o,"string"==typeof l&&(l=elemFromHtml(`${escapeHtml(l)}`)),l&&n.append(l)}return n}_render_markup(e){const t=this.tree,i=t.options,s=this.getOption("checkbox"),n=t.columns,r=this.getLevel(),o=t.isRowNav()?null:t.activeColIdx;let l,a=this._rowElem,d=null,c=null;const h=!a;assert(h),assert(!h||e&&e.after,"opts.after expected, unless updating"),assert(!this.isRootNode()),a=document.createElement("div"),a.classList.add("wb-row"),a.style.top=22*this._rowIdx+"px",this._rowElem=a,a._wb_node=this;const u=document.createElement("span");u.classList.add("wb-node","wb-col"),a.appendChild(u);let p=0;s&&(d=document.createElement("i"),d.classList.add("wb-checkbox"),("radio"===s||this.parent.radiogroup)&&d.classList.add("wb-radio"),u.appendChild(d),p+=20);for(let e=r-1;e>0;e--)l=document.createElement("i"),l.classList.add("wb-indent"),u.appendChild(l),p+=20;(!i.minExpandLevel||r>i.minExpandLevel)&&(c=document.createElement("i"),c.classList.add("wb-expander"),u.appendChild(c),p+=20);this._createIcon(t.iconMap,u,null,!c)&&(p+=20);const g=document.createElement("span");g.classList.add("wb-title"),u.appendChild(g),u._ofsTitlePx=p,t.options.dnd.dragStart&&(u.draggable=!0);if(!this.isColspan()&&n.length>1){let e=0;for(const t of n){let i;e++,"*"===t.id?i=u:(i=document.createElement("span"),i.classList.add("wb-col"),a.appendChild(i)),e===o&&i.classList.add("wb-active"),t.classes&&i.classList.add(...t.classes.split(" ")),i.style.left=t._ofsPx+"px",i.style.width=t._widthPx+"px",h&&t.html&&"string"==typeof t.html&&(i.innerHTML=t.html)}}switch(e?e.after:"last"){case"first":t.nodeListElement.prepend(a);break;case"last":t.nodeListElement.appendChild(a);break;default:e.after.after(a)}e.isNew=!0,this._render_data(e)}_render_data(e){assert(this._rowElem);const t=this.tree,i=t.options,s=this._rowElem,n=!!e.isNew,r=!!e.preventScroll,o=t.columns,l=this.isColspan(),a=s.querySelector("span.wb-node"),d=a.querySelector("span.wb-title"),c=t.element.scrollTop;if(this.titleWithHighlight?d.innerHTML=this.titleWithHighlight:d.textContent=this.title,r&&(t.element.scrollTop=c),!i.skeleton)if(l){const e=t.element.clientWidth;d.style.width=e-a._ofsTitlePx-7+"px"}else d.style.width=o[0]._widthPx-a._ofsTitlePx-7+"px";if(e.isDataChange=!0,this._render_status(e),this.statusNodeType)this._callEvent("renderStatusNode",{isNew:n,nodeElem:a,isColspan:l});else if(this.parent){const e=this._getRenderInfo();this._callEvent("render",{isNew:n,nodeElem:a,isColspan:l,allColInfosById:e.allColInfosById,renderColInfosById:e.renderColInfosById})}}_render_status(e){const t=this.tree,i=t.iconMap,s=t.options,n=this.type?t.types[this.type]:null,r=this._rowElem,o=r.querySelector("span.wb-node"),l=o.querySelector("i.wb-expander"),a=o.querySelector("i.wb-checkbox"),d=["wb-row"];if(this.expanded&&d.push("wb-expanded"),this.lazy&&d.push("wb-lazy"),this.selected&&d.push("wb-selected"),this._partsel&&d.push("wb-partsel"),this===t.activeNode&&d.push("wb-active"),this===t.focusNode&&d.push("wb-focus"),this._errorInfo&&d.push("wb-error"),this._isLoading&&d.push("wb-loading"),this.isColspan()&&d.push("wb-colspan"),this.statusNodeType&&d.push("wb-status-"+this.statusNodeType),this.match&&d.push("wb-match"),this.subMatchCount&&d.push("wb-submatch"),s.skeleton&&d.push("wb-skeleton"),r.className=d.join(" "),this.classes&&r.classList.add(...this.classes),n&&n.classes&&r.classList.add(...n.classes),l){let e=null;this._isLoading?e=i.loading:this.isExpandable(!1)?e=this.expanded?i.expanderExpanded:i.expanderCollapsed:this.lazy&&null==this.children&&(e=i.expanderLazy),null==e?l.classList.add("wb-indent"):TEST_IMG.test(e)?l.style.backgroundImage=`url('${e}')`:l.className="wb-expander "+e}if(a){let e="wb-checkbox ";this.isRadio()?(e+="wb-radio ",this.selected?e+=i.radioChecked:e+=i.radioUnchecked):this.selected?e+=i.checkChecked:this._partsel?e+=i.checkUnknown:e+=i.checkUnchecked,a.className=e}if(!e.isNew){let e=0;for(const i of r.children)i.classList.toggle("wb-active",e++===t.activeColIdx);const i=o.querySelector("i.wb-icon");i&&this._createIcon(t.iconMap,o,i,!l)}if(!1!==e.resizeCols&&!this.isColspan()){const e=r.querySelectorAll("span.wb-col");let t=0,i=0;for(const s of this.tree.columns){const n=e[t];n.style.left=`${i}px`,n.style.width=`${s._widthPx}px`,t++,i+=s._widthPx}}}_render(e){const t=Object.assign({change:ChangeType.data},e);switch(this._rowElem||(t.change=ChangeType.row),t.change){case"status":this._render_status(t);break;case"data":this._render_data(t);break;case"row":this._render_markup(t);break;default:error(`Invalid change type '${t.change}'.`)}}resetLazy(){this.removeChildren(),this.expanded=!1,this.lazy=!0,this.children=null,this.tree.update(ChangeType.structure)}toDict(e=!1,t){const i={};if(NODE_DICT_PROPS.forEach((e=>{const t=this[e];t instanceof Set?t.size&&(i[e]=Array.prototype.join.call(t.keys()," ")):(t||!1===t||0===t)&&(i[e]=t)})),isEmptyObject(this.data)||(i.data=extend({},this.data),isEmptyObject(i.data)&&delete i.data),t){const s=t(i,this);if(!1===s)return!1;"skip"===s&&(e=!1)}if(e&&isArray(this.children)){i.children=[];for(let e=0,s=this.children.length;e=0&&([s,e]=e.split("."));const n=s[e];if("function"==typeof n){const e=n.call(i,{type:"resolve",tree:i,node:this});if(void 0!==e)return e}if(void 0!==this[e])return this[e];const r=this.type?i.types[this.type]:void 0,o=r?r[e]:void 0;return void 0!==o?o:null!=n?n:t}async scrollIntoView(e){const t=Object.assign({node:this},e);return this.tree.scrollTo(t)}async setActive(e=!0,t){const i=this.tree,s=i.activeNode,n=null==t?void 0:t.retrigger,r=null==t?void 0:t.focusTree,o=!1!==(null==t?void 0:t.focusNode),l=null==t?void 0:t.noEvents,a=null==t?void 0:t.event;if(!l)if(e){if(s!==this||n){if(!1===(null==s?void 0:s._callEvent("deactivate",{nextNode:this,event:a}))||!1===this._callEvent("beforeActivate",{prevNode:s,event:a}))return;i.activeNode=null,null==s||s.update(ChangeType.status)}}else(s===this||n)&&this._callEvent("deactivate",{nextNode:null,event:a});return s!==this&&(e&&(i.activeNode=this,(o||r)&&(i.focusNode=this),r&&i.setFocus()),null==s||s.update(ChangeType.status),this.update(ChangeType.status)),t&&null!=t.colIdx&&t.colIdx!==i.activeColIdx&&i.isCellNav()&&i.setColumn(t.colIdx),e&&!l&&this._callEvent("activate",{prevNode:s,event:a}),this.makeVisible()}async setExpanded(e=!0,t){const{force:i,scrollIntoView:s,immediate:n}=null!=t?t:{};if(!e&&this.isExpanded()&&this.getLevel()<=this.tree.getOption("minExpandLevel")&&!i)return void this.logDebug("Ignored collapse request below expandLevel.");if(!e==!this.expanded)return;e&&this.getOption("autoCollapse")&&this.collapseSiblings(t),e&&this.lazy&&null==this.children&&await this.loadLazy(),this.expanded=e;const r={immediate:n};if(this.tree.update(ChangeType.structure,r),e&&s){const e=this.getLastChild();e&&(this.tree.updatePendingModifications(),e.scrollIntoView({topNode:this}))}}setFocus(e=!0){assert(!!e,"blur is not yet implemented");const t=this.tree.focusNode;this.tree.focusNode=this,null==t||t.update(),this.update()}setIcon(e){this.icon=e,this.update()}setKey(e,t){throw new Error("Not yet implemented")}update(e=ChangeType.data){assert(e===ChangeType.status||e===ChangeType.data),this.tree.update(e,this)}getSelectedNodes(e=!1){const t=[];return this.visit((i=>{if(i.selected&&(t.push(i),!0===e))return"skip"})),t}toggleSelected(e){let t=this.isSelected();return t=void 0!==t||this.isRadio()?!t:this._anySelectable(),this.setSelected(t,e)}_anySelectable(){let e=!1;return this.visit((t=>{if(!1===t.selected&&!t.unselectable&&!t.hasChildren()&&!t.parent.radiogroup)return e=!0,!1})),e}_changeSelectStatusProps(e){let t=!1;switch(e){case!1:t=this.selected||this._partsel,this.selected=!1,this._partsel=!1;break;case!0:t=!this.selected||!this._partsel,this.selected=!0,this._partsel=!0;break;case void 0:t=this.selected||!this._partsel,this.selected=!1,this._partsel=!0;break;default:error(`Invalid state: ${e}`)}return t&&this.update(),t}fixSelection3AfterClick(e){const t=!!(null==e?void 0:e.force),i=this.isSelected();this.visit((e=>{if(e.radiogroup)return"skip";!t&&e.getOption("unselectable")||e._changeSelectStatusProps(i)})),this.fixSelection3FromEndNodes()}fixSelection3FromEndNodes(e){const t=!!(null==e?void 0:e.force);assert("hier"===this.tree.options.selectMode,"expected selectMode 'hier'");const i=e=>{let s;const n=e.children;if(n&&n.length){let e=!0,t=!1;for(let s=0,r=n.length;s{let t;const i=e.children;let s=!0,n=!1;for(let e=0,r=i.length;e{this.visit((t=>{t.setSelected(e)}))})),n):(e===n||s&&!1===this._callEvent("beforeSelect",{flag:e})||(i.runWithDeferredUpdate((()=>{if(r){if(!e&&!(null==t?void 0:t.force))return n;for(const e of this.parent.children)e.selected=e===this}else this.selected=e,"hier"===o?this.fixSelection3AfterClick():"single"===o&&i.visit((e=>{e.selected=!1}))})),s&&this._callEvent("select",{flag:e})),n):n}setStatus(e,t){const i=this.tree,s=null==t?void 0:t.message,n=null==t?void 0:t.details;let r=null;const o=e=>{const t=this.children,s=t?t[0]:null;return assert(e.statusNodeType),assert(!s||!s.isStatusNode()),r=this.addNode(e,"prependChild"),r.match=!0,i.update(ChangeType.structure),r};switch((()=>{const e=this.children;e&&e.length&&e[0].isStatusNode()&&e[0].remove()})(),e){case"ok":this._isLoading=!1,this._errorInfo=null;break;case"loading":this._isLoading=!0,this._errorInfo=null,this.parent?this.update(ChangeType.status):o({statusNodeType:e,title:i.options.strings.loading+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n});break;case"error":o({statusNodeType:e,title:i.options.strings.loadError+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo={message:s,details:n};break;case"noData":o({statusNodeType:e,title:s||i.options.strings.noData,checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo=null;break;default:error("invalid node status "+e)}return i.update(ChangeType.structure),r}setTitle(e){this.title=e,this.update()}_sortChildren(e,t){const i=this.children;if(i&&(i.sort(e),t))for(let s=0,n=i.length;s"),null!=i.refKey&&(this.refKey=""+i.refKey),null!=i.type&&(this.type=""+i.type),this.expanded=!0===i.expanded,null!=i.icon&&(this.icon=i.icon),this.lazy=!0===i.lazy,null!=i.statusNodeType&&(this.statusNodeType=""+i.statusNodeType),null!=i.colspan&&(this.colspan=!!i.colspan),null!=i.checkbox&&(this.checkbox=!!i.checkbox),null!=i.radiogroup&&(this.radiogroup=!!i.radiogroup),this.selected=!0===i.selected,!0===i.unselectable&&(this.unselectable=!0),i.classes&&this.setClass(i.classes);for(const[e,t]of Object.entries(i))NODE_PROPS.has(e)||(this.data[e]=t);t&&!this.statusNodeType&&e._registerNode(this)}toString(){return`WunderbaumNode@${this.key}<'${this.title}'>`}*[Symbol.iterator](){const e=this.children;if(e)for(let t=0,i=e.length;t=0,`options.before must be a direct child of ${this}`),this.children.splice(e,0,...o)}else this.children=o;i.update(ChangeType.structure)}finally{i.enableUpdate(!0)}return o[0]}addNode(e,t="appendChild"){switch("over"===t&&(t="appendChild"),t){case"after":return this.parent.addChildren(e,{before:this.getNextSibling()});case"before":return this.parent.addChildren(e,{before:this});case"prependChild":return this.addChildren(e,{before:0});case"appendChild":return this.addChildren(e)}assert(!1,`Invalid mode: ${t}`)}applyCommand(e,t){return this.tree.applyCommand(e,this,t)}collapseSiblings(e){for(const t of this.parent.children)t!==this&&t.expanded&&t.setExpanded(!1,e)}setClass(e,t=!0){const i=toSet(e);if(t)null===this.classes&&(this.classes=new Set),i.forEach((e=>{var i;this.classes.add(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)}));else{if(null===this.classes)return;i.forEach((e=>{var i;this.classes.delete(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)})),0===this.classes.size&&(this.classes=null)}}async expandAll(e=!0,t){const i=this.tree,s=this.tree.options.minExpandLevel,{depth:n=99,loadLazy:r,force:o,keepActiveNodeVisible:l=!0}=null!=t?t:{},a={scrollIntoView:!1,force:o,loadLazy:r};const d=i.logTime(`${this}.expandAll(${e})`);try{i.enableUpdate(!1),await async function t(i,n){var l;if(0===n)return;const d=null==n?null:n-1,c=[];return null===(l=i.children)||void 0===l||l.forEach((i=>{if(e)if(!i.expanded&&(i.children||r&&i.lazy)){const e=i.setExpanded(!0,a);c.push(e),e.then((async()=>{await t(i,d)}))}else c.push(t(i,d));else(!s||o||i.getLevel()>s)&&i.setExpanded(!1,a),t(i,d)})),new Promise((e=>{Promise.all(c).then((()=>{e(!0)}))}))}(this,n)}finally{i.enableUpdate(!0),i.logTimeEnd(d)}i.activeNode&&l&&i.activeNode.scrollIntoView()}findAll(e){const t="function"==typeof e?e:makeNodeTitleMatcher(e),i=[];return this.visit((e=>{t(e)&&i.push(e)})),i}findDirectChild(e){const t=this.children;if(!t)return null;if("string"==typeof e){for(let i=0,s=t.length;i{if(t(e))return i=e,!1})),i}findRelatedNode(e,t=!1){return this.tree.findRelatedNode(this,e,t)}*format_iter(e,t){function i(e){const t=e.parent.children;return e===t[t.length-1]}null!=t||(t=[" "," | "," ╰─ "," ├─ "]),null!=e||(e=e=>""+e);const s=s=>{const n=[e(s)];n.unshift(t[i(s)?2:3]);let r=s.parent;for(;r&&r!==this;)n.unshift(t[i(r)?0:1]),r=r.parent;return n.join("")};yield e(this);for(const e of this)yield s(e)}format(e,t){const i=[];for(const s of this.format_iter(e,t))i.push(s);return i.join("\n")}getColElem(e){var t;"string"==typeof e&&(e=this.tree.columns.findIndex((t=>t.id===e)));const i=null===(t=this._rowElem)||void 0===t?void 0:t.querySelectorAll("span.wb-col");return i?i[e]:null}getFirstChild(){return this.children?this.children[0]:null}getLastChild(){return this.children?this.children[this.children.length-1]:null}getLevel(){let e=0,t=this.parent;for(;t;)e++,t=t.parent;return e}getNextSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t+1]||null}getParent(){return this.parent}getParentList(e=!1,t=!1){const i=[];let s=t?this:this.parent;for(;s;)(e||s.parent)&&i.unshift(s),s=s.parent;return i}getPath(e=!0,t="title",i="/"){let s;const n=[],r="function"==typeof t;return this.visitParents((e=>{e.parent&&(s=r?t(e):e[t],n.unshift(s))}),e),n.join(i)}getPrevSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t-1]||null}hasChildren(){if(this.lazy){if(null==this.children)return;if(0===this.children.length)return!1;if(1===this.children.length&&this.children[0].isStatusNode())return;return!0}return!(!this.children||!this.children.length)}hasClass(e){return!!this.classes&&this.classes.has(e)}isActive(){return this.tree.activeNode===this}isAncestorOf(e){return e&&e.isDescendantOf(this)}isChildOf(e){return e&&this.parent===e}isColspan(){return!!this.getOption("colspan")}isDescendantOf(e){if(!e||e.tree!==this.tree)return!1;let t=this.parent;for(;t;){if(t===e)return!0;t===t.parent&&error(`Recursive parent link: ${t}`),t=t.parent}return!1}isExpandable(e=!1){return!(e&&this.expanded||!1===this.children)&&(null==this.children?!!this.lazy:0!==this.children.length||!!this.tree.options.emptyChildListExpandable)}isEditing(){return this.tree._callMethod("edit.isEditingTitle",this)}isExpanded(){return!!this.expanded}isFirstSibling(){const e=this.parent;return!e||e.children[0]===this}isLastSibling(){const e=this.parent;return!e||e.children[e.children.length-1]===this}isLazy(){return!!this.lazy}isLoaded(){return!this.lazy||void 0!==this.hasChildren()}isLoading(){return this._isLoading}isPagingNode(){return"paging"===this.statusNodeType}isParentOf(e){return e&&e.parent===this}isPartload(){return!!this._partload}isPartsel(){return!this.selected&&!!this._partsel}isRadio(){return!!this.parent.radiogroup||"radio"===this.getOption("checkbox")}isRendered(){return!!this._rowElem}isRootNode(){return this.tree.root===this}isSelected(){return!!this.selected||!!this._partsel&&void 0}isStatusNode(){return!!this.statusNodeType}isTopLevel(){return this.tree.root===this.parent}isUnloaded(){return void 0===this.hasChildren()}isVisible(){const e="hide"===this.tree.filterMode,t=this.getParentList(!1,!1);if(e&&!this.match&&!this.subMatchCount)return!1;for(let e=0,i=t.length;ei)return void this.logWarn(`Ignored load response #${i} because #${this._requestId} is pending.`);if(this.logDebug(`Received response for load request #${i}`),null===this.parent&&null!==s)return void this.logWarn("Lazy parent node was removed while loading: discarding response.");this.setStatus(NodeStatusType.ok);const r=Date.now();this._loadSourceObject(t),l=Date.now()-r}else this._loadSourceObject(e),l=Date.now()-n}catch(t){throw this.logError("Error during load()",e,t),this._callEvent("error",{error:t}),this.setStatus(NodeStatusType.error,{message:""+t}),t}finally{this._requestId=0,r=Date.now()-n,t.options.debugLevel>=3&&t.logInfo(`Load source took ${r/1e3} seconds (transfer: ${o/1e3}s, processing: ${l/1e3}s)`)}}async loadLazy(e=!1){const t=this.expanded;if(assert(this.lazy,"load() requires a lazy node"),e||this.isUnloaded()){this.isLoaded()&&this.resetLazy(),this.setStatus(NodeStatusType.loading);try{const e=await this._callEvent("lazyLoad");if(!1===e)return void this.setStatus(NodeStatusType.ok);assert(isArray(e)||e&&e.url,"The lazyLoad event must return a node list, `{url: ...}`, or false."),await this.load(e),t?(this.expanded=!0,this.tree.update(ChangeType.structure)):this.update()}catch(e){this.logError("Error during loadLazy()",e),this._callEvent("error",{error:e}),this.setStatus(NodeStatusType.error,{message:""+e})}}}log(...e){this.logDebug(...e)}logDebug(...e){this.tree.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.tree.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.tree.options.debugLevel>=3&&console.info(this.toString(),...e)}logWarn(...e){this.tree.options.debugLevel>=2&&console.warn(this.toString(),...e)}async makeVisible(e){let t;const i=new Deferred,s=[],n=this.getParentList(!1,!1),r=n.length,o=getOption(e,"noAnimation",!1),l=getOption(e,"scrollIntoView",!0);for(t=r-1;t>=0;t--){const e={noAnimation:o};s.push(n[t].setExpanded(!0,e))}return Promise.all(s).then((()=>{l&&this.tree?(this.tree.updatePendingModifications(),this.scrollIntoView().then((()=>{i.resolve()}))):i.resolve()})),i.promise()}moveTo(e,t="appendChild",i){let s;"over"===t&&(t="appendChild"),"prependChild"===t&&(e.children&&e.children.length?(t="before",e=e.children[0]):t="appendChild");const n=this.tree,r=this.parent,o="appendChild"===t?e:e.parent;if(this!==e){if(this.parent?o.isDescendantOf(this)&&error("Cannot move a node to its own descendant"):error("Cannot move system root"),o!==r&&r.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===o)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else s=this.parent.children.indexOf(this),assert(s>=0,"invalid source parent"),this.parent.children.splice(s,1);if(this.parent=o,o.hasChildren())switch(t){case"appendChild":o.children.push(this);break;case"before":s=o.children.indexOf(e),assert(s>=0,"invalid target parent"),o.children.splice(s,0,this);break;case"after":s=o.children.indexOf(e),assert(s>=0,"invalid target parent"),o.children.splice(s+1,0,this);break;default:error(`Invalid mode '${t}'.`)}else o.children=[this];i&&e.visit(i,!0),o===r?o.triggerModifyChild("move",this):o.triggerModifyChild("add",this),n!==e.tree&&(this.logWarn("Cross-tree moveTo is experimental!"),this.visit((t=>{t.tree=e.tree}),!0)),setTimeout((()=>{n.update(ChangeType.any)}),0)}}async navigate(e,t){e=KEY_TO_ACTION_DICT[e]||e;const i=this.findRelatedNode(e);if(!i)return this.logWarn(`Could not find related node '${e}'.`),Promise.resolve(this);try{i.makeVisible({scrollIntoView:!1})}catch(e){}return i.setFocus(),!1===(null==t?void 0:t.activate)?Promise.resolve(this):i.setActive(!0,{event:null==t?void 0:t.event})}remove(){const e=this.tree,t=this.parent.children.indexOf(this);this.triggerModify("remove"),this.parent.children.splice(t,1),this.visit((t=>{t.removeMarkup(),e._unregisterNode(t)}),!0),e.update(ChangeType.structure)}removeChildren(){const e=this.tree;this.children&&(e.activeNode&&e.activeNode.isDescendantOf(this)&&e.activeNode.setActive(!1),e.focusNode&&e.focusNode.isDescendantOf(this)&&(e.focusNode=null),this.triggerModifyChild("remove",null),this.visit((t=>{e._unregisterNode(t)})),this.lazy?this.children=[]:this.children=null,this.isRootNode()||(this.expanded=!1),this.tree.update(ChangeType.structure))}removeMarkup(){this._rowElem&&(delete this._rowElem._wb_node,this._rowElem.remove(),this._rowElem=void 0)}_getRenderInfo(){const e={},t={},i=this.isColspan(),s=this._rowElem?this._rowElem.querySelectorAll("span.wb-col"):null;let n=0;for(const r of this.tree.columns)e[r.id]={id:r.id,idx:n,elem:s?s[n]:null,info:r},i||"*"===r.id||(t[r.id]=e[r.id]),n++;return{allColInfosById:e,renderColInfosById:t}}_createIcon(e,t,i,s){let n,r=this.getOption("icon");if(this._errorInfo?r=e.error:this._isLoading&&s&&(r=e.loading),!1===r)return null;"string"==typeof r||(r=this.statusNodeType?e[this.statusNodeType]:this.expanded?e.folderOpen:this.children?e.folder:this.lazy?e.folderLazy:e.doc),r?r.indexOf("<")>=0?n=elemFromHtml(r):TEST_IMG.test(r)?n=elemFromHtml(``):(n=document.createElement("i"),n.className="wb-icon "+r):(n=document.createElement("i"),n.className="wb-icon"),i?t.replaceChild(n,i):t.appendChild(n);const o=this._callEvent("iconBadge",{iconSpan:n});let l=null;if(null!=o&&!1!==o){let e="",t="";isPlainObject(o)?(l=""+o.badge,e=o.badgeClass?" "+o.badgeClass:"",t=o.badgeTooltip?` title="${o.badgeTooltip}"`:""):l="number"==typeof o?""+o:o,"string"==typeof l&&(l=elemFromHtml(`${escapeHtml(l)}`)),l&&n.append(l)}return n}_render_markup(e){const t=this.tree,i=t.options,s=this.getOption("checkbox"),n=t.columns,r=this.getLevel(),o=t.isRowNav()?null:t.activeColIdx;let l,a=this._rowElem,d=null,c=null;const h=!a;assert(h,"Expected unrendered node"),assert(!h||e&&e.after,"opts.after expected, unless updating"),assert(!this.isRootNode(),"Root node not allowed"),a=document.createElement("div"),a.classList.add("wb-row"),a.style.top=22*this._rowIdx+"px",this._rowElem=a,a._wb_node=this;const u=document.createElement("span");u.classList.add("wb-node","wb-col"),a.appendChild(u);let p=0;s&&(d=document.createElement("i"),d.classList.add("wb-checkbox"),("radio"===s||this.parent.radiogroup)&&d.classList.add("wb-radio"),u.appendChild(d),p+=20);for(let e=r-1;e>0;e--)l=document.createElement("i"),l.classList.add("wb-indent"),u.appendChild(l),p+=20;(!i.minExpandLevel||r>i.minExpandLevel)&&(c=document.createElement("i"),c.classList.add("wb-expander"),u.appendChild(c),p+=20);this._createIcon(t.iconMap,u,null,!c)&&(p+=20);const f=document.createElement("span");f.classList.add("wb-title"),u.appendChild(f),u._ofsTitlePx=p,t.options.dnd.dragStart&&(u.draggable=!0);if(!this.isColspan()&&n.length>1){let e=0;for(const t of n){let i;e++,"*"===t.id?i=u:(i=document.createElement("span"),i.classList.add("wb-col"),a.appendChild(i)),e===o&&i.classList.add("wb-active"),t.classes&&i.classList.add(...t.classes.split(" ")),i.style.left=t._ofsPx+"px",i.style.width=t._widthPx+"px",h&&t.html&&"string"==typeof t.html&&(i.innerHTML=t.html)}}switch(e?e.after:"last"){case"first":t.nodeListElement.prepend(a);break;case"last":t.nodeListElement.appendChild(a);break;default:e.after.after(a)}e.isNew=!0,this._render_data(e)}_render_data(e){assert(this._rowElem,"No _rowElem");const t=this.tree,i=t.options,s=this._rowElem,n=!!e.isNew,r=!!e.preventScroll,o=t.columns,l=this.isColspan(),a=s.querySelector("span.wb-node"),d=a.querySelector("span.wb-title"),c=t.element.scrollTop;if(this.titleWithHighlight?d.innerHTML=this.titleWithHighlight:d.textContent=this.title,r&&(t.element.scrollTop=c),!i.skeleton)if(l){const e=t.element.clientWidth;d.style.width=e-a._ofsTitlePx-7+"px"}else d.style.width=o[0]._widthPx-a._ofsTitlePx-7+"px";if(e.isDataChange=!0,this._render_status(e),this.statusNodeType)this._callEvent("renderStatusNode",{isNew:n,nodeElem:a,isColspan:l});else if(this.parent){const e=this._getRenderInfo();this._callEvent("render",{isNew:n,nodeElem:a,isColspan:l,allColInfosById:e.allColInfosById,renderColInfosById:e.renderColInfosById})}}_render_status(e){const t=this.tree,i=t.iconMap,s=t.options,n=this.type?t.types[this.type]:null,r=this._rowElem,o=r.querySelector("span.wb-node"),l=o.querySelector("i.wb-expander"),a=o.querySelector("i.wb-checkbox"),d=["wb-row"];if(this.expanded&&d.push("wb-expanded"),this.lazy&&d.push("wb-lazy"),this.selected&&d.push("wb-selected"),this._partsel&&d.push("wb-partsel"),this===t.activeNode&&d.push("wb-active"),this===t.focusNode&&d.push("wb-focus"),this._errorInfo&&d.push("wb-error"),this._isLoading&&d.push("wb-loading"),this.isColspan()&&d.push("wb-colspan"),this.statusNodeType&&d.push("wb-status-"+this.statusNodeType),this.match&&d.push("wb-match"),this.subMatchCount&&d.push("wb-submatch"),s.skeleton&&d.push("wb-skeleton"),r.className=d.join(" "),this.classes&&r.classList.add(...this.classes),n&&n.classes&&r.classList.add(...n.classes),l){let e=null;this._isLoading?e=i.loading:this.isExpandable(!1)?e=this.expanded?i.expanderExpanded:i.expanderCollapsed:this.lazy&&null==this.children&&(e=i.expanderLazy),null==e?l.classList.add("wb-indent"):TEST_IMG.test(e)?l.style.backgroundImage=`url('${e}')`:l.className="wb-expander "+e}if(a){let e="wb-checkbox ";this.isRadio()?(e+="wb-radio ",this.selected?e+=i.radioChecked:e+=i.radioUnchecked):this.selected?e+=i.checkChecked:this._partsel?e+=i.checkUnknown:e+=i.checkUnchecked,a.className=e}if(!e.isNew){let e=0;for(const i of r.children)i.classList.toggle("wb-active",e++===t.activeColIdx);const i=o.querySelector("i.wb-icon");i&&this._createIcon(t.iconMap,o,i,!l)}if(!1!==e.resizeCols&&!this.isColspan()){const e=r.querySelectorAll("span.wb-col");let t=0,i=0;for(const s of this.tree.columns){const n=e[t];n.style.left=`${i}px`,n.style.width=`${s._widthPx}px`,t++,i+=s._widthPx}}}_render(e){const t=Object.assign({change:ChangeType.data},e);switch(this._rowElem||(t.change=ChangeType.row),t.change){case"status":this._render_status(t);break;case"data":this._render_data(t);break;case"row":this._render_markup(t);break;default:error(`Invalid change type '${t.change}'.`)}}resetLazy(){this.removeChildren(),this.expanded=!1,this.lazy=!0,this.children=null,this.tree.update(ChangeType.structure)}toDict(e=!1,t){const i={};if(NODE_DICT_PROPS.forEach((e=>{const t=this[e];t instanceof Set?t.size&&(i[e]=Array.prototype.join.call(t.keys()," ")):(t||!1===t||0===t)&&(i[e]=t)})),isEmptyObject(this.data)||(i.data=extend({},this.data),isEmptyObject(i.data)&&delete i.data),t){const s=t(i,this);if(!1===s)return!1;"skip"===s&&(e=!1)}if(e&&isArray(this.children)){i.children=[];for(let e=0,s=this.children.length;e=0&&([s,e]=e.split("."));const n=s[e];if("function"==typeof n){const e=n.call(i,{type:"resolve",tree:i,node:this});if(void 0!==e)return e}if(void 0!==this[e])return this[e];const r=this.type?i.types[this.type]:void 0,o=r?r[e]:void 0;return void 0!==o?o:null!=n?n:t}async scrollIntoView(e){const t=Object.assign({node:this},e);return this.tree.scrollTo(t)}async setActive(e=!0,t){const i=this.tree,s=i.activeNode,n=null==t?void 0:t.retrigger,r=null==t?void 0:t.focusTree,o=!1!==(null==t?void 0:t.focusNode),l=null==t?void 0:t.noEvents,a=null==t?void 0:t.event;if(!l)if(e){if(s!==this||n){if(!1===(null==s?void 0:s._callEvent("deactivate",{nextNode:this,event:a}))||!1===this._callEvent("beforeActivate",{prevNode:s,event:a}))return;i.activeNode=null,null==s||s.update(ChangeType.status)}}else(s===this||n)&&this._callEvent("deactivate",{nextNode:null,event:a});return s!==this&&(e&&(i.activeNode=this,(o||r)&&(i.focusNode=this),r&&i.setFocus()),null==s||s.update(ChangeType.status),this.update(ChangeType.status)),t&&null!=t.colIdx&&t.colIdx!==i.activeColIdx&&i.isCellNav()&&i.setColumn(t.colIdx),e&&!l&&this._callEvent("activate",{prevNode:s,event:a}),this.makeVisible()}async setExpanded(e=!0,t){const{force:i,scrollIntoView:s,immediate:n}=null!=t?t:{};if(!e&&this.isExpanded()&&this.getLevel()<=this.tree.getOption("minExpandLevel")&&!i)return void this.logDebug("Ignored collapse request below expandLevel.");if(!e==!this.expanded)return;e&&this.getOption("autoCollapse")&&this.collapseSiblings(t),e&&this.lazy&&null==this.children&&await this.loadLazy(),this.expanded=e;const r={immediate:n};if(this.tree.update(ChangeType.structure,r),e&&s){const e=this.getLastChild();e&&(this.tree.updatePendingModifications(),e.scrollIntoView({topNode:this}))}}setFocus(e=!0){assert(!!e,"blur is not yet implemented");const t=this.tree.focusNode;this.tree.focusNode=this,null==t||t.update(),this.update()}setIcon(e){this.icon=e,this.update()}setKey(e,t){throw new Error("Not yet implemented")}update(e=ChangeType.data){assert(e===ChangeType.status||e===ChangeType.data,`Invalid change type ${e}`),this.tree.update(e,this)}getSelectedNodes(e=!1){const t=[];return this.visit((i=>{if(i.selected&&(t.push(i),!0===e))return"skip"})),t}toggleSelected(e){let t=this.isSelected();return t=void 0!==t||this.isRadio()?!t:this._anySelectable(),this.setSelected(t,e)}_anySelectable(){let e=!1;return this.visit((t=>{if(!1===t.selected&&!t.unselectable&&!t.hasChildren()&&!t.parent.radiogroup)return e=!0,!1})),e}_changeSelectStatusProps(e){let t=!1;switch(e){case!1:t=this.selected||this._partsel,this.selected=!1,this._partsel=!1;break;case!0:t=!this.selected||!this._partsel,this.selected=!0,this._partsel=!0;break;case void 0:t=this.selected||!this._partsel,this.selected=!1,this._partsel=!0;break;default:error(`Invalid state: ${e}`)}return t&&this.update(),t}fixSelection3AfterClick(e){const t=!!(null==e?void 0:e.force),i=this.isSelected();this.visit((e=>{if(e.radiogroup)return"skip";!t&&e.getOption("unselectable")||e._changeSelectStatusProps(i)})),this.fixSelection3FromEndNodes()}fixSelection3FromEndNodes(e){const t=!!(null==e?void 0:e.force);assert("hier"===this.tree.options.selectMode,"expected selectMode 'hier'");const i=e=>{let s;const n=e.children;if(n&&n.length){let e=!0,t=!1;for(let s=0,r=n.length;s{let t;const i=e.children;let s=!0,n=!1;for(let e=0,r=i.length;e{this.visit((t=>{t.setSelected(e)}))})),n):(e===n||s&&!1===this._callEvent("beforeSelect",{flag:e})||(i.runWithDeferredUpdate((()=>{if(r){if(!e&&!(null==t?void 0:t.force))return n;for(const e of this.parent.children)e.selected=e===this}else this.selected=e,"hier"===o?this.fixSelection3AfterClick():"single"===o&&i.visit((e=>{e.selected=!1}))})),s&&this._callEvent("select",{flag:e})),n):n}setStatus(e,t){const i=this.tree,s=null==t?void 0:t.message,n=null==t?void 0:t.details;let r=null;const o=e=>{const t=this.children,s=t?t[0]:null;return assert(e.statusNodeType,"Not a status node"),assert(!s||!s.isStatusNode(),"Child must not be a status node"),r=this.addNode(e,"prependChild"),r.match=!0,i.update(ChangeType.structure),r};switch((()=>{const e=this.children;e&&e.length&&e[0].isStatusNode()&&e[0].remove()})(),e){case"ok":this._isLoading=!1,this._errorInfo=null;break;case"loading":this._isLoading=!0,this._errorInfo=null,this.parent?this.update(ChangeType.status):o({statusNodeType:e,title:i.options.strings.loading+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n});break;case"error":o({statusNodeType:e,title:i.options.strings.loadError+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo={message:s,details:n};break;case"noData":o({statusNodeType:e,title:s||i.options.strings.noData,checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo=null;break;default:error("invalid node status "+e)}return i.update(ChangeType.structure),r}setTitle(e){this.title=e,this.update()}_sortChildren(e,t){const i=this.children;if(i&&(i.sort(e),t))for(let s=0,n=i.length;s{t.logError(`Error in ${e} event promise`,s),i.classList.add("wb-error")})).finally((()=>{i.classList.remove("wb-busy")})),n}_onChange(e){const t=Wunderbaum.getEventInfo(e),i=t.node,s=t.colElem;i&&0!==t.colIdx?this._applyChange("change",i,s,{info:t,event:e,inputElem:e.target,inputValue:Wunderbaum.util.getValueFromElem(e.target)}):this.tree.log("Ignored change event for removed element or node title")}init(){super.init(),onEvent(this.tree.element,"change",".contenteditable,input,textarea,select",(e=>{this.debouncedOnChange(e)}))}_preprocessKeyEvent(e){const t=e.event,i=eventToString(t),s=this.tree,n=this.getPluginOption("trigger");if(this.isEditingTitle()){switch(i){case"Enter":return this._stopEditTitle(!0,{event:t}),!1;case"Escape":return this._stopEditTitle(!1,{event:t}),!1}return!1}if(s.isRowNav()||0===s.activeColIdx){switch(i){case"Enter":if(n.indexOf("macEnter")>=0&&isMac)return this.startEditTitle(),!1;break;case"F2":if(n.indexOf("F2")>=0)return this.startEditTitle(),!1}return!0}return!0}isEditingTitle(e){return e?this.curEditNode===e:!!this.curEditNode}startEditTitle(e){e=null!=e?e:this.tree.getActiveNode();const t=this.getPluginOption("validity"),i=this.getPluginOption("select");if(!e)return;this.tree.logDebug(`startEditTitle(node=${e})`);let s=e._callEvent("edit.beforeEdit");if(!1===s)return void e.logInfo("beforeEdit canceled operation.");if(!0===s||!s){s=``}const n=e.getColElem(0).querySelector(".wb-title");n.innerHTML=s;const r=n.firstElementChild;t&&r.addEventListener("keydown",(e=>{r.setCustomValidity(""),r.reportValidity()})),r.focus(),i&&r.select(),this.curEditNode=e,e._callEvent("edit.edit",{inputElem:r})}stopEditTitle(e){return this._stopEditTitle(e,{})}_stopEditTitle(e,t){null!=t||(t={});const i=document.activeElement;let s=i?getValueFromElem(i):null;const n=this.curEditNode,r=!!t.forceClose,o=this.getPluginOption("validity");if(s&&this.getPluginOption("trim")&&(s=s.trim()),n)if(n.logDebug(`stopEditTitle(${e})`,t,i,s),e&&null!==s&&s!==n.title){const e=i.validationMessage;if(e)throw new Error(`Input validation failed for "${s}": ${e}.`);const t=n.getColElem(0);this._applyChange("edit.apply",n,t,{oldValue:n.title,newValue:s,inputElem:i}).then((e=>{const t=i.validationMessage;if(o&&t&&!1!==e)throw new Error(`Edit apply validation failed for "${s}": ${t}.`);(r||!1!==e)&&(null==n||n.setTitle(s),this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus())})).catch((e=>{n.logError(e)}))}else this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus();else this.tree.logDebug("stopEditTitle: not in edit mode.")}createNode(e="after",t,i){const s=this.tree;if(assert(t=null!=t?t:s.getActiveNode(),"No node was passed, or no node is currently active."),e=e||"prependChild",null==i?i={title:""}:"string"==typeof i?i={title:i}:assert(isPlainObject(i)),("prependChild"===e||"appendChild"===e)&&(null==t?void 0:t.isExpandable(!0)))return void t.setExpanded().then((()=>{this.createNode(e,t,i)}));const n=t.addNode(i,e);n.setClass("wb-edit-new"),this.relatedNode=t,n.match=!0,n.makeVisible({noAnimation:!0}).then((()=>{this.startEditTitle(n)}))}} +class EditExtension extends WunderbaumExtension{constructor(e){super(e,"edit",{debounce:100,minlength:1,maxlength:null,trigger:[],trim:!0,select:!0,slowClickDelay:1e3,validity:!0,beforeEdit:null,edit:null,apply:null}),this.curEditNode=null,this.relatedNode=null,this.debouncedOnChange=debounce(this._onChange.bind(this),this.getPluginOption("debounce"))}_applyChange(e,t,i,s){let n;t.log(`_applyChange(${e})`,s),i.classList.add("wb-busy"),i.classList.remove("wb-error");try{n=t._callEvent(e,s)}catch(s){t.logError(`Error in ${e} event handler`,s),i.classList.add("wb-error"),i.classList.remove("wb-busy")}return n instanceof Promise||(n=Promise.resolve(n)),n.catch((s=>{t.logError(`Error in ${e} event promise`,s),i.classList.add("wb-error")})).finally((()=>{i.classList.remove("wb-busy")})),n}_onChange(e){const t=Wunderbaum.getEventInfo(e),i=t.node,s=t.colElem;i&&0!==t.colIdx?this._applyChange("change",i,s,{info:t,event:e,inputElem:e.target,inputValue:Wunderbaum.util.getValueFromElem(e.target)}):this.tree.log("Ignored change event for removed element or node title")}init(){super.init(),onEvent(this.tree.element,"change",".contenteditable,input,textarea,select",(e=>{this.debouncedOnChange(e)}))}_preprocessKeyEvent(e){const t=e.event,i=eventToString(t),s=this.tree,n=this.getPluginOption("trigger");if(this.isEditingTitle()){switch(i){case"Enter":return this._stopEditTitle(!0,{event:t}),!1;case"Escape":return this._stopEditTitle(!1,{event:t}),!1}return!1}if(s.isRowNav()||0===s.activeColIdx){switch(i){case"Enter":if(n.indexOf("macEnter")>=0&&isMac)return this.startEditTitle(),!1;break;case"F2":if(n.indexOf("F2")>=0)return this.startEditTitle(),!1}return!0}return!0}isEditingTitle(e){return e?this.curEditNode===e:!!this.curEditNode}startEditTitle(e){e=null!=e?e:this.tree.getActiveNode();const t=this.getPluginOption("validity"),i=this.getPluginOption("select");if(!e)return;this.tree.logDebug(`startEditTitle(node=${e})`);let s=e._callEvent("edit.beforeEdit");if(!1===s)return void e.logInfo("beforeEdit canceled operation.");if(!0===s||!s){s=``}const n=e.getColElem(0).querySelector(".wb-title");n.innerHTML=s;const r=n.firstElementChild;t&&r.addEventListener("keydown",(e=>{r.setCustomValidity(""),r.reportValidity()})),r.focus(),i&&r.select(),this.curEditNode=e,e._callEvent("edit.edit",{inputElem:r})}stopEditTitle(e){return this._stopEditTitle(e,{})}_stopEditTitle(e,t){null!=t||(t={});const i=document.activeElement;let s=i?getValueFromElem(i):null;const n=this.curEditNode,r=!!t.forceClose,o=this.getPluginOption("validity");if(s&&this.getPluginOption("trim")&&(s=s.trim()),n)if(n.logDebug(`stopEditTitle(${e})`,t,i,s),e&&null!==s&&s!==n.title){const e=i.validationMessage;if(e)throw new Error(`Input validation failed for "${s}": ${e}.`);const t=n.getColElem(0);this._applyChange("edit.apply",n,t,{oldValue:n.title,newValue:s,inputElem:i}).then((e=>{const t=i.validationMessage;if(o&&t&&!1!==e)throw new Error(`Edit apply validation failed for "${s}": ${t}.`);(r||!1!==e)&&(null==n||n.setTitle(s),this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus())})).catch((e=>{n.logError(e)}))}else this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus();else this.tree.logDebug("stopEditTitle: not in edit mode.")}createNode(e="after",t,i){const s=this.tree;if(assert(t=null!=t?t:s.getActiveNode(),"No node was passed, or no node is currently active."),e=e||"prependChild",null==i?i={title:""}:"string"==typeof i?i={title:i}:assert(isPlainObject(i),`Expected a plain object: ${i}`),("prependChild"===e||"appendChild"===e)&&(null==t?void 0:t.isExpandable(!0)))return void t.setExpanded().then((()=>{this.createNode(e,t,i)}));const n=t.addNode(i,e);n.setClass("wb-edit-new"),this.relatedNode=t,n.match=!0,n.makeVisible({noAnimation:!0}).then((()=>{this.startEditTitle(n)}))}} /*! * wunderbaum.ts * @@ -80,7 +80,7 @@ class EditExtension extends WunderbaumExtension{constructor(e){super(e,"edit",{d * https://github.com/mar10/wunderbaum * * Released under the MIT license. - * @version v0.5.4 - * @date Sun, 15 Oct 2023 16:43:28 GMT - */class WbSystemRoot extends WunderbaumNode{constructor(e){super(e,null,{key:"__root__",title:e.id})}toString(){return`WbSystemRoot@${this.key}<'${this.tree.id}'>`}}class Wunderbaum{constructor(e){this.enabled=!0,this.data={},this.extensionList=[],this.extensions={},this.keyMap=new Map,this.refKeyMap=new Map,this.treeRowCount=0,this._disableUpdateCount=0,this._disableUpdateIgnoreCount=0,this.activeNode=null,this.focusNode=null,this.types={},this.columns=[],this._columnsById={},this.pendingChangeTypes=new Set,this._util=util,this.filterMode=null,this.activeColIdx=0,this._cellNavMode=!1,this.lastQuicksearchTime=0,this.lastQuicksearchTerm="",this.lastClickTime=0,this.log=this.logDebug;const t=this.options=extend({id:null,source:null,element:null,debugLevel:3,header:null,rowHeightPx:22,iconMap:"bootstrap",columns:null,types:null,enabled:!0,fixedCol:!1,showSpinner:!1,checkbox:!1,minExpandLevel:0,emptyChildListExpandable:!1,skeleton:!1,connectTopBreadcrumb:null,selectMode:"multi",navigationModeOption:null,quicksearch:!0,iconBadge:null,change:null,error:null,receive:null,strings:{loadError:"Error",loading:"Loading...",noData:"No data"}},e),i=new Deferred;this.ready=i.promise();let s=!1;if(this.ready.then((()=>{s=!0;try{this._callEvent("init")}catch(e){this.logError("Exception inside `init(e)` event:",e)}})).catch((e=>{if(s)throw e;this._callEvent("init",{error:e})})),this.id=t.id||"wb_"+ ++Wunderbaum.sequence,this.root=new WbSystemRoot(this),this._registerExtension(new KeynavExtension(this)),this._registerExtension(new EditExtension(this)),this._registerExtension(new FilterExtension(this)),this._registerExtension(new DndExtension(this)),this._registerExtension(new GridExtension(this)),this._registerExtension(new LoggerExtension(this)),this._updateViewportThrottled=adaptiveThrottle(this._updateViewportImmediately.bind(this),{}),this.columns=t.columns,delete t.columns,!this.columns||!this.columns.length){const e="string"==typeof t.header?t.header:this.id;this.columns=[{id:"*",title:e,width:"*"}]}t.types&&this.setTypes(t.types,!0),delete t.types,this.element=elemFromSelector(t.element),assert(!!this.element,`Invalid 'element' option: ${t.element}`),this.element.classList.add("wunderbaum"),this.element.getAttribute("tabindex")||(this.element.tabIndex=0),this.element._wb_tree=this,this.headerElement=this.element.querySelector("div.wb-header");const n=null==t.header?this.columns.length>1:!!t.header;if(this.headerElement){assert(!this.columns,"`opts.columns` must not be set if markup already contains a header"),this.columns=[];const e=this.headerElement.querySelector("div.wb-row");for(const t of e.querySelectorAll("div"))this.columns.push({id:t.dataset.id||`col_${this.columns.length}`,title:""+t.textContent,width:"*"})}else{const e="".repeat(this.columns.length);if(this.element.innerHTML=`\n
\n
\n ${e}\n
\n
`,!n){this.element.querySelector("div.wb-header").style.display="none"}}this.element.innerHTML+='\n
\n
\n
',this.listContainerElement=this.element.querySelector("div.wb-list-container"),this.nodeListElement=this.listContainerElement.querySelector("div.wb-node-list"),this.headerElement=this.element.querySelector("div.wb-header"),this.element.classList.toggle("wb-grid",this.columns.length>1),this._initExtensions(),["enabled","fixedCol"].forEach((e=>{null!=t[e]&&this.setOption(e,t[e])})),t.source?(t.showSpinner&&(this.nodeListElement.innerHTML="loading..."),this.load(t.source).then((()=>{null==t.navigationModeOption?this.isGrid()?this.setNavigationOption(NavModeEnum.cell):this.setNavigationOption(NavModeEnum.row):this.setNavigationOption(t.navigationModeOption),i.resolve()})).catch((e=>{i.reject(e)})).finally((()=>{var e;null===(e=this.element.querySelector("progress.spinner"))||void 0===e||e.remove(),this.element.classList.remove("wb-initializing")}))):i.resolve(),this.update(ChangeType.any),this.element.addEventListener("scroll",(e=>{this.update(ChangeType.scroll)})),this.resizeObserver=new ResizeObserver((e=>{this.update(ChangeType.resize)})),this.resizeObserver.observe(this.element),onEvent(this.nodeListElement,"click","div.wb-row",(t=>{const i=Wunderbaum.getEventInfo(t),s=i.node,n=t;if(!1===this._callEvent("click",{event:t,node:s,info:i}))return this.lastClickTime=Date.now(),!1;if(s){if(n.ctrlKey)return void s.toggleSelected();const r=this.getOption("edit.trigger"),o=this.getOption("edit.slowClickDelay");r.indexOf("clickActive")>=0&&"title"===i.region&&s.isActive()&&(!o||Date.now()-this.lastClickTime=0?s.setActive(!0,{colIdx:i.colIdx,event:t}):s.setActive(!0,{event:t}),i.region===NodeRegion.expander?s.setExpanded(!s.isExpanded(),{scrollIntoView:!1!==e.scrollIntoViewOnExpandClick}):i.region===NodeRegion.checkbox&&s.toggleSelected()}this.lastClickTime=Date.now()})),onEvent(this.nodeListElement,"dblclick","div.wb-row",(e=>{const t=Wunderbaum.getEventInfo(e),i=t.node;if(!1===this._callEvent("dblclick",{event:e,node:i,info:t}))return!1;i&&0===t.colIdx&&i.isExpandable()&&(this._callMethod("edit._stopEditTitle"),i.setExpanded(!i.isExpanded()))})),onEvent(this.element,"keydown",(e=>{const t=Wunderbaum.getEventInfo(e),i=eventToString(e),s=t.node||this.getFocusNode();this._callHook("onKeyEvent",{event:e,node:s,info:t,eventName:i})})),onEvent(this.element,"focusin focusout",(e=>{const i="focusin"===e.type,s=Wunderbaum.getNode(e);this._callEvent("focus",{flag:i,event:e}),i&&this.isRowNav()&&!this.isEditing()&&(t.navigationModeOption===NavModeEnum.row?null==s||s.setActive():this.setCellNav()),i||this._callMethod("edit._stopEditTitle",!0,{event:e,forceClose:!0})}))}static getTree(e){if(e instanceof Wunderbaum)return e;if(e instanceof WunderbaumNode)return e.tree;if(void 0===e&&(e=0),"number"==typeof e)e=document.querySelectorAll(".wunderbaum")[e];else if("string"==typeof e){for(const t of document.querySelectorAll(".wunderbaum")){const i=t._wb_tree;if(i&&i.id===e)return i}if(!(e=document.querySelector(e)))return null}else e.target&&(e=e.target);return assert(e instanceof Element),e.matches(".wunderbaum")||(e=e.closest(".wunderbaum")),e&&e._wb_tree?e._wb_tree:null}get iconMap(){const e=this.options.iconMap;return"string"==typeof e?iconMaps[e]:e}static getNode(e){if(!e)return null;if(e instanceof WunderbaumNode)return e;for(void 0!==e.target&&(e=e.target);e;){if(e._wb_node)return e._wb_node;e=e.parentElement}return null}*[Symbol.iterator](){yield*this.root}_registerExtension(e){this.extensionList.push(e),this.extensions[e.id]=e}_initExtensions(){for(const e of this.extensionList)e.init()}_registerNode(e){const t=e.key;assert(null!=t&&!this.keyMap.has(t),`Missing or duplicate key: '${t}'.`),this.keyMap.set(t,e);const i=e.refKey;if(i){const t=this.refKeyMap.get(i);t?t.add(e):this.refKeyMap.set(i,new Set)}}_unregisterNode(e){const t=e.refKey;if(t){const i=this.refKeyMap.get(t);i&&i.delete(e)&&!i.size&&this.refKeyMap.delete(t)}e.tree=null,e.parent=null,e.removeMarkup()}_callHook(e,t={}){let i;const s=extend({},{tree:this,options:this.options,result:void 0},t);for(const t of this.extensionList){if(i=t[e].call(t,s),!1===i)break;void 0!==s.result&&(i=s.result)}return i}_callMethod(e,...t){const[i,s]=e.split("."),n=s?this.extensions[i]:this,r=n[s];if(r)return r.apply(n,t);this.logError(`Calling undefined method '${e}()'.`)}_callEvent(e,t){const[i,s]=e.split("."),n=this.options,r=s?n[i][s]:n[i];if(r)return r.call(this,extend({type:e,tree:this,util:this._util},t))}_getNodeByRowIdx(e){let t=null;return this.visitRows((i=>{if(i._rowIdx===e)return t=i,!1})),t}getTopmostVpNode(e=!0){const t=this.element.scrollTop;let i;return i=e?Math.ceil((t-1)/22):Math.floor(t/22),this._getNodeByRowIdx(i)}getLowestVpNode(e=!0){const t=this.element,i=this.headerElement.clientHeight,s=t.scrollTop,n=t.clientHeight-i;let r;return r=e?Math.floor((s+n)/22)-1:Math.ceil((s+n)/22)-1,r=Math.min(r,this.count(!0)-1),this._getNodeByRowIdx(r)}_getPrevNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!0,start:e||this.getActiveNode()}),e}_getNextNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!1,start:e||this.getActiveNode()}),e}addChildren(e,t){return this.root.addChildren(e,t)}applyCommand(e,t,i){let s,n;switch(t instanceof WunderbaumNode?s=t:(s=this.getActiveNode(),assert(void 0===i),i=t),e){case"moveUp":n=s.getPrevSibling(),n&&(s.moveTo(n,"before"),s.setActive());break;case"moveDown":n=s.getNextSibling(),n&&(s.moveTo(n,"after"),s.setActive());break;case"indent":n=s.getPrevSibling(),n&&(s.moveTo(n,"appendChild"),n.setExpanded(),s.setActive());break;case"outdent":s.isTopLevel()||(s.moveTo(s.getParent(),"after"),s.setActive());break;case"remove":n=s.getPrevSibling()||s.getParent(),s.remove(),n&&n.setActive();break;case"addChild":this._callMethod("edit.createNode","prependChild");break;case"addSibling":this._callMethod("edit.createNode","after");break;case"rename":this._callMethod("edit.startEditTitle");break;case"down":case"first":case"last":case"left":case"pageDown":case"pageUp":case"parent":case"right":case"up":return s.navigate(e);default:error(`Unhandled command: '${e}'`)}}clear(){this.root.removeChildren(),this.root.children=null,this.keyMap.clear(),this.refKeyMap.clear(),this.treeRowCount=0,this.activeNode=null,this.focusNode=null,this.update(ChangeType.structure)}destroy(){this.logInfo("destroy()..."),this.clear(),this.resizeObserver.disconnect(),this.element.innerHTML="",this.element.outerHTML=this.element.outerHTML}getOption(e,t){let i,s=this.options;e.indexOf(".")>=0&&([i,e]=e.split("."),s=s[i]);let n=s[e];return"function"==typeof n&&(n=n({type:"resolve",tree:this})),null!=n?n:t}setOption(e,t){if(e.indexOf(".")>=0){const i=e.split(".");this.extensions[i[0]].setPluginOption(i[1],t)}else switch(this.options[e]=t,e){case"checkbox":this.update(ChangeType.any);break;case"enabled":this.setEnabled(!!t);break;case"fixedCol":this.element.classList.toggle("wb-fixed-col",!!t)}}hasFocus(){return this.element.contains(document.activeElement)}hasHeader(){const e=this.options.header;return this.isGrid()?!1!==e:!!e}runWithDeferredUpdate(e,t=null){try{this.enableUpdate(!1);const t=e();return assert(!(t instanceof Promise)),t}finally{this.enableUpdate(!0)}}async expandAll(e=!0,t){await this.root.expandAll(e,t)}selectAll(e=!0){return this.root.setSelected(e,{propagateDown:!0})}toggleSelect(){this.selectAll(this.root._anySelectable())}getSelectedNodes(e=!1){return this.root.getSelectedNodes(e)}_selectRange(e){this.logDebug("_selectRange",e),error("Not yet implemented.")}count(e=!1){return e?this.treeRowCount:this.keyMap.size}_check(){let e=0;this.visit((t=>{e++})),this.keyMap.size!==e&&this.logWarn(`_check failed: ${this.keyMap.size} !== ${e}`)}findAll(e){return this.root.findAll(e)}findFirst(e){return this.root.findFirst(e)}findKey(e){return this.keyMap.get(e)||null}findNextNode(e,t){let i=null;const s=this.getFirstChild(),n="string"==typeof e?makeNodeTitleStartMatcher(e):e;function r(e){if(n(e)&&(i=e),i||e===t)return!1}return t=t||s,this.visitRows(r,{start:t,includeSelf:!1}),i||t===s||this.visitRows(r,{start:s,includeSelf:!0}),i}findRelatedNode(e,t,i=!1){let s=null;const n=Math.floor(this.listContainerElement.clientHeight/22);switch(t){case"parent":case"left":e.parent&&e.parent.parent&&(s=e.parent);break;case"first":this.visit((e=>{if(e.isVisible())return s=e,!1}));break;case"last":this.visit((e=>{e.isVisible()&&(s=e)}));break;case"right":e.children&&e.children.length&&(s=e.children[0]);break;case"up":s=this._getPrevNodeInView(e);break;case"down":s=this._getNextNodeInView(e);break;case"pageDown":{const t=this.getLowestVpNode();s=e._rowIdxt._rowIdx?t:this._getPrevNodeInView(e,n)}break;default:this.logWarn("Unknown relation '"+t+"'.")}return s}*format_iter(e,t){yield*this.root.format_iter(e,t)}format(e,t){return this.root.format(e,t)}getActiveColElem(){return this.activeNode&&this.activeColIdx>=0?this.activeNode.getColElem(this.activeColIdx):null}getActiveNode(){return this.activeNode}getFirstChild(){return this.root.getFirstChild()}getFocusNode(){return this.focusNode}static getEventInfo(e){const t=e.target,i=t.classList,s=t.closest("span.wb-col"),n=Wunderbaum.getNode(t),r=n?n.tree:Wunderbaum.getTree(e),o={event:e,canonicalName:eventToString(e),tree:r,node:n,region:NodeRegion.unknown,colDef:void 0,colIdx:-1,colId:void 0,colElem:s};if(i.contains("wb-title"))o.region=NodeRegion.title;else if(i.contains("wb-expander"))o.region=n.isExpandable()?NodeRegion.expander:NodeRegion.prefix;else if(i.contains("wb-checkbox"))o.region=NodeRegion.checkbox;else if(i.contains("wb-icon"))o.region=NodeRegion.icon;else if(i.contains("wb-node"))o.region=NodeRegion.title;else if(s){o.region=NodeRegion.column;const e=Array.prototype.indexOf.call(s.parentNode.children,s);o.colIdx=e}else{if(!i.contains("wb-row"))return"mousemove"===e.type||e instanceof KeyboardEvent||null==r||r.logWarn("getEventInfo(): not found",e,o),o;o.region=NodeRegion.title}return-1===o.colIdx&&(o.colIdx=0),o.colDef=null==r?void 0:r.columns[o.colIdx],null!=o.colDef&&(o.colId=o.colDef.id),o}toString(){return`Wunderbaum<'${this.id}'>`}isEditing(){return this._callMethod("edit.isEditingTitle")}isLoading(){let e=!1;return this.root.visit((t=>{if(t._isLoading||t._requestId)return e=!0,!1}),!0),e}logDebug(...e){this.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.options.debugLevel>=3&&console.info(this.toString(),...e)}logTime(e){return this.options.debugLevel>=4&&console.time(this+": "+e),e}logTimeEnd(e){this.options.debugLevel>=4&&console.timeEnd(this+": "+e)}logWarn(...e){this.options.debugLevel>=2&&console.warn(this.toString(),...e)}scrollTo(e){let t,i;e instanceof WunderbaumNode?t=e:(i=e,t=i.node),assert(t&&null!=t._rowIdx);const s=this.element,n=this.headerElement.clientHeight,r=s.scrollTop,o=s.clientHeight,l=22*t._rowIdx+n,a=n,d=l-r,c=d+22,h=null==i?void 0:i.topNode;let u=null;d>=a?c<=o||(u=l+22-o+2):u=l-a-2,null!=u&&(this.log(`scrollTo(${l}): ${r} => ${u}`),s.scrollTop=u,h&&this.scrollTo(h))}scrollToHorz(){const e=this.columns[0]._widthPx,t=this.element.clientWidth,i=this.element.scrollLeft,s=this.getActiveColElem(),n=Number.parseInt(null==s?void 0:s.style.left,10),r=n+Number.parseInt(null==s?void 0:s.style.width,10);let o=i;n-it&&(o=r-t),o=Math.max(0,o),this.log(`scrollToHorz(${this.activeColIdx}): ${n}..${r}, fixedOfs=${e}, vpWidth=${t}, curLeft=${i} -> ${o}`),this.element.scrollLeft=o}setColumn(e){var t;if(assert(this.isCellNav()),assert(0<=e&&e0&&(s?this._updateViewportImmediately():this._updateViewportThrottled())}setEnabled(e=!0){const t=this.enabled;return this.enabled=!!e,this.element.classList.toggle("wb-disabled",!e),t}isEnabled(){return this.enabled}isGrid(){return this.columns&&this.columns.length>1}isCellNav(){return!!this._cellNavMode}isRowNav(){return!this._cellNavMode}setCellNav(e=!0){var t;const i=this._cellNavMode;this._cellNavMode=!!e,e&&!i&&this.setColumn(0),this.element.classList.toggle("wb-cell-mode",e),null===(t=this.activeNode)||void 0===t||t.update(ChangeType.status)}setNavigationOption(e,t=!1){if(this.isGrid()||e===NavModeEnum.row)switch(this.options.navigationModeOption=e,e){case NavModeEnum.cell:this.setCellNav(!0);break;case NavModeEnum.row:this.setCellNav(!1);break;case NavModeEnum.startCell:t&&this.setCellNav(!0);break;case NavModeEnum.startRow:t&&this.setCellNav(!1);break;default:error(`Invalid mode '${e}'.`)}else this.logWarn("Plain trees only support row navigation mode.")}setStatus(e,t){return this.root.setStatus(e,t)}setTypes(e,t=!0){assert(isPlainObject(e)),t?this.types=e:extend(this.types,e);for(const e of Object.values(this.types))e.classes&&(e.classes=toSet(e.classes))}sortChildren(e=nodeTitleSorter,t=!1){this.root.sortChildren(e,t)}toDictArray(e){var t;return null!==(t=this.root.toDict(!0,e).children)&&void 0!==t?t:[]}_updateColumnWidths(){const e=this.element.clientWidth,t=this.columns,i=t[0];let s=0,n=0,r=0,o=!1;if("*"!==i.id)throw new Error(`First column must have id '*': got '${i.id}'.`);this._columnsById={};for(const e of t){this._columnsById[e.id]=e;const t=e.width;if("*"===e.id&&e!==i)throw new Error(`Column id '*' must be defined only once: '${e.title}'.`);if(t&&"*"!==t)if("number"==typeof t)e._weight=t,n+=t;else if("string"==typeof t&&t.endsWith("px")){e._weight=0;const i=parseFloat(t.slice(0,-2));e._widthPx!=i&&(o=!0,e._widthPx=i),r+=i}else error(`Invalid column width: ${t} (expected string ending with 'px' or number, e.g. "px" or ).`);else e._weight=1,n+=1}const l=Math.max(0,e-r);let a=0;for(const e of t){let t;if(e._weight){const i=e.minWidth;t="number"==typeof i?i:"string"==typeof i&&i.endsWith("px")?parseFloat(i.slice(0,-2)):4;const s=Math.max(t,l*e._weight/n);e._widthPx!=s&&(o=!0,e._widthPx=s)}e._ofsPx=a,a+=e._widthPx}t[t.length-1]._widthPx-=0,s=a-0;const d=`${s}px`;return this.headerElement.style.width=d,this.listContainerElement.style.width=d,o}_renderHeaderMarkup(){assert(this.headerElement);const e=this.hasHeader();if(setElemDisplay(this.headerElement,e),!e)return;const t=this.columns.length,i=this.headerElement.querySelector(".wb-row");assert(i),i.innerHTML="".repeat(t);for(let e=0;e${r}${l}`,this.isCellNav()&&n.classList.toggle("wb-active",e===this.activeColIdx)}}updatePendingModifications(){this.pendingChangeTypes.size>0&&this._updateViewportImmediately()}_updateViewportImmediately(){var e;if(this._disableUpdateCount)return this.log(`_updateViewportImmediately() IGNORED (disable level: ${this._disableUpdateCount})`),void this._disableUpdateIgnoreCount++;const t=RenderFlag,i=new Set(this.pendingChangeTypes);this.pendingChangeTypes.clear();if(i.has(t.scroll)&&1===i.size)this._updateRows({newNodesOnly:!0});else{if(this.log("_updateViewportImmediately():",i),!1!==this.options.adjustHeight){let e=this.listContainerElement.clientHeight;const t=this.headerElement.clientHeight,i=this.element.clientHeight-t-1;Math.abs(e-i)>1&&(this.listContainerElement.style.height=i+"px",e=i)}i.has(t.clearMarkup)&&this.visit((e=>{e.removeMarkup()})),i.has(t.header)&&(this._updateColumnWidths(),this._renderHeaderMarkup()),this._updateRows()}if(this.options.connectTopBreadcrumb){let t=null===(e=this.getTopmostVpNode(!0))||void 0===e?void 0:e.getPath(!1,"title"," > ");t=t?t+" >":"",this.options.connectTopBreadcrumb.textContent=t}this._callEvent("update")}_updateRows(e){const t=!!(e=Object.assign({newNodesOnly:!1},e)).newNodesOnly,i=this.element.clientHeight,s=this.element.scrollTop;let n=Math.max(0,s/22-5);n=Math.floor(n),n%2&&n--;let r=Math.max(0,(s+i)/22+5);r=Math.ceil(r);const o=new Set;this.nodeListElement.childNodes.forEach((e=>{const t=e;o.add(t._wb_node)}));let l=0,a=0,d=!1,c="first";this.visitRows((function(e){const i=e._rowElem;e._rowIdx!==l&&(e._rowIdx=l,d=!0),lr?i&&(c=i):i&&t?(o.delete(e),i.style.top=22*l+"px",c=i):(o.delete(e),i&&(i.style.top=22*l+"px"),e._render({top:a,after:c}),c=e._rowElem),l++,a+=22})),this.treeRowCount=l;for(const e of o)e._callEvent("discard"),e.removeMarkup();return this.nodeListElement.style.height=`${a}px`,d}visit(e){return this.root.visit(e,!1)}visitRows(e,t){if(!this.root.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);let i,s,n,r,o,l,a=0,d=!1===(t=t||{}).includeSelf,c=t.start||this.root.children[0];const h=!!t.includeHidden,u=!h&&"hide"===this.filterMode;for(n=c.parent;n;){for(o=n.children,s=o.indexOf(c)+a,assert(s>=0,`Could not find ${c} in parent's children: ${n}`),i=s;it!==l&&(!u||t.match||t.subMatchCount?!1!==e(t)&&(h||!t.children||t.expanded?void 0:"skip"):"skip")),!1),!1===r))return!1}}c=n,n=n.parent,a=1,!n&&t.wrap&&(this.logDebug("visitRows(): wrap around"),assert(t.start,"`wrap` option requires `start`"),l=t.start,t.wrap=!1,n=this.root,a=0)}return!0}_visitRowsUp(e,t){let i,s,n,r=t.start||this.root.children[0];const o=!!t.includeHidden;if(!1!==t.includeSelf&&!1===e(r))return!1;for(;;){if(n=r.parent,i=n.children,i[0]===r){if(r=n,!r.parent)break;i=n.children}else for(s=i.indexOf(r),r=i[s-1];(o||r.expanded)&&r.children&&r.children.length;)i=r.children,n=r,r=i[i.length-1];if((o||r.isVisible())&&!1===e(r))return!1}return!0}load(e){return this.clear(),this.root.load(e)}enableUpdate(e){e?(assert(this._disableUpdateCount>0,"enableUpdate(true) was called too often"),this._disableUpdateCount--,0===this._disableUpdateCount&&(this.logDebug(`enableUpdate(): active again. Re-painting to catch up with ${this._disableUpdateIgnoreCount} ignored update requests...`),this._disableUpdateIgnoreCount=0,this.update(ChangeType.any,{immediate:!0}))):this._disableUpdateCount++}filterNodes(e,t){return this.extensions.filter.filterNodes(e,t)}filterBranches(e,t){return this.extensions.filter.filterBranches(e,t)}clearFilter(){return this.extensions.filter.clearFilter()}isFilterActive(){return!!this.filterMode}updateFilter(){return this.extensions.filter.updateFilter()}}Wunderbaum.sequence=0,Wunderbaum.version="v0.5.4",Wunderbaum.util=util;export{Wunderbaum}; + * @version v0.5.5 + * @date Tue, 31 Oct 2023 14:26:34 GMT + */class WbSystemRoot extends WunderbaumNode{constructor(e){super(e,null,{key:"__root__",title:e.id})}toString(){return`WbSystemRoot@${this.key}<'${this.tree.id}'>`}}class Wunderbaum{constructor(e){this.enabled=!0,this.data={},this.extensionList=[],this.extensions={},this.keyMap=new Map,this.refKeyMap=new Map,this.treeRowCount=0,this._disableUpdateCount=0,this._disableUpdateIgnoreCount=0,this.activeNode=null,this.focusNode=null,this.types={},this.columns=[],this._columnsById={},this.pendingChangeTypes=new Set,this._util=util,this.filterMode=null,this.activeColIdx=0,this._cellNavMode=!1,this.lastQuicksearchTime=0,this.lastQuicksearchTerm="",this.lastClickTime=0,this.log=this.logDebug;const t=this.options=extend({id:null,source:null,element:null,debugLevel:3,header:null,rowHeightPx:22,iconMap:"bootstrap",columns:null,types:null,enabled:!0,fixedCol:!1,showSpinner:!1,checkbox:!1,minExpandLevel:0,emptyChildListExpandable:!1,skeleton:!1,connectTopBreadcrumb:null,selectMode:"multi",navigationModeOption:null,quicksearch:!0,iconBadge:null,change:null,error:null,receive:null,strings:{loadError:"Error",loading:"Loading...",noData:"No data"}},e),i=new Deferred;this.ready=i.promise();let s=!1;if(this.ready.then((()=>{s=!0;try{this._callEvent("init")}catch(e){this.logError("Exception inside `init(e)` event:",e)}})).catch((e=>{if(s)throw e;this._callEvent("init",{error:e})})),this.id=t.id||"wb_"+ ++Wunderbaum.sequence,this.root=new WbSystemRoot(this),this._registerExtension(new KeynavExtension(this)),this._registerExtension(new EditExtension(this)),this._registerExtension(new FilterExtension(this)),this._registerExtension(new DndExtension(this)),this._registerExtension(new GridExtension(this)),this._registerExtension(new LoggerExtension(this)),this._updateViewportThrottled=adaptiveThrottle(this._updateViewportImmediately.bind(this),{}),this.columns=t.columns,delete t.columns,!this.columns||!this.columns.length){const e="string"==typeof t.header?t.header:this.id;this.columns=[{id:"*",title:e,width:"*"}]}t.types&&this.setTypes(t.types,!0),delete t.types,this.element=elemFromSelector(t.element),assert(!!this.element,`Invalid 'element' option: ${t.element}`),this.element.classList.add("wunderbaum"),this.element.getAttribute("tabindex")||(this.element.tabIndex=0),this.element._wb_tree=this,this.headerElement=this.element.querySelector("div.wb-header");const n=null==t.header?this.columns.length>1:!!t.header;if(this.headerElement){assert(!this.columns,"`opts.columns` must not be set if markup already contains a header"),this.columns=[];const e=this.headerElement.querySelector("div.wb-row");for(const t of e.querySelectorAll("div"))this.columns.push({id:t.dataset.id||`col_${this.columns.length}`,title:""+t.textContent,width:"*"})}else{const e="".repeat(this.columns.length);if(this.element.innerHTML=`\n
\n
\n ${e}\n
\n
`,!n){this.element.querySelector("div.wb-header").style.display="none"}}this.element.innerHTML+='\n
\n
\n
',this.listContainerElement=this.element.querySelector("div.wb-list-container"),this.nodeListElement=this.listContainerElement.querySelector("div.wb-node-list"),this.headerElement=this.element.querySelector("div.wb-header"),this.element.classList.toggle("wb-grid",this.columns.length>1),this._initExtensions(),["enabled","fixedCol"].forEach((e=>{null!=t[e]&&this.setOption(e,t[e])})),t.source?(t.showSpinner&&(this.nodeListElement.innerHTML="loading..."),this.load(t.source).then((()=>{null==t.navigationModeOption?this.isGrid()?this.setNavigationOption(NavModeEnum.cell):this.setNavigationOption(NavModeEnum.row):this.setNavigationOption(t.navigationModeOption),i.resolve()})).catch((e=>{i.reject(e)})).finally((()=>{var e;null===(e=this.element.querySelector("progress.spinner"))||void 0===e||e.remove(),this.element.classList.remove("wb-initializing")}))):i.resolve(),this.update(ChangeType.any),this.element.addEventListener("scroll",(e=>{this.update(ChangeType.scroll)})),this.resizeObserver=new ResizeObserver((e=>{this.update(ChangeType.resize)})),this.resizeObserver.observe(this.element),onEvent(this.nodeListElement,"click","div.wb-row",(t=>{const i=Wunderbaum.getEventInfo(t),s=i.node,n=t;if(!1===this._callEvent("click",{event:t,node:s,info:i}))return this.lastClickTime=Date.now(),!1;if(s){if(n.ctrlKey)return void s.toggleSelected();const r=this.getOption("edit.trigger"),o=this.getOption("edit.slowClickDelay");r.indexOf("clickActive")>=0&&"title"===i.region&&s.isActive()&&(!o||Date.now()-this.lastClickTime=0?s.setActive(!0,{colIdx:i.colIdx,event:t}):s.setActive(!0,{event:t}),i.region===NodeRegion.expander?s.setExpanded(!s.isExpanded(),{scrollIntoView:!1!==e.scrollIntoViewOnExpandClick}):i.region===NodeRegion.checkbox&&s.toggleSelected()}this.lastClickTime=Date.now()})),onEvent(this.nodeListElement,"dblclick","div.wb-row",(e=>{const t=Wunderbaum.getEventInfo(e),i=t.node;if(!1===this._callEvent("dblclick",{event:e,node:i,info:t}))return!1;i&&0===t.colIdx&&i.isExpandable()&&(this._callMethod("edit._stopEditTitle"),i.setExpanded(!i.isExpanded()))})),onEvent(this.element,"keydown",(e=>{const t=Wunderbaum.getEventInfo(e),i=eventToString(e),s=t.node||this.getFocusNode();this._callHook("onKeyEvent",{event:e,node:s,info:t,eventName:i})})),onEvent(this.element,"focusin focusout",(e=>{const i="focusin"===e.type,s=Wunderbaum.getNode(e);this._callEvent("focus",{flag:i,event:e}),i&&this.isRowNav()&&!this.isEditing()&&(t.navigationModeOption===NavModeEnum.row?null==s||s.setActive():this.setCellNav()),i||this._callMethod("edit._stopEditTitle",!0,{event:e,forceClose:!0})}))}static getTree(e){if(e instanceof Wunderbaum)return e;if(e instanceof WunderbaumNode)return e.tree;if(void 0===e&&(e=0),"number"==typeof e)e=document.querySelectorAll(".wunderbaum")[e];else if("string"==typeof e){for(const t of document.querySelectorAll(".wunderbaum")){const i=t._wb_tree;if(i&&i.id===e)return i}if(!(e=document.querySelector(e)))return null}else e.target&&(e=e.target);return assert(e instanceof Element,`Invalid el type: ${e}`),e.matches(".wunderbaum")||(e=e.closest(".wunderbaum")),e&&e._wb_tree?e._wb_tree:null}get iconMap(){const e=this.options.iconMap;return"string"==typeof e?iconMaps[e]:e}static getNode(e){if(!e)return null;if(e instanceof WunderbaumNode)return e;for(void 0!==e.target&&(e=e.target);e;){if(e._wb_node)return e._wb_node;e=e.parentElement}return null}*[Symbol.iterator](){yield*this.root}_registerExtension(e){this.extensionList.push(e),this.extensions[e.id]=e}_initExtensions(){for(const e of this.extensionList)e.init()}_registerNode(e){const t=e.key;assert(null!=t&&!this.keyMap.has(t),`Missing or duplicate key: '${t}'.`),this.keyMap.set(t,e);const i=e.refKey;if(i){const t=this.refKeyMap.get(i);t?t.add(e):this.refKeyMap.set(i,new Set)}}_unregisterNode(e){const t=e.refKey;if(t){const i=this.refKeyMap.get(t);i&&i.delete(e)&&!i.size&&this.refKeyMap.delete(t)}e.tree=null,e.parent=null,e.removeMarkup()}_callHook(e,t={}){let i;const s=extend({},{tree:this,options:this.options,result:void 0},t);for(const t of this.extensionList){if(i=t[e].call(t,s),!1===i)break;void 0!==s.result&&(i=s.result)}return i}_callMethod(e,...t){const[i,s]=e.split("."),n=s?this.extensions[i]:this,r=n[s];if(r)return r.apply(n,t);this.logError(`Calling undefined method '${e}()'.`)}_callEvent(e,t){const[i,s]=e.split("."),n=this.options,r=s?n[i][s]:n[i];if(r)return r.call(this,extend({type:e,tree:this,util:this._util},t))}_getNodeByRowIdx(e){let t=null;return this.visitRows((i=>{if(i._rowIdx===e)return t=i,!1})),t}getTopmostVpNode(e=!0){const t=this.element.scrollTop;let i;return i=e?Math.ceil((t-1)/22):Math.floor(t/22),this._getNodeByRowIdx(i)}getLowestVpNode(e=!0){const t=this.element,i=this.headerElement.clientHeight,s=t.scrollTop,n=t.clientHeight-i;let r;return r=e?Math.floor((s+n)/22)-1:Math.ceil((s+n)/22)-1,r=Math.min(r,this.count(!0)-1),this._getNodeByRowIdx(r)}_getPrevNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!0,start:e||this.getActiveNode()}),e}_getNextNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!1,start:e||this.getActiveNode()}),e}addChildren(e,t){return this.root.addChildren(e,t)}applyCommand(e,t,i){let s,n;switch(t instanceof WunderbaumNode?s=t:(s=this.getActiveNode(),assert(void 0===i,`Unexpected options: ${i}`),i=t),e){case"moveUp":n=s.getPrevSibling(),n&&(s.moveTo(n,"before"),s.setActive());break;case"moveDown":n=s.getNextSibling(),n&&(s.moveTo(n,"after"),s.setActive());break;case"indent":n=s.getPrevSibling(),n&&(s.moveTo(n,"appendChild"),n.setExpanded(),s.setActive());break;case"outdent":s.isTopLevel()||(s.moveTo(s.getParent(),"after"),s.setActive());break;case"remove":n=s.getPrevSibling()||s.getParent(),s.remove(),n&&n.setActive();break;case"addChild":this._callMethod("edit.createNode","prependChild");break;case"addSibling":this._callMethod("edit.createNode","after");break;case"rename":this._callMethod("edit.startEditTitle");break;case"down":case"first":case"last":case"left":case"pageDown":case"pageUp":case"parent":case"right":case"up":return s.navigate(e);default:error(`Unhandled command: '${e}'`)}}clear(){this.root.removeChildren(),this.root.children=null,this.keyMap.clear(),this.refKeyMap.clear(),this.treeRowCount=0,this.activeNode=null,this.focusNode=null,this.update(ChangeType.structure)}destroy(){this.logInfo("destroy()..."),this.clear(),this.resizeObserver.disconnect(),this.element.innerHTML="",this.element.outerHTML=this.element.outerHTML}getOption(e,t){let i,s=this.options;e.indexOf(".")>=0&&([i,e]=e.split("."),s=s[i]);let n=s[e];return"function"==typeof n&&(n=n({type:"resolve",tree:this})),null!=n?n:t}setOption(e,t){if(e.indexOf(".")>=0){const i=e.split(".");this.extensions[i[0]].setPluginOption(i[1],t)}else switch(this.options[e]=t,e){case"checkbox":this.update(ChangeType.any);break;case"enabled":this.setEnabled(!!t);break;case"fixedCol":this.element.classList.toggle("wb-fixed-col",!!t)}}hasFocus(){return this.element.contains(document.activeElement)}hasHeader(){const e=this.options.header;return this.isGrid()?!1!==e:!!e}runWithDeferredUpdate(e,t=null){try{this.enableUpdate(!1);const t=e();return assert(!(t instanceof Promise),`Promise return not allowed: ${t}`),t}finally{this.enableUpdate(!0)}}async expandAll(e=!0,t){await this.root.expandAll(e,t)}selectAll(e=!0){return this.root.setSelected(e,{propagateDown:!0})}toggleSelect(){this.selectAll(this.root._anySelectable())}getSelectedNodes(e=!1){return this.root.getSelectedNodes(e)}_selectRange(e){this.logDebug("_selectRange",e),error("Not yet implemented.")}count(e=!1){return e?this.treeRowCount:this.keyMap.size}_check(){let e=0;this.visit((t=>{e++})),this.keyMap.size!==e&&this.logWarn(`_check failed: ${this.keyMap.size} !== ${e}`)}findAll(e){return this.root.findAll(e)}findFirst(e){return this.root.findFirst(e)}findKey(e){return this.keyMap.get(e)||null}findNextNode(e,t){let i=null;const s=this.getFirstChild(),n="string"==typeof e?makeNodeTitleStartMatcher(e):e;function r(e){if(n(e)&&(i=e),i||e===t)return!1}return t=t||s,this.visitRows(r,{start:t,includeSelf:!1}),i||t===s||this.visitRows(r,{start:s,includeSelf:!0}),i}findRelatedNode(e,t,i=!1){let s=null;const n=Math.floor(this.listContainerElement.clientHeight/22);switch(t){case"parent":case"left":e.parent&&e.parent.parent&&(s=e.parent);break;case"first":this.visit((e=>{if(e.isVisible())return s=e,!1}));break;case"last":this.visit((e=>{e.isVisible()&&(s=e)}));break;case"right":e.children&&e.children.length&&(s=e.children[0]);break;case"up":s=this._getPrevNodeInView(e);break;case"down":s=this._getNextNodeInView(e);break;case"pageDown":{const t=this.getLowestVpNode();s=e._rowIdxt._rowIdx?t:this._getPrevNodeInView(e,n)}break;default:this.logWarn("Unknown relation '"+t+"'.")}return s}*format_iter(e,t){yield*this.root.format_iter(e,t)}format(e,t){return this.root.format(e,t)}getActiveColElem(){return this.activeNode&&this.activeColIdx>=0?this.activeNode.getColElem(this.activeColIdx):null}getActiveNode(){return this.activeNode}getFirstChild(){return this.root.getFirstChild()}getFocusNode(){return this.focusNode}static getEventInfo(e){const t=e.target,i=t.classList,s=t.closest("span.wb-col"),n=Wunderbaum.getNode(t),r=n?n.tree:Wunderbaum.getTree(e),o={event:e,canonicalName:eventToString(e),tree:r,node:n,region:NodeRegion.unknown,colDef:void 0,colIdx:-1,colId:void 0,colElem:s};if(i.contains("wb-title"))o.region=NodeRegion.title;else if(i.contains("wb-expander"))o.region=n.isExpandable()?NodeRegion.expander:NodeRegion.prefix;else if(i.contains("wb-checkbox"))o.region=NodeRegion.checkbox;else if(i.contains("wb-icon"))o.region=NodeRegion.icon;else if(i.contains("wb-node"))o.region=NodeRegion.title;else if(s){o.region=NodeRegion.column;const e=Array.prototype.indexOf.call(s.parentNode.children,s);o.colIdx=e}else{if(!i.contains("wb-row"))return"mousemove"===e.type||e instanceof KeyboardEvent||null==r||r.logWarn("getEventInfo(): not found",e,o),o;o.region=NodeRegion.title}return-1===o.colIdx&&(o.colIdx=0),o.colDef=null==r?void 0:r.columns[o.colIdx],null!=o.colDef&&(o.colId=o.colDef.id),o}toString(){return`Wunderbaum<'${this.id}'>`}isEditing(){return this._callMethod("edit.isEditingTitle")}isLoading(){let e=!1;return this.root.visit((t=>{if(t._isLoading||t._requestId)return e=!0,!1}),!0),e}logDebug(...e){this.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.options.debugLevel>=3&&console.info(this.toString(),...e)}logTime(e){return this.options.debugLevel>=4&&console.time(this+": "+e),e}logTimeEnd(e){this.options.debugLevel>=4&&console.timeEnd(this+": "+e)}logWarn(...e){this.options.debugLevel>=2&&console.warn(this.toString(),...e)}scrollTo(e){let t,i;e instanceof WunderbaumNode?t=e:(i=e,t=i.node),assert(t&&null!=t._rowIdx,`Invalid node: ${t}`);const s=this.element,n=this.headerElement.clientHeight,r=s.scrollTop,o=s.clientHeight,l=22*t._rowIdx+n,a=n,d=l-r,c=d+22,h=null==i?void 0:i.topNode;let u=null;d>=a?c<=o||(u=l+22-o+2):u=l-a-2,null!=u&&(this.log(`scrollTo(${l}): ${r} => ${u}`),s.scrollTop=u,h&&this.scrollTo(h))}scrollToHorz(){const e=this.columns[0]._widthPx,t=this.element.clientWidth,i=this.element.scrollLeft,s=this.getActiveColElem(),n=Number.parseInt(null==s?void 0:s.style.left,10),r=n+Number.parseInt(null==s?void 0:s.style.width,10);let o=i;n-it&&(o=r-t),o=Math.max(0,o),this.log(`scrollToHorz(${this.activeColIdx}): ${n}..${r}, fixedOfs=${e}, vpWidth=${t}, curLeft=${i} -> ${o}`),this.element.scrollLeft=o}setColumn(e){var t;if(assert(this.isCellNav(),"Exected cellNav mode"),assert(0<=e&&e0&&(s?this._updateViewportImmediately():this._updateViewportThrottled())}setEnabled(e=!0){const t=this.enabled;return this.enabled=!!e,this.element.classList.toggle("wb-disabled",!e),t}isEnabled(){return this.enabled}isGrid(){return this.columns&&this.columns.length>1}isCellNav(){return!!this._cellNavMode}isRowNav(){return!this._cellNavMode}setCellNav(e=!0){var t;const i=this._cellNavMode;this._cellNavMode=!!e,e&&!i&&this.setColumn(0),this.element.classList.toggle("wb-cell-mode",e),null===(t=this.activeNode)||void 0===t||t.update(ChangeType.status)}setNavigationOption(e,t=!1){if(this.isGrid()||e===NavModeEnum.row)switch(this.options.navigationModeOption=e,e){case NavModeEnum.cell:this.setCellNav(!0);break;case NavModeEnum.row:this.setCellNav(!1);break;case NavModeEnum.startCell:t&&this.setCellNav(!0);break;case NavModeEnum.startRow:t&&this.setCellNav(!1);break;default:error(`Invalid mode '${e}'.`)}else this.logWarn("Plain trees only support row navigation mode.")}setStatus(e,t){return this.root.setStatus(e,t)}setTypes(e,t=!0){assert(isPlainObject(e),`Expected plain objext: ${e}`),t?this.types=e:extend(this.types,e);for(const e of Object.values(this.types))e.classes&&(e.classes=toSet(e.classes))}sortChildren(e=nodeTitleSorter,t=!1){this.root.sortChildren(e,t)}toDictArray(e){var t;return null!==(t=this.root.toDict(!0,e).children)&&void 0!==t?t:[]}_updateColumnWidths(){const e=this.element.clientWidth,t=this.columns,i=t[0];let s=0,n=0,r=0,o=!1;if("*"!==i.id)throw new Error(`First column must have id '*': got '${i.id}'.`);this._columnsById={};for(const e of t){this._columnsById[e.id]=e;const t=e.width;if("*"===e.id&&e!==i)throw new Error(`Column id '*' must be defined only once: '${e.title}'.`);if(t&&"*"!==t)if("number"==typeof t)e._weight=t,n+=t;else if("string"==typeof t&&t.endsWith("px")){e._weight=0;const i=parseFloat(t.slice(0,-2));e._widthPx!=i&&(o=!0,e._widthPx=i),r+=i}else error(`Invalid column width: ${t} (expected string ending with 'px' or number, e.g. "px" or ).`);else e._weight=1,n+=1}const l=Math.max(0,e-r);let a=0;for(const e of t){let t;if(e._weight){const i=e.minWidth;t="number"==typeof i?i:"string"==typeof i&&i.endsWith("px")?parseFloat(i.slice(0,-2)):4;const s=Math.max(t,l*e._weight/n);e._widthPx!=s&&(o=!0,e._widthPx=s)}e._ofsPx=a,a+=e._widthPx}t[t.length-1]._widthPx-=1,s=a-1;const d=`${s}px`;return this.headerElement.style.width=d,this.listContainerElement.style.width=d,o}_renderHeaderMarkup(){assert(this.headerElement,"Expected a headerElement");const e=this.hasHeader();if(setElemDisplay(this.headerElement,e),!e)return;const t=this.columns.length,i=this.headerElement.querySelector(".wb-row");assert(i,"Expected a row in header element"),i.innerHTML="".repeat(t);for(let e=0;e${r}${l}`,this.isCellNav()&&n.classList.toggle("wb-active",e===this.activeColIdx)}}updatePendingModifications(){this.pendingChangeTypes.size>0&&this._updateViewportImmediately()}_updateViewportImmediately(){var e;if(this._disableUpdateCount)return this.log(`_updateViewportImmediately() IGNORED (disable level: ${this._disableUpdateCount})`),void this._disableUpdateIgnoreCount++;const t=RenderFlag,i=new Set(this.pendingChangeTypes);this.pendingChangeTypes.clear();if(i.has(t.scroll)&&1===i.size)this._updateRows({newNodesOnly:!0});else{if(this.log("_updateViewportImmediately():",i),!1!==this.options.adjustHeight){let e=this.listContainerElement.clientHeight;const t=this.headerElement.clientHeight,i=this.element.clientHeight-t-1;Math.abs(e-i)>1&&(this.listContainerElement.style.height=i+"px",e=i)}i.has(t.clearMarkup)&&this.visit((e=>{e.removeMarkup()})),i.has(t.header)&&(this._updateColumnWidths(),this._renderHeaderMarkup()),this._updateRows()}if(this.options.connectTopBreadcrumb){let t=null===(e=this.getTopmostVpNode(!0))||void 0===e?void 0:e.getPath(!1,"title"," > ");t=t?t+" >":"",this.options.connectTopBreadcrumb.textContent=t}this._callEvent("update")}_updateRows(e){const t=!!(e=Object.assign({newNodesOnly:!1},e)).newNodesOnly,i=this.element.clientHeight,s=this.element.scrollTop;let n=Math.max(0,s/22-5);n=Math.floor(n),n%2&&n--;let r=Math.max(0,(s+i)/22+5);r=Math.ceil(r);const o=new Set;this.nodeListElement.childNodes.forEach((e=>{const t=e;o.add(t._wb_node)}));let l=0,a=0,d=!1,c="first";this.visitRows((function(e){const i=e._rowElem;e._rowIdx!==l&&(e._rowIdx=l,d=!0),lr?i&&(c=i):i&&t?(o.delete(e),i.style.top=22*l+"px",c=i):(o.delete(e),i&&(i.style.top=22*l+"px"),e._render({top:a,after:c}),c=e._rowElem),l++,a+=22})),this.treeRowCount=l;for(const e of o)e._callEvent("discard"),e.removeMarkup();return this.nodeListElement.style.height=`${a}px`,d}visit(e){return this.root.visit(e,!1)}visitRows(e,t){if(!this.root.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);let i,s,n,r,o,l,a=0,d=!1===(t=t||{}).includeSelf,c=t.start||this.root.children[0];const h=!!t.includeHidden,u=!h&&"hide"===this.filterMode;for(n=c.parent;n;){for(o=n.children,s=o.indexOf(c)+a,assert(s>=0,`Could not find ${c} in parent's children: ${n}`),i=s;it!==l&&(!u||t.match||t.subMatchCount?!1!==e(t)&&(h||!t.children||t.expanded?void 0:"skip"):"skip")),!1),!1===r))return!1}}c=n,n=n.parent,a=1,!n&&t.wrap&&(this.logDebug("visitRows(): wrap around"),assert(t.start,"`wrap` option requires `start`"),l=t.start,t.wrap=!1,n=this.root,a=0)}return!0}_visitRowsUp(e,t){let i,s,n,r=t.start||this.root.children[0];const o=!!t.includeHidden;if(!1!==t.includeSelf&&!1===e(r))return!1;for(;;){if(n=r.parent,i=n.children,i[0]===r){if(r=n,!r.parent)break;i=n.children}else for(s=i.indexOf(r),r=i[s-1];(o||r.expanded)&&r.children&&r.children.length;)i=r.children,n=r,r=i[i.length-1];if((o||r.isVisible())&&!1===e(r))return!1}return!0}load(e){return this.clear(),this.root.load(e)}enableUpdate(e){e?(assert(this._disableUpdateCount>0,"enableUpdate(true) was called too often"),this._disableUpdateCount--,0===this._disableUpdateCount&&(this.logDebug(`enableUpdate(): active again. Re-painting to catch up with ${this._disableUpdateIgnoreCount} ignored update requests...`),this._disableUpdateIgnoreCount=0,this.update(ChangeType.any,{immediate:!0}))):this._disableUpdateCount++}filterNodes(e,t){return this.extensions.filter.filterNodes(e,t)}filterBranches(e,t){return this.extensions.filter.filterBranches(e,t)}clearFilter(){return this.extensions.filter.clearFilter()}isFilterActive(){return!!this.filterMode}updateFilter(){return this.extensions.filter.updateFilter()}}Wunderbaum.sequence=0,Wunderbaum.version="v0.5.5",Wunderbaum.util=util;export{Wunderbaum}; //# sourceMappingURL=wunderbaum.esm.min.js.map \ No newline at end of file diff --git a/dist/wunderbaum.esm.min.js.map b/dist/wunderbaum.esm.min.js.map index aabc2bc6..0ac61d2e 100644 --- a/dist/wunderbaum.esm.min.js.map +++ b/dist/wunderbaum.esm.min.js.map @@ -1 +1 @@ -{"version":3,"file":"wunderbaum.esm.js","names":["MOUSE_BUTTONS","MAX_INT","userInfo","_getUserInfo","isMac","REX_HTML","REX_TOOLTIP","ENTITY_MAP","Deferred$1","constructor","this","thens","catches","status","resolve","value","Error","resolvedValue","forEach","t","reject","error","rejectedError","c","then","cb","unshift","promise","catch","assert","cond","msg","nav","navigator","test","platform","documentReady","callback","document","readyState","addEventListener","documentReadyPromise","Promise","each","obj","length","i","call","k","escapeHtml","s","replace","escapeRegex","escapeTooltip","extractHtmlText","indexOf","getValueFromElem","elem","coerce","tag","tagName","classList","contains","span","embeddedInput","querySelector","innerText","input","type","indeterminate","checked","valueAsDate","valueAsNumber","name","parentElement","undefined","setValueToElem","Date","select","selectedIndex","setElemDisplay","flag","style","elemFromSelector","display","elemFromHtml","html","createElement","innerHTML","trim","content","firstElementChild","_IGNORE_KEYS","Set","eventTargetFromSelector","eventToString","event","key","et","altKey","push","ctrlKey","metaKey","shiftKey","button","has","join","extend","args","arg","Object","prototype","hasOwnProperty","isArray","Array","isEmptyObject","keys","isFunction","isPlainObject","toString","noop","onEvent","rootTarget","eventNames","selectorOrHandler","handlerOrNone","selector","handler","split","evn","e","target","matches","closest","overrideMethod","instance","methodName","ctx","prevSuper","prevSuperApply","self","prevFunc","_super","apply","_superApply","argsArray","setTimeoutPromise","ms","setTimeout","err","async","sleep","toggleCheckbox","element","tristate","getOption","opts","defaultValue","ext","toSet","val","set","add","toLowerCase","adaptiveThrottle","options","waiting","pendingArgs","assign","minDelay","defaultDelay","maxDelay","delayFactor","Math","max","throttledFn","useArgs","start","now","console","elap","curDelay","min","useDelay","ChangeType","RenderFlag","NodeStatusType","NodeRegion","NavModeEnum","util","freeze","__proto__","Deferred","WunderbaumExtension","tree","id","defaults","enabled","treeOpts","extensionOpts","getPluginOption","init","_a","setPluginOption","setEnabled","onKeyEvent","data","onRender","freeGlobal","global","freeGlobalThis","globalThis","freeSelf","root","Function","isObject","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","requestAnimationFrame","TypeError","invokeFunc","time","thisArg","startTimer","pendingFunc","cancelAnimationFrame","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeSinceLastInvoke","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","cancelTimer","flush","pending","throttle","START_MARKER","END_MARKER","RE_START_MARKER","RegExp","RE_END_MARTKER","FilterExtension","super","connectInput","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","mode","noData","lastFilterArgs","queryInput","filterNodes","filterMode","updateFilter","_applyFilterNoUpdate","filter","branchMode","_opts","runWithDeferredUpdate","_applyFilterImpl","match","temp","count","prevAutoCollapse","autoCollapse","hideMode","logInfo","clearFilter","map","reduce","a","b","re","reHighlight","node","title","text","res","_markFuzzyMatchedChars","titleWithHighlight","arguments","toggle","subMatchCount","visit","setStatus","ok","children","matchedByBranch","parent","visitParents","p","expanded","setExpanded","noAnimation","noEvents","_filterAutoExpanded","filterBranches","logWarn","enableUpdate","remove","escapeTitles","matchingIndices","_matchingArrIdx","_mIdx","textPoses","v","QUICKSEARCH_DELAY","KeynavExtension","_getEmbeddedInputElem","ace","getActiveColElem","_isCurInputFocused","activate","autoActivate","curInput","inputHasFocus","navModeOption","navigationModeOption","focusNode","eventName","handled","isEnabled","_callEvent","_callMethod","currentNode","getFocusNode","getActiveNode","firstNode","getFirstChild","setActive","setFocus","isColspan","isRowNav","blur","_render","quicksearch","stamp","lastQuicksearchTime","lastQuicksearchTerm","matchNode","findNextNode","preventDefault","isActive","isExpanded","isExpandable","startCell","startRow","setCellNav","toggleSelected","navigate","curInputType","inputCanFocus","logDebug","setColumn","activeColIdx","focus","click","log","isCellNav","cell","columns","LoggerExtension","ignoreEvents","prefix","extra","DEFAULT_DEBUGLEVEL","ROW_HEIGHT","ICON_WIDTH","TITLE_SPAN_PAD_Y","RENDER_MAX_PREFETCH","TEST_IMG","iconMaps","bootstrap","loading","expanderExpanded","expanderCollapsed","expanderLazy","checkChecked","checkUnchecked","checkUnknown","radioChecked","radioUnchecked","radioUnknown","folder","folderOpen","folderLazy","doc","fontawesome6","RESERVED_TREE_SOURCE_KEYS","KEY_TO_ACTION_DICT","Add","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backspace","Divide","End","Home","Multiply","PageDown","PageUp","Subtract","makeNodeTitleMatcher","makeNodeTitleStartMatcher","reMatch","nodeTitleSorter","x","y","unflattenSource","source","_b","_c","_format","_keyMap","_positional","includes","longToShort","entries","positionalShort","newChildren","keyToNodeMap","indexToNodeMap","keyAttrName","childrenAttrName","index","parentId","kwargs","positionalIdx","parentNode","inflateSourceData","_typeList","_version","_iter","childList","getOwnPropertyNames","propName","long","newType","nodeMimeType","DndExtension","autoExpandMS","multiSource","effectAllowed","dropEffectDefault","preventForeignNodes","preventLazyParents","preventNonNodes","preventRecursion","preventSameParent","preventVoidMoves","serializeClipboardData","scroll","scrollSensitivity","scrollSpeed","sourceCopyHook","dragStart","drag","dragEnd","dragEnter","dragOver","dragExpand","drop","dragLeave","srcNode","lastTargetNode","lastEnterStamp","lastAllowedDropRegions","lastDropEffect","lastDropRegion","currentScrollDir","applyScrollDirThrottled","applyScrollDir","dndOpts","dnd","onDragEvent","bind","onDropEvent","_leaveNode","ltn","setClass","unifyDragover","size","_calcDropRegion","allowed","dy","offsetY","isDragging","sp","scrollTop","autoScroll","viewportY","sensitivity","headerHeight","headerElement","clientHeight","height","offsetHeight","scrollHeight","Wunderbaum","getNode","dataTransfer","isEditing","nodeData","toDict","n","_org_key","_treeId","setData","JSON","stringify","_isVoidDrop","targetNode","dropRegion","getNextSibling","getPrevSibling","srcTree","dt","dropEffect","isStatusNode","isLoaded","isAncestorOf","regionSet","clientY","offsetTop","region","_isLoading","stopPropagation","defaultDropMode","sourceNode","DragObserver","dragElem","dragging","events","thresh","_handler","handleEvent","disconnect","removeEventListener","getDragElem","stopDrag","cb_event","dragstop","dx","pageX","pageY","dragstart","GridExtension","observer","window","handleDrag","info","getEventInfo","_promise","_resolve","_reject","reason","finally","NODE_PROPS","NODE_DICT_PROPS","delete","WunderbaumNode","refKey","classes","_requestId","_errorInfo","_partsel","_partload","_rowIdx","_rowElem","sequence","icon","lazy","statusNodeType","colspan","checkbox","radiogroup","selected","unselectable","_registerNode","Symbol","iterator","cl","l","typeInfo","types","addChildren","before","applyMinExpanLevel","_level","getLevel","nodeList","forceExpand","minExpandLevel","child","subChildren","isUnloaded","concat","findDirectChild","pos","splice","update","structure","addNode","applyCommand","cmd","collapseSiblings","className","cnSet","cn","expandAll","depth","loadLazy","force","keepActiveNodeVisible","expandOpts","scrollIntoView","logTime","level","level_1","promises","all","logTimeEnd","activeNode","findAll","matcher","ptr","findFirst","findRelatedNode","where","includeHidden","format_iter","name_cb","connectors","_is_last","ca","_format_line","parts","format","line","getColElem","colIdx","findIndex","colElems","querySelectorAll","getLastChild","ac","idx","getParent","getParentList","includeRoot","includeSelf","dtn","getPath","part","separator","path","isFunc","hasChildren","hasClass","other","isDescendantOf","isChildOf","andCollapsed","emptyChildListExpandable","isFirstSibling","isLastSibling","isLazy","isLoading","isPagingNode","isParentOf","isPartload","isPartsel","isRadio","isRendered","isRootNode","isSelected","isTopLevel","isVisible","hasFilter","parents","_loadSourceObject","response","setTypes","colStructure","selectMode","fixSelection3FromEndNodes","_fetchWithOptions","url","params","body","rest","fetchOpts","method","URLSearchParams","fetch","json","load","requestId","prevParent","elapLoad","elapProcess","startProcess","logError","message","debugLevel","forceReload","wasExpanded","resetLazy","warn","makeVisible","dfd","deferreds","len","seOpts","updatePendingModifications","moveTo","targetParent","triggerModifyChild","any","triggerModify","removeMarkup","_unregisterNode","removeChildren","_wb_node","_getRenderInfo","allColInfosById","renderColInfosById","col","_createIcon","iconMap","parentElem","replaceChild","showLoading","iconSpan","appendChild","cbRes","badge","tooltip","badgeClass","badgeTooltip","append","_render_markup","treeOptions","rowDiv","checkboxSpan","expanderSpan","isNew","after","top","nodeElem","ofsTitlePx","titleSpan","_ofsTitlePx","draggable","colElem","left","_ofsPx","width","_widthPx","nodeListElement","prepend","_render_data","preventScroll","textContent","skeleton","vpWidth","clientWidth","isDataChange","_render_status","renderInfo","rowClasses","image","backgroundImage","cbclass","colSpan","resizeCols","ofs","colDef","change","row","recursive","dict","scrollTo","prev","retrigger","focusTree","orgEvent","nextNode","prevNode","immediate","updateOpts","lastChild","topNode","setIcon","setKey","getSelectedNodes","stopOnParents","_anySelectable","setSelected","found","_changeSelectStatusProps","state","changed","fixSelection3AfterClick","_walk","allSelected","someSelected","sendEvents","canSelect","propagateDown","sibling","details","statusNode","_setStatusNode","firstChild","_clearStatusNode","strings","loadError","setTitle","_sortChildren","cmp","deep","sort","sortChildren","operation","modifyChild","visitSiblings","isMatched","EditExtension","minlength","maxlength","trigger","slowClickDelay","validity","beforeEdit","edit","curEditNode","relatedNode","debouncedOnChange","_onChange","_applyChange","inputElem","inputValue","_preprocessKeyEvent","isEditingTitle","_stopEditTitle","startEditTitle","inputHtml","setCustomValidity","reportValidity","stopEditTitle","focusElem","activeElement","newValue","forceClose","errMsg","validationMessage","oldValue","createNode","newNode","WbSystemRoot","extensionList","extensions","keyMap","Map","refKeyMap","treeRowCount","_disableUpdateCount","_disableUpdateIgnoreCount","_columnsById","pendingChangeTypes","_util","_cellNavMode","lastClickTime","header","rowHeightPx","fixedCol","showSpinner","connectTopBreadcrumb","iconBadge","receive","readyDeferred","ready","readyOk","_registerExtension","_updateViewportThrottled","_updateViewportImmediately","getAttribute","tabIndex","_wb_tree","wantHeader","rowElement","colDiv","dataset","coldivs","repeat","listContainerElement","_initExtensions","optName","setOption","isGrid","setNavigationOption","resizeObserver","ResizeObserver","resize","observe","mouseEvent","expander","scrollIntoViewOnExpandClick","_callHook","getTree","el","treeElem","Element","extension","rk","rks","get","hook","d","_getNodeByRowIdx","visitRows","getTopmostVpNode","complete","topIdx","ceil","floor","getLowestVpNode","scrollParent","bottomIdx","_getPrevNodeInView","reverse","_getNextNodeInView","nodeOrOpts","refNode","clear","destroy","outerHTML","hasFocus","hasHeader","hint","selectAll","toggleSelect","_selectRange","eventInfo","visible","_check","findKey","startNode","_checkNode","pageSize","bottomNode","parentCol","canonicalName","unknown","colId","column","KeyboardEvent","label","timeEnd","vpHeight","rowTop","vpTop","vpRowTop","vpRowBottom","newScrollTop","scrollToHorz","fixedWidth","scrollLeft","colLeft","Number","parseInt","colRight","newLeft","setActiveNode","RF","clearMarkup","redraw","reset","values","toDictArray","_updateColumnWidths","col0","totalWidth","totalWeight","modified","cw","_weight","endsWith","px","parseFloat","slice","restPx","ofsPx","minWidth","cmw","tw","_renderHeaderMarkup","colCount","headerRow","headerClasses","resizer","_updateRows","newNodesOnly","adjustHeight","wantHeight","abs","vp_height","startIdx","endIdx","obsoleteNodes","childNodes","tr","prevElem","_visitRowsUp","nextIdx","siblings","stopNode","siblingOfs","skipFirstNode","checkFilter","wrap","isFilterActive","version"],"sources":["wunderbaum.esm.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"wunderbaum.esm.js","names":["MOUSE_BUTTONS","MAX_INT","userInfo","_getUserInfo","isMac","REX_HTML","REX_TOOLTIP","ENTITY_MAP","Deferred$1","constructor","this","thens","catches","status","resolve","value","Error","resolvedValue","forEach","t","reject","error","rejectedError","c","then","cb","unshift","promise","catch","assert","cond","msg","nav","navigator","test","platform","documentReady","callback","document","readyState","addEventListener","documentReadyPromise","Promise","each","obj","length","i","call","k","escapeHtml","s","replace","escapeRegex","escapeTooltip","extractHtmlText","indexOf","getValueFromElem","elem","coerce","tag","tagName","classList","contains","span","embeddedInput","querySelector","innerText","input","type","indeterminate","checked","valueAsDate","valueAsNumber","name","parentElement","undefined","setValueToElem","Date","select","selectedIndex","setElemDisplay","flag","style","elemFromSelector","display","elemFromHtml","html","createElement","innerHTML","trim","content","firstElementChild","_IGNORE_KEYS","Set","eventTargetFromSelector","eventToString","event","key","et","altKey","push","ctrlKey","metaKey","shiftKey","button","has","join","extend","args","arg","Object","prototype","hasOwnProperty","isArray","Array","isEmptyObject","keys","isFunction","isPlainObject","toString","noop","onEvent","rootTarget","eventNames","selectorOrHandler","handlerOrNone","selector","handler","split","evn","e","target","matches","closest","overrideMethod","instance","methodName","ctx","prevSuper","prevSuperApply","self","prevFunc","_super","apply","_superApply","argsArray","setTimeoutPromise","ms","setTimeout","err","async","sleep","toggleCheckbox","element","tristate","getOption","opts","defaultValue","ext","toSet","val","set","add","toLowerCase","adaptiveThrottle","options","waiting","pendingArgs","assign","minDelay","defaultDelay","maxDelay","delayFactor","Math","max","throttledFn","useArgs","start","now","console","elap","curDelay","min","useDelay","ChangeType","RenderFlag","NodeStatusType","NodeRegion","NavModeEnum","util","freeze","__proto__","Deferred","WunderbaumExtension","tree","id","defaults","enabled","treeOpts","extensionOpts","getPluginOption","init","_a","setPluginOption","setEnabled","onKeyEvent","data","onRender","freeGlobal","global","freeGlobalThis","globalThis","freeSelf","root","Function","isObject","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","requestAnimationFrame","TypeError","invokeFunc","time","thisArg","startTimer","pendingFunc","cancelAnimationFrame","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeSinceLastInvoke","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","cancelTimer","flush","pending","throttle","START_MARKER","END_MARKER","RE_START_MARKER","RegExp","RE_END_MARTKER","FilterExtension","super","connectInput","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","mode","noData","lastFilterArgs","queryInput","filterNodes","filterMode","updateFilter","_applyFilterNoUpdate","filter","branchMode","_opts","runWithDeferredUpdate","_applyFilterImpl","match","temp","count","prevAutoCollapse","autoCollapse","hideMode","logInfo","clearFilter","map","reduce","a","b","re","reHighlight","node","title","text","res","_markFuzzyMatchedChars","titleWithHighlight","arguments","toggle","subMatchCount","visit","setStatus","ok","children","matchedByBranch","parent","visitParents","p","expanded","setExpanded","noAnimation","noEvents","_filterAutoExpanded","filterBranches","logWarn","enableUpdate","remove","escapeTitles","matchingIndices","_matchingArrIdx","_mIdx","textPoses","v","QUICKSEARCH_DELAY","KeynavExtension","_getEmbeddedInputElem","ace","getActiveColElem","_isCurInputFocused","activate","autoActivate","curInput","inputHasFocus","navModeOption","navigationModeOption","focusNode","eventName","handled","isEnabled","_callEvent","_callMethod","currentNode","getFocusNode","getActiveNode","firstNode","getFirstChild","setActive","setFocus","isColspan","isRowNav","blur","_render","quicksearch","stamp","lastQuicksearchTime","lastQuicksearchTerm","matchNode","findNextNode","preventDefault","isActive","isExpanded","isExpandable","startCell","startRow","setCellNav","toggleSelected","navigate","curInputType","inputCanFocus","logDebug","setColumn","activeColIdx","focus","click","log","isCellNav","cell","columns","LoggerExtension","ignoreEvents","prefix","extra","DEFAULT_DEBUGLEVEL","ROW_HEIGHT","ICON_WIDTH","TITLE_SPAN_PAD_Y","RENDER_MAX_PREFETCH","TEST_IMG","iconMaps","bootstrap","loading","expanderExpanded","expanderCollapsed","expanderLazy","checkChecked","checkUnchecked","checkUnknown","radioChecked","radioUnchecked","radioUnknown","folder","folderOpen","folderLazy","doc","fontawesome6","RESERVED_TREE_SOURCE_KEYS","KEY_TO_ACTION_DICT","Add","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backspace","Divide","End","Home","Multiply","PageDown","PageUp","Subtract","makeNodeTitleMatcher","makeNodeTitleStartMatcher","reMatch","nodeTitleSorter","x","y","unflattenSource","source","_b","_c","_format","_keyMap","_positional","includes","longToShort","entries","positionalShort","newChildren","keyToNodeMap","indexToNodeMap","keyAttrName","childrenAttrName","index","parentId","kwargs","positionalIdx","parentNode","inflateSourceData","_typeList","_version","_iter","childList","getOwnPropertyNames","propName","long","newType","nodeMimeType","DndExtension","autoExpandMS","multiSource","effectAllowed","dropEffectDefault","guessDropEffect","preventForeignNodes","preventLazyParents","preventNonNodes","preventRecursion","preventSameParent","preventVoidMoves","serializeClipboardData","scroll","scrollSensitivity","scrollSpeed","sourceCopyHook","dragStart","drag","dragEnd","dragEnter","dragOver","dragExpand","drop","dragLeave","srcNode","lastTargetNode","lastEnterStamp","lastAllowedDropRegions","lastDropEffect","lastDropRegion","currentScrollDir","applyScrollDirThrottled","_applyScrollDir","dndOpts","dnd","onDragEvent","bind","onDropEvent","_leaveNode","ltn","setClass","unifyDragover","size","_calcDropRegion","allowed","dy","offsetY","_guessDropEffect","ea","canCopy","canLink","canMove","_isVoidDrop","targetNode","dropRegion","getNextSibling","getPrevSibling","isDragging","sp","scrollTop","_autoScroll","viewportY","sensitivity","headerHeight","headerElement","clientHeight","height","offsetHeight","scrollHeight","Wunderbaum","getNode","dataTransfer","isEditing","nodeData","toDict","n","_orgKey","_treeId","setData","JSON","stringify","srcTree","dt","dropEffect","isStatusNode","isLoaded","isAncestorOf","regionSet","clientY","offsetTop","region","_isLoading","stopPropagation","getData","parse","suggestedDropMode","suggestedDropEffect","sourceNode","sourceNodeData","DragObserver","dragElem","dragging","events","thresh","_handler","handleEvent","disconnect","removeEventListener","getDragElem","stopDrag","cb_event","dragstop","dx","pageX","pageY","dragstart","GridExtension","observer","window","handleDrag","info","getEventInfo","_promise","_resolve","_reject","reason","finally","NODE_PROPS","NODE_DICT_PROPS","delete","WunderbaumNode","refKey","classes","_requestId","_errorInfo","_partsel","_partload","_rowIdx","_rowElem","sequence","icon","lazy","statusNodeType","colspan","checkbox","radiogroup","selected","unselectable","_registerNode","Symbol","iterator","cl","l","typeInfo","types","addChildren","before","applyMinExpanLevel","_level","getLevel","nodeList","forceExpand","minExpandLevel","child","subChildren","isUnloaded","concat","findDirectChild","pos","splice","update","structure","addNode","applyCommand","cmd","collapseSiblings","className","cnSet","cn","expandAll","depth","loadLazy","force","keepActiveNodeVisible","expandOpts","scrollIntoView","logTime","level","level_1","promises","all","logTimeEnd","activeNode","findAll","matcher","ptr","findFirst","findRelatedNode","where","includeHidden","format_iter","name_cb","connectors","_is_last","ca","_format_line","parts","format","line","getColElem","colIdx","findIndex","colElems","querySelectorAll","getLastChild","ac","idx","getParent","getParentList","includeRoot","includeSelf","dtn","getPath","part","separator","path","isFunc","hasChildren","hasClass","other","isDescendantOf","isChildOf","andCollapsed","emptyChildListExpandable","isFirstSibling","isLastSibling","isLazy","isLoading","isPagingNode","isParentOf","isPartload","isPartsel","isRadio","isRendered","isRootNode","isSelected","isTopLevel","isVisible","hasFilter","parents","_loadSourceObject","response","setTypes","colStructure","selectMode","fixSelection3FromEndNodes","_fetchWithOptions","url","params","body","rest","fetchOpts","method","URLSearchParams","fetch","json","load","requestId","prevParent","elapLoad","elapProcess","startProcess","logError","message","debugLevel","forceReload","wasExpanded","resetLazy","warn","makeVisible","dfd","deferreds","len","seOpts","updatePendingModifications","moveTo","targetParent","triggerModifyChild","any","triggerModify","removeMarkup","_unregisterNode","removeChildren","_wb_node","_getRenderInfo","allColInfosById","renderColInfosById","col","_createIcon","iconMap","parentElem","replaceChild","showLoading","iconSpan","appendChild","cbRes","badge","tooltip","badgeClass","badgeTooltip","append","_render_markup","treeOptions","rowDiv","checkboxSpan","expanderSpan","isNew","after","top","nodeElem","ofsTitlePx","titleSpan","_ofsTitlePx","draggable","colElem","left","_ofsPx","width","_widthPx","nodeListElement","prepend","_render_data","preventScroll","textContent","skeleton","vpWidth","clientWidth","isDataChange","_render_status","renderInfo","rowClasses","image","backgroundImage","cbclass","colSpan","resizeCols","ofs","colDef","change","row","recursive","dict","scrollTo","prev","retrigger","focusTree","orgEvent","nextNode","prevNode","immediate","updateOpts","lastChild","topNode","setIcon","setKey","getSelectedNodes","stopOnParents","_anySelectable","setSelected","found","_changeSelectStatusProps","state","changed","fixSelection3AfterClick","_walk","allSelected","someSelected","sendEvents","canSelect","propagateDown","sibling","details","statusNode","_setStatusNode","firstChild","_clearStatusNode","strings","loadError","setTitle","_sortChildren","cmp","deep","sort","sortChildren","operation","modifyChild","visitSiblings","isMatched","EditExtension","minlength","maxlength","trigger","slowClickDelay","validity","beforeEdit","edit","curEditNode","relatedNode","debouncedOnChange","_onChange","_applyChange","inputElem","inputValue","_preprocessKeyEvent","isEditingTitle","_stopEditTitle","startEditTitle","inputHtml","setCustomValidity","reportValidity","stopEditTitle","focusElem","activeElement","newValue","forceClose","errMsg","validationMessage","oldValue","createNode","newNode","WbSystemRoot","extensionList","extensions","keyMap","Map","refKeyMap","treeRowCount","_disableUpdateCount","_disableUpdateIgnoreCount","_columnsById","pendingChangeTypes","_util","_cellNavMode","lastClickTime","header","rowHeightPx","fixedCol","showSpinner","connectTopBreadcrumb","iconBadge","receive","readyDeferred","ready","readyOk","_registerExtension","_updateViewportThrottled","_updateViewportImmediately","getAttribute","tabIndex","_wb_tree","wantHeader","rowElement","colDiv","dataset","coldivs","repeat","listContainerElement","_initExtensions","optName","setOption","isGrid","setNavigationOption","resizeObserver","ResizeObserver","resize","observe","mouseEvent","expander","scrollIntoViewOnExpandClick","_callHook","getTree","el","treeElem","Element","extension","rk","rks","get","hook","d","_getNodeByRowIdx","visitRows","getTopmostVpNode","complete","topIdx","ceil","floor","getLowestVpNode","scrollParent","bottomIdx","_getPrevNodeInView","reverse","_getNextNodeInView","nodeOrOpts","refNode","clear","destroy","outerHTML","hasFocus","hasHeader","hint","selectAll","toggleSelect","_selectRange","eventInfo","visible","_check","findKey","startNode","_checkNode","pageSize","bottomNode","parentCol","canonicalName","unknown","colId","column","KeyboardEvent","label","timeEnd","vpHeight","rowTop","vpTop","vpRowTop","vpRowBottom","newScrollTop","scrollToHorz","fixedWidth","scrollLeft","colLeft","Number","parseInt","colRight","newLeft","setActiveNode","RF","clearMarkup","redraw","reset","values","toDictArray","_updateColumnWidths","col0","totalWidth","totalWeight","modified","cw","_weight","endsWith","px","parseFloat","slice","restPx","ofsPx","minWidth","cmw","tw","_renderHeaderMarkup","colCount","headerRow","headerClasses","resizer","_updateRows","newNodesOnly","adjustHeight","wantHeight","abs","vp_height","startIdx","endIdx","obsoleteNodes","childNodes","tr","prevElem","_visitRowsUp","nextIdx","siblings","stopNode","siblingOfs","skipFirstNode","checkFilter","wrap","isFilterActive","version"],"sources":["wunderbaum.esm.js"],"mappings":"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"} \ No newline at end of file diff --git a/dist/wunderbaum.umd.js b/dist/wunderbaum.umd.js index 0ae12f8b..d4543ee0 100644 --- a/dist/wunderbaum.umd.js +++ b/dist/wunderbaum.umd.js @@ -7,7 +7,7 @@ /*! * Wunderbaum - util * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** @module util */ /** Readable names for `MouseEvent.button` */ @@ -586,7 +586,7 @@ */ function toggleCheckbox(element, value, tristate) { const input = elemFromSelector(element); - assert(input.type === "checkbox"); + assert(input.type === "checkbox", `Expected a checkbox: ${input.type}`); tristate !== null && tristate !== void 0 ? tristate : (tristate = input.classList.contains("wb-tristate") || input.indeterminate); if (value === undefined) { const curValue = input.indeterminate ? null : input.checked; @@ -771,7 +771,7 @@ /*! * Wunderbaum - types * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Possible values for {@link WunderbaumNode.update()} and {@link Wunderbaum.update()}. @@ -835,7 +835,7 @@ /*! * Wunderbaum - wb_extension_base * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class WunderbaumExtension { constructor(tree, id, defaults) { @@ -1191,7 +1191,7 @@ /*! * Wunderbaum - ext-filter * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const START_MARKER = "\uFFF7"; const END_MARKER = "\uFFF8"; @@ -1491,7 +1491,7 @@ /*! * Wunderbaum - ext-keynav * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const QUICKSEARCH_DELAY = 500; class KeynavExtension extends WunderbaumExtension { @@ -1837,7 +1837,7 @@ /*! * Wunderbaum - ext-logger * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class LoggerExtension extends WunderbaumExtension { constructor(tree) { @@ -1879,7 +1879,7 @@ /*! * Wunderbaum - common * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const DEFAULT_DEBUGLEVEL = 3; // Replaced by rollup script /** @@ -2005,7 +2005,7 @@ return match.test(node.title); }; } - assert(typeof match === "string"); + assert(typeof match === "string", `Expected a string or RegExp: ${match}`); // s = escapeRegex(s.toLowerCase()); return function (node) { return node.title === match; @@ -2145,7 +2145,7 @@ /*! * Wunderbaum - ext-dnd * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ const nodeMimeType = "application/x-wunderbaum-node"; class DndExtension extends WunderbaumExtension { @@ -2158,8 +2158,8 @@ // dropMarkerParent: "body", // Root Container used for drop marker (could be a shadow root) multiSource: false, effectAllowed: "all", - // dropEffect: "auto", // 'copy'|'link'|'move'|'auto'(calculate from `effectAllowed`+modifier keys) or callback(node, data) that returns such string. dropEffectDefault: "move", + guessDropEffect: true, preventForeignNodes: false, preventLazyParents: true, preventNonNodes: false, @@ -2169,7 +2169,7 @@ serializeClipboardData: true, scroll: true, scrollSensitivity: 20, - // scrollnterval: 50, // Generste event every 50 ms + // scrollnterval: 50, // Generate event every 50 ms scrollSpeed: 5, // setTextTypeJson: false, // Allow dragging of nodes to different IE windows sourceCopyHook: null, @@ -2192,7 +2192,7 @@ this.lastDropEffect = null; this.lastDropRegion = false; this.currentScrollDir = 0; - this.applyScrollDirThrottled = throttle(this.applyScrollDir, 50); + this.applyScrollDirThrottled = throttle(this._applyScrollDir, 50); } init() { super.init(); @@ -2264,8 +2264,68 @@ } // return "over"; } + /** + * Guess drop effect (copy/link/move) using opinionated conventions. + * + * Default: dnd.dropEffectDefault + */ + _guessDropEffect(e) { + // const nativeDropEffect = e.dataTransfer?.dropEffect; + var _a; + // if (nativeDropEffect && nativeDropEffect !== "none") { + // return nativeDropEffect; + // } + const dndOpts = this.treeOpts.dnd; + const ea = (_a = dndOpts.effectAllowed) !== null && _a !== void 0 ? _a : "all"; + const canCopy = ["all", "copy", "copyLink", "copyMove"].includes(ea); + const canLink = ["all", "link", "copyLink", "linkMove"].includes(ea); + const canMove = ["all", "move", "copyMove", "linkMove"].includes(ea); + let res = dndOpts.dropEffectDefault; + if (dndOpts.guessDropEffect) { + if (isMac) { + if (e.altKey && canCopy) { + res = "copy"; + } + if (e.metaKey && canMove) { + res = "move"; // command key + } + if (e.altKey && e.metaKey && canLink) { + res = "link"; + } + } + else { + if (e.ctrlKey && canCopy) { + res = "copy"; + } + if (e.shiftKey && canMove) { + res = "move"; + } + if (e.altKey && canLink) { + res = "link"; + } + } + } + return res; + } + /** Don't allow void operation ('drop on self').*/ + _isVoidDrop(targetNode, srcNode, dropRegion) { + // this.tree.logDebug( + // `_isVoidDrop: ${srcNode} -> ${dropRegion} ${targetNode}` + // ); + // TODO: should be checked on move only + if (!this.treeOpts.dnd.preventVoidMoves || !srcNode) { + return false; + } + if ((dropRegion === "before" && targetNode === srcNode.getNextSibling()) || + (dropRegion === "after" && targetNode === srcNode.getPrevSibling())) { + // this.tree.logDebug("Prevented before/after self"); + return true; + } + // Don't allow dropping nodes on own parent (or self) + return srcNode === targetNode || srcNode.parent === targetNode; + } /* Implement auto scrolling when drag cursor is in top/bottom area of scroll parent. */ - applyScrollDir() { + _applyScrollDir() { if (this.isDragging() && this.currentScrollDir) { const dndOpts = this.tree.options.dnd; const sp = this.tree.element; // scroll parent @@ -2279,7 +2339,7 @@ } } /* Implement auto scrolling when drag cursor is in top/bottom area of scroll parent. */ - autoScroll(viewportY) { + _autoScroll(viewportY) { const tree = this.tree; const dndOpts = tree.options.dnd; const sensitivity = dndOpts.scrollSensitivity; @@ -2315,15 +2375,19 @@ isDragging() { return !!this.srcNode; } + /** + * Handle dragstart, drag and dragend events for the source node. + */ onDragEvent(e) { // const tree = this.tree; const dndOpts = this.treeOpts.dnd; const srcNode = Wunderbaum.getNode(e); if (!srcNode) { + this.tree.logWarn(`onDragEvent.${e.type} no node`); return; } - if (e.type !== "drag") { - this.tree.logDebug("onDragEvent." + e.type + ", srcNode: " + srcNode, e); + if (["dragstart", "dragend"].includes(e.type)) { + this.tree.logDebug(`onDragEvent.${e.type} srcNode: ${srcNode}`, e); } // --- dragstart --- if (e.type === "dragstart") { @@ -2342,13 +2406,13 @@ } const nodeData = srcNode.toDict(true, (n) => { // We don't want to re-use the key on drop: - n._org_key = n.key; + n._orgKey = n.key; delete n.key; }); nodeData._treeId = srcNode.tree.id; if (dndOpts.serializeClipboardData) { if (typeof dndOpts.serializeClipboardData === "function") { - e.dataTransfer.setData(nodeMimeType, dndOpts.serializeClipboardData(nodeData)); + e.dataTransfer.setData(nodeMimeType, dndOpts.serializeClipboardData(nodeData, srcNode)); } else { e.dataTransfer.setData(nodeMimeType, JSON.stringify(nodeData)); @@ -2376,28 +2440,15 @@ if (this.lastTargetNode) { this._leaveNode(); } - if (dndOpts.dragEnd) { - srcNode._callEvent("dnd.dragEnd", { event: e }); - } + srcNode._callEvent("dnd.dragEnd", { event: e }); } return true; } - /* Don't allow void operation ('drop on self').*/ - _isVoidDrop(targetNode, srcNode, dropRegion) { - this.tree.logDebug(`_isVoidDrop: ${srcNode} -> ${dropRegion} ${targetNode}`); - // TODO: should be checked on move only - if (!this.treeOpts.dnd.preventVoidMoves || !srcNode) { - return false; - } - if ((dropRegion === "before" && targetNode === srcNode.getNextSibling()) || - (dropRegion === "after" && targetNode === srcNode.getPrevSibling())) { - this.tree.logDebug("Prevented before/after self"); - return true; - } - // Don't allow dropping nodes on own parent (or self) - return srcNode === targetNode || srcNode.parent === targetNode; - } + /** + * Handle dragenter, dragover, dragleave, drop events. + */ onDropEvent(e) { + var _a; // const isLink = event.dataTransfer.types.includes("text/uri-list"); const srcNode = this.srcNode; const srcTree = srcNode ? srcNode.tree : null; @@ -2409,15 +2460,9 @@ this._leaveNode(); return; } - if (!["dragenter", "dragover", "dragleave"].includes(e.type)) { - this.tree.logDebug("onDropEvent." + - e.type + - " targetNode: " + - targetNode + - ", ea: " + - (dt === null || dt === void 0 ? void 0 : dt.effectAllowed) + - ", de: " + - (dt === null || dt === void 0 ? void 0 : dt.dropEffect), ", cy: " + e.offsetY, ", r: " + dropRegion, ", srcNode: " + srcNode, e); + if (["drop"].includes(e.type)) { + this.tree.logDebug(`onDropEvent.${e.type} targetNode: ${targetNode}, ea: ${dt === null || dt === void 0 ? void 0 : dt.effectAllowed}, ` + + `de: ${dt === null || dt === void 0 ? void 0 : dt.dropEffect}, cy: ${e.offsetY}, r: ${dropRegion}, srcNode: ${srcNode}`, e); } // --- dragenter --- if (e.type === "dragenter") { @@ -2451,6 +2496,8 @@ return true; // Prevent drop operation } // User may return a set of regions (or `false` to prevent drop) + // Figure out a drop effect (copy/link/move) using opinated conventions. + dt.dropEffect = this._guessDropEffect(e) || "none"; let regionSet = targetNode._callEvent("dnd.dragEnter", { event: e }); // regionSet = this.unifyDragover(regionSet); @@ -2467,12 +2514,12 @@ } else if (e.type === "dragover") { const viewportY = e.clientY - this.tree.element.offsetTop; - this.autoScroll(viewportY); - if (dndOpts.dragOver) { - targetNode._callEvent("dnd.dragOver", { event: e }); - } + this._autoScroll(viewportY); + dt.dropEffect = this._guessDropEffect(e) || "none"; + targetNode._callEvent("dnd.dragOver", { event: e }); const region = this._calcDropRegion(e, this.lastAllowedDropRegions); this.lastDropRegion = region; + this.lastDropEffect = dt.dropEffect; if (dndOpts.autoExpandMS > 0 && targetNode.isExpandable(true) && !targetNode._isLoading && @@ -2486,8 +2533,6 @@ targetNode.setClass("wb-drop-over", region === "over"); targetNode.setClass("wb-drop-before", region === "before"); targetNode.setClass("wb-drop-after", region === "after"); - // console.log("dragover", e); - // dt.dropEffect = this.lastDropEffect!; e.preventDefault(); // Allow drop (Drop operation is denied by default) return false; // --- dragleave --- @@ -2495,21 +2540,30 @@ else if (e.type === "dragleave") { // NOTE: we cannot trust this event, since it is always fired, // Instead we remove the marker on dragenter - if (dndOpts.dragLeave) { - targetNode._callEvent("dnd.dragLeave", { event: e }); - } + targetNode._callEvent("dnd.dragLeave", { event: e }); // --- drop --- } else if (e.type === "drop") { e.stopPropagation(); // prevent browser from opening links? this._leaveNode(); const region = this.lastDropRegion; - targetNode._callEvent("dnd.drop", { - event: e, - region: region, - defaultDropMode: region === "over" ? "appendChild" : region, - sourceNode: this.srcNode, - }); + let nodeData = (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.getData(nodeMimeType); + nodeData = nodeData ? JSON.parse(nodeData) : null; + const srcNode = this.srcNode; + const lastDropEffect = this.lastDropEffect; + setTimeout(() => { + // Decouple this call, because drop actions may prevent the dragend event + // from being fired on some browsers + targetNode._callEvent("dnd.drop", { + event: e, + region: region, + suggestedDropMode: region === "over" ? "appendChild" : region, + suggestedDropEffect: lastDropEffect, + // suggestedDropEffect: e.dataTransfer?.dropEffect, + sourceNode: srcNode, + sourceNodeData: nodeData, + }); + }, 10); } } } @@ -2517,7 +2571,7 @@ /*! * Wunderbaum - drag_observer * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Convert mouse- and touch events to 'dragstart', 'drag', and 'dragstop'. @@ -2653,7 +2707,7 @@ /*! * Wunderbaum - ext-grid * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class GridExtension extends WunderbaumExtension { constructor(tree) { @@ -2690,7 +2744,7 @@ /*! * Wunderbaum - deferred * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** * Implement a ES6 Promise, that exposes a resolve() and reject() method. @@ -2743,7 +2797,7 @@ /*! * Wunderbaum - wunderbaum_node * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ /** WunderbaumNode properties that can be passed with source data. * (Any other source properties will be stored as `node.data.PROP`.) @@ -2800,8 +2854,8 @@ this.subMatchCount = 0; this._rowIdx = 0; this._rowElem = undefined; - assert(!parent || parent.tree === tree); - assert(!data.children); + assert(!parent || parent.tree === tree, `Invalid parent: ${parent}`); + assert(!data.children, "'children' not allowed here"); this.tree = tree; this.parent = parent; this.key = "" + ((_a = data.key) !== null && _a !== void 0 ? _a : ++WunderbaumNode.sequence); @@ -2988,7 +3042,7 @@ case "appendChild": return this.addChildren(nodeData); } - assert(false, "Invalid mode: " + mode); + assert(false, `Invalid mode: ${mode}`); return undefined; } /** @@ -3534,9 +3588,9 @@ if (isArray(source)) { source = { children: source }; } - assert(isPlainObject(source)); + assert(isPlainObject(source), `Expected an array or plain object: ${source}`); const format = (_a = source.format) !== null && _a !== void 0 ? _a : "nested"; - assert(format === "nested" || format === "flat"); + assert(format === "nested" || format === "flat", `Expected source.format = 'nested' or 'flat': ${format}`); // Pre-rocess for 'nested' or 'flat' format inflateSourceData(source); assert(source.children, "If `source` is an object, it must have a `children` property"); @@ -3664,7 +3718,9 @@ this._requestId = 0; elap = Date.now() - start; if (tree.options.debugLevel >= 3) { - tree.logInfo(`Load source took ${elap / 1000} seconds (transfer: ${elapLoad / 1000}s, processing: ${elapProcess / 1000}s)`); + tree.logInfo(`Load source took ${elap / 1000} seconds ` + + `(transfer: ${elapLoad / 1000}s, ` + + `processing: ${elapProcess / 1000}s)`); } } } @@ -4079,9 +4135,9 @@ let checkboxSpan = null; let expanderSpan = null; const isNew = !rowDiv; - assert(isNew); + assert(isNew, "Expected unrendered node"); assert(!isNew || (opts && opts.after), "opts.after expected, unless updating"); - assert(!this.isRootNode()); + assert(!this.isRootNode(), "Root node not allowed"); rowDiv = document.createElement("div"); rowDiv.classList.add("wb-row"); rowDiv.style.top = this._rowIdx * ROW_HEIGHT + "px"; @@ -4181,7 +4237,7 @@ * @see {@link WunderbaumNode._render} */ _render_data(opts) { - assert(this._rowElem); + assert(this._rowElem, "No _rowElem"); const tree = this.tree; const treeOptions = tree.options; const rowDiv = this._rowElem; @@ -4640,7 +4696,7 @@ * {@link Wunderbaum.update()} API. */ update(change = ChangeType.data) { - assert(change === ChangeType.status || change === ChangeType.data); + assert(change === ChangeType.status || change === ChangeType.data, `Invalid change type ${change}`); this.tree.update(change, this); } /** @@ -4868,8 +4924,8 @@ // system root) const children = this.children; const firstChild = children ? children[0] : null; - assert(data.statusNodeType); - assert(!firstChild || !firstChild.isStatusNode()); + assert(data.statusNodeType, "Not a status node"); + assert(!firstChild || !firstChild.isStatusNode(), "Child must not be a status node"); statusNode = this.addNode(data, "prependChild"); statusNode.match = true; tree.update(ChangeType.structure); @@ -5068,7 +5124,7 @@ /*! * Wunderbaum - ext-edit * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ // const START_MARKER = "\uFFF7"; class EditExtension extends WunderbaumExtension { @@ -5334,7 +5390,7 @@ init = { title: init }; } else { - assert(isPlainObject(init)); + assert(isPlainObject(init), `Expected a plain object: ${init}`); } // Make sure node is expanded (and loaded) in 'child' mode if ((mode === "prependChild" || mode === "appendChild") && @@ -5364,8 +5420,8 @@ * https://github.com/mar10/wunderbaum * * Released under the MIT license. - * @version v0.5.4 - * @date Sun, 15 Oct 2023 16:43:28 GMT + * @version v0.5.5 + * @date Tue, 31 Oct 2023 14:26:34 GMT */ // import "./wunderbaum.scss"; class WbSystemRoot extends WunderbaumNode { @@ -5746,7 +5802,7 @@ else if (el.target) { el = el.target; } - assert(el instanceof Element); + assert(el instanceof Element, `Invalid el type: ${el}`); if (!el.matches(".wunderbaum")) { el = el.closest(".wunderbaum"); } @@ -5998,7 +6054,7 @@ } else { node = this.getActiveNode(); - assert(options === undefined); + assert(options === undefined, `Unexpected options: ${options}`); options = nodeOrOpts; } // clipboard = options.clipboard; @@ -6206,7 +6262,7 @@ try { this.enableUpdate(false); const res = func(); - assert(!(res instanceof Promise)); + assert(!(res instanceof Promise), `Promise return not allowed: ${res}`); return res; } finally { @@ -6642,7 +6698,7 @@ options = nodeOrOpts; node = options.node; } - assert(node && node._rowIdx != null); + assert(node && node._rowIdx != null, `Invalid node: ${node}`); const scrollParent = this.element; const headerHeight = this.headerElement.clientHeight; // May be 0 const scrollTop = scrollParent.scrollTop; @@ -6712,8 +6768,8 @@ */ setColumn(colIdx) { var _a; - assert(this.isCellNav()); - assert(0 <= colIdx && colIdx < this.columns.length); + assert(this.isCellNav(), "Exected cellNav mode"); + assert(0 <= colIdx && colIdx < this.columns.length, `Invalid colIdx: ${colIdx}`); this.activeColIdx = colIdx; // Update `wb-active` class for all headers if (this.hasHeader()) { @@ -6831,11 +6887,11 @@ isGrid() { return this.columns && this.columns.length > 1; } - /** Return true if cell-navigation mode is acive. */ + /** Return true if cell-navigation mode is active. */ isCellNav() { return !!this._cellNavMode; } - /** Return true if row-navigation mode is acive. */ + /** Return true if row-navigation mode is active. */ isRowNav() { return !this._cellNavMode; } @@ -6888,7 +6944,7 @@ } /** Add or redefine node type definitions. */ setTypes(types, replace = true) { - assert(isPlainObject(types)); + assert(isPlainObject(types), `Expected plain objext: ${types}`); if (replace) { this.types = types; } @@ -6934,7 +6990,8 @@ const defaultMinWidth = 4; const vpWidth = this.element.clientWidth; // Shorten last column width to avoid h-scrollbar - const FIX_ADJUST_LAST_COL = 0; // 2; + // (otherwise resizbing the demo would display a void scrollbar?) + const FIX_ADJUST_LAST_COL = 1; const columns = this.columns; const col0 = columns[0]; let totalWidth = 0; @@ -7027,7 +7084,7 @@ * @internal */ _renderHeaderMarkup() { - assert(this.headerElement); + assert(this.headerElement, "Expected a headerElement"); const wantHeader = this.hasHeader(); setElemDisplay(this.headerElement, wantHeader); if (!wantHeader) { @@ -7035,7 +7092,7 @@ } const colCount = this.columns.length; const headerRow = this.headerElement.querySelector(".wb-row"); - assert(headerRow); + assert(headerRow, "Expected a row in header element"); headerRow.innerHTML = "".repeat(colCount); for (let i = 0; i < colCount; i++) { const col = this.columns[i]; @@ -7497,7 +7554,7 @@ } Wunderbaum.sequence = 0; /** Wunderbaum release version number "MAJOR.MINOR.PATCH". */ - Wunderbaum.version = "v0.5.4"; // Set to semver by 'grunt release' + Wunderbaum.version = "v0.5.5"; // Set to semver by 'grunt release' /** Expose some useful methods of the util.ts module as `Wunderbaum.util`. */ Wunderbaum.util = util; diff --git a/dist/wunderbaum.umd.min.js b/dist/wunderbaum.umd.min.js index 88955110..1a52de33 100644 --- a/dist/wunderbaum.umd.min.js +++ b/dist/wunderbaum.umd.min.js @@ -2,17 +2,17 @@ /*! * Wunderbaum - util * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const t={0:"",1:"left",2:"middle",3:"right",4:"back",5:"forward"},i=function(){const e=navigator;return{isMac:/Mac/.test(e.platform)}}().isMac,s=/[&<>"'/]/g,n=/[<>"'/]/g,r={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function o(e,t){if(!e)throw t=t||"Assertion failed.",new Error(t)}function l(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}function a(e){throw new Error(e)}function d(e){return(""+e).replace(s,(function(e){return r[e]}))}function c(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function h(e){return(""+e).replace(n,(function(e){return r[e]}))}function u(e,t=!1){const i=e.tagName;let s=null;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,n=i.querySelector("input,select");if(n)return u(n,t);i.innerText=""+s}else if("INPUT"===i){const i=e;switch(i.type){case"button":case"reset":case"submit":case"image":break;case"checkbox":s=i.indeterminate?null:i.checked;break;case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":s=t?i.valueAsDate:i.value;break;case"number":case"range":s=i.valueAsNumber;break;case"radio":{const e=i.name,t=i.parentElement.querySelector(`input[name="${e}"]:checked`);s=t?t.value:void 0}break;default:s=i.value}}else if("SELECT"===i){s=e.value}return s}function p(e,t){const i=v(e).style;t?"none"===i.display&&(i.display=""):""===i.display&&(i.display="none")}function f(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}const g=new Set(["Alt","Control","Meta","Shift"]);function v(e){return e?"string"==typeof e?document.querySelector(e):e:null}function m(e){return e?"string"==typeof e?document.querySelector(e):e:null}function b(e){const i=e.key,s=e.type,n=[];return e.altKey&&n.push("Alt"),e.ctrlKey&&n.push("Control"),e.metaKey&&n.push("Meta"),e.shiftKey&&n.push("Shift"),"click"===s||"dblclick"===s?n.push(t[e.button]+s):"wheel"===s?n.push(s):g.has(i)||n.push(i),n.join("+")}function y(...e){for(let t=1;t{e.addEventListener(t,(function(e){if(!n)return r(e);if(e.target){let t=e.target;if(t.matches(n))return r(e);if(t=t.closest(n),t)return r(e)}}))}))}function C(e,t,i,s){let n,r;const o=s||e,l=e[t],a=(...e)=>l.apply(o,e),d=e=>l.apply(o,e);e[t]=(...e)=>{try{return n=o._super,r=o._superApply,o._super=a,o._superApply=d,i.apply(o,e)}finally{o._super=n,o._superApply=r}}}function k(e,t,i=void 0){let s;e&&t.indexOf(".")>=0&&([s,t]=t.split("."),e=e[s]);const n=e?e[t]:null;return null!=n?n:i}function N(e){if(e instanceof Set)return e;if("string"==typeof e){const t=new Set;for(const i of e.split(" "))t.add(i.trim());return t}if(Array.isArray(e))return new Set(e);throw new Error("Cannot convert to Set: "+e)}function S(e,t){let i=0,s=null;const n=Object.assign({minDelay:16,defaultDelay:200,maxDelay:5e3,delayFactor:2},t),r=Math.max(16,+n.minDelay),o=+n.maxDelay,l=(...t)=>{if(i)s=t,i+=1;else{i=1;const a=t;s=null;const d=Date.now();try{e.apply(this,a)}catch(e){console.error(e)}const c=Date.now()-d,h=Math.min(Math.max(r,c*n.delayFactor),o),u=Math.max(r,h-c);setTimeout((()=>{i=0,null!=s&&l.apply(this,s)}),u)}};return l}var D,L,I,T,M,O=Object.freeze({__proto__:null,Deferred:class{constructor(){this.thens=[],this.catches=[],this.status=""}resolve(e){if(this.status)throw new Error("already settled");this.status="resolved",this.resolvedValue=e,this.thens.forEach((t=>t(e))),this.thens=[]}reject(e){if(this.status)throw new Error("already settled");this.status="rejected",this.rejectedError=e,this.catches.forEach((t=>t(e))),this.catches=[]}then(e){"resolved"===status?e(this.resolvedValue):this.thens.unshift(e)}catch(e){"rejected"===this.status?e(this.rejectedError):this.catches.unshift(e)}promise(){return{then:this.then,catch:this.catch}}},MAX_INT:9007199254740991,MOUSE_BUTTONS:t,adaptiveThrottle:S,assert:o,documentReady:l,documentReadyPromise:function(){return new Promise((e=>{l(e)}))},each:function(e,t){if(null==e)return e;const i=e.length;let s=0;if("number"==typeof i)for(;s")>=0&&a("Not implemented"),e},getOption:k,getValueFromElem:u,isArray:w,isEmptyObject:E,isFunction:function(e){return"function"==typeof e},isMac:i,isPlainObject:x,noop:function(...e){},onEvent:_,overrideMethod:C,setElemDisplay:p,setTimeoutPromise:function(e,t){return new Promise(((i,s)=>{setTimeout((()=>{try{i(e.apply(this))}catch(e){s(e)}}),t)}))},setValueToElem:function e(t,i){const s=t.tagName;if("SPAN"===s&&t.classList.contains("wb-col")){const s=t,n=s.querySelector("input,select");if(n)return e(n,i);s.innerText=""+i}else if("INPUT"===s){const e=t,s=e.type;switch(s){case"checkbox":e.indeterminate=null===i,e.checked=!!i;break;case"date":case"month":case"time":case"week":case"datetime":case"datetime-local":e.valueAsDate=new Date(i);break;case"number":case"range":null==i?e.value=i:e.valueAsNumber=i;break;case"radio":a(`Not yet implemented: ${s}`);break;case"button":case"reset":case"submit":case"image":break;default:e.value=null!=i?i:""}}else if("SELECT"===s){const e=t;null==i?e.selectedIndex=-1:e.value=i}},sleep:async function(e){return new Promise((t=>setTimeout(t,e)))},toSet:N,toggleCheckbox:function(e,t,i){const s=v(e);if(o("checkbox"===s.type),null!=i||(i=s.classList.contains("wb-tristate")||s.indeterminate),void 0===t){switch(s.indeterminate?null:s.checked){case!0:t=!1;break;case!1:t=!i||null;break;case null:t=!0}}s.indeterminate=null==t,s.checked=!!t},type:function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase()}}); + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */const t={0:"",1:"left",2:"middle",3:"right",4:"back",5:"forward"},i=function(){const e=navigator;return{isMac:/Mac/.test(e.platform)}}().isMac,s=/[&<>"'/]/g,n=/[<>"'/]/g,r={"&":"&","<":"<",">":">",'"':""","'":"'","/":"/"};function o(e,t){if(!e)throw t=t||"Assertion failed.",new Error(t)}function l(e){"loading"===document.readyState?document.addEventListener("DOMContentLoaded",e):e()}function a(e){throw new Error(e)}function d(e){return(""+e).replace(s,(function(e){return r[e]}))}function c(e){return(""+e).replace(/([.?*+^$[\]\\(){}|-])/g,"\\$1")}function h(e){return(""+e).replace(n,(function(e){return r[e]}))}function u(e,t=!1){const i=e.tagName;let s=null;if("SPAN"===i&&e.classList.contains("wb-col")){const i=e,n=i.querySelector("input,select");if(n)return u(n,t);i.innerText=""+s}else if("INPUT"===i){const i=e;switch(i.type){case"button":case"reset":case"submit":case"image":break;case"checkbox":s=i.indeterminate?null:i.checked;break;case"date":case"datetime":case"datetime-local":case"month":case"time":case"week":s=t?i.valueAsDate:i.value;break;case"number":case"range":s=i.valueAsNumber;break;case"radio":{const e=i.name,t=i.parentElement.querySelector(`input[name="${e}"]:checked`);s=t?t.value:void 0}break;default:s=i.value}}else if("SELECT"===i){s=e.value}return s}function p(e,t){const i=v(e).style;t?"none"===i.display&&(i.display=""):""===i.display&&(i.display="none")}function f(e){const t=document.createElement("template");return t.innerHTML=e.trim(),t.content.firstElementChild}const g=new Set(["Alt","Control","Meta","Shift"]);function v(e){return e?"string"==typeof e?document.querySelector(e):e:null}function m(e){return e?"string"==typeof e?document.querySelector(e):e:null}function b(e){const i=e.key,s=e.type,n=[];return e.altKey&&n.push("Alt"),e.ctrlKey&&n.push("Control"),e.metaKey&&n.push("Meta"),e.shiftKey&&n.push("Shift"),"click"===s||"dblclick"===s?n.push(t[e.button]+s):"wheel"===s?n.push(s):g.has(i)||n.push(i),n.join("+")}function y(...e){for(let t=1;t{e.addEventListener(t,(function(e){if(!n)return r(e);if(e.target){let t=e.target;if(t.matches(n))return r(e);if(t=t.closest(n),t)return r(e)}}))}))}function k(e,t,i,s){let n,r;const o=s||e,l=e[t],a=(...e)=>l.apply(o,e),d=e=>l.apply(o,e);e[t]=(...e)=>{try{return n=o._super,r=o._superApply,o._super=a,o._superApply=d,i.apply(o,e)}finally{o._super=n,o._superApply=r}}}function C(e,t,i=void 0){let s;e&&t.indexOf(".")>=0&&([s,t]=t.split("."),e=e[s]);const n=e?e[t]:null;return null!=n?n:i}function N(e){if(e instanceof Set)return e;if("string"==typeof e){const t=new Set;for(const i of e.split(" "))t.add(i.trim());return t}if(Array.isArray(e))return new Set(e);throw new Error("Cannot convert to Set: "+e)}function S(e,t){let i=0,s=null;const n=Object.assign({minDelay:16,defaultDelay:200,maxDelay:5e3,delayFactor:2},t),r=Math.max(16,+n.minDelay),o=+n.maxDelay,l=(...t)=>{if(i)s=t,i+=1;else{i=1;const a=t;s=null;const d=Date.now();try{e.apply(this,a)}catch(e){console.error(e)}const c=Date.now()-d,h=Math.min(Math.max(r,c*n.delayFactor),o),u=Math.max(r,h-c);setTimeout((()=>{i=0,null!=s&&l.apply(this,s)}),u)}};return l}var D,I,L,T,M,O=Object.freeze({__proto__:null,Deferred:class{constructor(){this.thens=[],this.catches=[],this.status=""}resolve(e){if(this.status)throw new Error("already settled");this.status="resolved",this.resolvedValue=e,this.thens.forEach((t=>t(e))),this.thens=[]}reject(e){if(this.status)throw new Error("already settled");this.status="rejected",this.rejectedError=e,this.catches.forEach((t=>t(e))),this.catches=[]}then(e){"resolved"===status?e(this.resolvedValue):this.thens.unshift(e)}catch(e){"rejected"===this.status?e(this.rejectedError):this.catches.unshift(e)}promise(){return{then:this.then,catch:this.catch}}},MAX_INT:9007199254740991,MOUSE_BUTTONS:t,adaptiveThrottle:S,assert:o,documentReady:l,documentReadyPromise:function(){return new Promise((e=>{l(e)}))},each:function(e,t){if(null==e)return e;const i=e.length;let s=0;if("number"==typeof i)for(;s")>=0&&a("Not implemented"),e},getOption:C,getValueFromElem:u,isArray:w,isEmptyObject:E,isFunction:function(e){return"function"==typeof e},isMac:i,isPlainObject:x,noop:function(...e){},onEvent:_,overrideMethod:k,setElemDisplay:p,setTimeoutPromise:function(e,t){return new Promise(((i,s)=>{setTimeout((()=>{try{i(e.apply(this))}catch(e){s(e)}}),t)}))},setValueToElem:function e(t,i){const s=t.tagName;if("SPAN"===s&&t.classList.contains("wb-col")){const s=t,n=s.querySelector("input,select");if(n)return e(n,i);s.innerText=""+i}else if("INPUT"===s){const e=t,s=e.type;switch(s){case"checkbox":e.indeterminate=null===i,e.checked=!!i;break;case"date":case"month":case"time":case"week":case"datetime":case"datetime-local":e.valueAsDate=new Date(i);break;case"number":case"range":null==i?e.value=i:e.valueAsNumber=i;break;case"radio":a(`Not yet implemented: ${s}`);break;case"button":case"reset":case"submit":case"image":break;default:e.value=null!=i?i:""}}else if("SELECT"===s){const e=t;null==i?e.selectedIndex=-1:e.value=i}},sleep:async function(e){return new Promise((t=>setTimeout(t,e)))},toSet:N,toggleCheckbox:function(e,t,i){const s=v(e);if(o("checkbox"===s.type,`Expected a checkbox: ${s.type}`),null!=i||(i=s.classList.contains("wb-tristate")||s.indeterminate),void 0===t){switch(s.indeterminate?null:s.checked){case!0:t=!1;break;case!1:t=!i||null;break;case null:t=!0}}s.indeterminate=null==t,s.checked=!!t},type:function(e){return Object.prototype.toString.call(e).replace(/^\[object (.+)\]$/,"$1").toLowerCase()}}); /*! * Wunderbaum - types * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */!function(e){e.any="any",e.data="data",e.colStructure="colStructure",e.resize="resize",e.row="row",e.structure="structure",e.status="status",e.scroll="scroll"}(D||(D={})),function(e){e.clearMarkup="clearMarkup",e.header="header",e.redraw="redraw",e.scroll="scroll"}(L||(L={})),function(e){e.ok="ok",e.loading="loading",e.error="error",e.noData="noData",e.paging="paging"}(I||(I={})),function(e){e.unknown="",e.checkbox="checkbox",e.column="column",e.expander="expander",e.icon="icon",e.prefix="prefix",e.title="title"}(T||(T={})),function(e){e.startRow="startRow",e.cell="cell",e.startCell="startCell",e.row="row"}(M||(M={})); + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */!function(e){e.any="any",e.data="data",e.colStructure="colStructure",e.resize="resize",e.row="row",e.structure="structure",e.status="status",e.scroll="scroll"}(D||(D={})),function(e){e.clearMarkup="clearMarkup",e.header="header",e.redraw="redraw",e.scroll="scroll"}(I||(I={})),function(e){e.ok="ok",e.loading="loading",e.error="error",e.noData="noData",e.paging="paging"}(L||(L={})),function(e){e.unknown="",e.checkbox="checkbox",e.column="column",e.expander="expander",e.icon="icon",e.prefix="prefix",e.title="title"}(T||(T={})),function(e){e.startRow="startRow",e.cell="cell",e.startCell="startCell",e.row="row"}(M||(M={})); /*! * Wunderbaum - wb_extension_base * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ class A{constructor(e,t,i){this.enabled=!0,this.tree=e,this.id=t,this.treeOpts=e.options;const s=e.options;void 0===this.treeOpts[t]?s[t]=this.extensionOpts=y({},i):(this.extensionOpts=y({},i,s[t]),s[t]=this.extensionOpts),this.enabled=this.getPluginOption("enabled",!0)}init(){this.tree.element.classList.add("wb-ext-"+this.id)}getPluginOption(e,t){var i;return null!==(i=this.extensionOpts[e])&&void 0!==i?i:t}setPluginOption(e,t){this.extensionOpts[e]=t}setEnabled(e=!0){return this.setPluginOption("enabled",!!e)}onKeyEvent(e){}onRender(e){}} /*! @@ -23,55 +23,55 @@ class A{constructor(e,t,i){this.enabled=!0,this.tree=e,this.id=t,this.treeOpts=e /*! * Wunderbaum - ext-filter * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */ -const q="￷",j="￸",V=new RegExp(c("￷"),"g"),H=new RegExp(c("￸"),"g");class K extends A{constructor(e){super(e,"filter",{connectInput:null,autoApply:!0,autoExpand:!1,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!0,leavesOnly:!1,mode:"dim",noData:!0}),this.lastFilterArgs=null}init(){super.init();const e=this.getPluginOption("connectInput");e&&(this.queryInput=v(e),_(this.queryInput,"input",U((e=>{this.filterNodes(this.queryInput.value.trim(),{})}),700)))}setPluginOption(e,t){if(super.setPluginOption(e,t),"mode"===e)this.tree.filterMode="hide"===t?"hide":"dim",this.tree.updateFilter()}_applyFilterNoUpdate(e,t,i){return this.tree.runWithDeferredUpdate((()=>this._applyFilterImpl(e,t,i)))}_applyFilterImpl(e,t,i){let s,n,r=0;const o=Date.now(),l=this.tree,a=l.options,h=a.autoCollapse,u=y({},a.filter,i),p="hide"===u.mode,f=!!u.leavesOnly&&!t;if("string"==typeof e){if(""===e)return l.logInfo("Passing an empty string as a filter is handled as clearFilter()."),void this.clearFilter();s=u.fuzzy?e.split("").map(c).reduce((function(e,t){return e+"([^"+t+"]*)"+t}),""):c(e);const t=new RegExp(s,"i"),i=new RegExp(c(e),"gi");e=e=>{if(!e.title)return!1;const s=e.title,r=s.match(t);return r&&u.highlight&&(n=u.fuzzy?function(e,t,i=!0){const s=[];for(let e=1;e"+n[e]+""}));return n.join("")} +const q="￷",j="￸",H=new RegExp(c("￷"),"g"),V=new RegExp(c("￸"),"g");class K extends A{constructor(e){super(e,"filter",{connectInput:null,autoApply:!0,autoExpand:!1,counter:!0,fuzzy:!1,hideExpandedCounter:!0,hideExpanders:!1,highlight:!0,leavesOnly:!1,mode:"dim",noData:!0}),this.lastFilterArgs=null}init(){super.init();const e=this.getPluginOption("connectInput");e&&(this.queryInput=v(e),_(this.queryInput,"input",U((e=>{this.filterNodes(this.queryInput.value.trim(),{})}),700)))}setPluginOption(e,t){if(super.setPluginOption(e,t),"mode"===e)this.tree.filterMode="hide"===t?"hide":"dim",this.tree.updateFilter()}_applyFilterNoUpdate(e,t,i){return this.tree.runWithDeferredUpdate((()=>this._applyFilterImpl(e,t,i)))}_applyFilterImpl(e,t,i){let s,n,r=0;const o=Date.now(),l=this.tree,a=l.options,h=a.autoCollapse,u=y({},a.filter,i),p="hide"===u.mode,f=!!u.leavesOnly&&!t;if("string"==typeof e){if(""===e)return l.logInfo("Passing an empty string as a filter is handled as clearFilter()."),void this.clearFilter();s=u.fuzzy?e.split("").map(c).reduce((function(e,t){return e+"([^"+t+"]*)"+t}),""):c(e);const t=new RegExp(s,"i"),i=new RegExp(c(e),"gi");e=e=>{if(!e.title)return!1;const s=e.title,r=s.match(t);return r&&u.highlight&&(n=u.fuzzy?function(e,t,i=!0){const s=[];for(let e=1;e"+n[e]+""}));return n.join("")} /*! * Wunderbaum - ext-keynav * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */(s,r,!0):s.replace(i,(function(e){return q+e+j})),e.titleWithHighlight=d(n).replace(V,"").replace(H,"")),!!r}}return l.filterMode=u.mode,this.lastFilterArgs=arguments,l.element.classList.toggle("wb-ext-filter-hide",!!p),l.element.classList.toggle("wb-ext-filter-dim",!p),l.element.classList.toggle("wb-ext-filter-hide-expanders",!!u.hideExpanders),l.root.subMatchCount=0,l.visit((e=>{delete e.match,delete e.titleWithHighlight,e.subMatchCount=0})),l.setStatus(I.ok),a.autoCollapse=!1,l.visit((i=>{if(f&&null!=i.children)return;let s=e(i);if("skip"===s)return i.visit((function(e){e.match=!1}),!0),"skip";let n=!1;(t||"branch"===s)&&i.parent.match&&(s=!0,n=!0),s&&(r++,i.match=!0,i.visitParents((e=>{e!==i&&(e.subMatchCount+=1),!u.autoExpand||n||e.expanded||(e.setExpanded(!0,{noAnimation:!0,noEvents:!0}),e._filterAutoExpanded=!0)}),!0))})),a.autoCollapse=h,0===r&&u.noData&&p&&l.root.setStatus(I.noData),l.logInfo(`Filter '${s}' found ${r} nodes in ${Date.now()-o} ms.`),r}filterNodes(e,t){return this._applyFilterNoUpdate(e,!1,t)}filterBranches(e,t){return this._applyFilterNoUpdate(e,!0,t)}updateFilter(){var e;const t=this.tree;t.filterMode&&this.lastFilterArgs&&(null===(e=t.options.filter)||void 0===e?void 0:e.autoApply)?this._applyFilterNoUpdate.apply(this,this.lastFilterArgs):t.logWarn("updateFilter(): no filter active.")}clearFilter(){const e=this.tree;e.enableUpdate(!1),e.setStatus(I.ok),delete e.root.match,delete e.root.subMatchCount,e.visit((e=>{delete e.match,delete e.subMatchCount,delete e.titleWithHighlight,e._filterAutoExpanded&&e.expanded&&e.setExpanded(!1,{noAnimation:!0,noEvents:!0}),delete e._filterAutoExpanded})),e.filterMode=null,this.lastFilterArgs=null,e.element.classList.remove("wb-ext-filter-dim","wb-ext-filter-hide"),e.enableUpdate(!0)}}class W extends A{constructor(e){super(e,"keynav",{})}_getEmbeddedInputElem(e){var t;let i=null;if(e&&null!=e.type)i=e;else{const e=null===(t=this.tree.getActiveColElem())||void 0===t?void 0:t.querySelector("input,select");e&&(i=e)}return i}_isCurInputFocused(){var e;return!!(null===(e=this.tree.getActiveColElem())||void 0===e?void 0:e.querySelector("input:focus,select:focus"))}onKeyEvent(e){const t=e.event,i=this.tree,s=e.options,n=!t.ctrlKey||s.autoActivate,r=this._getEmbeddedInputElem(t.target),o=r&&this._isCurInputFocused(),l=s.navigationModeOption;let a,d=b(t),c=e.node,h=!0;if(!i.isEnabled())return!1;if(!1===i._callEvent("keydown",e))return!1;if(!1===i._callMethod("edit._preprocessKeyEvent",e))return!1;if(!c){const e=i.getFocusNode()||i.getActiveNode(),t=i.getFirstChild();if(!e&&t&&"ArrowDown"===d)return t.logInfo("Keydown: activate first node."),void t.setActive();a=e||t,a&&(a.setFocus(),c=i.getFocusNode(),c.logInfo("Keydown: force focus on active node."))}const u=c.isColspan();if(i.isRowNav()){if(o){switch(d){case"Enter":r.blur(),i.setFocus();break;case"Escape":c._render(),i.setFocus()}return}if(s.quicksearch&&1===d.length&&/^\w$/.test(d)&&!r){const e=Date.now();e-i.lastQuicksearchTime>500&&(i.lastQuicksearchTerm=""),i.lastQuicksearchTime=e,i.lastQuicksearchTerm+=d;const s=i.findNextNode(i.lastQuicksearchTerm,i.getActiveNode());return s&&s.setActive(!0,{event:t}),void t.preventDefault()}switch(d){case"Enter":c.isActive()&&(c.isExpanded()?d="Subtract":c.isExpandable(!0)&&(d="Add"));break;case"ArrowLeft":c.expanded&&(d="Subtract");break;case"ArrowRight":if(!c.expanded&&c.isExpandable(!0))d="Add";else if(l===M.startCell||l===M.startRow)return t.preventDefault(),i.setCellNav(),!1}switch(d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":c.getOption("checkbox")?c.toggleSelected():c.setActive(!0,{event:t});break;case"Enter":c.setActive(!0,{event:t});break;case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"Backspace":case"End":case"Home":case"Control+End":case"Control+Home":case"Meta+ArrowDown":case"Meta+ArrowUp":case"PageDown":case"PageUp":c.navigate(d,{activate:n,event:t});break;default:h=!1}}else{const e=this._getEmbeddedInputElem(null),s=e?e.type||e.tagName:"",r=e&&this._isCurInputFocused(),o=e&&"checkbox"!==s;if(r){if("Escape"===d)return c._render(),c.logDebug("Reset focused input"),i.setFocus(),void i.setColumn(i.activeColIdx);if("Enter"!==d)return void c.logDebug(`Ignored ${d} inside focused input`)}else if(e&&1===d.length&&o)return e.focus(),e.value="",c.logDebug(`Focus imput: ${d}`),!1;switch("Tab"===d?(d="ArrowRight",h=!0):"Shift+Tab"===d&&(d=i.activeColIdx>0?"ArrowLeft":"",h=!0),d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":0===i.activeColIdx&&c.getOption("checkbox")?(c.toggleSelected(),h=!0):e&&"checkbox"===s&&(e.click(),h=!0);break;case"F2":e&&!r&&o&&(e.focus(),h=!0);break;case"Enter":i.setFocus(),(0===i.activeColIdx||u)&&c.isExpandable()?(c.setExpanded(!c.isExpanded()),h=!0):e&&!r&&o&&(e.focus(),h=!0);break;case"Escape":i.setFocus(),c.log("keynav: focus tree..."),i.isCellNav()&&l!==M.cell&&(c.log("keynav: setCellNav(false)"),i.setCellNav(!1),i.setFocus(),h=!0);break;case"ArrowLeft":i.setFocus(),u&&c.isExpanded()?c.setExpanded(!1):!u&&i.activeColIdx>0?i.setColumn(i.activeColIdx-1):l!==M.cell&&i.setCellNav(!1),h=!0;break;case"ArrowRight":i.setFocus(),u&&!c.isExpanded()?c.setExpanded():!u&&i.activeColIdx0&&i.setColumn(0),h=!0;break;case"End":i.setFocus(),!u&&i.activeColIdx").replace(V,"")),!!r}}return l.filterMode=u.mode,this.lastFilterArgs=arguments,l.element.classList.toggle("wb-ext-filter-hide",!!p),l.element.classList.toggle("wb-ext-filter-dim",!p),l.element.classList.toggle("wb-ext-filter-hide-expanders",!!u.hideExpanders),l.root.subMatchCount=0,l.visit((e=>{delete e.match,delete e.titleWithHighlight,e.subMatchCount=0})),l.setStatus(L.ok),a.autoCollapse=!1,l.visit((i=>{if(f&&null!=i.children)return;let s=e(i);if("skip"===s)return i.visit((function(e){e.match=!1}),!0),"skip";let n=!1;(t||"branch"===s)&&i.parent.match&&(s=!0,n=!0),s&&(r++,i.match=!0,i.visitParents((e=>{e!==i&&(e.subMatchCount+=1),!u.autoExpand||n||e.expanded||(e.setExpanded(!0,{noAnimation:!0,noEvents:!0}),e._filterAutoExpanded=!0)}),!0))})),a.autoCollapse=h,0===r&&u.noData&&p&&l.root.setStatus(L.noData),l.logInfo(`Filter '${s}' found ${r} nodes in ${Date.now()-o} ms.`),r}filterNodes(e,t){return this._applyFilterNoUpdate(e,!1,t)}filterBranches(e,t){return this._applyFilterNoUpdate(e,!0,t)}updateFilter(){var e;const t=this.tree;t.filterMode&&this.lastFilterArgs&&(null===(e=t.options.filter)||void 0===e?void 0:e.autoApply)?this._applyFilterNoUpdate.apply(this,this.lastFilterArgs):t.logWarn("updateFilter(): no filter active.")}clearFilter(){const e=this.tree;e.enableUpdate(!1),e.setStatus(L.ok),delete e.root.match,delete e.root.subMatchCount,e.visit((e=>{delete e.match,delete e.subMatchCount,delete e.titleWithHighlight,e._filterAutoExpanded&&e.expanded&&e.setExpanded(!1,{noAnimation:!0,noEvents:!0}),delete e._filterAutoExpanded})),e.filterMode=null,this.lastFilterArgs=null,e.element.classList.remove("wb-ext-filter-dim","wb-ext-filter-hide"),e.enableUpdate(!0)}}class W extends A{constructor(e){super(e,"keynav",{})}_getEmbeddedInputElem(e){var t;let i=null;if(e&&null!=e.type)i=e;else{const e=null===(t=this.tree.getActiveColElem())||void 0===t?void 0:t.querySelector("input,select");e&&(i=e)}return i}_isCurInputFocused(){var e;return!!(null===(e=this.tree.getActiveColElem())||void 0===e?void 0:e.querySelector("input:focus,select:focus"))}onKeyEvent(e){const t=e.event,i=this.tree,s=e.options,n=!t.ctrlKey||s.autoActivate,r=this._getEmbeddedInputElem(t.target),o=r&&this._isCurInputFocused(),l=s.navigationModeOption;let a,d=b(t),c=e.node,h=!0;if(!i.isEnabled())return!1;if(!1===i._callEvent("keydown",e))return!1;if(!1===i._callMethod("edit._preprocessKeyEvent",e))return!1;if(!c){const e=i.getFocusNode()||i.getActiveNode(),t=i.getFirstChild();if(!e&&t&&"ArrowDown"===d)return t.logInfo("Keydown: activate first node."),void t.setActive();a=e||t,a&&(a.setFocus(),c=i.getFocusNode(),c.logInfo("Keydown: force focus on active node."))}const u=c.isColspan();if(i.isRowNav()){if(o){switch(d){case"Enter":r.blur(),i.setFocus();break;case"Escape":c._render(),i.setFocus()}return}if(s.quicksearch&&1===d.length&&/^\w$/.test(d)&&!r){const e=Date.now();e-i.lastQuicksearchTime>500&&(i.lastQuicksearchTerm=""),i.lastQuicksearchTime=e,i.lastQuicksearchTerm+=d;const s=i.findNextNode(i.lastQuicksearchTerm,i.getActiveNode());return s&&s.setActive(!0,{event:t}),void t.preventDefault()}switch(d){case"Enter":c.isActive()&&(c.isExpanded()?d="Subtract":c.isExpandable(!0)&&(d="Add"));break;case"ArrowLeft":c.expanded&&(d="Subtract");break;case"ArrowRight":if(!c.expanded&&c.isExpandable(!0))d="Add";else if(l===M.startCell||l===M.startRow)return t.preventDefault(),i.setCellNav(),!1}switch(d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":c.getOption("checkbox")?c.toggleSelected():c.setActive(!0,{event:t});break;case"Enter":c.setActive(!0,{event:t});break;case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"Backspace":case"End":case"Home":case"Control+End":case"Control+Home":case"Meta+ArrowDown":case"Meta+ArrowUp":case"PageDown":case"PageUp":c.navigate(d,{activate:n,event:t});break;default:h=!1}}else{const e=this._getEmbeddedInputElem(null),s=e?e.type||e.tagName:"",r=e&&this._isCurInputFocused(),o=e&&"checkbox"!==s;if(r){if("Escape"===d)return c._render(),c.logDebug("Reset focused input"),i.setFocus(),void i.setColumn(i.activeColIdx);if("Enter"!==d)return void c.logDebug(`Ignored ${d} inside focused input`)}else if(e&&1===d.length&&o)return e.focus(),e.value="",c.logDebug(`Focus imput: ${d}`),!1;switch("Tab"===d?(d="ArrowRight",h=!0):"Shift+Tab"===d&&(d=i.activeColIdx>0?"ArrowLeft":"",h=!0),d){case"+":case"Add":c.setExpanded(!0);break;case"-":case"Subtract":c.setExpanded(!1);break;case" ":0===i.activeColIdx&&c.getOption("checkbox")?(c.toggleSelected(),h=!0):e&&"checkbox"===s&&(e.click(),h=!0);break;case"F2":e&&!r&&o&&(e.focus(),h=!0);break;case"Enter":i.setFocus(),(0===i.activeColIdx||u)&&c.isExpandable()?(c.setExpanded(!c.isExpanded()),h=!0):e&&!r&&o&&(e.focus(),h=!0);break;case"Escape":i.setFocus(),c.log("keynav: focus tree..."),i.isCellNav()&&l!==M.cell&&(c.log("keynav: setCellNav(false)"),i.setCellNav(!1),i.setFocus(),h=!0);break;case"ArrowLeft":i.setFocus(),u&&c.isExpanded()?c.setExpanded(!1):!u&&i.activeColIdx>0?i.setColumn(i.activeColIdx-1):l!==M.cell&&i.setCellNav(!1),h=!0;break;case"ArrowRight":i.setFocus(),u&&!c.isExpanded()?c.setExpanded():!u&&i.activeColIdx0&&i.setColumn(0),h=!0;break;case"End":i.setFocus(),!u&&i.activeColIdx=4){const t=this.ignoreEvents,i=this.prefix;C(e,"callEvent",(function(s,n){if(t.has(s))return e._superApply(arguments);const r=Date.now(),o=e._superApply(arguments);return e.logDebug(`${i}: callEvent('${s}') took ${Date.now()-r} ms.`,arguments[1]),o}))}}onKeyEvent(e){this.tree.logDebug(`${this.prefix}: onKeyEvent()`,e)}} + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */class B extends A{constructor(e){super(e,"logger",{}),this.ignoreEvents=new Set(["iconBadge","render","discard"]),this.prefix=e+".ext-logger"}init(){const e=this.tree;if(e.getOption("debugLevel")>=4){const t=this.ignoreEvents,i=this.prefix;k(e,"callEvent",(function(s,n){if(t.has(s))return e._superApply(arguments);const r=Date.now(),o=e._superApply(arguments);return e.logDebug(`${i}: callEvent('${s}') took ${Date.now()-r} ms.`,arguments[1]),o}))}}onKeyEvent(e){this.tree.logDebug(`${this.prefix}: onKeyEvent()`,e)}} /*! * Wunderbaum - common * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const G=22,Q=new RegExp(/\.|\//),Y={bootstrap:{error:"bi bi-exclamation-triangle",loading:"bi bi-chevron-right wb-busy",noData:"bi bi-question-circle",expanderExpanded:"bi bi-chevron-down",expanderCollapsed:"bi bi-chevron-right",expanderLazy:"bi bi-chevron-right wb-helper-lazy-expander",checkChecked:"bi bi-check-square",checkUnchecked:"bi bi-square",checkUnknown:"bi bi-dash-square-dotted",radioChecked:"bi bi-circle-fill",radioUnchecked:"bi bi-circle",radioUnknown:"bi bi-record-circle",folder:"bi bi-folder2",folderOpen:"bi bi-folder2-open",folderLazy:"bi bi-folder-symlink",doc:"bi bi-file-earmark"},fontawesome6:{error:"fa-solid fa-triangle-exclamation",loading:"fa-solid fa-chevron-right fa-beat",noData:"fa-solid fa-circle-question",expanderExpanded:"fa-solid fa-chevron-down",expanderCollapsed:"fa-solid fa-chevron-right",expanderLazy:"fa-solid fa-chevron-right wb-helper-lazy-expander",checkChecked:"fa-regular fa-square-check",checkUnchecked:"fa-regular fa-square",checkUnknown:"fa-regular fa-square-minus",radioChecked:"fa-solid fa-circle",radioUnchecked:"fa-regular fa-circle",radioUnknown:"fa-regular fa-circle-question",folder:"fa-solid fa-folder-closed",folderOpen:"fa-regular fa-folder-open",folderLazy:"fa-solid fa-folder-plus",doc:"fa-regular fa-file"}},X=new Set(["_format","_keyMap","_positional","_typeList","_version","children","columns","types"]),J={" ":"toggleSelect","+":"expand",Add:"expand",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",Backspace:"parent","/":"collapseAll",Divide:"collapseAll",End:"lastCol",Home:"firstCol","Control+End":"last","Control+Home":"first","Meta+ArrowDown":"last","Meta+ArrowUp":"first","*":"expandAll",Multiply:"expandAll",PageDown:"pageDown",PageUp:"pageUp","-":"collapse",Subtract:"collapse"};function Z(e){return e instanceof RegExp?function(t){return e.test(t.title)}:(o("string"==typeof e),function(t){return t.title===e})}function ee(e,t){const i=e.title.toLowerCase(),s=t.title.toLowerCase();return i===s?0:i>s?1:-1}function te(e){const{_format:t,_keyMap:i,_typeList:s}=e;"flat"===t&&function(e){var t,i,s;const{_format:n,_keyMap:r,_positional:o,children:l}=e;if("flat"!==n)throw new Error(`Expected source._format: "flat", but got ${n}`);if(o&&o.includes("children"))throw new Error(`source._positional must not include "children": ${o}`);const a={};if(r)for(const[e,t]of Object.entries(r))a[t]=e;const d=o.map((e=>a[e])),c=[],h={},u={},p=null!==(t=a.key)&&void 0!==t?t:"key",f=null!==(i=a.children)&&void 0!==i?i:"children";for(const[e,t]of l.entries()){const[i,n,r={}]=t;t[1]=null,null!=t[2]&&(t[2]=null),n.forEach(((e,t)=>{r[d[t]]=e})),u[e]=r;const o=r[p];null!=o&&(h[o]=r);let l=null;if(null===i);else if("number"==typeof i){if(l=u[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by index: ${i}.`)}else if(l=h[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by key: ${i}`);l?(null!==(s=l[f])&&void 0!==s||(l[f]=[]),l[f].push(r)):c.push(r)}delete e.children,e.children=c}(e),delete e._format,delete e._version,delete e._keyMap,delete e._typeList,delete e._positional,function e(t){for(const n of t){i&&Object.getOwnPropertyNames(n).forEach((e=>{var t;const s=null!==(t=i[e])&&void 0!==t?t:e;s!==e&&(n[s]=n[e],delete n[e])}));const t=n.type;if(s&&null!=t&&"number"==typeof t){const e=s[t];if(null==e)throw new Error(`Expected typeList[${t}] entry in [${s}]`);n.type=e}n.children&&e(n.children)}}(e.children)} + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */const G=22,Q=new RegExp(/\.|\//),Y={bootstrap:{error:"bi bi-exclamation-triangle",loading:"bi bi-chevron-right wb-busy",noData:"bi bi-question-circle",expanderExpanded:"bi bi-chevron-down",expanderCollapsed:"bi bi-chevron-right",expanderLazy:"bi bi-chevron-right wb-helper-lazy-expander",checkChecked:"bi bi-check-square",checkUnchecked:"bi bi-square",checkUnknown:"bi bi-dash-square-dotted",radioChecked:"bi bi-circle-fill",radioUnchecked:"bi bi-circle",radioUnknown:"bi bi-record-circle",folder:"bi bi-folder2",folderOpen:"bi bi-folder2-open",folderLazy:"bi bi-folder-symlink",doc:"bi bi-file-earmark"},fontawesome6:{error:"fa-solid fa-triangle-exclamation",loading:"fa-solid fa-chevron-right fa-beat",noData:"fa-solid fa-circle-question",expanderExpanded:"fa-solid fa-chevron-down",expanderCollapsed:"fa-solid fa-chevron-right",expanderLazy:"fa-solid fa-chevron-right wb-helper-lazy-expander",checkChecked:"fa-regular fa-square-check",checkUnchecked:"fa-regular fa-square",checkUnknown:"fa-regular fa-square-minus",radioChecked:"fa-solid fa-circle",radioUnchecked:"fa-regular fa-circle",radioUnknown:"fa-regular fa-circle-question",folder:"fa-solid fa-folder-closed",folderOpen:"fa-regular fa-folder-open",folderLazy:"fa-solid fa-folder-plus",doc:"fa-regular fa-file"}},J=new Set(["_format","_keyMap","_positional","_typeList","_version","children","columns","types"]),X={" ":"toggleSelect","+":"expand",Add:"expand",ArrowDown:"down",ArrowLeft:"left",ArrowRight:"right",ArrowUp:"up",Backspace:"parent","/":"collapseAll",Divide:"collapseAll",End:"lastCol",Home:"firstCol","Control+End":"last","Control+Home":"first","Meta+ArrowDown":"last","Meta+ArrowUp":"first","*":"expandAll",Multiply:"expandAll",PageDown:"pageDown",PageUp:"pageUp","-":"collapse",Subtract:"collapse"};function Z(e){return e instanceof RegExp?function(t){return e.test(t.title)}:(o("string"==typeof e,`Expected a string or RegExp: ${e}`),function(t){return t.title===e})}function ee(e,t){const i=e.title.toLowerCase(),s=t.title.toLowerCase();return i===s?0:i>s?1:-1}function te(e){const{_format:t,_keyMap:i,_typeList:s}=e;"flat"===t&&function(e){var t,i,s;const{_format:n,_keyMap:r,_positional:o,children:l}=e;if("flat"!==n)throw new Error(`Expected source._format: "flat", but got ${n}`);if(o&&o.includes("children"))throw new Error(`source._positional must not include "children": ${o}`);const a={};if(r)for(const[e,t]of Object.entries(r))a[t]=e;const d=o.map((e=>a[e])),c=[],h={},u={},p=null!==(t=a.key)&&void 0!==t?t:"key",f=null!==(i=a.children)&&void 0!==i?i:"children";for(const[e,t]of l.entries()){const[i,n,r={}]=t;t[1]=null,null!=t[2]&&(t[2]=null),n.forEach(((e,t)=>{r[d[t]]=e})),u[e]=r;const o=r[p];null!=o&&(h[o]=r);let l=null;if(null===i);else if("number"==typeof i){if(l=u[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by index: ${i}.`)}else if(l=h[i],void 0===l)throw new Error(`unflattenSource: Could not find parent node by key: ${i}`);l?(null!==(s=l[f])&&void 0!==s||(l[f]=[]),l[f].push(r)):c.push(r)}delete e.children,e.children=c}(e),delete e._format,delete e._version,delete e._keyMap,delete e._typeList,delete e._positional,function e(t){for(const n of t){i&&Object.getOwnPropertyNames(n).forEach((e=>{var t;const s=null!==(t=i[e])&&void 0!==t?t:e;s!==e&&(n[s]=n[e],delete n[e])}));const t=n.type;if(s&&null!=t&&"number"==typeof t){const e=s[t];if(null==e)throw new Error(`Expected typeList[${t}] entry in [${s}]`);n.type=e}n.children&&e(n.children)}}(e.children)} /*! * Wunderbaum - ext-dnd * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const ie="application/x-wunderbaum-node";class se extends A{constructor(e){super(e,"dnd",{autoExpandMS:1500,multiSource:!1,effectAllowed:"all",dropEffectDefault:"move",preventForeignNodes:!1,preventLazyParents:!0,preventNonNodes:!1,preventRecursion:!0,preventSameParent:!1,preventVoidMoves:!0,serializeClipboardData:!0,scroll:!0,scrollSensitivity:20,scrollSpeed:5,sourceCopyHook:null,dragStart:null,drag:null,dragEnd:null,dragEnter:null,dragOver:null,dragExpand:null,drop:null,dragLeave:null}),this.srcNode=null,this.lastTargetNode=null,this.lastEnterStamp=0,this.lastAllowedDropRegions=null,this.lastDropEffect=null,this.lastDropRegion=!1,this.currentScrollDir=0,this.applyScrollDirThrottled=function(e,t=0,i={}){let s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return z(i)&&(s="leading"in i?!!i.leading:s,n="trailing"in i?!!i.trailing:n),U(e,t,{leading:s,trailing:n,maxWait:t})}(this.applyScrollDir,50)}init(){super.init();const e=this.tree,t=e.options.dnd;t.dragStart&&_(e.element,"dragstart drag dragend",this.onDragEvent.bind(this)),t.dragEnter&&_(e.element,"dragenter dragover dragleave drop",this.onDropEvent.bind(this))}_leaveNode(){const e=this.lastTargetNode;this.lastEnterStamp=0,e&&(e.setClass("wb-drop-target wb-drop-over wb-drop-after wb-drop-before",!1),this.lastTargetNode=null)}unifyDragover(e){if(!1===e)return!1;if(e instanceof Set)return e.size>0&&e;if(!0===e)return new Set(["over","before","after"]);if("string"==typeof e||w(e))return(e=N(e)).size>0&&e;throw new Error("Unsupported drop region definition: "+e)}_calcDropRegion(e,t){const i=e.offsetY;return!!t&&(3===t.size?i<5.5?"before":i>16.5?"after":"over":1===t.size&&t.has("over")?"over":i>11?"after":"before")}applyScrollDir(){if(this.isDragging()&&this.currentScrollDir){const e=this.tree.options.dnd,t=this.tree.element,i=t.scrollTop;this.currentScrollDir<0?t.scrollTop=Math.max(0,i-e.scrollSpeed):this.currentScrollDir>0&&(t.scrollTop=i+e.scrollSpeed)}}autoScroll(e){const t=this.tree,i=t.options.dnd.scrollSensitivity,s=t.element,n=t.headerElement.clientHeight,r=s.offsetHeight,o=s.scrollTop;return this.currentScrollDir=0,o>0&&e>0&&e<=i+n?this.currentScrollDir=-1:o=r-i&&(this.currentScrollDir=1),this.currentScrollDir&&this.applyScrollDirThrottled(),s.scrollTop-o}isDragging(){return!!this.srcNode}onDragEvent(e){const t=this.treeOpts.dnd,i=ue.getNode(e);if(i){if("drag"!==e.type&&this.tree.logDebug("onDragEvent."+e.type+", srcNode: "+i,e),"dragstart"===e.type){if(e.dataTransfer.effectAllowed=t.effectAllowed,i.isEditing())return i.logDebug("Prevented dragging node in edit mode."),e.preventDefault(),!1;if(!i._callEvent("dnd.dragStart",{event:e}))return e.preventDefault(),!1;const s=i.toDict(!0,(e=>{e._org_key=e.key,delete e.key}));s._treeId=i.tree.id,t.serializeClipboardData&&("function"==typeof t.serializeClipboardData?e.dataTransfer.setData(ie,t.serializeClipboardData(s)):e.dataTransfer.setData(ie,JSON.stringify(s))),e.dataTransfer.setData("text/plain",i.title),this.srcNode=i,setTimeout((()=>{i.setClass("wb-drag-source")}),0)}else"drag"===e.type?t.drag&&i._callEvent("dnd.drag",{event:e}):"dragend"===e.type&&(i.setClass("wb-drag-source",!1),this.srcNode=null,this.lastTargetNode&&this._leaveNode(),t.dragEnd&&i._callEvent("dnd.dragEnd",{event:e}));return!0}}_isVoidDrop(e,t,i){return this.tree.logDebug(`_isVoidDrop: ${t} -> ${i} ${e}`),!(!this.treeOpts.dnd.preventVoidMoves||!t)&&("before"===i&&e===t.getNextSibling()||"after"===i&&e===t.getPrevSibling()?(this.tree.logDebug("Prevented before/after self"),!0):t===e||t.parent===e)}onDropEvent(e){const t=this.srcNode,i=t?t.tree:null,s=ue.getNode(e),n=this.treeOpts.dnd,r=e.dataTransfer,o=this._calcDropRegion(e,this.lastAllowedDropRegions);if(s){if(["dragenter","dragover","dragleave"].includes(e.type)||this.tree.logDebug("onDropEvent."+e.type+" targetNode: "+s+", ea: "+(null==r?void 0:r.effectAllowed)+", de: "+(null==r?void 0:r.dropEffect),", cy: "+e.offsetY,", r: "+o,", srcNode: "+t,e),"dragenter"===e.type){if(this.lastAllowedDropRegions=null,this.lastTargetNode&&this.lastTargetNode!==s&&this._leaveNode(),this.lastTargetNode=s,this.lastEnterStamp=Date.now(),s.isStatusNode()||n.preventForeignNodes&&s.tree!==i||n.preventLazyParents&&!s.isLoaded()||n.preventNonNodes&&!t||n.preventRecursion&&(null==t?void 0:t.isAncestorOf(s))||n.preventSameParent&&t&&s.parent===t.parent||n.preventVoidMoves&&s===t)return r.dropEffect="none",this.tree.log("Prevented drop operation"),!0;let o=s._callEvent("dnd.dragEnter",{event:e});return o=this.unifyDragover(o),o?(this.lastAllowedDropRegions=o,this.lastDropEffect=r.dropEffect,s.setClass("wb-drop-target"),e.preventDefault(),!1):(r.dropEffect="none",!0)}if("dragover"===e.type){const i=e.clientY-this.tree.element.offsetTop;this.autoScroll(i),n.dragOver&&s._callEvent("dnd.dragOver",{event:e});const r=this._calcDropRegion(e,this.lastAllowedDropRegions);if(this.lastDropRegion=r,n.autoExpandMS>0&&s.isExpandable(!0)&&!s._isLoading&&Date.now()-this.lastEnterStamp>n.autoExpandMS&&!1!==s._callEvent("dnd.dragExpand",{event:e})&&s.setExpanded(),!r||this._isVoidDrop(s,t,r))return;return s.setClass("wb-drop-over","over"===r),s.setClass("wb-drop-before","before"===r),s.setClass("wb-drop-after","after"===r),e.preventDefault(),!1}if("dragleave"===e.type)n.dragLeave&&s._callEvent("dnd.dragLeave",{event:e});else if("drop"===e.type){e.stopPropagation(),this._leaveNode();const t=this.lastDropRegion;s._callEvent("dnd.drop",{event:e,region:t,defaultDropMode:"over"===t?"appendChild":t,sourceNode:this.srcNode})}}else this._leaveNode()}} + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) + */const ie="application/x-wunderbaum-node";class se extends A{constructor(e){super(e,"dnd",{autoExpandMS:1500,multiSource:!1,effectAllowed:"all",dropEffectDefault:"move",guessDropEffect:!0,preventForeignNodes:!1,preventLazyParents:!0,preventNonNodes:!1,preventRecursion:!0,preventSameParent:!1,preventVoidMoves:!0,serializeClipboardData:!0,scroll:!0,scrollSensitivity:20,scrollSpeed:5,sourceCopyHook:null,dragStart:null,drag:null,dragEnd:null,dragEnter:null,dragOver:null,dragExpand:null,drop:null,dragLeave:null}),this.srcNode=null,this.lastTargetNode=null,this.lastEnterStamp=0,this.lastAllowedDropRegions=null,this.lastDropEffect=null,this.lastDropRegion=!1,this.currentScrollDir=0,this.applyScrollDirThrottled=function(e,t=0,i={}){let s=!0,n=!0;if("function"!=typeof e)throw new TypeError("Expected a function");return z(i)&&(s="leading"in i?!!i.leading:s,n="trailing"in i?!!i.trailing:n),U(e,t,{leading:s,trailing:n,maxWait:t})}(this._applyScrollDir,50)}init(){super.init();const e=this.tree,t=e.options.dnd;t.dragStart&&_(e.element,"dragstart drag dragend",this.onDragEvent.bind(this)),t.dragEnter&&_(e.element,"dragenter dragover dragleave drop",this.onDropEvent.bind(this))}_leaveNode(){const e=this.lastTargetNode;this.lastEnterStamp=0,e&&(e.setClass("wb-drop-target wb-drop-over wb-drop-after wb-drop-before",!1),this.lastTargetNode=null)}unifyDragover(e){if(!1===e)return!1;if(e instanceof Set)return e.size>0&&e;if(!0===e)return new Set(["over","before","after"]);if("string"==typeof e||w(e))return(e=N(e)).size>0&&e;throw new Error("Unsupported drop region definition: "+e)}_calcDropRegion(e,t){const i=e.offsetY;return!!t&&(3===t.size?i<5.5?"before":i>16.5?"after":"over":1===t.size&&t.has("over")?"over":i>11?"after":"before")}_guessDropEffect(e){var t;const s=this.treeOpts.dnd,n=null!==(t=s.effectAllowed)&&void 0!==t?t:"all",r=["all","copy","copyLink","copyMove"].includes(n),o=["all","link","copyLink","linkMove"].includes(n),l=["all","move","copyMove","linkMove"].includes(n);let a=s.dropEffectDefault;return s.guessDropEffect&&(i?(e.altKey&&r&&(a="copy"),e.metaKey&&l&&(a="move"),e.altKey&&e.metaKey&&o&&(a="link")):(e.ctrlKey&&r&&(a="copy"),e.shiftKey&&l&&(a="move"),e.altKey&&o&&(a="link"))),a}_isVoidDrop(e,t,i){return!(!this.treeOpts.dnd.preventVoidMoves||!t)&&("before"===i&&e===t.getNextSibling()||"after"===i&&e===t.getPrevSibling()||(t===e||t.parent===e))}_applyScrollDir(){if(this.isDragging()&&this.currentScrollDir){const e=this.tree.options.dnd,t=this.tree.element,i=t.scrollTop;this.currentScrollDir<0?t.scrollTop=Math.max(0,i-e.scrollSpeed):this.currentScrollDir>0&&(t.scrollTop=i+e.scrollSpeed)}}_autoScroll(e){const t=this.tree,i=t.options.dnd.scrollSensitivity,s=t.element,n=t.headerElement.clientHeight,r=s.offsetHeight,o=s.scrollTop;return this.currentScrollDir=0,o>0&&e>0&&e<=i+n?this.currentScrollDir=-1:o=r-i&&(this.currentScrollDir=1),this.currentScrollDir&&this.applyScrollDirThrottled(),s.scrollTop-o}isDragging(){return!!this.srcNode}onDragEvent(e){const t=this.treeOpts.dnd,i=ue.getNode(e);if(i){if(["dragstart","dragend"].includes(e.type)&&this.tree.logDebug(`onDragEvent.${e.type} srcNode: ${i}`,e),"dragstart"===e.type){if(e.dataTransfer.effectAllowed=t.effectAllowed,i.isEditing())return i.logDebug("Prevented dragging node in edit mode."),e.preventDefault(),!1;if(!i._callEvent("dnd.dragStart",{event:e}))return e.preventDefault(),!1;const s=i.toDict(!0,(e=>{e._orgKey=e.key,delete e.key}));s._treeId=i.tree.id,t.serializeClipboardData&&("function"==typeof t.serializeClipboardData?e.dataTransfer.setData(ie,t.serializeClipboardData(s,i)):e.dataTransfer.setData(ie,JSON.stringify(s))),e.dataTransfer.setData("text/plain",i.title),this.srcNode=i,setTimeout((()=>{i.setClass("wb-drag-source")}),0)}else"drag"===e.type?t.drag&&i._callEvent("dnd.drag",{event:e}):"dragend"===e.type&&(i.setClass("wb-drag-source",!1),this.srcNode=null,this.lastTargetNode&&this._leaveNode(),i._callEvent("dnd.dragEnd",{event:e}));return!0}this.tree.logWarn(`onDragEvent.${e.type} no node`)}onDropEvent(e){var t;const i=this.srcNode,s=i?i.tree:null,n=ue.getNode(e),r=this.treeOpts.dnd,o=e.dataTransfer,l=this._calcDropRegion(e,this.lastAllowedDropRegions);if(n){if(["drop"].includes(e.type)&&this.tree.logDebug(`onDropEvent.${e.type} targetNode: ${n}, ea: ${null==o?void 0:o.effectAllowed}, de: ${null==o?void 0:o.dropEffect}, cy: ${e.offsetY}, r: ${l}, srcNode: ${i}`,e),"dragenter"===e.type){if(this.lastAllowedDropRegions=null,this.lastTargetNode&&this.lastTargetNode!==n&&this._leaveNode(),this.lastTargetNode=n,this.lastEnterStamp=Date.now(),n.isStatusNode()||r.preventForeignNodes&&n.tree!==s||r.preventLazyParents&&!n.isLoaded()||r.preventNonNodes&&!i||r.preventRecursion&&(null==i?void 0:i.isAncestorOf(n))||r.preventSameParent&&i&&n.parent===i.parent||r.preventVoidMoves&&n===i)return o.dropEffect="none",this.tree.log("Prevented drop operation"),!0;o.dropEffect=this._guessDropEffect(e)||"none";let t=n._callEvent("dnd.dragEnter",{event:e});return t=this.unifyDragover(t),t?(this.lastAllowedDropRegions=t,this.lastDropEffect=o.dropEffect,n.setClass("wb-drop-target"),e.preventDefault(),!1):(o.dropEffect="none",!0)}if("dragover"===e.type){const t=e.clientY-this.tree.element.offsetTop;this._autoScroll(t),o.dropEffect=this._guessDropEffect(e)||"none",n._callEvent("dnd.dragOver",{event:e});const s=this._calcDropRegion(e,this.lastAllowedDropRegions);if(this.lastDropRegion=s,this.lastDropEffect=o.dropEffect,r.autoExpandMS>0&&n.isExpandable(!0)&&!n._isLoading&&Date.now()-this.lastEnterStamp>r.autoExpandMS&&!1!==n._callEvent("dnd.dragExpand",{event:e})&&n.setExpanded(),!s||this._isVoidDrop(n,i,s))return;return n.setClass("wb-drop-over","over"===s),n.setClass("wb-drop-before","before"===s),n.setClass("wb-drop-after","after"===s),e.preventDefault(),!1}if("dragleave"===e.type)n._callEvent("dnd.dragLeave",{event:e});else if("drop"===e.type){e.stopPropagation(),this._leaveNode();const i=this.lastDropRegion;let s=null===(t=e.dataTransfer)||void 0===t?void 0:t.getData(ie);s=s?JSON.parse(s):null;const r=this.srcNode,o=this.lastDropEffect;setTimeout((()=>{n._callEvent("dnd.drop",{event:e,region:i,suggestedDropMode:"over"===i?"appendChild":i,suggestedDropEffect:o,sourceNode:r,sourceNodeData:s})}),10)}}else this._leaveNode()}} /*! * Wunderbaum - drag_observer * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */class ne{constructor(e){if(this.start={x:0,y:0,altKey:!1,ctrlKey:!1,metaKey:!1,shiftKey:!1},this.dragElem=null,this.dragging=!1,this.events=["mousedown","mouseup","mousemove","keydown"],!e.root)throw new Error("Missing `root` option.");this.opts=Object.assign({thresh:5},e),this.root=e.root,this._handler=this.handleEvent.bind(this),this.events.forEach((e=>{this.root.addEventListener(e,this._handler)}))}disconnect(){this.events.forEach((e=>{this.root.removeEventListener(e,this._handler)}))}getDragElem(){return this.dragElem}isDragging(){return this.dragging}stopDrag(e){this.dragging&&this.opts.dragstop&&e&&(e.type="dragstop",this.opts.dragstop(e)),this.dragElem=null,this.dragging=!1}handleEvent(e){const t=e.type,i=this.opts,s={type:e.type,event:e,dragElem:this.dragElem,dx:e.pageX-this.start.x,dy:e.pageY-this.start.y,apply:void 0};switch(t){case"keydown":this.stopDrag(s);break;case"mousedown":if(this.dragElem){this.stopDrag(s);break}if(i.selector){let t=e.target;if(t.matches(i.selector))this.dragElem=t;else{if(t=t.closest(i.selector),!t)break;this.dragElem=t}}this.start.x=e.pageX,this.start.y=e.pageY,this.start.altKey=e.altKey,this.start.ctrlKey=e.ctrlKey,this.start.metaKey=e.metaKey,this.start.shiftKey=e.shiftKey;break;case"mousemove":if(!this.dragElem)break;if(!this.dragging){if(i.thresh){if(s.dx*s.dx+s.dy*s.dythis.tree.element.contains(e.dragElem),drag:e=>this.handleDrag(e),dragstop:e=>this.handleDrag(e)})}init(){super.init()}handleDrag(e){const t=ue.getEventInfo(e.event);this.tree.log(`${e.type}(${e.dx})`,e,t)}} /*! * Wunderbaum - deferred * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) + * v0.5.5, Tue, 31 Oct 2023 14:26:34 GMT (https://github.com/mar10/wunderbaum) */class oe{constructor(){this._promise=new Promise(((e,t)=>{this._resolve=e,this._reject=t}))}resolve(e){this._resolve(e)}reject(e){this._reject(e)}promise(){return this._promise}then(e){return this._promise.then(e)}catch(e){return this._promise.catch(e)}finally(e){return this._promise.finally(e)}} /*! * Wunderbaum - wunderbaum_node * Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license. - * v0.5.4, Sun, 15 Oct 2023 16:43:28 GMT (https://github.com/mar10/wunderbaum) - */const le=new Set(["checkbox","classes","expanded","icon","iconTooltip","key","lazy","_partsel","radiogroup","refKey","selected","statusNodeType","title","tooltip","type","unselectable"]),ae=new Set(le);ae.delete("_partsel"),ae.delete("unselectable");class de{constructor(e,t,i){var s,n;this.refKey=void 0,this.children=null,this.classes=null,this.data={},this._isLoading=!1,this._requestId=0,this._errorInfo=null,this._partsel=!1,this._partload=!1,this.subMatchCount=0,this._rowIdx=0,this._rowElem=void 0,o(!t||t.tree===e),o(!i.children),this.tree=e,this.parent=t,this.key=""+(null!==(s=i.key)&&void 0!==s?s:++de.sequence),this.title=""+(null!==(n=i.title)&&void 0!==n?n:"<"+this.key+">"),null!=i.refKey&&(this.refKey=""+i.refKey),null!=i.type&&(this.type=""+i.type),this.expanded=!0===i.expanded,null!=i.icon&&(this.icon=i.icon),this.lazy=!0===i.lazy,null!=i.statusNodeType&&(this.statusNodeType=""+i.statusNodeType),null!=i.colspan&&(this.colspan=!!i.colspan),null!=i.checkbox&&(this.checkbox=!!i.checkbox),null!=i.radiogroup&&(this.radiogroup=!!i.radiogroup),this.selected=!0===i.selected,!0===i.unselectable&&(this.unselectable=!0),i.classes&&this.setClass(i.classes);for(const[e,t]of Object.entries(i))le.has(e)||(this.data[e]=t);t&&!this.statusNodeType&&e._registerNode(this)}toString(){return`WunderbaumNode@${this.key}<'${this.title}'>`}*[Symbol.iterator](){const e=this.children;if(e)for(let t=0,i=e.length;t=0,`options.before must be a direct child of ${this}`),this.children.splice(e,0,...l)}else this.children=l;i.update(D.structure)}finally{i.enableUpdate(!0)}return l[0]}addNode(e,t="appendChild"){switch("over"===t&&(t="appendChild"),t){case"after":return this.parent.addChildren(e,{before:this.getNextSibling()});case"before":return this.parent.addChildren(e,{before:this});case"prependChild":return this.addChildren(e,{before:0});case"appendChild":return this.addChildren(e)}o(!1,"Invalid mode: "+t)}applyCommand(e,t){return this.tree.applyCommand(e,this,t)}collapseSiblings(e){for(const t of this.parent.children)t!==this&&t.expanded&&t.setExpanded(!1,e)}setClass(e,t=!0){const i=N(e);if(t)null===this.classes&&(this.classes=new Set),i.forEach((e=>{var i;this.classes.add(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)}));else{if(null===this.classes)return;i.forEach((e=>{var i;this.classes.delete(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)})),0===this.classes.size&&(this.classes=null)}}async expandAll(e=!0,t){const i=this.tree,s=this.tree.options.minExpandLevel,{depth:n=99,loadLazy:r,force:o,keepActiveNodeVisible:l=!0}=null!=t?t:{},a={scrollIntoView:!1,force:o,loadLazy:r};const d=i.logTime(`${this}.expandAll(${e})`);try{i.enableUpdate(!1),await async function t(i,n){var l;if(0===n)return;const d=null==n?null:n-1,c=[];return null===(l=i.children)||void 0===l||l.forEach((i=>{if(e)if(!i.expanded&&(i.children||r&&i.lazy)){const e=i.setExpanded(!0,a);c.push(e),e.then((async()=>{await t(i,d)}))}else c.push(t(i,d));else(!s||o||i.getLevel()>s)&&i.setExpanded(!1,a),t(i,d)})),new Promise((e=>{Promise.all(c).then((()=>{e(!0)}))}))}(this,n)}finally{i.enableUpdate(!0),i.logTimeEnd(d)}i.activeNode&&l&&i.activeNode.scrollIntoView()}findAll(e){const t="function"==typeof e?e:Z(e),i=[];return this.visit((e=>{t(e)&&i.push(e)})),i}findDirectChild(e){const t=this.children;if(!t)return null;if("string"==typeof e){for(let i=0,s=t.length;i{if(t(e))return i=e,!1})),i}findRelatedNode(e,t=!1){return this.tree.findRelatedNode(this,e,t)}*format_iter(e,t){function i(e){const t=e.parent.children;return e===t[t.length-1]}null!=t||(t=[" "," | "," ╰─ "," ├─ "]),null!=e||(e=e=>""+e);const s=s=>{const n=[e(s)];n.unshift(t[i(s)?2:3]);let r=s.parent;for(;r&&r!==this;)n.unshift(t[i(r)?0:1]),r=r.parent;return n.join("")};yield e(this);for(const e of this)yield s(e)}format(e,t){const i=[];for(const s of this.format_iter(e,t))i.push(s);return i.join("\n")}getColElem(e){var t;"string"==typeof e&&(e=this.tree.columns.findIndex((t=>t.id===e)));const i=null===(t=this._rowElem)||void 0===t?void 0:t.querySelectorAll("span.wb-col");return i?i[e]:null}getFirstChild(){return this.children?this.children[0]:null}getLastChild(){return this.children?this.children[this.children.length-1]:null}getLevel(){let e=0,t=this.parent;for(;t;)e++,t=t.parent;return e}getNextSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t+1]||null}getParent(){return this.parent}getParentList(e=!1,t=!1){const i=[];let s=t?this:this.parent;for(;s;)(e||s.parent)&&i.unshift(s),s=s.parent;return i}getPath(e=!0,t="title",i="/"){let s;const n=[],r="function"==typeof t;return this.visitParents((e=>{e.parent&&(s=r?t(e):e[t],n.unshift(s))}),e),n.join(i)}getPrevSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t-1]||null}hasChildren(){if(this.lazy){if(null==this.children)return;if(0===this.children.length)return!1;if(1===this.children.length&&this.children[0].isStatusNode())return;return!0}return!(!this.children||!this.children.length)}hasClass(e){return!!this.classes&&this.classes.has(e)}isActive(){return this.tree.activeNode===this}isAncestorOf(e){return e&&e.isDescendantOf(this)}isChildOf(e){return e&&this.parent===e}isColspan(){return!!this.getOption("colspan")}isDescendantOf(e){if(!e||e.tree!==this.tree)return!1;let t=this.parent;for(;t;){if(t===e)return!0;t===t.parent&&a(`Recursive parent link: ${t}`),t=t.parent}return!1}isExpandable(e=!1){return!(e&&this.expanded||!1===this.children)&&(null==this.children?!!this.lazy:0!==this.children.length||!!this.tree.options.emptyChildListExpandable)}isEditing(){return this.tree._callMethod("edit.isEditingTitle",this)}isExpanded(){return!!this.expanded}isFirstSibling(){const e=this.parent;return!e||e.children[0]===this}isLastSibling(){const e=this.parent;return!e||e.children[e.children.length-1]===this}isLazy(){return!!this.lazy}isLoaded(){return!this.lazy||void 0!==this.hasChildren()}isLoading(){return this._isLoading}isPagingNode(){return"paging"===this.statusNodeType}isParentOf(e){return e&&e.parent===this}isPartload(){return!!this._partload}isPartsel(){return!this.selected&&!!this._partsel}isRadio(){return!!this.parent.radiogroup||"radio"===this.getOption("checkbox")}isRendered(){return!!this._rowElem}isRootNode(){return this.tree.root===this}isSelected(){return!!this.selected||!!this._partsel&&void 0}isStatusNode(){return!!this.statusNodeType}isTopLevel(){return this.tree.root===this.parent}isUnloaded(){return void 0===this.hasChildren()}isVisible(){const e="hide"===this.tree.filterMode,t=this.getParentList(!1,!1);if(e&&!this.match&&!this.subMatchCount)return!1;for(let e=0,i=t.length;ei)return void this.logWarn(`Ignored load response #${i} because #${this._requestId} is pending.`);if(this.logDebug(`Received response for load request #${i}`),null===this.parent&&null!==s)return void this.logWarn("Lazy parent node was removed while loading: discarding response.");this.setStatus(I.ok);const r=Date.now();this._loadSourceObject(t),l=Date.now()-r}else this._loadSourceObject(e),l=Date.now()-n}catch(t){throw this.logError("Error during load()",e,t),this._callEvent("error",{error:t}),this.setStatus(I.error,{message:""+t}),t}finally{this._requestId=0,r=Date.now()-n,t.options.debugLevel>=3&&t.logInfo(`Load source took ${r/1e3} seconds (transfer: ${o/1e3}s, processing: ${l/1e3}s)`)}}async loadLazy(e=!1){const t=this.expanded;if(o(this.lazy,"load() requires a lazy node"),e||this.isUnloaded()){this.isLoaded()&&this.resetLazy(),this.setStatus(I.loading);try{const e=await this._callEvent("lazyLoad");if(!1===e)return void this.setStatus(I.ok);o(w(e)||e&&e.url,"The lazyLoad event must return a node list, `{url: ...}`, or false."),await this.load(e),t?(this.expanded=!0,this.tree.update(D.structure)):this.update()}catch(e){this.logError("Error during loadLazy()",e),this._callEvent("error",{error:e}),this.setStatus(I.error,{message:""+e})}}}log(...e){this.logDebug(...e)}logDebug(...e){this.tree.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.tree.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.tree.options.debugLevel>=3&&console.info(this.toString(),...e)}logWarn(...e){this.tree.options.debugLevel>=2&&console.warn(this.toString(),...e)}async makeVisible(e){let t;const i=new oe,s=[],n=this.getParentList(!1,!1),r=n.length,o=k(e,"noAnimation",!1),l=k(e,"scrollIntoView",!0);for(t=r-1;t>=0;t--){const e={noAnimation:o};s.push(n[t].setExpanded(!0,e))}return Promise.all(s).then((()=>{l&&this.tree?(this.tree.updatePendingModifications(),this.scrollIntoView().then((()=>{i.resolve()}))):i.resolve()})),i.promise()}moveTo(e,t="appendChild",i){let s;"over"===t&&(t="appendChild"),"prependChild"===t&&(e.children&&e.children.length?(t="before",e=e.children[0]):t="appendChild");const n=this.tree,r=this.parent,l="appendChild"===t?e:e.parent;if(this!==e){if(this.parent?l.isDescendantOf(this)&&a("Cannot move a node to its own descendant"):a("Cannot move system root"),l!==r&&r.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===l)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else s=this.parent.children.indexOf(this),o(s>=0,"invalid source parent"),this.parent.children.splice(s,1);if(this.parent=l,l.hasChildren())switch(t){case"appendChild":l.children.push(this);break;case"before":s=l.children.indexOf(e),o(s>=0,"invalid target parent"),l.children.splice(s,0,this);break;case"after":s=l.children.indexOf(e),o(s>=0,"invalid target parent"),l.children.splice(s+1,0,this);break;default:a(`Invalid mode '${t}'.`)}else l.children=[this];i&&e.visit(i,!0),l===r?l.triggerModifyChild("move",this):l.triggerModifyChild("add",this),n!==e.tree&&(this.logWarn("Cross-tree moveTo is experimental!"),this.visit((t=>{t.tree=e.tree}),!0)),setTimeout((()=>{n.update(D.any)}),0)}}async navigate(e,t){e=J[e]||e;const i=this.findRelatedNode(e);if(!i)return this.logWarn(`Could not find related node '${e}'.`),Promise.resolve(this);try{i.makeVisible({scrollIntoView:!1})}catch(e){}return i.setFocus(),!1===(null==t?void 0:t.activate)?Promise.resolve(this):i.setActive(!0,{event:null==t?void 0:t.event})}remove(){const e=this.tree,t=this.parent.children.indexOf(this);this.triggerModify("remove"),this.parent.children.splice(t,1),this.visit((t=>{t.removeMarkup(),e._unregisterNode(t)}),!0),e.update(D.structure)}removeChildren(){const e=this.tree;this.children&&(e.activeNode&&e.activeNode.isDescendantOf(this)&&e.activeNode.setActive(!1),e.focusNode&&e.focusNode.isDescendantOf(this)&&(e.focusNode=null),this.triggerModifyChild("remove",null),this.visit((t=>{e._unregisterNode(t)})),this.lazy?this.children=[]:this.children=null,this.isRootNode()||(this.expanded=!1),this.tree.update(D.structure))}removeMarkup(){this._rowElem&&(delete this._rowElem._wb_node,this._rowElem.remove(),this._rowElem=void 0)}_getRenderInfo(){const e={},t={},i=this.isColspan(),s=this._rowElem?this._rowElem.querySelectorAll("span.wb-col"):null;let n=0;for(const r of this.tree.columns)e[r.id]={id:r.id,idx:n,elem:s?s[n]:null,info:r},i||"*"===r.id||(t[r.id]=e[r.id]),n++;return{allColInfosById:e,renderColInfosById:t}}_createIcon(e,t,i,s){let n,r=this.getOption("icon");if(this._errorInfo?r=e.error:this._isLoading&&s&&(r=e.loading),!1===r)return null;"string"==typeof r||(r=this.statusNodeType?e[this.statusNodeType]:this.expanded?e.folderOpen:this.children?e.folder:this.lazy?e.folderLazy:e.doc),r?r.indexOf("<")>=0?n=f(r):Q.test(r)?n=f(``):(n=document.createElement("i"),n.className="wb-icon "+r):(n=document.createElement("i"),n.className="wb-icon"),i?t.replaceChild(n,i):t.appendChild(n);const o=this._callEvent("iconBadge",{iconSpan:n});let l=null;if(null!=o&&!1!==o){let e="",t="";x(o)?(l=""+o.badge,e=o.badgeClass?" "+o.badgeClass:"",t=o.badgeTooltip?` title="${o.badgeTooltip}"`:""):l="number"==typeof o?""+o:o,"string"==typeof l&&(l=f(`${d(l)}`)),l&&n.append(l)}return n}_render_markup(e){const t=this.tree,i=t.options,s=this.getOption("checkbox"),n=t.columns,r=this.getLevel(),l=t.isRowNav()?null:t.activeColIdx;let a,d=this._rowElem,c=null,h=null;const u=!d;o(u),o(!u||e&&e.after,"opts.after expected, unless updating"),o(!this.isRootNode()),d=document.createElement("div"),d.classList.add("wb-row"),d.style.top=this._rowIdx*G+"px",this._rowElem=d,d._wb_node=this;const p=document.createElement("span");p.classList.add("wb-node","wb-col"),d.appendChild(p);let f=0;s&&(c=document.createElement("i"),c.classList.add("wb-checkbox"),("radio"===s||this.parent.radiogroup)&&c.classList.add("wb-radio"),p.appendChild(c),f+=20);for(let e=r-1;e>0;e--)a=document.createElement("i"),a.classList.add("wb-indent"),p.appendChild(a),f+=20;(!i.minExpandLevel||r>i.minExpandLevel)&&(h=document.createElement("i"),h.classList.add("wb-expander"),p.appendChild(h),f+=20);this._createIcon(t.iconMap,p,null,!h)&&(f+=20);const g=document.createElement("span");g.classList.add("wb-title"),p.appendChild(g),p._ofsTitlePx=f,t.options.dnd.dragStart&&(p.draggable=!0);if(!this.isColspan()&&n.length>1){let e=0;for(const t of n){let i;e++,"*"===t.id?i=p:(i=document.createElement("span"),i.classList.add("wb-col"),d.appendChild(i)),e===l&&i.classList.add("wb-active"),t.classes&&i.classList.add(...t.classes.split(" ")),i.style.left=t._ofsPx+"px",i.style.width=t._widthPx+"px",u&&t.html&&"string"==typeof t.html&&(i.innerHTML=t.html)}}switch(e?e.after:"last"){case"first":t.nodeListElement.prepend(d);break;case"last":t.nodeListElement.appendChild(d);break;default:e.after.after(d)}e.isNew=!0,this._render_data(e)}_render_data(e){o(this._rowElem);const t=this.tree,i=t.options,s=this._rowElem,n=!!e.isNew,r=!!e.preventScroll,l=t.columns,a=this.isColspan(),d=s.querySelector("span.wb-node"),c=d.querySelector("span.wb-title"),h=t.element.scrollTop;if(this.titleWithHighlight?c.innerHTML=this.titleWithHighlight:c.textContent=this.title,r&&(t.element.scrollTop=h),!i.skeleton)if(a){const e=t.element.clientWidth;c.style.width=e-d._ofsTitlePx-7+"px"}else c.style.width=l[0]._widthPx-d._ofsTitlePx-7+"px";if(e.isDataChange=!0,this._render_status(e),this.statusNodeType)this._callEvent("renderStatusNode",{isNew:n,nodeElem:d,isColspan:a});else if(this.parent){const e=this._getRenderInfo();this._callEvent("render",{isNew:n,nodeElem:d,isColspan:a,allColInfosById:e.allColInfosById,renderColInfosById:e.renderColInfosById})}}_render_status(e){const t=this.tree,i=t.iconMap,s=t.options,n=this.type?t.types[this.type]:null,r=this._rowElem,o=r.querySelector("span.wb-node"),l=o.querySelector("i.wb-expander"),a=o.querySelector("i.wb-checkbox"),d=["wb-row"];if(this.expanded&&d.push("wb-expanded"),this.lazy&&d.push("wb-lazy"),this.selected&&d.push("wb-selected"),this._partsel&&d.push("wb-partsel"),this===t.activeNode&&d.push("wb-active"),this===t.focusNode&&d.push("wb-focus"),this._errorInfo&&d.push("wb-error"),this._isLoading&&d.push("wb-loading"),this.isColspan()&&d.push("wb-colspan"),this.statusNodeType&&d.push("wb-status-"+this.statusNodeType),this.match&&d.push("wb-match"),this.subMatchCount&&d.push("wb-submatch"),s.skeleton&&d.push("wb-skeleton"),r.className=d.join(" "),this.classes&&r.classList.add(...this.classes),n&&n.classes&&r.classList.add(...n.classes),l){let e=null;this._isLoading?e=i.loading:this.isExpandable(!1)?e=this.expanded?i.expanderExpanded:i.expanderCollapsed:this.lazy&&null==this.children&&(e=i.expanderLazy),null==e?l.classList.add("wb-indent"):Q.test(e)?l.style.backgroundImage=`url('${e}')`:l.className="wb-expander "+e}if(a){let e="wb-checkbox ";this.isRadio()?(e+="wb-radio ",this.selected?e+=i.radioChecked:e+=i.radioUnchecked):this.selected?e+=i.checkChecked:this._partsel?e+=i.checkUnknown:e+=i.checkUnchecked,a.className=e}if(!e.isNew){let e=0;for(const i of r.children)i.classList.toggle("wb-active",e++===t.activeColIdx);const i=o.querySelector("i.wb-icon");i&&this._createIcon(t.iconMap,o,i,!l)}if(!1!==e.resizeCols&&!this.isColspan()){const e=r.querySelectorAll("span.wb-col");let t=0,i=0;for(const s of this.tree.columns){const n=e[t];n.style.left=`${i}px`,n.style.width=`${s._widthPx}px`,t++,i+=s._widthPx}}}_render(e){const t=Object.assign({change:D.data},e);switch(this._rowElem||(t.change=D.row),t.change){case"status":this._render_status(t);break;case"data":this._render_data(t);break;case"row":this._render_markup(t);break;default:a(`Invalid change type '${t.change}'.`)}}resetLazy(){this.removeChildren(),this.expanded=!1,this.lazy=!0,this.children=null,this.tree.update(D.structure)}toDict(e=!1,t){const i={};if(ae.forEach((e=>{const t=this[e];t instanceof Set?t.size&&(i[e]=Array.prototype.join.call(t.keys()," ")):(t||!1===t||0===t)&&(i[e]=t)})),E(this.data)||(i.data=y({},this.data),E(i.data)&&delete i.data),t){const s=t(i,this);if(!1===s)return!1;"skip"===s&&(e=!1)}if(e&&w(this.children)){i.children=[];for(let e=0,s=this.children.length;e=0&&([s,e]=e.split("."));const n=s[e];if("function"==typeof n){const e=n.call(i,{type:"resolve",tree:i,node:this});if(void 0!==e)return e}if(void 0!==this[e])return this[e];const r=this.type?i.types[this.type]:void 0,o=r?r[e]:void 0;return void 0!==o?o:null!=n?n:t}async scrollIntoView(e){const t=Object.assign({node:this},e);return this.tree.scrollTo(t)}async setActive(e=!0,t){const i=this.tree,s=i.activeNode,n=null==t?void 0:t.retrigger,r=null==t?void 0:t.focusTree,o=!1!==(null==t?void 0:t.focusNode),l=null==t?void 0:t.noEvents,a=null==t?void 0:t.event;if(!l)if(e){if(s!==this||n){if(!1===(null==s?void 0:s._callEvent("deactivate",{nextNode:this,event:a}))||!1===this._callEvent("beforeActivate",{prevNode:s,event:a}))return;i.activeNode=null,null==s||s.update(D.status)}}else(s===this||n)&&this._callEvent("deactivate",{nextNode:null,event:a});return s!==this&&(e&&(i.activeNode=this,(o||r)&&(i.focusNode=this),r&&i.setFocus()),null==s||s.update(D.status),this.update(D.status)),t&&null!=t.colIdx&&t.colIdx!==i.activeColIdx&&i.isCellNav()&&i.setColumn(t.colIdx),e&&!l&&this._callEvent("activate",{prevNode:s,event:a}),this.makeVisible()}async setExpanded(e=!0,t){const{force:i,scrollIntoView:s,immediate:n}=null!=t?t:{};if(!e&&this.isExpanded()&&this.getLevel()<=this.tree.getOption("minExpandLevel")&&!i)return void this.logDebug("Ignored collapse request below expandLevel.");if(!e==!this.expanded)return;e&&this.getOption("autoCollapse")&&this.collapseSiblings(t),e&&this.lazy&&null==this.children&&await this.loadLazy(),this.expanded=e;const r={immediate:n};if(this.tree.update(D.structure,r),e&&s){const e=this.getLastChild();e&&(this.tree.updatePendingModifications(),e.scrollIntoView({topNode:this}))}}setFocus(e=!0){o(!!e,"blur is not yet implemented");const t=this.tree.focusNode;this.tree.focusNode=this,null==t||t.update(),this.update()}setIcon(e){this.icon=e,this.update()}setKey(e,t){throw new Error("Not yet implemented")}update(e=D.data){o(e===D.status||e===D.data),this.tree.update(e,this)}getSelectedNodes(e=!1){const t=[];return this.visit((i=>{if(i.selected&&(t.push(i),!0===e))return"skip"})),t}toggleSelected(e){let t=this.isSelected();return t=void 0!==t||this.isRadio()?!t:this._anySelectable(),this.setSelected(t,e)}_anySelectable(){let e=!1;return this.visit((t=>{if(!1===t.selected&&!t.unselectable&&!t.hasChildren()&&!t.parent.radiogroup)return e=!0,!1})),e}_changeSelectStatusProps(e){let t=!1;switch(e){case!1:t=this.selected||this._partsel,this.selected=!1,this._partsel=!1;break;case!0:t=!this.selected||!this._partsel,this.selected=!0,this._partsel=!0;break;case void 0:t=this.selected||!this._partsel,this.selected=!1,this._partsel=!0;break;default:a(`Invalid state: ${e}`)}return t&&this.update(),t}fixSelection3AfterClick(e){const t=!!(null==e?void 0:e.force),i=this.isSelected();this.visit((e=>{if(e.radiogroup)return"skip";!t&&e.getOption("unselectable")||e._changeSelectStatusProps(i)})),this.fixSelection3FromEndNodes()}fixSelection3FromEndNodes(e){const t=!!(null==e?void 0:e.force);o("hier"===this.tree.options.selectMode,"expected selectMode 'hier'");const i=e=>{let s;const n=e.children;if(n&&n.length){let e=!0,t=!1;for(let s=0,r=n.length;s{let t;const i=e.children;let s=!0,n=!1;for(let e=0,r=i.length;e{this.visit((t=>{t.setSelected(e)}))})),n):(e===n||s&&!1===this._callEvent("beforeSelect",{flag:e})||(i.runWithDeferredUpdate((()=>{if(r){if(!e&&!(null==t?void 0:t.force))return n;for(const e of this.parent.children)e.selected=e===this}else this.selected=e,"hier"===o?this.fixSelection3AfterClick():"single"===o&&i.visit((e=>{e.selected=!1}))})),s&&this._callEvent("select",{flag:e})),n):n}setStatus(e,t){const i=this.tree,s=null==t?void 0:t.message,n=null==t?void 0:t.details;let r=null;const l=e=>{const t=this.children,s=t?t[0]:null;return o(e.statusNodeType),o(!s||!s.isStatusNode()),r=this.addNode(e,"prependChild"),r.match=!0,i.update(D.structure),r};switch((()=>{const e=this.children;e&&e.length&&e[0].isStatusNode()&&e[0].remove()})(),e){case"ok":this._isLoading=!1,this._errorInfo=null;break;case"loading":this._isLoading=!0,this._errorInfo=null,this.parent?this.update(D.status):l({statusNodeType:e,title:i.options.strings.loading+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n});break;case"error":l({statusNodeType:e,title:i.options.strings.loadError+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo={message:s,details:n};break;case"noData":l({statusNodeType:e,title:s||i.options.strings.noData,checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo=null;break;default:a("invalid node status "+e)}return i.update(D.structure),r}setTitle(e){this.title=e,this.update()}_sortChildren(e,t){const i=this.children;if(i&&(i.sort(e),t))for(let s=0,n=i.length;s"),null!=i.refKey&&(this.refKey=""+i.refKey),null!=i.type&&(this.type=""+i.type),this.expanded=!0===i.expanded,null!=i.icon&&(this.icon=i.icon),this.lazy=!0===i.lazy,null!=i.statusNodeType&&(this.statusNodeType=""+i.statusNodeType),null!=i.colspan&&(this.colspan=!!i.colspan),null!=i.checkbox&&(this.checkbox=!!i.checkbox),null!=i.radiogroup&&(this.radiogroup=!!i.radiogroup),this.selected=!0===i.selected,!0===i.unselectable&&(this.unselectable=!0),i.classes&&this.setClass(i.classes);for(const[e,t]of Object.entries(i))le.has(e)||(this.data[e]=t);t&&!this.statusNodeType&&e._registerNode(this)}toString(){return`WunderbaumNode@${this.key}<'${this.title}'>`}*[Symbol.iterator](){const e=this.children;if(e)for(let t=0,i=e.length;t=0,`options.before must be a direct child of ${this}`),this.children.splice(e,0,...l)}else this.children=l;i.update(D.structure)}finally{i.enableUpdate(!0)}return l[0]}addNode(e,t="appendChild"){switch("over"===t&&(t="appendChild"),t){case"after":return this.parent.addChildren(e,{before:this.getNextSibling()});case"before":return this.parent.addChildren(e,{before:this});case"prependChild":return this.addChildren(e,{before:0});case"appendChild":return this.addChildren(e)}o(!1,`Invalid mode: ${t}`)}applyCommand(e,t){return this.tree.applyCommand(e,this,t)}collapseSiblings(e){for(const t of this.parent.children)t!==this&&t.expanded&&t.setExpanded(!1,e)}setClass(e,t=!0){const i=N(e);if(t)null===this.classes&&(this.classes=new Set),i.forEach((e=>{var i;this.classes.add(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)}));else{if(null===this.classes)return;i.forEach((e=>{var i;this.classes.delete(e),null===(i=this._rowElem)||void 0===i||i.classList.toggle(e,t)})),0===this.classes.size&&(this.classes=null)}}async expandAll(e=!0,t){const i=this.tree,s=this.tree.options.minExpandLevel,{depth:n=99,loadLazy:r,force:o,keepActiveNodeVisible:l=!0}=null!=t?t:{},a={scrollIntoView:!1,force:o,loadLazy:r};const d=i.logTime(`${this}.expandAll(${e})`);try{i.enableUpdate(!1),await async function t(i,n){var l;if(0===n)return;const d=null==n?null:n-1,c=[];return null===(l=i.children)||void 0===l||l.forEach((i=>{if(e)if(!i.expanded&&(i.children||r&&i.lazy)){const e=i.setExpanded(!0,a);c.push(e),e.then((async()=>{await t(i,d)}))}else c.push(t(i,d));else(!s||o||i.getLevel()>s)&&i.setExpanded(!1,a),t(i,d)})),new Promise((e=>{Promise.all(c).then((()=>{e(!0)}))}))}(this,n)}finally{i.enableUpdate(!0),i.logTimeEnd(d)}i.activeNode&&l&&i.activeNode.scrollIntoView()}findAll(e){const t="function"==typeof e?e:Z(e),i=[];return this.visit((e=>{t(e)&&i.push(e)})),i}findDirectChild(e){const t=this.children;if(!t)return null;if("string"==typeof e){for(let i=0,s=t.length;i{if(t(e))return i=e,!1})),i}findRelatedNode(e,t=!1){return this.tree.findRelatedNode(this,e,t)}*format_iter(e,t){function i(e){const t=e.parent.children;return e===t[t.length-1]}null!=t||(t=[" "," | "," ╰─ "," ├─ "]),null!=e||(e=e=>""+e);const s=s=>{const n=[e(s)];n.unshift(t[i(s)?2:3]);let r=s.parent;for(;r&&r!==this;)n.unshift(t[i(r)?0:1]),r=r.parent;return n.join("")};yield e(this);for(const e of this)yield s(e)}format(e,t){const i=[];for(const s of this.format_iter(e,t))i.push(s);return i.join("\n")}getColElem(e){var t;"string"==typeof e&&(e=this.tree.columns.findIndex((t=>t.id===e)));const i=null===(t=this._rowElem)||void 0===t?void 0:t.querySelectorAll("span.wb-col");return i?i[e]:null}getFirstChild(){return this.children?this.children[0]:null}getLastChild(){return this.children?this.children[this.children.length-1]:null}getLevel(){let e=0,t=this.parent;for(;t;)e++,t=t.parent;return e}getNextSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t+1]||null}getParent(){return this.parent}getParentList(e=!1,t=!1){const i=[];let s=t?this:this.parent;for(;s;)(e||s.parent)&&i.unshift(s),s=s.parent;return i}getPath(e=!0,t="title",i="/"){let s;const n=[],r="function"==typeof t;return this.visitParents((e=>{e.parent&&(s=r?t(e):e[t],n.unshift(s))}),e),n.join(i)}getPrevSibling(){const e=this.parent.children,t=e.indexOf(this);return e[t-1]||null}hasChildren(){if(this.lazy){if(null==this.children)return;if(0===this.children.length)return!1;if(1===this.children.length&&this.children[0].isStatusNode())return;return!0}return!(!this.children||!this.children.length)}hasClass(e){return!!this.classes&&this.classes.has(e)}isActive(){return this.tree.activeNode===this}isAncestorOf(e){return e&&e.isDescendantOf(this)}isChildOf(e){return e&&this.parent===e}isColspan(){return!!this.getOption("colspan")}isDescendantOf(e){if(!e||e.tree!==this.tree)return!1;let t=this.parent;for(;t;){if(t===e)return!0;t===t.parent&&a(`Recursive parent link: ${t}`),t=t.parent}return!1}isExpandable(e=!1){return!(e&&this.expanded||!1===this.children)&&(null==this.children?!!this.lazy:0!==this.children.length||!!this.tree.options.emptyChildListExpandable)}isEditing(){return this.tree._callMethod("edit.isEditingTitle",this)}isExpanded(){return!!this.expanded}isFirstSibling(){const e=this.parent;return!e||e.children[0]===this}isLastSibling(){const e=this.parent;return!e||e.children[e.children.length-1]===this}isLazy(){return!!this.lazy}isLoaded(){return!this.lazy||void 0!==this.hasChildren()}isLoading(){return this._isLoading}isPagingNode(){return"paging"===this.statusNodeType}isParentOf(e){return e&&e.parent===this}isPartload(){return!!this._partload}isPartsel(){return!this.selected&&!!this._partsel}isRadio(){return!!this.parent.radiogroup||"radio"===this.getOption("checkbox")}isRendered(){return!!this._rowElem}isRootNode(){return this.tree.root===this}isSelected(){return!!this.selected||!!this._partsel&&void 0}isStatusNode(){return!!this.statusNodeType}isTopLevel(){return this.tree.root===this.parent}isUnloaded(){return void 0===this.hasChildren()}isVisible(){const e="hide"===this.tree.filterMode,t=this.getParentList(!1,!1);if(e&&!this.match&&!this.subMatchCount)return!1;for(let e=0,i=t.length;ei)return void this.logWarn(`Ignored load response #${i} because #${this._requestId} is pending.`);if(this.logDebug(`Received response for load request #${i}`),null===this.parent&&null!==s)return void this.logWarn("Lazy parent node was removed while loading: discarding response.");this.setStatus(L.ok);const r=Date.now();this._loadSourceObject(t),l=Date.now()-r}else this._loadSourceObject(e),l=Date.now()-n}catch(t){throw this.logError("Error during load()",e,t),this._callEvent("error",{error:t}),this.setStatus(L.error,{message:""+t}),t}finally{this._requestId=0,r=Date.now()-n,t.options.debugLevel>=3&&t.logInfo(`Load source took ${r/1e3} seconds (transfer: ${o/1e3}s, processing: ${l/1e3}s)`)}}async loadLazy(e=!1){const t=this.expanded;if(o(this.lazy,"load() requires a lazy node"),e||this.isUnloaded()){this.isLoaded()&&this.resetLazy(),this.setStatus(L.loading);try{const e=await this._callEvent("lazyLoad");if(!1===e)return void this.setStatus(L.ok);o(w(e)||e&&e.url,"The lazyLoad event must return a node list, `{url: ...}`, or false."),await this.load(e),t?(this.expanded=!0,this.tree.update(D.structure)):this.update()}catch(e){this.logError("Error during loadLazy()",e),this._callEvent("error",{error:e}),this.setStatus(L.error,{message:""+e})}}}log(...e){this.logDebug(...e)}logDebug(...e){this.tree.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.tree.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.tree.options.debugLevel>=3&&console.info(this.toString(),...e)}logWarn(...e){this.tree.options.debugLevel>=2&&console.warn(this.toString(),...e)}async makeVisible(e){let t;const i=new oe,s=[],n=this.getParentList(!1,!1),r=n.length,o=C(e,"noAnimation",!1),l=C(e,"scrollIntoView",!0);for(t=r-1;t>=0;t--){const e={noAnimation:o};s.push(n[t].setExpanded(!0,e))}return Promise.all(s).then((()=>{l&&this.tree?(this.tree.updatePendingModifications(),this.scrollIntoView().then((()=>{i.resolve()}))):i.resolve()})),i.promise()}moveTo(e,t="appendChild",i){let s;"over"===t&&(t="appendChild"),"prependChild"===t&&(e.children&&e.children.length?(t="before",e=e.children[0]):t="appendChild");const n=this.tree,r=this.parent,l="appendChild"===t?e:e.parent;if(this!==e){if(this.parent?l.isDescendantOf(this)&&a("Cannot move a node to its own descendant"):a("Cannot move system root"),l!==r&&r.triggerModifyChild("remove",this),1===this.parent.children.length){if(this.parent===l)return;this.parent.children=this.parent.lazy?[]:null,this.parent.expanded=!1}else s=this.parent.children.indexOf(this),o(s>=0,"invalid source parent"),this.parent.children.splice(s,1);if(this.parent=l,l.hasChildren())switch(t){case"appendChild":l.children.push(this);break;case"before":s=l.children.indexOf(e),o(s>=0,"invalid target parent"),l.children.splice(s,0,this);break;case"after":s=l.children.indexOf(e),o(s>=0,"invalid target parent"),l.children.splice(s+1,0,this);break;default:a(`Invalid mode '${t}'.`)}else l.children=[this];i&&e.visit(i,!0),l===r?l.triggerModifyChild("move",this):l.triggerModifyChild("add",this),n!==e.tree&&(this.logWarn("Cross-tree moveTo is experimental!"),this.visit((t=>{t.tree=e.tree}),!0)),setTimeout((()=>{n.update(D.any)}),0)}}async navigate(e,t){e=X[e]||e;const i=this.findRelatedNode(e);if(!i)return this.logWarn(`Could not find related node '${e}'.`),Promise.resolve(this);try{i.makeVisible({scrollIntoView:!1})}catch(e){}return i.setFocus(),!1===(null==t?void 0:t.activate)?Promise.resolve(this):i.setActive(!0,{event:null==t?void 0:t.event})}remove(){const e=this.tree,t=this.parent.children.indexOf(this);this.triggerModify("remove"),this.parent.children.splice(t,1),this.visit((t=>{t.removeMarkup(),e._unregisterNode(t)}),!0),e.update(D.structure)}removeChildren(){const e=this.tree;this.children&&(e.activeNode&&e.activeNode.isDescendantOf(this)&&e.activeNode.setActive(!1),e.focusNode&&e.focusNode.isDescendantOf(this)&&(e.focusNode=null),this.triggerModifyChild("remove",null),this.visit((t=>{e._unregisterNode(t)})),this.lazy?this.children=[]:this.children=null,this.isRootNode()||(this.expanded=!1),this.tree.update(D.structure))}removeMarkup(){this._rowElem&&(delete this._rowElem._wb_node,this._rowElem.remove(),this._rowElem=void 0)}_getRenderInfo(){const e={},t={},i=this.isColspan(),s=this._rowElem?this._rowElem.querySelectorAll("span.wb-col"):null;let n=0;for(const r of this.tree.columns)e[r.id]={id:r.id,idx:n,elem:s?s[n]:null,info:r},i||"*"===r.id||(t[r.id]=e[r.id]),n++;return{allColInfosById:e,renderColInfosById:t}}_createIcon(e,t,i,s){let n,r=this.getOption("icon");if(this._errorInfo?r=e.error:this._isLoading&&s&&(r=e.loading),!1===r)return null;"string"==typeof r||(r=this.statusNodeType?e[this.statusNodeType]:this.expanded?e.folderOpen:this.children?e.folder:this.lazy?e.folderLazy:e.doc),r?r.indexOf("<")>=0?n=f(r):Q.test(r)?n=f(``):(n=document.createElement("i"),n.className="wb-icon "+r):(n=document.createElement("i"),n.className="wb-icon"),i?t.replaceChild(n,i):t.appendChild(n);const o=this._callEvent("iconBadge",{iconSpan:n});let l=null;if(null!=o&&!1!==o){let e="",t="";x(o)?(l=""+o.badge,e=o.badgeClass?" "+o.badgeClass:"",t=o.badgeTooltip?` title="${o.badgeTooltip}"`:""):l="number"==typeof o?""+o:o,"string"==typeof l&&(l=f(`${d(l)}`)),l&&n.append(l)}return n}_render_markup(e){const t=this.tree,i=t.options,s=this.getOption("checkbox"),n=t.columns,r=this.getLevel(),l=t.isRowNav()?null:t.activeColIdx;let a,d=this._rowElem,c=null,h=null;const u=!d;o(u,"Expected unrendered node"),o(!u||e&&e.after,"opts.after expected, unless updating"),o(!this.isRootNode(),"Root node not allowed"),d=document.createElement("div"),d.classList.add("wb-row"),d.style.top=this._rowIdx*G+"px",this._rowElem=d,d._wb_node=this;const p=document.createElement("span");p.classList.add("wb-node","wb-col"),d.appendChild(p);let f=0;s&&(c=document.createElement("i"),c.classList.add("wb-checkbox"),("radio"===s||this.parent.radiogroup)&&c.classList.add("wb-radio"),p.appendChild(c),f+=20);for(let e=r-1;e>0;e--)a=document.createElement("i"),a.classList.add("wb-indent"),p.appendChild(a),f+=20;(!i.minExpandLevel||r>i.minExpandLevel)&&(h=document.createElement("i"),h.classList.add("wb-expander"),p.appendChild(h),f+=20);this._createIcon(t.iconMap,p,null,!h)&&(f+=20);const g=document.createElement("span");g.classList.add("wb-title"),p.appendChild(g),p._ofsTitlePx=f,t.options.dnd.dragStart&&(p.draggable=!0);if(!this.isColspan()&&n.length>1){let e=0;for(const t of n){let i;e++,"*"===t.id?i=p:(i=document.createElement("span"),i.classList.add("wb-col"),d.appendChild(i)),e===l&&i.classList.add("wb-active"),t.classes&&i.classList.add(...t.classes.split(" ")),i.style.left=t._ofsPx+"px",i.style.width=t._widthPx+"px",u&&t.html&&"string"==typeof t.html&&(i.innerHTML=t.html)}}switch(e?e.after:"last"){case"first":t.nodeListElement.prepend(d);break;case"last":t.nodeListElement.appendChild(d);break;default:e.after.after(d)}e.isNew=!0,this._render_data(e)}_render_data(e){o(this._rowElem,"No _rowElem");const t=this.tree,i=t.options,s=this._rowElem,n=!!e.isNew,r=!!e.preventScroll,l=t.columns,a=this.isColspan(),d=s.querySelector("span.wb-node"),c=d.querySelector("span.wb-title"),h=t.element.scrollTop;if(this.titleWithHighlight?c.innerHTML=this.titleWithHighlight:c.textContent=this.title,r&&(t.element.scrollTop=h),!i.skeleton)if(a){const e=t.element.clientWidth;c.style.width=e-d._ofsTitlePx-7+"px"}else c.style.width=l[0]._widthPx-d._ofsTitlePx-7+"px";if(e.isDataChange=!0,this._render_status(e),this.statusNodeType)this._callEvent("renderStatusNode",{isNew:n,nodeElem:d,isColspan:a});else if(this.parent){const e=this._getRenderInfo();this._callEvent("render",{isNew:n,nodeElem:d,isColspan:a,allColInfosById:e.allColInfosById,renderColInfosById:e.renderColInfosById})}}_render_status(e){const t=this.tree,i=t.iconMap,s=t.options,n=this.type?t.types[this.type]:null,r=this._rowElem,o=r.querySelector("span.wb-node"),l=o.querySelector("i.wb-expander"),a=o.querySelector("i.wb-checkbox"),d=["wb-row"];if(this.expanded&&d.push("wb-expanded"),this.lazy&&d.push("wb-lazy"),this.selected&&d.push("wb-selected"),this._partsel&&d.push("wb-partsel"),this===t.activeNode&&d.push("wb-active"),this===t.focusNode&&d.push("wb-focus"),this._errorInfo&&d.push("wb-error"),this._isLoading&&d.push("wb-loading"),this.isColspan()&&d.push("wb-colspan"),this.statusNodeType&&d.push("wb-status-"+this.statusNodeType),this.match&&d.push("wb-match"),this.subMatchCount&&d.push("wb-submatch"),s.skeleton&&d.push("wb-skeleton"),r.className=d.join(" "),this.classes&&r.classList.add(...this.classes),n&&n.classes&&r.classList.add(...n.classes),l){let e=null;this._isLoading?e=i.loading:this.isExpandable(!1)?e=this.expanded?i.expanderExpanded:i.expanderCollapsed:this.lazy&&null==this.children&&(e=i.expanderLazy),null==e?l.classList.add("wb-indent"):Q.test(e)?l.style.backgroundImage=`url('${e}')`:l.className="wb-expander "+e}if(a){let e="wb-checkbox ";this.isRadio()?(e+="wb-radio ",this.selected?e+=i.radioChecked:e+=i.radioUnchecked):this.selected?e+=i.checkChecked:this._partsel?e+=i.checkUnknown:e+=i.checkUnchecked,a.className=e}if(!e.isNew){let e=0;for(const i of r.children)i.classList.toggle("wb-active",e++===t.activeColIdx);const i=o.querySelector("i.wb-icon");i&&this._createIcon(t.iconMap,o,i,!l)}if(!1!==e.resizeCols&&!this.isColspan()){const e=r.querySelectorAll("span.wb-col");let t=0,i=0;for(const s of this.tree.columns){const n=e[t];n.style.left=`${i}px`,n.style.width=`${s._widthPx}px`,t++,i+=s._widthPx}}}_render(e){const t=Object.assign({change:D.data},e);switch(this._rowElem||(t.change=D.row),t.change){case"status":this._render_status(t);break;case"data":this._render_data(t);break;case"row":this._render_markup(t);break;default:a(`Invalid change type '${t.change}'.`)}}resetLazy(){this.removeChildren(),this.expanded=!1,this.lazy=!0,this.children=null,this.tree.update(D.structure)}toDict(e=!1,t){const i={};if(ae.forEach((e=>{const t=this[e];t instanceof Set?t.size&&(i[e]=Array.prototype.join.call(t.keys()," ")):(t||!1===t||0===t)&&(i[e]=t)})),E(this.data)||(i.data=y({},this.data),E(i.data)&&delete i.data),t){const s=t(i,this);if(!1===s)return!1;"skip"===s&&(e=!1)}if(e&&w(this.children)){i.children=[];for(let e=0,s=this.children.length;e=0&&([s,e]=e.split("."));const n=s[e];if("function"==typeof n){const e=n.call(i,{type:"resolve",tree:i,node:this});if(void 0!==e)return e}if(void 0!==this[e])return this[e];const r=this.type?i.types[this.type]:void 0,o=r?r[e]:void 0;return void 0!==o?o:null!=n?n:t}async scrollIntoView(e){const t=Object.assign({node:this},e);return this.tree.scrollTo(t)}async setActive(e=!0,t){const i=this.tree,s=i.activeNode,n=null==t?void 0:t.retrigger,r=null==t?void 0:t.focusTree,o=!1!==(null==t?void 0:t.focusNode),l=null==t?void 0:t.noEvents,a=null==t?void 0:t.event;if(!l)if(e){if(s!==this||n){if(!1===(null==s?void 0:s._callEvent("deactivate",{nextNode:this,event:a}))||!1===this._callEvent("beforeActivate",{prevNode:s,event:a}))return;i.activeNode=null,null==s||s.update(D.status)}}else(s===this||n)&&this._callEvent("deactivate",{nextNode:null,event:a});return s!==this&&(e&&(i.activeNode=this,(o||r)&&(i.focusNode=this),r&&i.setFocus()),null==s||s.update(D.status),this.update(D.status)),t&&null!=t.colIdx&&t.colIdx!==i.activeColIdx&&i.isCellNav()&&i.setColumn(t.colIdx),e&&!l&&this._callEvent("activate",{prevNode:s,event:a}),this.makeVisible()}async setExpanded(e=!0,t){const{force:i,scrollIntoView:s,immediate:n}=null!=t?t:{};if(!e&&this.isExpanded()&&this.getLevel()<=this.tree.getOption("minExpandLevel")&&!i)return void this.logDebug("Ignored collapse request below expandLevel.");if(!e==!this.expanded)return;e&&this.getOption("autoCollapse")&&this.collapseSiblings(t),e&&this.lazy&&null==this.children&&await this.loadLazy(),this.expanded=e;const r={immediate:n};if(this.tree.update(D.structure,r),e&&s){const e=this.getLastChild();e&&(this.tree.updatePendingModifications(),e.scrollIntoView({topNode:this}))}}setFocus(e=!0){o(!!e,"blur is not yet implemented");const t=this.tree.focusNode;this.tree.focusNode=this,null==t||t.update(),this.update()}setIcon(e){this.icon=e,this.update()}setKey(e,t){throw new Error("Not yet implemented")}update(e=D.data){o(e===D.status||e===D.data,`Invalid change type ${e}`),this.tree.update(e,this)}getSelectedNodes(e=!1){const t=[];return this.visit((i=>{if(i.selected&&(t.push(i),!0===e))return"skip"})),t}toggleSelected(e){let t=this.isSelected();return t=void 0!==t||this.isRadio()?!t:this._anySelectable(),this.setSelected(t,e)}_anySelectable(){let e=!1;return this.visit((t=>{if(!1===t.selected&&!t.unselectable&&!t.hasChildren()&&!t.parent.radiogroup)return e=!0,!1})),e}_changeSelectStatusProps(e){let t=!1;switch(e){case!1:t=this.selected||this._partsel,this.selected=!1,this._partsel=!1;break;case!0:t=!this.selected||!this._partsel,this.selected=!0,this._partsel=!0;break;case void 0:t=this.selected||!this._partsel,this.selected=!1,this._partsel=!0;break;default:a(`Invalid state: ${e}`)}return t&&this.update(),t}fixSelection3AfterClick(e){const t=!!(null==e?void 0:e.force),i=this.isSelected();this.visit((e=>{if(e.radiogroup)return"skip";!t&&e.getOption("unselectable")||e._changeSelectStatusProps(i)})),this.fixSelection3FromEndNodes()}fixSelection3FromEndNodes(e){const t=!!(null==e?void 0:e.force);o("hier"===this.tree.options.selectMode,"expected selectMode 'hier'");const i=e=>{let s;const n=e.children;if(n&&n.length){let e=!0,t=!1;for(let s=0,r=n.length;s{let t;const i=e.children;let s=!0,n=!1;for(let e=0,r=i.length;e{this.visit((t=>{t.setSelected(e)}))})),n):(e===n||s&&!1===this._callEvent("beforeSelect",{flag:e})||(i.runWithDeferredUpdate((()=>{if(r){if(!e&&!(null==t?void 0:t.force))return n;for(const e of this.parent.children)e.selected=e===this}else this.selected=e,"hier"===o?this.fixSelection3AfterClick():"single"===o&&i.visit((e=>{e.selected=!1}))})),s&&this._callEvent("select",{flag:e})),n):n}setStatus(e,t){const i=this.tree,s=null==t?void 0:t.message,n=null==t?void 0:t.details;let r=null;const l=e=>{const t=this.children,s=t?t[0]:null;return o(e.statusNodeType,"Not a status node"),o(!s||!s.isStatusNode(),"Child must not be a status node"),r=this.addNode(e,"prependChild"),r.match=!0,i.update(D.structure),r};switch((()=>{const e=this.children;e&&e.length&&e[0].isStatusNode()&&e[0].remove()})(),e){case"ok":this._isLoading=!1,this._errorInfo=null;break;case"loading":this._isLoading=!0,this._errorInfo=null,this.parent?this.update(D.status):l({statusNodeType:e,title:i.options.strings.loading+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n});break;case"error":l({statusNodeType:e,title:i.options.strings.loadError+(s?" ("+s+")":""),checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo={message:s,details:n};break;case"noData":l({statusNodeType:e,title:s||i.options.strings.noData,checkbox:!1,colspan:!0,tooltip:n}),this._isLoading=!1,this._errorInfo=null;break;default:a("invalid node status "+e)}return i.update(D.structure),r}setTitle(e){this.title=e,this.update()}_sortChildren(e,t){const i=this.children;if(i&&(i.sort(e),t))for(let s=0,n=i.length;s{t.logError(`Error in ${e} event promise`,s),i.classList.add("wb-error")})).finally((()=>{i.classList.remove("wb-busy")})),n}_onChange(e){const t=ue.getEventInfo(e),i=t.node,s=t.colElem;i&&0!==t.colIdx?this._applyChange("change",i,s,{info:t,event:e,inputElem:e.target,inputValue:ue.util.getValueFromElem(e.target)}):this.tree.log("Ignored change event for removed element or node title")}init(){super.init(),_(this.tree.element,"change",".contenteditable,input,textarea,select",(e=>{this.debouncedOnChange(e)}))}_preprocessKeyEvent(e){const t=e.event,s=b(t),n=this.tree,r=this.getPluginOption("trigger");if(this.isEditingTitle()){switch(s){case"Enter":return this._stopEditTitle(!0,{event:t}),!1;case"Escape":return this._stopEditTitle(!1,{event:t}),!1}return!1}if(n.isRowNav()||0===n.activeColIdx){switch(s){case"Enter":if(r.indexOf("macEnter")>=0&&i)return this.startEditTitle(),!1;break;case"F2":if(r.indexOf("F2")>=0)return this.startEditTitle(),!1}return!0}return!0}isEditingTitle(e){return e?this.curEditNode===e:!!this.curEditNode}startEditTitle(e){e=null!=e?e:this.tree.getActiveNode();const t=this.getPluginOption("validity"),i=this.getPluginOption("select");if(!e)return;this.tree.logDebug(`startEditTitle(node=${e})`);let s=e._callEvent("edit.beforeEdit");if(!1===s)return void e.logInfo("beforeEdit canceled operation.");if(!0===s||!s){s=``}const n=e.getColElem(0).querySelector(".wb-title");n.innerHTML=s;const r=n.firstElementChild;t&&r.addEventListener("keydown",(e=>{r.setCustomValidity(""),r.reportValidity()})),r.focus(),i&&r.select(),this.curEditNode=e,e._callEvent("edit.edit",{inputElem:r})}stopEditTitle(e){return this._stopEditTitle(e,{})}_stopEditTitle(e,t){null!=t||(t={});const i=document.activeElement;let s=i?u(i):null;const n=this.curEditNode,r=!!t.forceClose,o=this.getPluginOption("validity");if(s&&this.getPluginOption("trim")&&(s=s.trim()),n)if(n.logDebug(`stopEditTitle(${e})`,t,i,s),e&&null!==s&&s!==n.title){const e=i.validationMessage;if(e)throw new Error(`Input validation failed for "${s}": ${e}.`);const t=n.getColElem(0);this._applyChange("edit.apply",n,t,{oldValue:n.title,newValue:s,inputElem:i}).then((e=>{const t=i.validationMessage;if(o&&t&&!1!==e)throw new Error(`Edit apply validation failed for "${s}": ${t}.`);(r||!1!==e)&&(null==n||n.setTitle(s),this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus())})).catch((e=>{n.logError(e)}))}else this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus();else this.tree.logDebug("stopEditTitle: not in edit mode.")}createNode(e="after",t,i){const s=this.tree;if(o(t=null!=t?t:s.getActiveNode(),"No node was passed, or no node is currently active."),e=e||"prependChild",null==i?i={title:""}:"string"==typeof i?i={title:i}:o(x(i)),("prependChild"===e||"appendChild"===e)&&(null==t?void 0:t.isExpandable(!0)))return void t.setExpanded().then((()=>{this.createNode(e,t,i)}));const n=t.addNode(i,e);n.setClass("wb-edit-new"),this.relatedNode=t,n.match=!0,n.makeVisible({noAnimation:!0}).then((()=>{this.startEditTitle(n)}))}} +class ce extends A{constructor(e){super(e,"edit",{debounce:100,minlength:1,maxlength:null,trigger:[],trim:!0,select:!0,slowClickDelay:1e3,validity:!0,beforeEdit:null,edit:null,apply:null}),this.curEditNode=null,this.relatedNode=null,this.debouncedOnChange=U(this._onChange.bind(this),this.getPluginOption("debounce"))}_applyChange(e,t,i,s){let n;t.log(`_applyChange(${e})`,s),i.classList.add("wb-busy"),i.classList.remove("wb-error");try{n=t._callEvent(e,s)}catch(s){t.logError(`Error in ${e} event handler`,s),i.classList.add("wb-error"),i.classList.remove("wb-busy")}return n instanceof Promise||(n=Promise.resolve(n)),n.catch((s=>{t.logError(`Error in ${e} event promise`,s),i.classList.add("wb-error")})).finally((()=>{i.classList.remove("wb-busy")})),n}_onChange(e){const t=ue.getEventInfo(e),i=t.node,s=t.colElem;i&&0!==t.colIdx?this._applyChange("change",i,s,{info:t,event:e,inputElem:e.target,inputValue:ue.util.getValueFromElem(e.target)}):this.tree.log("Ignored change event for removed element or node title")}init(){super.init(),_(this.tree.element,"change",".contenteditable,input,textarea,select",(e=>{this.debouncedOnChange(e)}))}_preprocessKeyEvent(e){const t=e.event,s=b(t),n=this.tree,r=this.getPluginOption("trigger");if(this.isEditingTitle()){switch(s){case"Enter":return this._stopEditTitle(!0,{event:t}),!1;case"Escape":return this._stopEditTitle(!1,{event:t}),!1}return!1}if(n.isRowNav()||0===n.activeColIdx){switch(s){case"Enter":if(r.indexOf("macEnter")>=0&&i)return this.startEditTitle(),!1;break;case"F2":if(r.indexOf("F2")>=0)return this.startEditTitle(),!1}return!0}return!0}isEditingTitle(e){return e?this.curEditNode===e:!!this.curEditNode}startEditTitle(e){e=null!=e?e:this.tree.getActiveNode();const t=this.getPluginOption("validity"),i=this.getPluginOption("select");if(!e)return;this.tree.logDebug(`startEditTitle(node=${e})`);let s=e._callEvent("edit.beforeEdit");if(!1===s)return void e.logInfo("beforeEdit canceled operation.");if(!0===s||!s){s=``}const n=e.getColElem(0).querySelector(".wb-title");n.innerHTML=s;const r=n.firstElementChild;t&&r.addEventListener("keydown",(e=>{r.setCustomValidity(""),r.reportValidity()})),r.focus(),i&&r.select(),this.curEditNode=e,e._callEvent("edit.edit",{inputElem:r})}stopEditTitle(e){return this._stopEditTitle(e,{})}_stopEditTitle(e,t){null!=t||(t={});const i=document.activeElement;let s=i?u(i):null;const n=this.curEditNode,r=!!t.forceClose,o=this.getPluginOption("validity");if(s&&this.getPluginOption("trim")&&(s=s.trim()),n)if(n.logDebug(`stopEditTitle(${e})`,t,i,s),e&&null!==s&&s!==n.title){const e=i.validationMessage;if(e)throw new Error(`Input validation failed for "${s}": ${e}.`);const t=n.getColElem(0);this._applyChange("edit.apply",n,t,{oldValue:n.title,newValue:s,inputElem:i}).then((e=>{const t=i.validationMessage;if(o&&t&&!1!==e)throw new Error(`Edit apply validation failed for "${s}": ${t}.`);(r||!1!==e)&&(null==n||n.setTitle(s),this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus())})).catch((e=>{n.logError(e)}))}else this.curEditNode._render({preventScroll:!0}),this.curEditNode=null,this.relatedNode=null,this.tree.setFocus();else this.tree.logDebug("stopEditTitle: not in edit mode.")}createNode(e="after",t,i){const s=this.tree;if(o(t=null!=t?t:s.getActiveNode(),"No node was passed, or no node is currently active."),e=e||"prependChild",null==i?i={title:""}:"string"==typeof i?i={title:i}:o(x(i),`Expected a plain object: ${i}`),("prependChild"===e||"appendChild"===e)&&(null==t?void 0:t.isExpandable(!0)))return void t.setExpanded().then((()=>{this.createNode(e,t,i)}));const n=t.addNode(i,e);n.setClass("wb-edit-new"),this.relatedNode=t,n.match=!0,n.makeVisible({noAnimation:!0}).then((()=>{this.startEditTitle(n)}))}} /*! * wunderbaum.ts * @@ -81,7 +81,7 @@ class ce extends A{constructor(e){super(e,"edit",{debounce:100,minlength:1,maxle * https://github.com/mar10/wunderbaum * * Released under the MIT license. - * @version v0.5.4 - * @date Sun, 15 Oct 2023 16:43:28 GMT - */class he extends de{constructor(e){super(e,null,{key:"__root__",title:e.id})}toString(){return`WbSystemRoot@${this.key}<'${this.tree.id}'>`}}class ue{constructor(e){this.enabled=!0,this.data={},this.extensionList=[],this.extensions={},this.keyMap=new Map,this.refKeyMap=new Map,this.treeRowCount=0,this._disableUpdateCount=0,this._disableUpdateIgnoreCount=0,this.activeNode=null,this.focusNode=null,this.types={},this.columns=[],this._columnsById={},this.pendingChangeTypes=new Set,this._util=O,this.filterMode=null,this.activeColIdx=0,this._cellNavMode=!1,this.lastQuicksearchTime=0,this.lastQuicksearchTerm="",this.lastClickTime=0,this.log=this.logDebug;const t=this.options=y({id:null,source:null,element:null,debugLevel:3,header:null,rowHeightPx:G,iconMap:"bootstrap",columns:null,types:null,enabled:!0,fixedCol:!1,showSpinner:!1,checkbox:!1,minExpandLevel:0,emptyChildListExpandable:!1,skeleton:!1,connectTopBreadcrumb:null,selectMode:"multi",navigationModeOption:null,quicksearch:!0,iconBadge:null,change:null,error:null,receive:null,strings:{loadError:"Error",loading:"Loading...",noData:"No data"}},e),i=new oe;this.ready=i.promise();let s=!1;if(this.ready.then((()=>{s=!0;try{this._callEvent("init")}catch(e){this.logError("Exception inside `init(e)` event:",e)}})).catch((e=>{if(s)throw e;this._callEvent("init",{error:e})})),this.id=t.id||"wb_"+ ++ue.sequence,this.root=new he(this),this._registerExtension(new W(this)),this._registerExtension(new ce(this)),this._registerExtension(new K(this)),this._registerExtension(new se(this)),this._registerExtension(new re(this)),this._registerExtension(new B(this)),this._updateViewportThrottled=S(this._updateViewportImmediately.bind(this),{}),this.columns=t.columns,delete t.columns,!this.columns||!this.columns.length){const e="string"==typeof t.header?t.header:this.id;this.columns=[{id:"*",title:e,width:"*"}]}t.types&&this.setTypes(t.types,!0),delete t.types,this.element=v(t.element),o(!!this.element,`Invalid 'element' option: ${t.element}`),this.element.classList.add("wunderbaum"),this.element.getAttribute("tabindex")||(this.element.tabIndex=0),this.element._wb_tree=this,this.headerElement=this.element.querySelector("div.wb-header");const n=null==t.header?this.columns.length>1:!!t.header;if(this.headerElement){o(!this.columns,"`opts.columns` must not be set if markup already contains a header"),this.columns=[];const e=this.headerElement.querySelector("div.wb-row");for(const t of e.querySelectorAll("div"))this.columns.push({id:t.dataset.id||`col_${this.columns.length}`,title:""+t.textContent,width:"*"})}else{const e="".repeat(this.columns.length);if(this.element.innerHTML=`\n
\n
\n ${e}\n
\n
`,!n){this.element.querySelector("div.wb-header").style.display="none"}}this.element.innerHTML+='\n
\n
\n
',this.listContainerElement=this.element.querySelector("div.wb-list-container"),this.nodeListElement=this.listContainerElement.querySelector("div.wb-node-list"),this.headerElement=this.element.querySelector("div.wb-header"),this.element.classList.toggle("wb-grid",this.columns.length>1),this._initExtensions(),["enabled","fixedCol"].forEach((e=>{null!=t[e]&&this.setOption(e,t[e])})),t.source?(t.showSpinner&&(this.nodeListElement.innerHTML="loading..."),this.load(t.source).then((()=>{null==t.navigationModeOption?this.isGrid()?this.setNavigationOption(M.cell):this.setNavigationOption(M.row):this.setNavigationOption(t.navigationModeOption),i.resolve()})).catch((e=>{i.reject(e)})).finally((()=>{var e;null===(e=this.element.querySelector("progress.spinner"))||void 0===e||e.remove(),this.element.classList.remove("wb-initializing")}))):i.resolve(),this.update(D.any),this.element.addEventListener("scroll",(e=>{this.update(D.scroll)})),this.resizeObserver=new ResizeObserver((e=>{this.update(D.resize)})),this.resizeObserver.observe(this.element),_(this.nodeListElement,"click","div.wb-row",(t=>{const i=ue.getEventInfo(t),s=i.node,n=t;if(!1===this._callEvent("click",{event:t,node:s,info:i}))return this.lastClickTime=Date.now(),!1;if(s){if(n.ctrlKey)return void s.toggleSelected();const r=this.getOption("edit.trigger"),o=this.getOption("edit.slowClickDelay");r.indexOf("clickActive")>=0&&"title"===i.region&&s.isActive()&&(!o||Date.now()-this.lastClickTime=0?s.setActive(!0,{colIdx:i.colIdx,event:t}):s.setActive(!0,{event:t}),i.region===T.expander?s.setExpanded(!s.isExpanded(),{scrollIntoView:!1!==e.scrollIntoViewOnExpandClick}):i.region===T.checkbox&&s.toggleSelected()}this.lastClickTime=Date.now()})),_(this.nodeListElement,"dblclick","div.wb-row",(e=>{const t=ue.getEventInfo(e),i=t.node;if(!1===this._callEvent("dblclick",{event:e,node:i,info:t}))return!1;i&&0===t.colIdx&&i.isExpandable()&&(this._callMethod("edit._stopEditTitle"),i.setExpanded(!i.isExpanded()))})),_(this.element,"keydown",(e=>{const t=ue.getEventInfo(e),i=b(e),s=t.node||this.getFocusNode();this._callHook("onKeyEvent",{event:e,node:s,info:t,eventName:i})})),_(this.element,"focusin focusout",(e=>{const i="focusin"===e.type,s=ue.getNode(e);this._callEvent("focus",{flag:i,event:e}),i&&this.isRowNav()&&!this.isEditing()&&(t.navigationModeOption===M.row?null==s||s.setActive():this.setCellNav()),i||this._callMethod("edit._stopEditTitle",!0,{event:e,forceClose:!0})}))}static getTree(e){if(e instanceof ue)return e;if(e instanceof de)return e.tree;if(void 0===e&&(e=0),"number"==typeof e)e=document.querySelectorAll(".wunderbaum")[e];else if("string"==typeof e){for(const t of document.querySelectorAll(".wunderbaum")){const i=t._wb_tree;if(i&&i.id===e)return i}if(!(e=document.querySelector(e)))return null}else e.target&&(e=e.target);return o(e instanceof Element),e.matches(".wunderbaum")||(e=e.closest(".wunderbaum")),e&&e._wb_tree?e._wb_tree:null}get iconMap(){const e=this.options.iconMap;return"string"==typeof e?Y[e]:e}static getNode(e){if(!e)return null;if(e instanceof de)return e;for(void 0!==e.target&&(e=e.target);e;){if(e._wb_node)return e._wb_node;e=e.parentElement}return null}*[Symbol.iterator](){yield*this.root}_registerExtension(e){this.extensionList.push(e),this.extensions[e.id]=e}_initExtensions(){for(const e of this.extensionList)e.init()}_registerNode(e){const t=e.key;o(null!=t&&!this.keyMap.has(t),`Missing or duplicate key: '${t}'.`),this.keyMap.set(t,e);const i=e.refKey;if(i){const t=this.refKeyMap.get(i);t?t.add(e):this.refKeyMap.set(i,new Set)}}_unregisterNode(e){const t=e.refKey;if(t){const i=this.refKeyMap.get(t);i&&i.delete(e)&&!i.size&&this.refKeyMap.delete(t)}e.tree=null,e.parent=null,e.removeMarkup()}_callHook(e,t={}){let i;const s=y({},{tree:this,options:this.options,result:void 0},t);for(const t of this.extensionList){if(i=t[e].call(t,s),!1===i)break;void 0!==s.result&&(i=s.result)}return i}_callMethod(e,...t){const[i,s]=e.split("."),n=s?this.extensions[i]:this,r=n[s];if(r)return r.apply(n,t);this.logError(`Calling undefined method '${e}()'.`)}_callEvent(e,t){const[i,s]=e.split("."),n=this.options,r=s?n[i][s]:n[i];if(r)return r.call(this,y({type:e,tree:this,util:this._util},t))}_getNodeByRowIdx(e){let t=null;return this.visitRows((i=>{if(i._rowIdx===e)return t=i,!1})),t}getTopmostVpNode(e=!0){const t=this.element.scrollTop;let i;return i=e?Math.ceil((t-1)/G):Math.floor(t/G),this._getNodeByRowIdx(i)}getLowestVpNode(e=!0){const t=this.element,i=this.headerElement.clientHeight,s=t.scrollTop,n=t.clientHeight-i;let r;return r=e?Math.floor((s+n)/G)-1:Math.ceil((s+n)/G)-1,r=Math.min(r,this.count(!0)-1),this._getNodeByRowIdx(r)}_getPrevNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!0,start:e||this.getActiveNode()}),e}_getNextNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!1,start:e||this.getActiveNode()}),e}addChildren(e,t){return this.root.addChildren(e,t)}applyCommand(e,t,i){let s,n;switch(t instanceof de?s=t:(s=this.getActiveNode(),o(void 0===i),i=t),e){case"moveUp":n=s.getPrevSibling(),n&&(s.moveTo(n,"before"),s.setActive());break;case"moveDown":n=s.getNextSibling(),n&&(s.moveTo(n,"after"),s.setActive());break;case"indent":n=s.getPrevSibling(),n&&(s.moveTo(n,"appendChild"),n.setExpanded(),s.setActive());break;case"outdent":s.isTopLevel()||(s.moveTo(s.getParent(),"after"),s.setActive());break;case"remove":n=s.getPrevSibling()||s.getParent(),s.remove(),n&&n.setActive();break;case"addChild":this._callMethod("edit.createNode","prependChild");break;case"addSibling":this._callMethod("edit.createNode","after");break;case"rename":this._callMethod("edit.startEditTitle");break;case"down":case"first":case"last":case"left":case"pageDown":case"pageUp":case"parent":case"right":case"up":return s.navigate(e);default:a(`Unhandled command: '${e}'`)}}clear(){this.root.removeChildren(),this.root.children=null,this.keyMap.clear(),this.refKeyMap.clear(),this.treeRowCount=0,this.activeNode=null,this.focusNode=null,this.update(D.structure)}destroy(){this.logInfo("destroy()..."),this.clear(),this.resizeObserver.disconnect(),this.element.innerHTML="",this.element.outerHTML=this.element.outerHTML}getOption(e,t){let i,s=this.options;e.indexOf(".")>=0&&([i,e]=e.split("."),s=s[i]);let n=s[e];return"function"==typeof n&&(n=n({type:"resolve",tree:this})),null!=n?n:t}setOption(e,t){if(e.indexOf(".")>=0){const i=e.split(".");this.extensions[i[0]].setPluginOption(i[1],t)}else switch(this.options[e]=t,e){case"checkbox":this.update(D.any);break;case"enabled":this.setEnabled(!!t);break;case"fixedCol":this.element.classList.toggle("wb-fixed-col",!!t)}}hasFocus(){return this.element.contains(document.activeElement)}hasHeader(){const e=this.options.header;return this.isGrid()?!1!==e:!!e}runWithDeferredUpdate(e,t=null){try{this.enableUpdate(!1);const t=e();return o(!(t instanceof Promise)),t}finally{this.enableUpdate(!0)}}async expandAll(e=!0,t){await this.root.expandAll(e,t)}selectAll(e=!0){return this.root.setSelected(e,{propagateDown:!0})}toggleSelect(){this.selectAll(this.root._anySelectable())}getSelectedNodes(e=!1){return this.root.getSelectedNodes(e)}_selectRange(e){this.logDebug("_selectRange",e),a("Not yet implemented.")}count(e=!1){return e?this.treeRowCount:this.keyMap.size}_check(){let e=0;this.visit((t=>{e++})),this.keyMap.size!==e&&this.logWarn(`_check failed: ${this.keyMap.size} !== ${e}`)}findAll(e){return this.root.findAll(e)}findFirst(e){return this.root.findFirst(e)}findKey(e){return this.keyMap.get(e)||null}findNextNode(e,t){let i=null;const s=this.getFirstChild(),n="string"==typeof e?function(e){e=c(e);const t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}(e):e;function r(e){if(n(e)&&(i=e),i||e===t)return!1}return t=t||s,this.visitRows(r,{start:t,includeSelf:!1}),i||t===s||this.visitRows(r,{start:s,includeSelf:!0}),i}findRelatedNode(e,t,i=!1){let s=null;const n=Math.floor(this.listContainerElement.clientHeight/G);switch(t){case"parent":case"left":e.parent&&e.parent.parent&&(s=e.parent);break;case"first":this.visit((e=>{if(e.isVisible())return s=e,!1}));break;case"last":this.visit((e=>{e.isVisible()&&(s=e)}));break;case"right":e.children&&e.children.length&&(s=e.children[0]);break;case"up":s=this._getPrevNodeInView(e);break;case"down":s=this._getNextNodeInView(e);break;case"pageDown":{const t=this.getLowestVpNode();s=e._rowIdxt._rowIdx?t:this._getPrevNodeInView(e,n)}break;default:this.logWarn("Unknown relation '"+t+"'.")}return s}*format_iter(e,t){yield*this.root.format_iter(e,t)}format(e,t){return this.root.format(e,t)}getActiveColElem(){return this.activeNode&&this.activeColIdx>=0?this.activeNode.getColElem(this.activeColIdx):null}getActiveNode(){return this.activeNode}getFirstChild(){return this.root.getFirstChild()}getFocusNode(){return this.focusNode}static getEventInfo(e){const t=e.target,i=t.classList,s=t.closest("span.wb-col"),n=ue.getNode(t),r=n?n.tree:ue.getTree(e),o={event:e,canonicalName:b(e),tree:r,node:n,region:T.unknown,colDef:void 0,colIdx:-1,colId:void 0,colElem:s};if(i.contains("wb-title"))o.region=T.title;else if(i.contains("wb-expander"))o.region=n.isExpandable()?T.expander:T.prefix;else if(i.contains("wb-checkbox"))o.region=T.checkbox;else if(i.contains("wb-icon"))o.region=T.icon;else if(i.contains("wb-node"))o.region=T.title;else if(s){o.region=T.column;const e=Array.prototype.indexOf.call(s.parentNode.children,s);o.colIdx=e}else{if(!i.contains("wb-row"))return"mousemove"===e.type||e instanceof KeyboardEvent||null==r||r.logWarn("getEventInfo(): not found",e,o),o;o.region=T.title}return-1===o.colIdx&&(o.colIdx=0),o.colDef=null==r?void 0:r.columns[o.colIdx],null!=o.colDef&&(o.colId=o.colDef.id),o}toString(){return`Wunderbaum<'${this.id}'>`}isEditing(){return this._callMethod("edit.isEditingTitle")}isLoading(){let e=!1;return this.root.visit((t=>{if(t._isLoading||t._requestId)return e=!0,!1}),!0),e}logDebug(...e){this.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.options.debugLevel>=3&&console.info(this.toString(),...e)}logTime(e){return this.options.debugLevel>=4&&console.time(this+": "+e),e}logTimeEnd(e){this.options.debugLevel>=4&&console.timeEnd(this+": "+e)}logWarn(...e){this.options.debugLevel>=2&&console.warn(this.toString(),...e)}scrollTo(e){let t,i;e instanceof de?t=e:(i=e,t=i.node),o(t&&null!=t._rowIdx);const s=this.element,n=this.headerElement.clientHeight,r=s.scrollTop,l=s.clientHeight,a=t._rowIdx*G+n,d=n,c=a-r,h=c+G,u=null==i?void 0:i.topNode;let p=null;c>=d?h<=l||(p=a+G-l+2):p=a-d-2,null!=p&&(this.log(`scrollTo(${a}): ${r} => ${p}`),s.scrollTop=p,u&&this.scrollTo(u))}scrollToHorz(){const e=this.columns[0]._widthPx,t=this.element.clientWidth,i=this.element.scrollLeft,s=this.getActiveColElem(),n=Number.parseInt(null==s?void 0:s.style.left,10),r=n+Number.parseInt(null==s?void 0:s.style.width,10);let o=i;n-it&&(o=r-t),o=Math.max(0,o),this.log(`scrollToHorz(${this.activeColIdx}): ${n}..${r}, fixedOfs=${e}, vpWidth=${t}, curLeft=${i} -> ${o}`),this.element.scrollLeft=o}setColumn(e){var t;if(o(this.isCellNav()),o(0<=e&&e0&&(s?this._updateViewportImmediately():this._updateViewportThrottled())}setEnabled(e=!0){const t=this.enabled;return this.enabled=!!e,this.element.classList.toggle("wb-disabled",!e),t}isEnabled(){return this.enabled}isGrid(){return this.columns&&this.columns.length>1}isCellNav(){return!!this._cellNavMode}isRowNav(){return!this._cellNavMode}setCellNav(e=!0){var t;const i=this._cellNavMode;this._cellNavMode=!!e,e&&!i&&this.setColumn(0),this.element.classList.toggle("wb-cell-mode",e),null===(t=this.activeNode)||void 0===t||t.update(D.status)}setNavigationOption(e,t=!1){if(this.isGrid()||e===M.row)switch(this.options.navigationModeOption=e,e){case M.cell:this.setCellNav(!0);break;case M.row:this.setCellNav(!1);break;case M.startCell:t&&this.setCellNav(!0);break;case M.startRow:t&&this.setCellNav(!1);break;default:a(`Invalid mode '${e}'.`)}else this.logWarn("Plain trees only support row navigation mode.")}setStatus(e,t){return this.root.setStatus(e,t)}setTypes(e,t=!0){o(x(e)),t?this.types=e:y(this.types,e);for(const e of Object.values(this.types))e.classes&&(e.classes=N(e.classes))}sortChildren(e=ee,t=!1){this.root.sortChildren(e,t)}toDictArray(e){var t;return null!==(t=this.root.toDict(!0,e).children)&&void 0!==t?t:[]}_updateColumnWidths(){const e=this.element.clientWidth,t=this.columns,i=t[0];let s=0,n=0,r=0,o=!1;if("*"!==i.id)throw new Error(`First column must have id '*': got '${i.id}'.`);this._columnsById={};for(const e of t){this._columnsById[e.id]=e;const t=e.width;if("*"===e.id&&e!==i)throw new Error(`Column id '*' must be defined only once: '${e.title}'.`);if(t&&"*"!==t)if("number"==typeof t)e._weight=t,n+=t;else if("string"==typeof t&&t.endsWith("px")){e._weight=0;const i=parseFloat(t.slice(0,-2));e._widthPx!=i&&(o=!0,e._widthPx=i),r+=i}else a(`Invalid column width: ${t} (expected string ending with 'px' or number, e.g. "px" or ).`);else e._weight=1,n+=1}const l=Math.max(0,e-r);let d=0;for(const e of t){let t;if(e._weight){const i=e.minWidth;t="number"==typeof i?i:"string"==typeof i&&i.endsWith("px")?parseFloat(i.slice(0,-2)):4;const s=Math.max(t,l*e._weight/n);e._widthPx!=s&&(o=!0,e._widthPx=s)}e._ofsPx=d,d+=e._widthPx}t[t.length-1]._widthPx-=0,s=d-0;const c=`${s}px`;return this.headerElement.style.width=c,this.listContainerElement.style.width=c,o}_renderHeaderMarkup(){o(this.headerElement);const e=this.hasHeader();if(p(this.headerElement,e),!e)return;const t=this.columns.length,i=this.headerElement.querySelector(".wb-row");o(i),i.innerHTML="".repeat(t);for(let e=0;e${r}${l}`,this.isCellNav()&&n.classList.toggle("wb-active",e===this.activeColIdx)}}updatePendingModifications(){this.pendingChangeTypes.size>0&&this._updateViewportImmediately()}_updateViewportImmediately(){var e;if(this._disableUpdateCount)return this.log(`_updateViewportImmediately() IGNORED (disable level: ${this._disableUpdateCount})`),void this._disableUpdateIgnoreCount++;const t=L,i=new Set(this.pendingChangeTypes);this.pendingChangeTypes.clear();if(i.has(t.scroll)&&1===i.size)this._updateRows({newNodesOnly:!0});else{if(this.log("_updateViewportImmediately():",i),!1!==this.options.adjustHeight){let e=this.listContainerElement.clientHeight;const t=this.headerElement.clientHeight,i=this.element.clientHeight-t-1;Math.abs(e-i)>1&&(this.listContainerElement.style.height=i+"px",e=i)}i.has(t.clearMarkup)&&this.visit((e=>{e.removeMarkup()})),i.has(t.header)&&(this._updateColumnWidths(),this._renderHeaderMarkup()),this._updateRows()}if(this.options.connectTopBreadcrumb){let t=null===(e=this.getTopmostVpNode(!0))||void 0===e?void 0:e.getPath(!1,"title"," > ");t=t?t+" >":"",this.options.connectTopBreadcrumb.textContent=t}this._callEvent("update")}_updateRows(e){const t=!!(e=Object.assign({newNodesOnly:!1},e)).newNodesOnly,i=this.element.clientHeight,s=this.element.scrollTop;let n=Math.max(0,s/22-5);n=Math.floor(n),n%2&&n--;let r=Math.max(0,(s+i)/22+5);r=Math.ceil(r);const o=new Set;this.nodeListElement.childNodes.forEach((e=>{const t=e;o.add(t._wb_node)}));let l=0,a=0,d=!1,c="first";this.visitRows((function(e){const i=e._rowElem;e._rowIdx!==l&&(e._rowIdx=l,d=!0),lr?i&&(c=i):i&&t?(o.delete(e),i.style.top=l*G+"px",c=i):(o.delete(e),i&&(i.style.top=l*G+"px"),e._render({top:a,after:c}),c=e._rowElem),l++,a+=22})),this.treeRowCount=l;for(const e of o)e._callEvent("discard"),e.removeMarkup();return this.nodeListElement.style.height=`${a}px`,d}visit(e){return this.root.visit(e,!1)}visitRows(e,t){if(!this.root.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);let i,s,n,r,l,a,d=0,c=!1===(t=t||{}).includeSelf,h=t.start||this.root.children[0];const u=!!t.includeHidden,p=!u&&"hide"===this.filterMode;for(n=h.parent;n;){for(l=n.children,s=l.indexOf(h)+d,o(s>=0,`Could not find ${h} in parent's children: ${n}`),i=s;it!==a&&(!p||t.match||t.subMatchCount?!1!==e(t)&&(u||!t.children||t.expanded?void 0:"skip"):"skip")),!1),!1===r))return!1}}h=n,n=n.parent,d=1,!n&&t.wrap&&(this.logDebug("visitRows(): wrap around"),o(t.start,"`wrap` option requires `start`"),a=t.start,t.wrap=!1,n=this.root,d=0)}return!0}_visitRowsUp(e,t){let i,s,n,r=t.start||this.root.children[0];const o=!!t.includeHidden;if(!1!==t.includeSelf&&!1===e(r))return!1;for(;;){if(n=r.parent,i=n.children,i[0]===r){if(r=n,!r.parent)break;i=n.children}else for(s=i.indexOf(r),r=i[s-1];(o||r.expanded)&&r.children&&r.children.length;)i=r.children,n=r,r=i[i.length-1];if((o||r.isVisible())&&!1===e(r))return!1}return!0}load(e){return this.clear(),this.root.load(e)}enableUpdate(e){e?(o(this._disableUpdateCount>0,"enableUpdate(true) was called too often"),this._disableUpdateCount--,0===this._disableUpdateCount&&(this.logDebug(`enableUpdate(): active again. Re-painting to catch up with ${this._disableUpdateIgnoreCount} ignored update requests...`),this._disableUpdateIgnoreCount=0,this.update(D.any,{immediate:!0}))):this._disableUpdateCount++}filterNodes(e,t){return this.extensions.filter.filterNodes(e,t)}filterBranches(e,t){return this.extensions.filter.filterBranches(e,t)}clearFilter(){return this.extensions.filter.clearFilter()}isFilterActive(){return!!this.filterMode}updateFilter(){return this.extensions.filter.updateFilter()}}ue.sequence=0,ue.version="v0.5.4",ue.util=O,e.Wunderbaum=ue})); + * @version v0.5.5 + * @date Tue, 31 Oct 2023 14:26:34 GMT + */class he extends de{constructor(e){super(e,null,{key:"__root__",title:e.id})}toString(){return`WbSystemRoot@${this.key}<'${this.tree.id}'>`}}class ue{constructor(e){this.enabled=!0,this.data={},this.extensionList=[],this.extensions={},this.keyMap=new Map,this.refKeyMap=new Map,this.treeRowCount=0,this._disableUpdateCount=0,this._disableUpdateIgnoreCount=0,this.activeNode=null,this.focusNode=null,this.types={},this.columns=[],this._columnsById={},this.pendingChangeTypes=new Set,this._util=O,this.filterMode=null,this.activeColIdx=0,this._cellNavMode=!1,this.lastQuicksearchTime=0,this.lastQuicksearchTerm="",this.lastClickTime=0,this.log=this.logDebug;const t=this.options=y({id:null,source:null,element:null,debugLevel:3,header:null,rowHeightPx:G,iconMap:"bootstrap",columns:null,types:null,enabled:!0,fixedCol:!1,showSpinner:!1,checkbox:!1,minExpandLevel:0,emptyChildListExpandable:!1,skeleton:!1,connectTopBreadcrumb:null,selectMode:"multi",navigationModeOption:null,quicksearch:!0,iconBadge:null,change:null,error:null,receive:null,strings:{loadError:"Error",loading:"Loading...",noData:"No data"}},e),i=new oe;this.ready=i.promise();let s=!1;if(this.ready.then((()=>{s=!0;try{this._callEvent("init")}catch(e){this.logError("Exception inside `init(e)` event:",e)}})).catch((e=>{if(s)throw e;this._callEvent("init",{error:e})})),this.id=t.id||"wb_"+ ++ue.sequence,this.root=new he(this),this._registerExtension(new W(this)),this._registerExtension(new ce(this)),this._registerExtension(new K(this)),this._registerExtension(new se(this)),this._registerExtension(new re(this)),this._registerExtension(new B(this)),this._updateViewportThrottled=S(this._updateViewportImmediately.bind(this),{}),this.columns=t.columns,delete t.columns,!this.columns||!this.columns.length){const e="string"==typeof t.header?t.header:this.id;this.columns=[{id:"*",title:e,width:"*"}]}t.types&&this.setTypes(t.types,!0),delete t.types,this.element=v(t.element),o(!!this.element,`Invalid 'element' option: ${t.element}`),this.element.classList.add("wunderbaum"),this.element.getAttribute("tabindex")||(this.element.tabIndex=0),this.element._wb_tree=this,this.headerElement=this.element.querySelector("div.wb-header");const n=null==t.header?this.columns.length>1:!!t.header;if(this.headerElement){o(!this.columns,"`opts.columns` must not be set if markup already contains a header"),this.columns=[];const e=this.headerElement.querySelector("div.wb-row");for(const t of e.querySelectorAll("div"))this.columns.push({id:t.dataset.id||`col_${this.columns.length}`,title:""+t.textContent,width:"*"})}else{const e="".repeat(this.columns.length);if(this.element.innerHTML=`\n
\n
\n ${e}\n
\n
`,!n){this.element.querySelector("div.wb-header").style.display="none"}}this.element.innerHTML+='\n
\n
\n
',this.listContainerElement=this.element.querySelector("div.wb-list-container"),this.nodeListElement=this.listContainerElement.querySelector("div.wb-node-list"),this.headerElement=this.element.querySelector("div.wb-header"),this.element.classList.toggle("wb-grid",this.columns.length>1),this._initExtensions(),["enabled","fixedCol"].forEach((e=>{null!=t[e]&&this.setOption(e,t[e])})),t.source?(t.showSpinner&&(this.nodeListElement.innerHTML="loading..."),this.load(t.source).then((()=>{null==t.navigationModeOption?this.isGrid()?this.setNavigationOption(M.cell):this.setNavigationOption(M.row):this.setNavigationOption(t.navigationModeOption),i.resolve()})).catch((e=>{i.reject(e)})).finally((()=>{var e;null===(e=this.element.querySelector("progress.spinner"))||void 0===e||e.remove(),this.element.classList.remove("wb-initializing")}))):i.resolve(),this.update(D.any),this.element.addEventListener("scroll",(e=>{this.update(D.scroll)})),this.resizeObserver=new ResizeObserver((e=>{this.update(D.resize)})),this.resizeObserver.observe(this.element),_(this.nodeListElement,"click","div.wb-row",(t=>{const i=ue.getEventInfo(t),s=i.node,n=t;if(!1===this._callEvent("click",{event:t,node:s,info:i}))return this.lastClickTime=Date.now(),!1;if(s){if(n.ctrlKey)return void s.toggleSelected();const r=this.getOption("edit.trigger"),o=this.getOption("edit.slowClickDelay");r.indexOf("clickActive")>=0&&"title"===i.region&&s.isActive()&&(!o||Date.now()-this.lastClickTime=0?s.setActive(!0,{colIdx:i.colIdx,event:t}):s.setActive(!0,{event:t}),i.region===T.expander?s.setExpanded(!s.isExpanded(),{scrollIntoView:!1!==e.scrollIntoViewOnExpandClick}):i.region===T.checkbox&&s.toggleSelected()}this.lastClickTime=Date.now()})),_(this.nodeListElement,"dblclick","div.wb-row",(e=>{const t=ue.getEventInfo(e),i=t.node;if(!1===this._callEvent("dblclick",{event:e,node:i,info:t}))return!1;i&&0===t.colIdx&&i.isExpandable()&&(this._callMethod("edit._stopEditTitle"),i.setExpanded(!i.isExpanded()))})),_(this.element,"keydown",(e=>{const t=ue.getEventInfo(e),i=b(e),s=t.node||this.getFocusNode();this._callHook("onKeyEvent",{event:e,node:s,info:t,eventName:i})})),_(this.element,"focusin focusout",(e=>{const i="focusin"===e.type,s=ue.getNode(e);this._callEvent("focus",{flag:i,event:e}),i&&this.isRowNav()&&!this.isEditing()&&(t.navigationModeOption===M.row?null==s||s.setActive():this.setCellNav()),i||this._callMethod("edit._stopEditTitle",!0,{event:e,forceClose:!0})}))}static getTree(e){if(e instanceof ue)return e;if(e instanceof de)return e.tree;if(void 0===e&&(e=0),"number"==typeof e)e=document.querySelectorAll(".wunderbaum")[e];else if("string"==typeof e){for(const t of document.querySelectorAll(".wunderbaum")){const i=t._wb_tree;if(i&&i.id===e)return i}if(!(e=document.querySelector(e)))return null}else e.target&&(e=e.target);return o(e instanceof Element,`Invalid el type: ${e}`),e.matches(".wunderbaum")||(e=e.closest(".wunderbaum")),e&&e._wb_tree?e._wb_tree:null}get iconMap(){const e=this.options.iconMap;return"string"==typeof e?Y[e]:e}static getNode(e){if(!e)return null;if(e instanceof de)return e;for(void 0!==e.target&&(e=e.target);e;){if(e._wb_node)return e._wb_node;e=e.parentElement}return null}*[Symbol.iterator](){yield*this.root}_registerExtension(e){this.extensionList.push(e),this.extensions[e.id]=e}_initExtensions(){for(const e of this.extensionList)e.init()}_registerNode(e){const t=e.key;o(null!=t&&!this.keyMap.has(t),`Missing or duplicate key: '${t}'.`),this.keyMap.set(t,e);const i=e.refKey;if(i){const t=this.refKeyMap.get(i);t?t.add(e):this.refKeyMap.set(i,new Set)}}_unregisterNode(e){const t=e.refKey;if(t){const i=this.refKeyMap.get(t);i&&i.delete(e)&&!i.size&&this.refKeyMap.delete(t)}e.tree=null,e.parent=null,e.removeMarkup()}_callHook(e,t={}){let i;const s=y({},{tree:this,options:this.options,result:void 0},t);for(const t of this.extensionList){if(i=t[e].call(t,s),!1===i)break;void 0!==s.result&&(i=s.result)}return i}_callMethod(e,...t){const[i,s]=e.split("."),n=s?this.extensions[i]:this,r=n[s];if(r)return r.apply(n,t);this.logError(`Calling undefined method '${e}()'.`)}_callEvent(e,t){const[i,s]=e.split("."),n=this.options,r=s?n[i][s]:n[i];if(r)return r.call(this,y({type:e,tree:this,util:this._util},t))}_getNodeByRowIdx(e){let t=null;return this.visitRows((i=>{if(i._rowIdx===e)return t=i,!1})),t}getTopmostVpNode(e=!0){const t=this.element.scrollTop;let i;return i=e?Math.ceil((t-1)/G):Math.floor(t/G),this._getNodeByRowIdx(i)}getLowestVpNode(e=!0){const t=this.element,i=this.headerElement.clientHeight,s=t.scrollTop,n=t.clientHeight-i;let r;return r=e?Math.floor((s+n)/G)-1:Math.ceil((s+n)/G)-1,r=Math.min(r,this.count(!0)-1),this._getNodeByRowIdx(r)}_getPrevNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!0,start:e||this.getActiveNode()}),e}_getNextNodeInView(e,t=1){return this.visitRows((i=>{if(e=i,t--<=0)return!1}),{reverse:!1,start:e||this.getActiveNode()}),e}addChildren(e,t){return this.root.addChildren(e,t)}applyCommand(e,t,i){let s,n;switch(t instanceof de?s=t:(s=this.getActiveNode(),o(void 0===i,`Unexpected options: ${i}`),i=t),e){case"moveUp":n=s.getPrevSibling(),n&&(s.moveTo(n,"before"),s.setActive());break;case"moveDown":n=s.getNextSibling(),n&&(s.moveTo(n,"after"),s.setActive());break;case"indent":n=s.getPrevSibling(),n&&(s.moveTo(n,"appendChild"),n.setExpanded(),s.setActive());break;case"outdent":s.isTopLevel()||(s.moveTo(s.getParent(),"after"),s.setActive());break;case"remove":n=s.getPrevSibling()||s.getParent(),s.remove(),n&&n.setActive();break;case"addChild":this._callMethod("edit.createNode","prependChild");break;case"addSibling":this._callMethod("edit.createNode","after");break;case"rename":this._callMethod("edit.startEditTitle");break;case"down":case"first":case"last":case"left":case"pageDown":case"pageUp":case"parent":case"right":case"up":return s.navigate(e);default:a(`Unhandled command: '${e}'`)}}clear(){this.root.removeChildren(),this.root.children=null,this.keyMap.clear(),this.refKeyMap.clear(),this.treeRowCount=0,this.activeNode=null,this.focusNode=null,this.update(D.structure)}destroy(){this.logInfo("destroy()..."),this.clear(),this.resizeObserver.disconnect(),this.element.innerHTML="",this.element.outerHTML=this.element.outerHTML}getOption(e,t){let i,s=this.options;e.indexOf(".")>=0&&([i,e]=e.split("."),s=s[i]);let n=s[e];return"function"==typeof n&&(n=n({type:"resolve",tree:this})),null!=n?n:t}setOption(e,t){if(e.indexOf(".")>=0){const i=e.split(".");this.extensions[i[0]].setPluginOption(i[1],t)}else switch(this.options[e]=t,e){case"checkbox":this.update(D.any);break;case"enabled":this.setEnabled(!!t);break;case"fixedCol":this.element.classList.toggle("wb-fixed-col",!!t)}}hasFocus(){return this.element.contains(document.activeElement)}hasHeader(){const e=this.options.header;return this.isGrid()?!1!==e:!!e}runWithDeferredUpdate(e,t=null){try{this.enableUpdate(!1);const t=e();return o(!(t instanceof Promise),`Promise return not allowed: ${t}`),t}finally{this.enableUpdate(!0)}}async expandAll(e=!0,t){await this.root.expandAll(e,t)}selectAll(e=!0){return this.root.setSelected(e,{propagateDown:!0})}toggleSelect(){this.selectAll(this.root._anySelectable())}getSelectedNodes(e=!1){return this.root.getSelectedNodes(e)}_selectRange(e){this.logDebug("_selectRange",e),a("Not yet implemented.")}count(e=!1){return e?this.treeRowCount:this.keyMap.size}_check(){let e=0;this.visit((t=>{e++})),this.keyMap.size!==e&&this.logWarn(`_check failed: ${this.keyMap.size} !== ${e}`)}findAll(e){return this.root.findAll(e)}findFirst(e){return this.root.findFirst(e)}findKey(e){return this.keyMap.get(e)||null}findNextNode(e,t){let i=null;const s=this.getFirstChild(),n="string"==typeof e?function(e){e=c(e);const t=new RegExp("^"+e,"i");return function(e){return t.test(e.title)}}(e):e;function r(e){if(n(e)&&(i=e),i||e===t)return!1}return t=t||s,this.visitRows(r,{start:t,includeSelf:!1}),i||t===s||this.visitRows(r,{start:s,includeSelf:!0}),i}findRelatedNode(e,t,i=!1){let s=null;const n=Math.floor(this.listContainerElement.clientHeight/G);switch(t){case"parent":case"left":e.parent&&e.parent.parent&&(s=e.parent);break;case"first":this.visit((e=>{if(e.isVisible())return s=e,!1}));break;case"last":this.visit((e=>{e.isVisible()&&(s=e)}));break;case"right":e.children&&e.children.length&&(s=e.children[0]);break;case"up":s=this._getPrevNodeInView(e);break;case"down":s=this._getNextNodeInView(e);break;case"pageDown":{const t=this.getLowestVpNode();s=e._rowIdxt._rowIdx?t:this._getPrevNodeInView(e,n)}break;default:this.logWarn("Unknown relation '"+t+"'.")}return s}*format_iter(e,t){yield*this.root.format_iter(e,t)}format(e,t){return this.root.format(e,t)}getActiveColElem(){return this.activeNode&&this.activeColIdx>=0?this.activeNode.getColElem(this.activeColIdx):null}getActiveNode(){return this.activeNode}getFirstChild(){return this.root.getFirstChild()}getFocusNode(){return this.focusNode}static getEventInfo(e){const t=e.target,i=t.classList,s=t.closest("span.wb-col"),n=ue.getNode(t),r=n?n.tree:ue.getTree(e),o={event:e,canonicalName:b(e),tree:r,node:n,region:T.unknown,colDef:void 0,colIdx:-1,colId:void 0,colElem:s};if(i.contains("wb-title"))o.region=T.title;else if(i.contains("wb-expander"))o.region=n.isExpandable()?T.expander:T.prefix;else if(i.contains("wb-checkbox"))o.region=T.checkbox;else if(i.contains("wb-icon"))o.region=T.icon;else if(i.contains("wb-node"))o.region=T.title;else if(s){o.region=T.column;const e=Array.prototype.indexOf.call(s.parentNode.children,s);o.colIdx=e}else{if(!i.contains("wb-row"))return"mousemove"===e.type||e instanceof KeyboardEvent||null==r||r.logWarn("getEventInfo(): not found",e,o),o;o.region=T.title}return-1===o.colIdx&&(o.colIdx=0),o.colDef=null==r?void 0:r.columns[o.colIdx],null!=o.colDef&&(o.colId=o.colDef.id),o}toString(){return`Wunderbaum<'${this.id}'>`}isEditing(){return this._callMethod("edit.isEditingTitle")}isLoading(){let e=!1;return this.root.visit((t=>{if(t._isLoading||t._requestId)return e=!0,!1}),!0),e}logDebug(...e){this.options.debugLevel>=4&&console.log(this.toString(),...e)}logError(...e){this.options.debugLevel>=1&&console.error(this.toString(),...e)}logInfo(...e){this.options.debugLevel>=3&&console.info(this.toString(),...e)}logTime(e){return this.options.debugLevel>=4&&console.time(this+": "+e),e}logTimeEnd(e){this.options.debugLevel>=4&&console.timeEnd(this+": "+e)}logWarn(...e){this.options.debugLevel>=2&&console.warn(this.toString(),...e)}scrollTo(e){let t,i;e instanceof de?t=e:(i=e,t=i.node),o(t&&null!=t._rowIdx,`Invalid node: ${t}`);const s=this.element,n=this.headerElement.clientHeight,r=s.scrollTop,l=s.clientHeight,a=t._rowIdx*G+n,d=n,c=a-r,h=c+G,u=null==i?void 0:i.topNode;let p=null;c>=d?h<=l||(p=a+G-l+2):p=a-d-2,null!=p&&(this.log(`scrollTo(${a}): ${r} => ${p}`),s.scrollTop=p,u&&this.scrollTo(u))}scrollToHorz(){const e=this.columns[0]._widthPx,t=this.element.clientWidth,i=this.element.scrollLeft,s=this.getActiveColElem(),n=Number.parseInt(null==s?void 0:s.style.left,10),r=n+Number.parseInt(null==s?void 0:s.style.width,10);let o=i;n-it&&(o=r-t),o=Math.max(0,o),this.log(`scrollToHorz(${this.activeColIdx}): ${n}..${r}, fixedOfs=${e}, vpWidth=${t}, curLeft=${i} -> ${o}`),this.element.scrollLeft=o}setColumn(e){var t;if(o(this.isCellNav(),"Exected cellNav mode"),o(0<=e&&e0&&(s?this._updateViewportImmediately():this._updateViewportThrottled())}setEnabled(e=!0){const t=this.enabled;return this.enabled=!!e,this.element.classList.toggle("wb-disabled",!e),t}isEnabled(){return this.enabled}isGrid(){return this.columns&&this.columns.length>1}isCellNav(){return!!this._cellNavMode}isRowNav(){return!this._cellNavMode}setCellNav(e=!0){var t;const i=this._cellNavMode;this._cellNavMode=!!e,e&&!i&&this.setColumn(0),this.element.classList.toggle("wb-cell-mode",e),null===(t=this.activeNode)||void 0===t||t.update(D.status)}setNavigationOption(e,t=!1){if(this.isGrid()||e===M.row)switch(this.options.navigationModeOption=e,e){case M.cell:this.setCellNav(!0);break;case M.row:this.setCellNav(!1);break;case M.startCell:t&&this.setCellNav(!0);break;case M.startRow:t&&this.setCellNav(!1);break;default:a(`Invalid mode '${e}'.`)}else this.logWarn("Plain trees only support row navigation mode.")}setStatus(e,t){return this.root.setStatus(e,t)}setTypes(e,t=!0){o(x(e),`Expected plain objext: ${e}`),t?this.types=e:y(this.types,e);for(const e of Object.values(this.types))e.classes&&(e.classes=N(e.classes))}sortChildren(e=ee,t=!1){this.root.sortChildren(e,t)}toDictArray(e){var t;return null!==(t=this.root.toDict(!0,e).children)&&void 0!==t?t:[]}_updateColumnWidths(){const e=this.element.clientWidth,t=this.columns,i=t[0];let s=0,n=0,r=0,o=!1;if("*"!==i.id)throw new Error(`First column must have id '*': got '${i.id}'.`);this._columnsById={};for(const e of t){this._columnsById[e.id]=e;const t=e.width;if("*"===e.id&&e!==i)throw new Error(`Column id '*' must be defined only once: '${e.title}'.`);if(t&&"*"!==t)if("number"==typeof t)e._weight=t,n+=t;else if("string"==typeof t&&t.endsWith("px")){e._weight=0;const i=parseFloat(t.slice(0,-2));e._widthPx!=i&&(o=!0,e._widthPx=i),r+=i}else a(`Invalid column width: ${t} (expected string ending with 'px' or number, e.g. "px" or ).`);else e._weight=1,n+=1}const l=Math.max(0,e-r);let d=0;for(const e of t){let t;if(e._weight){const i=e.minWidth;t="number"==typeof i?i:"string"==typeof i&&i.endsWith("px")?parseFloat(i.slice(0,-2)):4;const s=Math.max(t,l*e._weight/n);e._widthPx!=s&&(o=!0,e._widthPx=s)}e._ofsPx=d,d+=e._widthPx}t[t.length-1]._widthPx-=1,s=d-1;const c=`${s}px`;return this.headerElement.style.width=c,this.listContainerElement.style.width=c,o}_renderHeaderMarkup(){o(this.headerElement,"Expected a headerElement");const e=this.hasHeader();if(p(this.headerElement,e),!e)return;const t=this.columns.length,i=this.headerElement.querySelector(".wb-row");o(i,"Expected a row in header element"),i.innerHTML="".repeat(t);for(let e=0;e${r}${l}`,this.isCellNav()&&n.classList.toggle("wb-active",e===this.activeColIdx)}}updatePendingModifications(){this.pendingChangeTypes.size>0&&this._updateViewportImmediately()}_updateViewportImmediately(){var e;if(this._disableUpdateCount)return this.log(`_updateViewportImmediately() IGNORED (disable level: ${this._disableUpdateCount})`),void this._disableUpdateIgnoreCount++;const t=I,i=new Set(this.pendingChangeTypes);this.pendingChangeTypes.clear();if(i.has(t.scroll)&&1===i.size)this._updateRows({newNodesOnly:!0});else{if(this.log("_updateViewportImmediately():",i),!1!==this.options.adjustHeight){let e=this.listContainerElement.clientHeight;const t=this.headerElement.clientHeight,i=this.element.clientHeight-t-1;Math.abs(e-i)>1&&(this.listContainerElement.style.height=i+"px",e=i)}i.has(t.clearMarkup)&&this.visit((e=>{e.removeMarkup()})),i.has(t.header)&&(this._updateColumnWidths(),this._renderHeaderMarkup()),this._updateRows()}if(this.options.connectTopBreadcrumb){let t=null===(e=this.getTopmostVpNode(!0))||void 0===e?void 0:e.getPath(!1,"title"," > ");t=t?t+" >":"",this.options.connectTopBreadcrumb.textContent=t}this._callEvent("update")}_updateRows(e){const t=!!(e=Object.assign({newNodesOnly:!1},e)).newNodesOnly,i=this.element.clientHeight,s=this.element.scrollTop;let n=Math.max(0,s/22-5);n=Math.floor(n),n%2&&n--;let r=Math.max(0,(s+i)/22+5);r=Math.ceil(r);const o=new Set;this.nodeListElement.childNodes.forEach((e=>{const t=e;o.add(t._wb_node)}));let l=0,a=0,d=!1,c="first";this.visitRows((function(e){const i=e._rowElem;e._rowIdx!==l&&(e._rowIdx=l,d=!0),lr?i&&(c=i):i&&t?(o.delete(e),i.style.top=l*G+"px",c=i):(o.delete(e),i&&(i.style.top=l*G+"px"),e._render({top:a,after:c}),c=e._rowElem),l++,a+=22})),this.treeRowCount=l;for(const e of o)e._callEvent("discard"),e.removeMarkup();return this.nodeListElement.style.height=`${a}px`,d}visit(e){return this.root.visit(e,!1)}visitRows(e,t){if(!this.root.hasChildren())return!1;if(t&&t.reverse)return delete t.reverse,this._visitRowsUp(e,t);let i,s,n,r,l,a,d=0,c=!1===(t=t||{}).includeSelf,h=t.start||this.root.children[0];const u=!!t.includeHidden,p=!u&&"hide"===this.filterMode;for(n=h.parent;n;){for(l=n.children,s=l.indexOf(h)+d,o(s>=0,`Could not find ${h} in parent's children: ${n}`),i=s;it!==a&&(!p||t.match||t.subMatchCount?!1!==e(t)&&(u||!t.children||t.expanded?void 0:"skip"):"skip")),!1),!1===r))return!1}}h=n,n=n.parent,d=1,!n&&t.wrap&&(this.logDebug("visitRows(): wrap around"),o(t.start,"`wrap` option requires `start`"),a=t.start,t.wrap=!1,n=this.root,d=0)}return!0}_visitRowsUp(e,t){let i,s,n,r=t.start||this.root.children[0];const o=!!t.includeHidden;if(!1!==t.includeSelf&&!1===e(r))return!1;for(;;){if(n=r.parent,i=n.children,i[0]===r){if(r=n,!r.parent)break;i=n.children}else for(s=i.indexOf(r),r=i[s-1];(o||r.expanded)&&r.children&&r.children.length;)i=r.children,n=r,r=i[i.length-1];if((o||r.isVisible())&&!1===e(r))return!1}return!0}load(e){return this.clear(),this.root.load(e)}enableUpdate(e){e?(o(this._disableUpdateCount>0,"enableUpdate(true) was called too often"),this._disableUpdateCount--,0===this._disableUpdateCount&&(this.logDebug(`enableUpdate(): active again. Re-painting to catch up with ${this._disableUpdateIgnoreCount} ignored update requests...`),this._disableUpdateIgnoreCount=0,this.update(D.any,{immediate:!0}))):this._disableUpdateCount++}filterNodes(e,t){return this.extensions.filter.filterNodes(e,t)}filterBranches(e,t){return this.extensions.filter.filterBranches(e,t)}clearFilter(){return this.extensions.filter.clearFilter()}isFilterActive(){return!!this.filterMode}updateFilter(){return this.extensions.filter.updateFilter()}}ue.sequence=0,ue.version="v0.5.5",ue.util=O,e.Wunderbaum=ue})); //# sourceMappingURL=wunderbaum.umd.min.js.map \ No newline at end of file diff --git a/dist/wunderbaum.umd.min.js.map b/dist/wunderbaum.umd.min.js.map index 02f0af1b..44e1ecf9 100644 --- a/dist/wunderbaum.umd.min.js.map +++ b/dist/wunderbaum.umd.min.js.map @@ -1 +1 @@ -{"version":3,"file":"wunderbaum.umd.js","names":["global","factory","exports","module","define","amd","globalThis","self","mar10","this","MOUSE_BUTTONS","isMac","nav","navigator","test","platform","_getUserInfo","REX_HTML","REX_TOOLTIP","ENTITY_MAP","assert","cond","msg","Error","documentReady","callback","document","readyState","addEventListener","error","escapeHtml","s","replace","escapeRegex","escapeTooltip","getValueFromElem","elem","coerce","tag","tagName","value","classList","contains","span","embeddedInput","querySelector","innerText","input","type","indeterminate","checked","valueAsDate","valueAsNumber","name","parentElement","undefined","setElemDisplay","flag","style","elemFromSelector","display","elemFromHtml","html","t","createElement","innerHTML","trim","content","firstElementChild","_IGNORE_KEYS","Set","obj","eventTargetFromSelector","eventToString","event","key","et","altKey","push","ctrlKey","metaKey","shiftKey","button","has","join","extend","args","i","length","arg","Object","prototype","hasOwnProperty","call","isArray","Array","isEmptyObject","keys","constructor","isPlainObject","toString","onEvent","rootTarget","eventNames","selectorOrHandler","handlerOrNone","selector","handler","split","forEach","evn","e","target","matches","closest","overrideMethod","instance","methodName","ctx","prevSuper","prevSuperApply","prevFunc","_super","apply","_superApply","argsArray","getOption","opts","defaultValue","ext","indexOf","toSet","val","set","c","add","adaptiveThrottle","options","waiting","pendingArgs","assign","minDelay","defaultDelay","maxDelay","delayFactor","Math","max","throttledFn","useArgs","start","Date","now","console","elap","curDelay","min","useDelay","setTimeout","ChangeType","RenderFlag","NodeStatusType","NodeRegion","NavModeEnum","util","freeze","__proto__","Deferred","thens","catches","status","resolve","resolvedValue","reject","rejectedError","then","cb","unshift","promise","catch","MAX_INT","documentReadyPromise","Promise","each","k","extractHtmlText","isFunction","noop","setTimeoutPromise","ms","err","setValueToElem","select","selectedIndex","sleep","async","toggleCheckbox","element","tristate","toLowerCase","WunderbaumExtension","tree","id","defaults","enabled","treeOpts","extensionOpts","getPluginOption","init","_a","setPluginOption","setEnabled","onKeyEvent","data","onRender","freeGlobal","freeGlobalThis","freeSelf","root","Function","isObject","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","requestAnimationFrame","TypeError","invokeFunc","time","thisArg","startTimer","pendingFunc","cancelAnimationFrame","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeSinceLastInvoke","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","cancelTimer","flush","pending","START_MARKER","END_MARKER","RE_START_MARKER","RegExp","RE_END_MARTKER","FilterExtension","super","connectInput","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","mode","noData","lastFilterArgs","queryInput","filterNodes","filterMode","updateFilter","_applyFilterNoUpdate","filter","branchMode","_opts","runWithDeferredUpdate","_applyFilterImpl","match","temp","count","prevAutoCollapse","autoCollapse","hideMode","logInfo","clearFilter","map","reduce","a","b","re","reHighlight","node","title","text","res","escapeTitles","matchingIndices","_matchingArrIdx","_mIdx","textPoses","v","_markFuzzyMatchedChars","titleWithHighlight","arguments","toggle","subMatchCount","visit","setStatus","ok","children","matchedByBranch","parent","visitParents","p","expanded","setExpanded","noAnimation","noEvents","_filterAutoExpanded","filterBranches","logWarn","enableUpdate","remove","KeynavExtension","_getEmbeddedInputElem","ace","getActiveColElem","_isCurInputFocused","activate","autoActivate","curInput","inputHasFocus","navModeOption","navigationModeOption","focusNode","eventName","handled","isEnabled","_callEvent","_callMethod","currentNode","getFocusNode","getActiveNode","firstNode","getFirstChild","setActive","setFocus","isColspan","isRowNav","blur","_render","quicksearch","stamp","lastQuicksearchTime","lastQuicksearchTerm","matchNode","findNextNode","preventDefault","isActive","isExpanded","isExpandable","startCell","startRow","setCellNav","toggleSelected","navigate","curInputType","inputCanFocus","logDebug","setColumn","activeColIdx","focus","click","log","isCellNav","cell","columns","LoggerExtension","ignoreEvents","prefix","extra","ROW_HEIGHT","TEST_IMG","iconMaps","bootstrap","loading","expanderExpanded","expanderCollapsed","expanderLazy","checkChecked","checkUnchecked","checkUnknown","radioChecked","radioUnchecked","radioUnknown","folder","folderOpen","folderLazy","doc","fontawesome6","RESERVED_TREE_SOURCE_KEYS","KEY_TO_ACTION_DICT","Add","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backspace","Divide","End","Home","Multiply","PageDown","PageUp","Subtract","makeNodeTitleMatcher","nodeTitleSorter","x","y","inflateSourceData","source","_format","_keyMap","_typeList","_b","_c","_positional","includes","longToShort","entries","positionalShort","newChildren","keyToNodeMap","indexToNodeMap","keyAttrName","childrenAttrName","index","parentId","kwargs","positionalIdx","parentNode","unflattenSource","_version","_iter","childList","getOwnPropertyNames","propName","long","newType","nodeMimeType","DndExtension","autoExpandMS","multiSource","effectAllowed","dropEffectDefault","preventForeignNodes","preventLazyParents","preventNonNodes","preventRecursion","preventSameParent","preventVoidMoves","serializeClipboardData","scroll","scrollSensitivity","scrollSpeed","sourceCopyHook","dragStart","drag","dragEnd","dragEnter","dragOver","dragExpand","drop","dragLeave","srcNode","lastTargetNode","lastEnterStamp","lastAllowedDropRegions","lastDropEffect","lastDropRegion","currentScrollDir","applyScrollDirThrottled","throttle","applyScrollDir","dndOpts","dnd","onDragEvent","bind","onDropEvent","_leaveNode","ltn","setClass","unifyDragover","size","_calcDropRegion","allowed","dy","offsetY","isDragging","sp","scrollTop","autoScroll","viewportY","sensitivity","headerHeight","headerElement","clientHeight","height","offsetHeight","scrollHeight","Wunderbaum","getNode","dataTransfer","isEditing","nodeData","toDict","n","_org_key","_treeId","setData","JSON","stringify","_isVoidDrop","targetNode","dropRegion","getNextSibling","getPrevSibling","srcTree","dt","dropEffect","isStatusNode","isLoaded","isAncestorOf","regionSet","clientY","offsetTop","region","_isLoading","stopPropagation","defaultDropMode","sourceNode","DragObserver","dragElem","dragging","events","thresh","_handler","handleEvent","disconnect","removeEventListener","getDragElem","stopDrag","cb_event","dragstop","dx","pageX","pageY","dragstart","GridExtension","observer","window","handleDrag","info","getEventInfo","_promise","_resolve","_reject","reason","finally","NODE_PROPS","NODE_DICT_PROPS","delete","WunderbaumNode","refKey","classes","_requestId","_errorInfo","_partsel","_partload","_rowIdx","_rowElem","sequence","icon","lazy","statusNodeType","colspan","checkbox","radiogroup","selected","unselectable","_registerNode","Symbol","iterator","cl","l","typeInfo","types","addChildren","before","applyMinExpanLevel","_level","getLevel","nodeList","forceExpand","minExpandLevel","child","subChildren","isUnloaded","concat","findDirectChild","pos","splice","update","structure","addNode","applyCommand","cmd","collapseSiblings","className","cnSet","cn","expandAll","depth","loadLazy","force","keepActiveNodeVisible","expandOpts","scrollIntoView","logTime","level","level_1","promises","all","logTimeEnd","activeNode","findAll","matcher","ptr","findFirst","findRelatedNode","where","includeHidden","format_iter","name_cb","connectors","_is_last","ca","_format_line","parts","format","line","getColElem","colIdx","findIndex","colElems","querySelectorAll","getLastChild","ac","idx","getParent","getParentList","includeRoot","includeSelf","dtn","getPath","part","separator","path","isFunc","hasChildren","hasClass","other","isDescendantOf","isChildOf","andCollapsed","emptyChildListExpandable","isFirstSibling","isLastSibling","isLazy","isLoading","isPagingNode","isParentOf","isPartload","isPartsel","isRadio","isRendered","isRootNode","isSelected","isTopLevel","isVisible","hasFilter","parents","_loadSourceObject","response","setTypes","colStructure","selectMode","fixSelection3FromEndNodes","_fetchWithOptions","url","params","body","rest","fetchOpts","method","URLSearchParams","fetch","json","load","requestId","prevParent","elapLoad","elapProcess","startProcess","logError","message","debugLevel","forceReload","wasExpanded","resetLazy","warn","makeVisible","dfd","deferreds","len","seOpts","updatePendingModifications","moveTo","targetParent","triggerModifyChild","any","triggerModify","removeMarkup","_unregisterNode","removeChildren","_wb_node","_getRenderInfo","allColInfosById","renderColInfosById","col","_createIcon","iconMap","parentElem","replaceChild","showLoading","iconSpan","appendChild","cbRes","badge","tooltip","badgeClass","badgeTooltip","append","_render_markup","treeOptions","rowDiv","checkboxSpan","expanderSpan","isNew","after","top","nodeElem","ofsTitlePx","titleSpan","_ofsTitlePx","draggable","colElem","left","_ofsPx","width","_widthPx","nodeListElement","prepend","_render_data","preventScroll","textContent","skeleton","vpWidth","clientWidth","isDataChange","_render_status","renderInfo","rowClasses","image","backgroundImage","cbclass","colSpan","resizeCols","ofs","colDef","change","row","recursive","dict","scrollTo","prev","retrigger","focusTree","orgEvent","nextNode","prevNode","immediate","updateOpts","lastChild","topNode","setIcon","setKey","getSelectedNodes","stopOnParents","_anySelectable","setSelected","found","_changeSelectStatusProps","state","changed","fixSelection3AfterClick","_walk","allSelected","someSelected","sendEvents","canSelect","propagateDown","sibling","details","statusNode","_setStatusNode","firstChild","_clearStatusNode","strings","loadError","setTitle","_sortChildren","cmp","deep","sort","sortChildren","operation","modifyChild","visitSiblings","isMatched","EditExtension","minlength","maxlength","trigger","slowClickDelay","validity","beforeEdit","edit","curEditNode","relatedNode","debouncedOnChange","_onChange","_applyChange","inputElem","inputValue","_preprocessKeyEvent","isEditingTitle","_stopEditTitle","startEditTitle","inputHtml","setCustomValidity","reportValidity","stopEditTitle","focusElem","activeElement","newValue","forceClose","errMsg","validationMessage","oldValue","createNode","newNode","WbSystemRoot","extensionList","extensions","keyMap","Map","refKeyMap","treeRowCount","_disableUpdateCount","_disableUpdateIgnoreCount","_columnsById","pendingChangeTypes","_util","_cellNavMode","lastClickTime","header","rowHeightPx","fixedCol","showSpinner","connectTopBreadcrumb","iconBadge","receive","readyDeferred","ready","readyOk","_registerExtension","_updateViewportThrottled","_updateViewportImmediately","getAttribute","tabIndex","_wb_tree","wantHeader","rowElement","colDiv","dataset","coldivs","repeat","listContainerElement","_initExtensions","optName","setOption","isGrid","setNavigationOption","resizeObserver","ResizeObserver","resize","observe","mouseEvent","expander","scrollIntoViewOnExpandClick","_callHook","getTree","el","treeElem","Element","extension","rk","rks","get","hook","d","_getNodeByRowIdx","visitRows","getTopmostVpNode","complete","topIdx","ceil","floor","getLowestVpNode","scrollParent","bottomIdx","_getPrevNodeInView","reverse","_getNextNodeInView","nodeOrOpts","refNode","clear","destroy","outerHTML","hasFocus","hasHeader","hint","selectAll","toggleSelect","_selectRange","eventInfo","visible","_check","findKey","startNode","reMatch","makeNodeTitleStartMatcher","_checkNode","pageSize","bottomNode","parentCol","canonicalName","unknown","colId","column","KeyboardEvent","label","timeEnd","vpHeight","rowTop","vpTop","vpRowTop","vpRowBottom","newScrollTop","scrollToHorz","fixedWidth","scrollLeft","colLeft","Number","parseInt","colRight","newLeft","setActiveNode","RF","clearMarkup","redraw","reset","values","toDictArray","_updateColumnWidths","col0","totalWidth","totalWeight","modified","cw","_weight","endsWith","px","parseFloat","slice","restPx","ofsPx","minWidth","cmw","tw","_renderHeaderMarkup","colCount","headerRow","headerClasses","resizer","_updateRows","newNodesOnly","adjustHeight","wantHeight","abs","vp_height","startIdx","endIdx","obsoleteNodes","childNodes","tr","prevElem","_visitRowsUp","nextIdx","siblings","stopNode","siblingOfs","skipFirstNode","checkFilter","wrap","isFilterActive","version"],"sources":["wunderbaum.umd.js"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"wunderbaum.umd.js","names":["global","factory","exports","module","define","amd","globalThis","self","mar10","this","MOUSE_BUTTONS","isMac","nav","navigator","test","platform","_getUserInfo","REX_HTML","REX_TOOLTIP","ENTITY_MAP","assert","cond","msg","Error","documentReady","callback","document","readyState","addEventListener","error","escapeHtml","s","replace","escapeRegex","escapeTooltip","getValueFromElem","elem","coerce","tag","tagName","value","classList","contains","span","embeddedInput","querySelector","innerText","input","type","indeterminate","checked","valueAsDate","valueAsNumber","name","parentElement","undefined","setElemDisplay","flag","style","elemFromSelector","display","elemFromHtml","html","t","createElement","innerHTML","trim","content","firstElementChild","_IGNORE_KEYS","Set","obj","eventTargetFromSelector","eventToString","event","key","et","altKey","push","ctrlKey","metaKey","shiftKey","button","has","join","extend","args","i","length","arg","Object","prototype","hasOwnProperty","call","isArray","Array","isEmptyObject","keys","constructor","isPlainObject","toString","onEvent","rootTarget","eventNames","selectorOrHandler","handlerOrNone","selector","handler","split","forEach","evn","e","target","matches","closest","overrideMethod","instance","methodName","ctx","prevSuper","prevSuperApply","prevFunc","_super","apply","_superApply","argsArray","getOption","opts","defaultValue","ext","indexOf","toSet","val","set","c","add","adaptiveThrottle","options","waiting","pendingArgs","assign","minDelay","defaultDelay","maxDelay","delayFactor","Math","max","throttledFn","useArgs","start","Date","now","console","elap","curDelay","min","useDelay","setTimeout","ChangeType","RenderFlag","NodeStatusType","NodeRegion","NavModeEnum","util","freeze","__proto__","Deferred","thens","catches","status","resolve","resolvedValue","reject","rejectedError","then","cb","unshift","promise","catch","MAX_INT","documentReadyPromise","Promise","each","k","extractHtmlText","isFunction","noop","setTimeoutPromise","ms","err","setValueToElem","select","selectedIndex","sleep","async","toggleCheckbox","element","tristate","toLowerCase","WunderbaumExtension","tree","id","defaults","enabled","treeOpts","extensionOpts","getPluginOption","init","_a","setPluginOption","setEnabled","onKeyEvent","data","onRender","freeGlobal","freeGlobalThis","freeSelf","root","Function","isObject","debounce","func","wait","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","useRAF","requestAnimationFrame","TypeError","invokeFunc","time","thisArg","startTimer","pendingFunc","cancelAnimationFrame","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","timeSinceLastInvoke","timeWaiting","remainingWait","debounced","isInvoking","leadingEdge","cancel","clearTimeout","cancelTimer","flush","pending","START_MARKER","END_MARKER","RE_START_MARKER","RegExp","RE_END_MARTKER","FilterExtension","super","connectInput","autoApply","autoExpand","counter","fuzzy","hideExpandedCounter","hideExpanders","highlight","leavesOnly","mode","noData","lastFilterArgs","queryInput","filterNodes","filterMode","updateFilter","_applyFilterNoUpdate","filter","branchMode","_opts","runWithDeferredUpdate","_applyFilterImpl","match","temp","count","prevAutoCollapse","autoCollapse","hideMode","logInfo","clearFilter","map","reduce","a","b","re","reHighlight","node","title","text","res","escapeTitles","matchingIndices","_matchingArrIdx","_mIdx","textPoses","v","_markFuzzyMatchedChars","titleWithHighlight","arguments","toggle","subMatchCount","visit","setStatus","ok","children","matchedByBranch","parent","visitParents","p","expanded","setExpanded","noAnimation","noEvents","_filterAutoExpanded","filterBranches","logWarn","enableUpdate","remove","KeynavExtension","_getEmbeddedInputElem","ace","getActiveColElem","_isCurInputFocused","activate","autoActivate","curInput","inputHasFocus","navModeOption","navigationModeOption","focusNode","eventName","handled","isEnabled","_callEvent","_callMethod","currentNode","getFocusNode","getActiveNode","firstNode","getFirstChild","setActive","setFocus","isColspan","isRowNav","blur","_render","quicksearch","stamp","lastQuicksearchTime","lastQuicksearchTerm","matchNode","findNextNode","preventDefault","isActive","isExpanded","isExpandable","startCell","startRow","setCellNav","toggleSelected","navigate","curInputType","inputCanFocus","logDebug","setColumn","activeColIdx","focus","click","log","isCellNav","cell","columns","LoggerExtension","ignoreEvents","prefix","extra","ROW_HEIGHT","TEST_IMG","iconMaps","bootstrap","loading","expanderExpanded","expanderCollapsed","expanderLazy","checkChecked","checkUnchecked","checkUnknown","radioChecked","radioUnchecked","radioUnknown","folder","folderOpen","folderLazy","doc","fontawesome6","RESERVED_TREE_SOURCE_KEYS","KEY_TO_ACTION_DICT","Add","ArrowDown","ArrowLeft","ArrowRight","ArrowUp","Backspace","Divide","End","Home","Multiply","PageDown","PageUp","Subtract","makeNodeTitleMatcher","nodeTitleSorter","x","y","inflateSourceData","source","_format","_keyMap","_typeList","_b","_c","_positional","includes","longToShort","entries","positionalShort","newChildren","keyToNodeMap","indexToNodeMap","keyAttrName","childrenAttrName","index","parentId","kwargs","positionalIdx","parentNode","unflattenSource","_version","_iter","childList","getOwnPropertyNames","propName","long","newType","nodeMimeType","DndExtension","autoExpandMS","multiSource","effectAllowed","dropEffectDefault","guessDropEffect","preventForeignNodes","preventLazyParents","preventNonNodes","preventRecursion","preventSameParent","preventVoidMoves","serializeClipboardData","scroll","scrollSensitivity","scrollSpeed","sourceCopyHook","dragStart","drag","dragEnd","dragEnter","dragOver","dragExpand","drop","dragLeave","srcNode","lastTargetNode","lastEnterStamp","lastAllowedDropRegions","lastDropEffect","lastDropRegion","currentScrollDir","applyScrollDirThrottled","throttle","_applyScrollDir","dndOpts","dnd","onDragEvent","bind","onDropEvent","_leaveNode","ltn","setClass","unifyDragover","size","_calcDropRegion","allowed","dy","offsetY","_guessDropEffect","ea","canCopy","canLink","canMove","_isVoidDrop","targetNode","dropRegion","getNextSibling","getPrevSibling","isDragging","sp","scrollTop","_autoScroll","viewportY","sensitivity","headerHeight","headerElement","clientHeight","height","offsetHeight","scrollHeight","Wunderbaum","getNode","dataTransfer","isEditing","nodeData","toDict","n","_orgKey","_treeId","setData","JSON","stringify","srcTree","dt","dropEffect","isStatusNode","isLoaded","isAncestorOf","regionSet","clientY","offsetTop","region","_isLoading","stopPropagation","getData","parse","suggestedDropMode","suggestedDropEffect","sourceNode","sourceNodeData","DragObserver","dragElem","dragging","events","thresh","_handler","handleEvent","disconnect","removeEventListener","getDragElem","stopDrag","cb_event","dragstop","dx","pageX","pageY","dragstart","GridExtension","observer","window","handleDrag","info","getEventInfo","_promise","_resolve","_reject","reason","finally","NODE_PROPS","NODE_DICT_PROPS","delete","WunderbaumNode","refKey","classes","_requestId","_errorInfo","_partsel","_partload","_rowIdx","_rowElem","sequence","icon","lazy","statusNodeType","colspan","checkbox","radiogroup","selected","unselectable","_registerNode","Symbol","iterator","cl","l","typeInfo","types","addChildren","before","applyMinExpanLevel","_level","getLevel","nodeList","forceExpand","minExpandLevel","child","subChildren","isUnloaded","concat","findDirectChild","pos","splice","update","structure","addNode","applyCommand","cmd","collapseSiblings","className","cnSet","cn","expandAll","depth","loadLazy","force","keepActiveNodeVisible","expandOpts","scrollIntoView","logTime","level","level_1","promises","all","logTimeEnd","activeNode","findAll","matcher","ptr","findFirst","findRelatedNode","where","includeHidden","format_iter","name_cb","connectors","_is_last","ca","_format_line","parts","format","line","getColElem","colIdx","findIndex","colElems","querySelectorAll","getLastChild","ac","idx","getParent","getParentList","includeRoot","includeSelf","dtn","getPath","part","separator","path","isFunc","hasChildren","hasClass","other","isDescendantOf","isChildOf","andCollapsed","emptyChildListExpandable","isFirstSibling","isLastSibling","isLazy","isLoading","isPagingNode","isParentOf","isPartload","isPartsel","isRadio","isRendered","isRootNode","isSelected","isTopLevel","isVisible","hasFilter","parents","_loadSourceObject","response","setTypes","colStructure","selectMode","fixSelection3FromEndNodes","_fetchWithOptions","url","params","body","rest","fetchOpts","method","URLSearchParams","fetch","json","load","requestId","prevParent","elapLoad","elapProcess","startProcess","logError","message","debugLevel","forceReload","wasExpanded","resetLazy","warn","makeVisible","dfd","deferreds","len","seOpts","updatePendingModifications","moveTo","targetParent","triggerModifyChild","any","triggerModify","removeMarkup","_unregisterNode","removeChildren","_wb_node","_getRenderInfo","allColInfosById","renderColInfosById","col","_createIcon","iconMap","parentElem","replaceChild","showLoading","iconSpan","appendChild","cbRes","badge","tooltip","badgeClass","badgeTooltip","append","_render_markup","treeOptions","rowDiv","checkboxSpan","expanderSpan","isNew","after","top","nodeElem","ofsTitlePx","titleSpan","_ofsTitlePx","draggable","colElem","left","_ofsPx","width","_widthPx","nodeListElement","prepend","_render_data","preventScroll","textContent","skeleton","vpWidth","clientWidth","isDataChange","_render_status","renderInfo","rowClasses","image","backgroundImage","cbclass","colSpan","resizeCols","ofs","colDef","change","row","recursive","dict","scrollTo","prev","retrigger","focusTree","orgEvent","nextNode","prevNode","immediate","updateOpts","lastChild","topNode","setIcon","setKey","getSelectedNodes","stopOnParents","_anySelectable","setSelected","found","_changeSelectStatusProps","state","changed","fixSelection3AfterClick","_walk","allSelected","someSelected","sendEvents","canSelect","propagateDown","sibling","details","statusNode","_setStatusNode","firstChild","_clearStatusNode","strings","loadError","setTitle","_sortChildren","cmp","deep","sort","sortChildren","operation","modifyChild","visitSiblings","isMatched","EditExtension","minlength","maxlength","trigger","slowClickDelay","validity","beforeEdit","edit","curEditNode","relatedNode","debouncedOnChange","_onChange","_applyChange","inputElem","inputValue","_preprocessKeyEvent","isEditingTitle","_stopEditTitle","startEditTitle","inputHtml","setCustomValidity","reportValidity","stopEditTitle","focusElem","activeElement","newValue","forceClose","errMsg","validationMessage","oldValue","createNode","newNode","WbSystemRoot","extensionList","extensions","keyMap","Map","refKeyMap","treeRowCount","_disableUpdateCount","_disableUpdateIgnoreCount","_columnsById","pendingChangeTypes","_util","_cellNavMode","lastClickTime","header","rowHeightPx","fixedCol","showSpinner","connectTopBreadcrumb","iconBadge","receive","readyDeferred","ready","readyOk","_registerExtension","_updateViewportThrottled","_updateViewportImmediately","getAttribute","tabIndex","_wb_tree","wantHeader","rowElement","colDiv","dataset","coldivs","repeat","listContainerElement","_initExtensions","optName","setOption","isGrid","setNavigationOption","resizeObserver","ResizeObserver","resize","observe","mouseEvent","expander","scrollIntoViewOnExpandClick","_callHook","getTree","el","treeElem","Element","extension","rk","rks","get","hook","d","_getNodeByRowIdx","visitRows","getTopmostVpNode","complete","topIdx","ceil","floor","getLowestVpNode","scrollParent","bottomIdx","_getPrevNodeInView","reverse","_getNextNodeInView","nodeOrOpts","refNode","clear","destroy","outerHTML","hasFocus","hasHeader","hint","selectAll","toggleSelect","_selectRange","eventInfo","visible","_check","findKey","startNode","reMatch","makeNodeTitleStartMatcher","_checkNode","pageSize","bottomNode","parentCol","canonicalName","unknown","colId","column","KeyboardEvent","label","timeEnd","vpHeight","rowTop","vpTop","vpRowTop","vpRowBottom","newScrollTop","scrollToHorz","fixedWidth","scrollLeft","colLeft","Number","parseInt","colRight","newLeft","setActiveNode","RF","clearMarkup","redraw","reset","values","toDictArray","_updateColumnWidths","col0","totalWidth","totalWeight","modified","cw","_weight","endsWith","px","parseFloat","slice","restPx","ofsPx","minWidth","cmw","tw","_renderHeaderMarkup","colCount","headerRow","headerClasses","resizer","_updateRows","newNodesOnly","adjustHeight","wantHeight","abs","vp_height","startIdx","endIdx","obsoleteNodes","childNodes","tr","prevElem","_visitRowsUp","nextIdx","siblings","stopNode","siblingOfs","skipFirstNode","checkFilter","wrap","isFilterActive","version"],"sources":["wunderbaum.umd.js"],"mappings":"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"} \ No newline at end of file diff --git a/docs/api/assets/navigation.js b/docs/api/assets/navigation.js index c6811d54..d2679eff 100644 --- a/docs/api/assets/navigation.js +++ b/docs/api/assets/navigation.js @@ -1 +1 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file +window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/api/assets/search.js b/docs/api/assets/search.js index b4ba86f6..29ef5054 100644 --- a/docs/api/assets/search.js +++ b/docs/api/assets/search.js @@ -1 +1 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file +window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/api/classes/util.Deferred.html b/docs/api/classes/util.Deferred.html index d38bf195..7b38efba 100644 --- a/docs/api/classes/util.Deferred.html +++ b/docs/api/classes/util.Deferred.html @@ -1,4 +1,4 @@ -Deferred | wunderbaum - v0.5.4
+Deferred | wunderbaum - v0.5.5
  • Preparing search index...
  • -
  • The search index is not available
wunderbaum - v0.5.4
+
  • The search index is not available
  • wunderbaum - v0.5.5
    @@ -25,7 +25,7 @@

    Hierarchy

    • Deferred
    +
  • Defined in util.ts:41
  • @@ -52,7 +52,7 @@
    +
  • Defined in util.ts:49
  • Methods

    @@ -67,7 +67,7 @@

    Parameters

    cb: any

    Returns void

    +
  • Defined in util.ts:76
    • @@ -102,7 +102,7 @@

      Parameters

      cb: any

    Returns void

    +
  • Defined in util.ts:83
    • @@ -115,7 +115,7 @@

      Parameters

      Optional error: any

    Returns void

    +
  • Defined in util.ts:60
    • @@ -128,7 +128,7 @@

      Parameters

      Optional value: any

    Returns void

    +
  • Defined in util.ts:51
    • @@ -141,7 +141,7 @@

      Parameters

      cb: any

    Returns void

    +
  • Defined in util.ts:69
  • @@ -28,7 +28,7 @@

    Hierarchy

    • WunderbaumNode
    +
  • Defined in wb_node.ts:88
  • @@ -185,59 +185,59 @@
    parent: data: any

    Returns WunderbaumNode

    +
  • Defined in wb_node.ts:145
  • Properties

    _errorInfo: any = null
    +
  • Defined in wb_node.ts:131
  • _filterAutoExpanded?: boolean
    +
  • Defined in wb_node.ts:140
  • _isLoading: boolean = false
    +
  • Defined in wb_node.ts:129
  • _partload: boolean = false
    +
  • Defined in wb_node.ts:133
  • _partsel: boolean = false
    +
  • Defined in wb_node.ts:132
  • _requestId: number = 0
    +
  • Defined in wb_node.ts:130
  • _rowElem: undefined | HTMLDivElement = undefined
    +
  • Defined in wb_node.ts:143
  • _rowIdx: undefined | number = 0
    +
  • Defined in wb_node.ts:142
  • checkbox?: CheckboxOption
    +
  • Defined in wb_node.ts:107
  • children: null | WunderbaumNode[] = null
    +
  • Defined in wb_node.ts:106
  • classes: null | Set<string> = null
    @@ -247,7 +247,7 @@
    +
  • Defined in wb_node.ts:124
  • colspan?: boolean
    @@ -255,7 +255,7 @@
    +
  • Defined in wb_node.ts:110
  • data: any = {}
    @@ -263,7 +263,7 @@
    +
  • Defined in wb_node.ts:126
  • expanded?: boolean
    @@ -273,12 +273,12 @@

    isExpandable, isExpanded, setExpanded.

    +
  • Defined in wb_node.ts:115
  • icon?: IconOption
    +
  • Defined in wb_node.ts:111
  • key: string
    @@ -288,17 +288,17 @@

    Use setKey to modify.

    +
  • Defined in wb_node.ts:100
  • lazy?: boolean
    +
  • Defined in wb_node.ts:112
  • match?: boolean
    +
  • Defined in wb_node.ts:135
  • @@ -306,12 +306,12 @@
    +
  • Defined in wb_node.ts:94
  • radiogroup?: boolean
    +
  • Defined in wb_node.ts:108
  • refKey: undefined | string = undefined
    @@ -322,7 +322,7 @@

    Use setKey to modify.

    +
  • Defined in wb_node.ts:105
  • selected?: boolean
    @@ -332,17 +332,17 @@

    isSelected, setSelected, toggleSelected.

    +
  • Defined in wb_node.ts:118
  • statusNodeType?: NodeStatusType
    +
  • Defined in wb_node.ts:128
  • subMatchCount?: number = 0
    +
  • Defined in wb_node.ts:136
  • title: string
    @@ -352,18 +352,18 @@
    +
  • Defined in wb_node.ts:97
  • titleWithHighlight?: string
    +
  • Defined in wb_node.ts:139
  • tooltip?: string | boolean
    +
  • Defined in wb_node.ts:121
  • @@ -371,22 +371,22 @@
    +
  • Defined in wb_node.ts:92
  • type?: string
    +
  • Defined in wb_node.ts:120
  • unselectable?: boolean
    +
  • Defined in wb_node.ts:119
  • sequence: number = 0
    +
  • Defined in wb_node.ts:89
  • Methods

    @@ -403,7 +403,7 @@
    +
  • Defined in wb_node.ts:206
  • +
  • Defined in wb_node.ts:2246
  • +
  • Defined in wb_node.ts:247
    • @@ -448,7 +448,7 @@

      Parameters

      source: any

    Returns Promise<any>

    +
  • Defined in wb_node.ts:1026
  • Returns void

    +
  • Defined in wb_node.ts:1923
  • Returns void

    +
  • Defined in wb_node.ts:2553
  • +
  • Defined in wb_node.ts:267
  • +
  • Defined in wb_node.ts:342
  • +
  • Defined in wb_node.ts:372
  • +
  • Defined in wb_node.ts:380
    • @@ -577,7 +577,7 @@
      Optional Returns Promise<void>
    +
  • Defined in wb_node.ts:424
  • +
  • Defined in wb_node.ts:521
  • +
  • Defined in wb_node.ts:534
  • +
  • Defined in wb_node.ts:562
  • +
  • Defined in wb_node.ts:579
  • +
  • Defined in wb_node.ts:2293
  • +
  • Defined in wb_node.ts:2314
  • +
  • Defined in wb_node.ts:633
    • @@ -736,7 +736,7 @@
      Optional Returns IterableIterator<string>
    +
  • Defined in wb_node.ts:586
    • @@ -752,7 +752,7 @@
      colIdx: Returns null | HTMLSpanElement
    +
  • Defined in wb_node.ts:644
  • +
  • Defined in wb_node.ts:655
  • +
  • Defined in wb_node.ts:662
  • +
  • Defined in wb_node.ts:667
  • +
  • Defined in wb_node.ts:679
  • +
  • Defined in wb_node.ts:2032
  • +
  • Defined in wb_node.ts:686
  • +
  • Defined in wb_node.ts:695
    • @@ -887,7 +887,7 @@
      separator: Returns string
    +
  • Defined in wb_node.ts:711
  • +
  • Defined in wb_node.ts:737
  • +
  • Defined in wb_node.ts:2221
  • +
  • Defined in wb_node.ts:746
    • @@ -945,7 +945,7 @@
      className: Returns boolean
    +
  • Defined in wb_node.ts:764
  • +
  • Defined in wb_node.ts:769
  • +
  • Defined in wb_node.ts:776
  • +
  • Defined in wb_node.ts:783
  • +
  • Defined in wb_node.ts:790
  • +
  • Defined in wb_node.ts:797
  • +
  • Defined in wb_node.ts:833
    • @@ -1048,7 +1048,7 @@
      andCollapsed: Returns boolean
    +
  • Defined in wb_node.ts:818
  • +
  • Defined in wb_node.ts:838
  • +
  • Defined in wb_node.ts:843
  • +
  • Defined in wb_node.ts:849
  • +
  • Defined in wb_node.ts:855
  • +
  • Defined in wb_node.ts:860
  • +
  • Defined in wb_node.ts:865
  • +
  • Defined in wb_node.ts:2704
  • +
  • Defined in wb_node.ts:870
  • +
  • Defined in wb_node.ts:877
  • +
  • Defined in wb_node.ts:882
  • +
  • Defined in wb_node.ts:887
  • +
  • Defined in wb_node.ts:892
  • +
  • Defined in wb_node.ts:897
  • +
  • Defined in wb_node.ts:904
  • +
  • Defined in wb_node.ts:911
  • +
  • Defined in wb_node.ts:918
  • +
  • Defined in wb_node.ts:923
  • +
  • Defined in wb_node.ts:930
  • +
  • Defined in wb_node.ts:938
  • +
  • Defined in wb_node.ts:1072
    • @@ -1300,7 +1300,7 @@
      forceReload: Returns Promise<void>
    +
  • Defined in wb_node.ts:1151
  • +
  • Defined in wb_node.ts:1193
    • @@ -1329,7 +1329,7 @@

      Parameters

      Rest ...args: any[]

    Returns void

    +
  • Defined in wb_node.ts:1198
    • @@ -1342,7 +1342,7 @@

      Parameters

      Rest ...args: any[]

    Returns void

    +
  • Defined in wb_node.ts:1205
    • @@ -1355,7 +1355,7 @@

      Parameters

      Rest ...args: any[]

    Returns void

    +
  • Defined in wb_node.ts:1212
    • @@ -1368,7 +1368,7 @@

      Parameters

      Rest ...args: any[]

    Returns void

    +
  • Defined in wb_node.ts:1219
    • @@ -1389,7 +1389,7 @@
      Optional Returns Promise<any>
    +
  • Defined in wb_node.ts:1230
  • +
  • Defined in wb_node.ts:1264
    • @@ -1437,7 +1437,7 @@
      Optional Returns Promise<any>
    +
  • Defined in wb_node.ts:1378
  • +
  • Defined in wb_node.ts:1402
  • +
  • Defined in wb_node.ts:1415
  • +
  • Defined in wb_node.ts:1448
  • +
  • Defined in wb_node.ts:1949
  • +
  • Defined in wb_node.ts:2071
    • @@ -1518,7 +1518,7 @@
      Optional Returns Promise<any>
    +
  • Defined in wb_node.ts:2079
  • +
  • Defined in wb_node.ts:396
    • @@ -1559,7 +1559,7 @@
      Optional Returns Promise<void>
    +
  • Defined in wb_node.ts:2141
  • +
  • Defined in wb_node.ts:2179
  • +
  • Defined in wb_node.ts:2188
  • +
  • Defined in wb_node.ts:2194
  • +
  • Defined in wb_node.ts:2389
  • +
  • Defined in wb_node.ts:2449
  • +
  • Defined in wb_node.ts:2547
  • +
  • Defined in wb_node.ts:2575
  • +
  • Defined in wb_node.ts:1968
  • +
  • Defined in wb_node.ts:190
  • +
  • Defined in wb_node.ts:2235
  • +
  • Defined in wb_node.ts:2611
  • +
  • Defined in wb_node.ts:2588
  • +
  • Defined in wb_node.ts:2209
  • +
  • Defined in wb_node.ts:2630
    • @@ -1865,7 +1865,7 @@
      includeSelf: Returns boolean
    +
  • Defined in wb_node.ts:2660
    • @@ -1896,7 +1896,7 @@
      includeSelf: Returns boolean
    +
  • Defined in wb_node.ts:2685
  • @@ -26,7 +26,7 @@

    Hierarchy

    • Wunderbaum
    +
  • Defined in wunderbaum.ts:85
  • @@ -159,7 +159,7 @@

    Parameters

    options: WunderbaumOptions

    Returns Wunderbaum

    +
  • Defined in wunderbaum.ts:168
  • Properties

    @@ -167,7 +167,7 @@
    +
  • Defined in wunderbaum.ts:159
  • _util: util = util
    @@ -175,7 +175,7 @@
    +
  • Defined in wunderbaum.ts:146
  • activeColIdx: number = 0
    @@ -183,7 +183,7 @@
    +
  • Defined in wunderbaum.ts:157
  • activeNode: null | WunderbaumNode = null
    @@ -191,12 +191,12 @@
    +
  • Defined in wunderbaum.ts:121
  • +
  • Defined in wunderbaum.ts:129
  • columns: ColumnDefinitionList = []
    @@ -204,7 +204,7 @@
    +
  • Defined in wunderbaum.ts:128
  • data: {
        [key: string]: any;
    } = {}
    @@ -217,7 +217,7 @@

    Type declaration

    [key: string]: any
    +
  • Defined in wunderbaum.ts:105
  • element: HTMLDivElement
    @@ -225,12 +225,12 @@
    +
  • Defined in wunderbaum.ts:97
  • filterMode: FilterModeType = null
    +
  • Defined in wunderbaum.ts:153
  • focusNode: null | WunderbaumNode = null
    @@ -238,7 +238,7 @@
    +
  • Defined in wunderbaum.ts:123
  • headerElement: HTMLDivElement
    @@ -246,17 +246,17 @@
    +
  • Defined in wunderbaum.ts:99
  • +
  • Defined in wunderbaum.ts:130
  • iconTooltip?: DynamicStringOption
    +
  • Defined in wunderbaum.ts:131
  • id: string
    @@ -264,19 +264,19 @@
    +
  • Defined in wunderbaum.ts:95
  • lastQuicksearchTerm: string = ""
    +
  • Defined in wunderbaum.ts:163
  • lastQuicksearchTime: number = 0
    +
  • Defined in wunderbaum.ts:161
  • listContainerElement: HTMLDivElement
    @@ -284,7 +284,7 @@
    +
  • Defined in wunderbaum.ts:101
  • log: ((...args) => void) = ...
    @@ -307,7 +307,7 @@

    Returns voidAlias

    Wunderbaum.logDebug

    +
  • Defined in wunderbaum.ts:1489
  • nodeListElement: HTMLDivElement
    @@ -315,7 +315,7 @@
    +
  • Defined in wunderbaum.ts:103
  • @@ -323,7 +323,7 @@
    +
  • Defined in wunderbaum.ts:112
  • ready: Promise<any>
    @@ -331,7 +331,7 @@
    +
  • Defined in wunderbaum.ts:142
  • @@ -339,12 +339,12 @@
    +
  • Defined in wunderbaum.ts:93
  • +
  • Defined in wunderbaum.ts:132
  • @@ -352,12 +352,12 @@
    +
  • Defined in wunderbaum.ts:126
  • unselectable?: DynamicBoolOption
    +
  • Defined in wunderbaum.ts:133
  • util: util = util
    @@ -365,7 +365,7 @@
    +
  • Defined in wunderbaum.ts:144
  • version: string = "@VERSION"
    @@ -373,7 +373,7 @@
    +
  • Defined in wunderbaum.ts:90
  • Accessors

    @@ -389,7 +389,7 @@

    Returns { [key: string]: string

    +
  • Defined in wunderbaum.ts:555
  • Methods

    @@ -406,7 +406,7 @@
    +
  • Defined in wunderbaum.ts:596
  • +
  • Defined in wunderbaum.ts:702
  • +
  • Defined in wunderbaum.ts:683
  • +
  • Defined in wunderbaum.ts:1148
  • +
  • Defined in wunderbaum.ts:615
  • +
  • Defined in wunderbaum.ts:634
  • +
  • Defined in wunderbaum.ts:1894
  • +
  • Defined in wunderbaum.ts:795
  • Apply a modification (or navigation) operation on a node.

    @@ -560,7 +560,7 @@

    Returns anySee

    WunderbaumNode.applyCommand

  • +
  • Defined in wunderbaum.ts:808
  • +
  • Defined in wunderbaum.ts:940
    • @@ -584,7 +584,7 @@

      Returns voidRequires

      [[FilterExtension]]

    +
  • Defined in wunderbaum.ts:2518
  • +
  • Defined in wunderbaum.ts:1143
  • +
  • Defined in wunderbaum.ts:977
  • +
  • Defined in wunderbaum.ts:2451
  • +
  • Defined in wunderbaum.ts:1080
  • +
  • Defined in wunderbaum.ts:2503
  • +
  • Defined in wunderbaum.ts:2490
  • +
  • Defined in wunderbaum.ts:1164
  • +
  • Defined in wunderbaum.ts:1173
  • +
  • Defined in wunderbaum.ts:1185
  • +
  • Defined in wunderbaum.ts:1193
  • +
  • Defined in wunderbaum.ts:1237
  • +
  • Defined in wunderbaum.ts:1359
    • @@ -836,7 +836,7 @@
      Optional Returns IterableIterator<string>
    +
  • Defined in wunderbaum.ts:1332
  • +
  • Defined in wunderbaum.ts:1366
  • +
  • Defined in wunderbaum.ts:1376
  • +
  • Defined in wunderbaum.ts:1383
  • +
  • Defined in wunderbaum.ts:1390
  • +
  • Defined in wunderbaum.ts:746
  • +
  • Defined in wunderbaum.ts:996
  • +
  • Defined in wunderbaum.ts:1098
  • +
  • Defined in wunderbaum.ts:730
  • +
  • Defined in wunderbaum.ts:1043
  • +
  • Defined in wunderbaum.ts:1052
    • -

      Return true if cell-navigation mode is acive.

      +

      Return true if cell-navigation mode is active.

      Returns boolean

    +
  • Defined in wunderbaum.ts:1786
  • +
  • Defined in wunderbaum.ts:1466
  • +
  • Defined in wunderbaum.ts:1776
    • @@ -1025,7 +1025,7 @@

      Returns booleanRequires

      [[FilterExtension]]

    +
  • Defined in wunderbaum.ts:2526
  • +
  • Defined in wunderbaum.ts:1781
  • +
  • Defined in wunderbaum.ts:1473
    • -

      Return true if row-navigation mode is acive.

      +

      Return true if row-navigation mode is active.

      Returns boolean

    +
  • Defined in wunderbaum.ts:1790
  • +
  • Defined in wunderbaum.ts:2431
  • +
  • Defined in wunderbaum.ts:1492
  • +
  • Defined in wunderbaum.ts:1499
  • +
  • Defined in wunderbaum.ts:1506
  • +
  • Defined in wunderbaum.ts:1513
  • +
  • Defined in wunderbaum.ts:1521
  • +
  • Defined in wunderbaum.ts:1528
  • +
  • Defined in wunderbaum.ts:1065
  • +
  • Defined in wunderbaum.ts:1540
  • +
  • Defined in wunderbaum.ts:1085
  • +
  • Defined in wunderbaum.ts:1662
  • +
  • Defined in wunderbaum.ts:1795
  • +
  • Defined in wunderbaum.ts:1628
  • +
  • Defined in wunderbaum.ts:1768
  • +
  • Defined in wunderbaum.ts:1667
  • +
  • Defined in wunderbaum.ts:1810
  • +
  • Defined in wunderbaum.ts:1020
  • +
  • Defined in wunderbaum.ts:1840
  • +
  • Defined in wunderbaum.ts:1848
  • +
  • Defined in wunderbaum.ts:1869
  • +
  • Defined in wunderbaum.ts:1884
  • +
  • Defined in wunderbaum.ts:1461
  • +
  • Defined in wunderbaum.ts:1090
  • Update a row to reflect a single node's modification.

    @@ -1493,7 +1493,7 @@

    Returns voidSee

    (), ()

  • +
  • Defined in wunderbaum.ts:1689
    • @@ -1506,7 +1506,7 @@

      Returns voidRequires

      [[FilterExtension]]

    +
  • Defined in wunderbaum.ts:2534
    • @@ -1524,7 +1524,7 @@

      Returns void

    +
  • Defined in wunderbaum.ts:2054
  • +
  • Defined in wunderbaum.ts:2265
  • +
  • Defined in wunderbaum.ts:2280
  • +
  • Defined in wunderbaum.ts:1400
  • +
  • Defined in wunderbaum.ts:565
  • +
  • Defined in wunderbaum.ts:512
  • @@ -21,7 +21,7 @@

    Enumeration ChangeType

    +
  • Defined in types.ts:386
  • @@ -47,7 +47,7 @@
    +
  • Defined in types.ts:388
  • colStructure: "colStructure"
    @@ -55,7 +55,7 @@
    +
  • Defined in types.ts:392
  • data: "data"
    @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:390
  • resize: "resize"
    @@ -71,7 +71,7 @@
    +
  • Defined in types.ts:394
  • row: "row"
    @@ -79,7 +79,7 @@
    +
  • Defined in types.ts:396
  • scroll: "scroll"
    @@ -87,7 +87,7 @@
    +
  • Defined in types.ts:402
  • status: "status"
    @@ -95,7 +95,7 @@
    +
  • Defined in types.ts:400
  • structure: "structure"
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:398
  • @@ -21,7 +21,7 @@

    Enumeration NavModeEnum

    +
  • Defined in types.ts:434
  • @@ -40,22 +40,22 @@

    Enumeration Members

    cell: "cell"
    +
  • Defined in types.ts:436
  • row: "row"
    +
  • Defined in types.ts:438
  • startCell: "startCell"
    +
  • Defined in types.ts:437
  • startRow: "startRow"
    +
  • Defined in types.ts:435
  • @@ -21,7 +21,7 @@

    Enumeration NodeRegion

    +
  • Defined in types.ts:423
  • @@ -43,37 +43,37 @@

    Enumeration Members

    checkbox: "checkbox"
    +
  • Defined in types.ts:425
  • column: "column"
    +
  • Defined in types.ts:426
  • expander: "expander"
    +
  • Defined in types.ts:427
  • icon: "icon"
    +
  • Defined in types.ts:428
  • prefix: "prefix"
    +
  • Defined in types.ts:429
  • title: "title"
    +
  • Defined in types.ts:430
  • unknown: ""
    +
  • Defined in types.ts:424
  • @@ -21,7 +21,7 @@

    Enumeration NodeStatusType

    +
  • Defined in types.ts:414
  • @@ -41,27 +41,27 @@

    Enumeration Members

    error: "error"
    +
  • Defined in types.ts:417
  • loading: "loading"
    +
  • Defined in types.ts:416
  • noData: "noData"
    +
  • Defined in types.ts:418
  • ok: "ok"
    +
  • Defined in types.ts:415
  • paging: "paging"
    +
  • Defined in types.ts:419
  • @@ -17,7 +17,7 @@
  • RenderFlag
  • Enumeration RenderFlag

    +
  • Defined in types.ts:406
  • @@ -36,22 +36,22 @@

    Enumeration Members

    clearMarkup: "clearMarkup"
    +
  • Defined in types.ts:407
  • header: "header"
    +
  • Defined in types.ts:408
  • redraw: "redraw"
    +
  • Defined in types.ts:409
  • scroll: "scroll"
    +
  • Defined in types.ts:410
  • @@ -27,7 +27,7 @@

    Parameters

    source: any

    Returns void

    +
  • Defined in common.ts:270
  • @@ -33,7 +33,7 @@

    Returns WunderbaumNode.findAll

    +
  • Defined in common.ts:151
  • @@ -30,7 +30,7 @@
    s:

    Returns MatcherCallback

    +
  • Defined in common.ts:171
  • @@ -62,7 +62,7 @@
    Rest Returns void
    +
  • Defined in util.ts:781
  • @@ -18,7 +18,7 @@

    Function assert

      - +
    • Throw an Error if cond is falsey.

      @@ -28,11 +28,11 @@

      Parameters

    • cond: any
    • -
      Optional msg: string
    +
    msg: string

    Returns void

    +
  • Defined in util.ts:92
  • @@ -36,7 +36,7 @@

    Returns voidReturns void

    +
  • Defined in util.ts:109
  • @@ -25,7 +25,7 @@

    Function documentReadyPromise

    Returns Promise<void>

    +
  • Defined in util.ts:118
  • @@ -48,7 +48,7 @@

    Returns booleanReturns any

    +
  • Defined in util.ts:132
  • @@ -30,7 +30,7 @@
    html: Returns HTMLElement
    +
  • Defined in util.ts:386
  • @@ -30,7 +30,7 @@
    obj: Returns HTMLElement | null
    +
  • Defined in util.ts:395
  • @@ -30,7 +30,7 @@
    msg: Returns void
    +
  • Defined in util.ts:160
  • @@ -30,7 +30,7 @@
    s:

    Returns string

    +
  • Defined in util.ts:165
  • @@ -30,7 +30,7 @@
    s:

    Returns string

    +
  • Defined in util.ts:176
  • @@ -30,7 +30,7 @@
    s:

    Returns string

    +
  • Defined in util.ts:181
  • @@ -30,7 +30,7 @@
    obj: Returns EventTarget | null
    +
  • Defined in util.ts:406
  • @@ -36,7 +36,7 @@
    event: Returns string
    +
  • Defined in util.ts:442
  • @@ -31,7 +31,7 @@

    Returns any

    +
  • Defined in util.ts:482
  • @@ -30,7 +30,7 @@
    s:

    Returns string

    +
  • Defined in util.ts:188
  • @@ -43,7 +43,7 @@
    defaultValue: Returns any
    +
  • Defined in util.ts:709
  • @@ -47,7 +47,7 @@

    Returns any

    +
  • Defined in util.ts:221
  • @@ -30,7 +30,7 @@
    obj: Returns boolean
    +
  • Defined in util.ts:498
  • @@ -30,7 +30,7 @@
    obj: Returns boolean
    +
  • Defined in util.ts:503
  • @@ -30,7 +30,7 @@
    obj: Returns boolean
    +
  • Defined in util.ts:508
  • @@ -30,7 +30,7 @@
    obj: Returns boolean
    +
  • Defined in util.ts:513
  • @@ -30,7 +30,7 @@
    Rest Returns any
    +
  • Defined in util.ts:518
  • @@ -36,7 +36,7 @@
    handler: Returns void
    +
  • Defined in util.ts:527
  • Bind one or more event handlers using event delegation.

    @@ -62,7 +62,7 @@
    handler: Returns void
  • +
  • Defined in util.ts:549
  • @@ -38,7 +38,7 @@
    Optional Returns void
    +
  • Defined in util.ts:603
  • @@ -32,7 +32,7 @@
    flag: Returns void
    +
  • Defined in util.ts:374
  • @@ -45,7 +45,7 @@
    ms: Returns Promise<unknown>
    +
  • Defined in util.ts:635
  • @@ -46,7 +46,7 @@
    value: Returns void
    +
  • Defined in util.ts:307
  • @@ -36,7 +36,7 @@
    ms: Returns Promise<unknown>
    +
  • Defined in util.ts:661
  • @@ -30,7 +30,7 @@
    val: Returns Set<string>
    +
  • Defined in util.ts:727
  • @@ -39,7 +39,7 @@
    Optional Returns void
    +
  • Defined in util.ts:675
  • @@ -30,7 +30,7 @@
    obj: Returns string
    +
  • Defined in util.ts:762
  • -

    wunderbaum - v0.5.4

    +

    wunderbaum - v0.5.5

    wunderbaum

    GitHub version Node.js CI -Build Status npm jsDelivr Released with: grunt-yabs StackOverflow: wunderbaum

    + +

    Potential successor of Fancytree.
    > NOTE: Status beta. Do not use in production!

    @@ -73,7 +74,7 @@

    Details

    @@ -25,7 +25,7 @@

    Hierarchy

    • AddChildrenOptions
    +
  • Defined in types.ts:446
  • @@ -46,7 +46,7 @@
    +
  • Defined in types.ts:458
  • applyMinExpanLevel?: boolean
    @@ -58,7 +58,7 @@

    Default

    true
     
    +
  • Defined in types.ts:456
  • before?: null | number | WunderbaumNode
    @@ -69,7 +69,7 @@

    Default

    undefined
    +
  • Defined in types.ts:450
  • @@ -28,7 +28,7 @@

    Hierarchy

    Indexable

    [key: string]: unknown
    +
  • Defined in types.ts:462
  • @@ -30,7 +30,7 @@

    Hierarchy

    Indexable

    [key: string]: unknown
    +
  • Defined in types.ts:272
  • @@ -56,17 +56,17 @@

    Properties

    _ofsPx?: number
    +
  • Defined in types.ts:302
  • _weight?: number
    +
  • Defined in types.ts:300
  • _widthPx?: number
    +
  • Defined in types.ts:301
  • classes?: string
    @@ -75,7 +75,7 @@
    +
  • Defined in types.ts:292
  • headerClasses?: string
    @@ -84,7 +84,7 @@
    +
  • Defined in types.ts:296
  • html?: string
    @@ -92,7 +92,7 @@
    +
  • Defined in types.ts:298
  • id: string
    @@ -100,7 +100,7 @@
    +
  • Defined in types.ts:274
  • minWidth?: string | number
    @@ -109,7 +109,7 @@
    +
  • Defined in types.ts:288
  • title: string
    @@ -117,7 +117,7 @@
    +
  • Defined in types.ts:276
  • tooltip?: string
    @@ -125,7 +125,7 @@
    +
  • Defined in types.ts:278
  • width?: string | number
    @@ -136,7 +136,7 @@
    +
  • Defined in types.ts:284
  • @@ -25,7 +25,7 @@

    Hierarchy

    • ColumnEventInfo
    +
  • Defined in types.ts:312
  • @@ -47,7 +47,7 @@
    +
  • Defined in types.ts:318
  • id: string
    @@ -55,7 +55,7 @@
    +
  • Defined in types.ts:314
  • idx: number
    @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:316
  • @@ -71,7 +71,7 @@
    +
  • Defined in types.ts:320
  • @@ -25,7 +25,7 @@

    Hierarchy

    • ExpandAllOptions
    +
  • Defined in types.ts:467
  • @@ -50,7 +50,7 @@

    Default

    99
     
    +
  • Defined in types.ts:469
  • force?: boolean
    @@ -61,7 +61,7 @@

    Default

    false
     
    +
  • Defined in types.ts:473
  • keepActiveNodeVisible?: boolean
    @@ -72,7 +72,7 @@

    Default

    true
     
    +
  • Defined in types.ts:475
  • loadLazy?: boolean
    @@ -83,7 +83,7 @@

    Default

    false
     
    +
  • Defined in types.ts:471
  • @@ -25,7 +25,7 @@

    Hierarchy

    • FilterNodesOptions
    +
  • Defined in types.ts:479
  • @@ -47,37 +47,37 @@

    Properties

    autoExpand?: boolean
    +
  • Defined in types.ts:485
  • fuzzy?: boolean
    +
  • Defined in types.ts:482
  • hideExpanders?: boolean
    +
  • Defined in types.ts:484
  • highlight?: boolean
    +
  • Defined in types.ts:483
  • leavesOnly?: boolean
    +
  • Defined in types.ts:481
  • mode?: string
    +
  • Defined in types.ts:480
  • noData?: boolean
    +
  • Defined in types.ts:486
  • @@ -25,7 +25,7 @@

    Hierarchy

    • MakeVisibleOptions
    +
  • Defined in types.ts:490
  • @@ -49,7 +49,7 @@

    Default

    false
     
    +
  • Defined in types.ts:492
  • noEvents?: boolean
    @@ -60,7 +60,7 @@

    Default

    false
     
    +
  • Defined in types.ts:496
  • scrollIntoView?: boolean
    @@ -71,7 +71,7 @@

    Default

    true
     
    +
  • Defined in types.ts:494
  • @@ -25,7 +25,7 @@

    Hierarchy

    • NavigateOptions
    +
  • Defined in types.ts:500
  • @@ -48,7 +48,7 @@

    Default

    true
     
    +
  • Defined in types.ts:502
  • event?: Event
    @@ -56,7 +56,7 @@
    +
  • Defined in types.ts:504
  • @@ -32,7 +32,7 @@

    Hierarchy

    Indexable

    [key: string]: unknown
    +
  • Defined in types.ts:247
  • @@ -55,7 +55,7 @@
    +
  • Defined in types.ts:249
  • classes?: string
    @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:251
  • colspan?: boolean
    @@ -71,7 +71,7 @@
    +
  • Defined in types.ts:253
  • icon?: IconOption
    @@ -79,7 +79,7 @@
    +
  • Defined in types.ts:255
  • iconTooltip?: string | boolean
    @@ -87,7 +87,7 @@
    +
  • Defined in types.ts:257
  • @@ -25,7 +25,7 @@

    Hierarchy

    • RenderOptions
    +
  • Defined in types.ts:508
  • @@ -53,7 +53,7 @@

    Default

    'last'
     
    +
  • Defined in types.ts:512
  • change?: ChangeType
    @@ -64,7 +64,7 @@

    Default

    ChangeType
    +
  • Defined in types.ts:510
  • isDataChange?: boolean
    @@ -75,7 +75,7 @@

    Default

    false
     
    +
  • Defined in types.ts:518
  • isNew?: boolean
    @@ -86,7 +86,7 @@

    Default

    false
     
    +
  • Defined in types.ts:514
  • preventScroll?: boolean
    @@ -97,7 +97,7 @@

    Default

    false
     
    +
  • Defined in types.ts:516
  • resizeCols?: boolean
    @@ -108,7 +108,7 @@

    Default

    true
     
    +
  • Defined in types.ts:522
  • top?: number
    @@ -119,7 +119,7 @@

    Default

    false
     
    +
  • Defined in types.ts:520
  • @@ -27,7 +27,7 @@

    Hierarchy

    +
  • Defined in types.ts:526
  • @@ -52,7 +52,7 @@

    Default

    false
     
    +
  • Defined in types.ts:528
  • noEvents?: boolean
    @@ -63,7 +63,7 @@

    Default

    false
     
    +
  • Defined in types.ts:530
  • ofsY?: number
    @@ -71,7 +71,7 @@
    +
  • Defined in types.ts:534
  • topNode?: WunderbaumNode
    @@ -79,7 +79,7 @@
    +
  • Defined in types.ts:532
  • @@ -27,7 +27,7 @@

    Hierarchy

    • ScrollToOptions
    +
  • Defined in types.ts:538
  • @@ -54,7 +54,7 @@

    Default

    false
     
    +
  • Defined in types.ts:528
  • noEvents?: boolean
    @@ -66,7 +66,7 @@

    Default

    false
     
    +
  • Defined in types.ts:530
  • @@ -74,7 +74,7 @@
    +
  • Defined in types.ts:540
  • ofsY?: number
    @@ -83,7 +83,7 @@
    +
  • Defined in types.ts:534
  • topNode?: WunderbaumNode
    @@ -92,7 +92,7 @@
    +
  • Defined in types.ts:532
  • @@ -25,7 +25,7 @@

    Hierarchy

    • SetActiveOptions
    +
  • Defined in types.ts:544
  • @@ -49,7 +49,7 @@
    +
  • Defined in types.ts:556
  • event?: Event
    @@ -57,7 +57,7 @@
    +
  • Defined in types.ts:554
  • focusNode?: boolean
    @@ -65,7 +65,7 @@
    +
  • Defined in types.ts:550
  • focusTree?: boolean
    @@ -73,7 +73,7 @@
    +
  • Defined in types.ts:552
  • noEvents?: boolean
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:548
  • retrigger?: boolean
    @@ -89,7 +89,7 @@
    +
  • Defined in types.ts:546
  • @@ -25,7 +25,7 @@

    Hierarchy

    • SetExpandedOptions
    +
  • Defined in types.ts:560
  • @@ -51,7 +51,7 @@

    Default

    false
     
    +
  • Defined in types.ts:562
  • immediate?: boolean
    @@ -62,7 +62,7 @@

    Default

    false
     
    +
  • Defined in types.ts:564
  • noAnimation?: boolean
    @@ -73,7 +73,7 @@

    Default

    false
     
    +
  • Defined in types.ts:566
  • noEvents?: boolean
    @@ -84,7 +84,7 @@

    Default

    false
     
    +
  • Defined in types.ts:568
  • scrollIntoView?: boolean
    @@ -95,7 +95,7 @@

    Default

    false
     
    +
  • Defined in types.ts:570
  • @@ -25,7 +25,7 @@

    Hierarchy

    • SetSelectedOptions
    +
  • Defined in types.ts:582
  • @@ -50,7 +50,7 @@

    Default

    null
     
    +
  • Defined in types.ts:592
  • force?: boolean
    @@ -61,7 +61,7 @@

    Default

    false
     
    +
  • Defined in types.ts:584
  • noEvents?: boolean
    @@ -72,7 +72,7 @@

    Default

    false
     
    +
  • Defined in types.ts:586
  • propagateDown?: boolean
    @@ -83,7 +83,7 @@

    Default

    false
     
    +
  • Defined in types.ts:588
  • @@ -25,7 +25,7 @@

    Hierarchy

    • SetStatusOptions
    +
  • Defined in types.ts:596
  • @@ -45,7 +45,7 @@
    +
  • Defined in types.ts:600
  • message?: string
    @@ -53,7 +53,7 @@
    +
  • Defined in types.ts:598
  • @@ -21,7 +21,7 @@

    Hierarchy

    • SourceAjaxType
    +
  • Defined in types.ts:27
  • @@ -40,22 +40,22 @@

    Properties

    body?: any
    +
  • Defined in types.ts:30
  • options?: RequestInit
    +
  • Defined in types.ts:31
  • params?: any
    +
  • Defined in types.ts:29
  • url: string
    +
  • Defined in types.ts:28
  • @@ -21,7 +21,7 @@

    Hierarchy

    • SourceObjectType
    +
  • Defined in types.ts:34
  • @@ -43,7 +43,7 @@

    Properties

    _format?: "flat" | "nested"
    +
  • Defined in types.ts:35
  • _keyMap?: {
        [key: string]: string;
    }
    @@ -53,32 +53,32 @@

    Type declaration

  • [key: string]: string
  • +
  • Defined in types.ts:39
  • _positional?: string[]
    +
  • Defined in types.ts:41
  • _typeList?: string[]
    +
  • Defined in types.ts:40
  • children: SourceListType
    +
  • Defined in types.ts:38
  • +
  • Defined in types.ts:37
  • +
  • Defined in types.ts:36
  • @@ -25,7 +25,7 @@

    Hierarchy

    • UpdateOptions
    +
  • Defined in types.ts:574
  • @@ -47,7 +47,7 @@

    Default

    false
     
    +
  • Defined in types.ts:576
  • @@ -25,7 +25,7 @@

    Hierarchy

    • VisitRowsOptions
    +
  • Defined in types.ts:604
  • @@ -51,7 +51,7 @@

    Default

    false
     
    +
  • Defined in types.ts:606
  • includeSelf?: boolean
    @@ -62,7 +62,7 @@

    Default

    true
     
    +
  • Defined in types.ts:608
  • reverse?: boolean
    @@ -73,7 +73,7 @@

    Default

    false
     
    +
  • Defined in types.ts:610
  • start?: null | WunderbaumNode
    @@ -84,7 +84,7 @@

    Default

    first
    +
  • Defined in types.ts:612
  • wrap?: boolean
    @@ -96,7 +96,7 @@

    Default

    false
     
    +
  • Defined in types.ts:615
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbActivateEventType
    +
  • Defined in types.ts:149
  • @@ -49,7 +49,7 @@
    +
  • Defined in types.ts:152
  • @@ -58,12 +58,12 @@
    +
  • Defined in types.ts:141
  • prevNode: WunderbaumNode
    +
  • Defined in types.ts:150
  • @@ -72,7 +72,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbChangeEventType
    +
  • Defined in types.ts:155
  • @@ -51,22 +51,22 @@
    +
  • Defined in types.ts:135
  • +
  • Defined in types.ts:156
  • inputElem: HTMLInputElement
    +
  • Defined in types.ts:157
  • inputValue: any
    +
  • Defined in types.ts:158
  • @@ -75,7 +75,7 @@
    +
  • Defined in types.ts:141
  • @@ -84,7 +84,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -93,7 +93,7 @@
    +
  • Defined in types.ts:127
  • @@ -105,7 +105,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -115,7 +115,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbClickEventType
    +
  • Defined in types.ts:161
  • @@ -48,17 +48,17 @@
    +
  • Defined in types.ts:163
  • +
  • Defined in types.ts:165
  • +
  • Defined in types.ts:164
  • @@ -67,7 +67,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -76,7 +76,7 @@
    +
  • Defined in types.ts:127
  • util: any
    @@ -86,7 +86,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbDeactivateEventType
    +
  • Defined in types.ts:172
  • @@ -49,12 +49,12 @@
    +
  • Defined in types.ts:175
  • nextNode: WunderbaumNode
    +
  • Defined in types.ts:173
  • @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:141
  • @@ -72,7 +72,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbErrorEventType
    +
  • Defined in types.ts:168
  • @@ -45,7 +45,7 @@

    Properties

    error: any
    +
  • Defined in types.ts:169
  • event?: Event
    @@ -54,7 +54,7 @@
    +
  • Defined in types.ts:135
  • @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:141
  • @@ -72,7 +72,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -27,7 +27,7 @@

    Hierarchy

    • WbEventInfo
    +
  • Defined in types.ts:329
  • @@ -57,7 +57,7 @@
    +
  • Defined in types.ts:335
  • @@ -65,7 +65,7 @@
    +
  • Defined in types.ts:343
  • colElem?: HTMLSpanElement
    @@ -73,7 +73,7 @@
    +
  • Defined in types.ts:349
  • colId?: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:347
  • colIdx: number
    @@ -89,7 +89,7 @@
    +
  • Defined in types.ts:345
  • event: MouseEvent | KeyboardEvent
    @@ -97,7 +97,7 @@
    +
  • Defined in types.ts:331
  • node: null | WunderbaumNode
    @@ -105,7 +105,7 @@
    +
  • Defined in types.ts:339
  • region: NodeRegion
    @@ -113,7 +113,7 @@
    +
  • Defined in types.ts:341
  • @@ -121,7 +121,7 @@
    +
  • Defined in types.ts:337
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbFocusEventType
    +
  • Defined in types.ts:194
  • @@ -47,7 +47,7 @@
    +
  • Defined in types.ts:196
  • flag: boolean
    @@ -55,7 +55,7 @@
    +
  • Defined in types.ts:198
  • @@ -64,7 +64,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -73,7 +73,7 @@
    +
  • Defined in types.ts:127
  • util: any
    @@ -83,7 +83,7 @@
    +
  • Defined in types.ts:133
  • @@ -21,7 +21,7 @@

    Hierarchy

    • WbIconBadgeEventResultType
    +
  • Defined in types.ts:185
  • @@ -42,7 +42,7 @@
    +
  • Defined in types.ts:187
  • badgeClass?: string
    @@ -50,7 +50,7 @@
    +
  • Defined in types.ts:189
  • badgeTooltip?: string
    @@ -58,7 +58,7 @@
    +
  • Defined in types.ts:191
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbIconBadgeEventType
    +
  • Defined in types.ts:182
  • @@ -49,12 +49,12 @@
    +
  • Defined in types.ts:135
  • iconSpan: HTMLElement
    +
  • Defined in types.ts:183
  • @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:141
  • @@ -72,7 +72,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbInitEventType
    +
  • Defined in types.ts:208
  • @@ -43,7 +43,7 @@

    Properties

    error?: any
    +
  • Defined in types.ts:209
  • event?: Event
    @@ -52,7 +52,7 @@
    +
  • Defined in types.ts:135
  • @@ -61,7 +61,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -70,7 +70,7 @@
    +
  • Defined in types.ts:127
  • util: any
    @@ -80,7 +80,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbKeydownEventType
    +
  • Defined in types.ts:201
  • @@ -48,17 +48,17 @@
    +
  • Defined in types.ts:203
  • +
  • Defined in types.ts:205
  • +
  • Defined in types.ts:204
  • @@ -67,7 +67,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -76,7 +76,7 @@
    +
  • Defined in types.ts:127
  • util: any
    @@ -86,7 +86,7 @@
    +
  • Defined in types.ts:133
  • @@ -28,7 +28,7 @@

    Hierarchy

    Indexable

    [key: string]: unknown
    +
  • Defined in types.ts:96
  • @@ -62,52 +62,52 @@
    +
  • Defined in types.ts:116
  • checkbox?: CheckboxOption
    +
  • Defined in types.ts:97
  • children?: WbNodeData[]
    +
  • Defined in types.ts:98
  • classes?: string
    +
  • Defined in types.ts:99
  • colspan?: boolean
    +
  • Defined in types.ts:100
  • expanded?: boolean
    +
  • Defined in types.ts:101
  • icon?: IconOption
    +
  • Defined in types.ts:102
  • iconTooltip?: string | boolean
    +
  • Defined in types.ts:103
  • key?: string
    +
  • Defined in types.ts:104
  • lazy?: boolean
    +
  • Defined in types.ts:105
  • radiogroup?: boolean
    @@ -115,42 +115,42 @@
    +
  • Defined in types.ts:107
  • refKey?: string
    +
  • Defined in types.ts:108
  • selected?: boolean
    +
  • Defined in types.ts:109
  • statusNodeType?: NodeStatusType
    +
  • Defined in types.ts:110
  • title: string
    +
  • Defined in types.ts:111
  • tooltip?: string | boolean
    +
  • Defined in types.ts:112
  • type?: string
    +
  • Defined in types.ts:113
  • unselectable?: boolean
    +
  • Defined in types.ts:114
  • @@ -31,7 +31,7 @@

    Hierarchy

  • WbReceiveEventType
  • WbRenderEventType
  • +
  • Defined in types.ts:139
  • @@ -56,7 +56,7 @@
    +
  • Defined in types.ts:135
  • @@ -64,7 +64,7 @@
    +
  • Defined in types.ts:141
  • @@ -73,7 +73,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -82,7 +82,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    Wunderbaum.types

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbReceiveEventType
    +
  • Defined in types.ts:212
  • @@ -49,7 +49,7 @@
    +
  • Defined in types.ts:135
  • @@ -58,12 +58,12 @@
    +
  • Defined in types.ts:141
  • response: any
    +
  • Defined in types.ts:213
  • @@ -72,7 +72,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:127
  • @@ -93,7 +93,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -103,7 +103,7 @@
    +
  • Defined in types.ts:133
  • @@ -23,7 +23,7 @@

    Hierarchy

    • WbRenderEventType
    +
  • Defined in types.ts:216
  • @@ -54,7 +54,7 @@
    +
  • Defined in types.ts:232
  • event?: Event
    @@ -63,7 +63,7 @@
    +
  • Defined in types.ts:135
  • isColspan: boolean
    @@ -71,7 +71,7 @@
    +
  • Defined in types.ts:226
  • isNew: boolean
    @@ -81,7 +81,7 @@
    +
  • Defined in types.ts:222
  • @@ -90,7 +90,7 @@
    +
  • Defined in types.ts:141
  • nodeElem: HTMLSpanElement
    @@ -98,7 +98,7 @@
    +
  • Defined in types.ts:224
  • renderColInfosById: ColumnEventInfoMap
    @@ -108,7 +108,7 @@
    +
  • Defined in types.ts:238
  • @@ -117,7 +117,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -126,7 +126,7 @@
    +
  • Defined in types.ts:127
  • @@ -138,7 +138,7 @@

    See

    Inherited from WbNodeEventType.typeInfo

    +
  • Defined in types.ts:146
  • util: any
    @@ -148,7 +148,7 @@
    +
  • Defined in types.ts:133
  • @@ -27,7 +27,7 @@

    Hierarchy

  • WbKeydownEventType
  • WbInitEventType
  • +
  • Defined in types.ts:125
  • @@ -49,7 +49,7 @@
    +
  • Defined in types.ts:135
  • @@ -57,7 +57,7 @@
    +
  • Defined in types.ts:129
  • type: string
    @@ -65,7 +65,7 @@
    +
  • Defined in types.ts:127
  • util: any
    @@ -74,7 +74,7 @@
    +
  • Defined in types.ts:133
  • @@ -31,7 +31,7 @@

    Hierarchy

    • WunderbaumOptions
    +
  • Defined in wb_options.ts:63
  • @@ -115,7 +115,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:244
  • beforeActivate?: ((e) => void)
    @@ -136,7 +136,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:250
  • change?: ((e) => void)
    @@ -155,7 +155,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:255
  • click?: ((e) => void)
    @@ -176,7 +176,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:261
  • dblclick?: ((e) => void)
    @@ -195,7 +195,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:266
  • deactivate?: ((e) => void)
    @@ -217,7 +217,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:273
  • discard?: ((e) => void)
    @@ -236,7 +236,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:278
  • error?: ((e) => void)
    @@ -255,7 +255,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:293
  • focus?: ((e) => void)
    @@ -276,13 +276,13 @@
    e: Returns void
    +
  • Defined in wb_options.ts:299
  • +
  • Defined in wb_options.ts:283
  • init?: ((e) => void)
    @@ -306,7 +306,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:307
  • keydown?: ((e) => void)
    @@ -325,7 +325,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:312
  • lazyLoad?: ((e) => void)
    @@ -348,7 +348,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:319
  • load?: ((e) => void)
    @@ -370,7 +370,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:325
  • modifyChild?: ((e) => void)
    @@ -389,7 +389,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:329
  • receive?: ((e) => void)
    @@ -413,7 +413,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:337
  • render?: ((e) => void)
    @@ -438,7 +438,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:346
  • renderStatusNode?: ((e) => void)
    @@ -457,7 +457,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:351
  • select?: ((e) => void)
    @@ -478,7 +478,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:357
  • update?: ((e) => void)
    @@ -499,7 +499,7 @@
    e: Returns void
    +
  • Defined in wb_options.ts:362
  • Other

    @@ -517,7 +517,7 @@
    +
  • Defined in wb_options.ts:163
  • autoCollapse?: boolean
    @@ -526,7 +526,7 @@
    +
  • Defined in wb_options.ts:149
  • @@ -536,7 +536,7 @@
    +
  • Defined in wb_options.ts:190
  • @@ -548,7 +548,7 @@
    +
  • Defined in wb_options.ts:98
  • connectTopBreadcrumb?: HTMLElement
    @@ -557,7 +557,7 @@
    +
  • Defined in wb_options.ts:168
  • debugLevel?: number
    @@ -566,17 +566,17 @@
    +
  • Defined in wb_options.ts:114
  • +
  • Defined in wb_options.ts:233
  • +
  • Defined in wb_options.ts:234
  • element: string | HTMLDivElement
    @@ -584,7 +584,7 @@
    +
  • Defined in wb_options.ts:67
  • emptyChildListExpandable?: boolean
    @@ -594,7 +594,7 @@
    +
  • Defined in wb_options.ts:126
  • enabled?: boolean
    @@ -602,12 +602,12 @@
    +
  • Defined in wb_options.ts:208
  • +
  • Defined in wb_options.ts:235
  • fixedCol?: boolean
    @@ -615,12 +615,12 @@
    +
  • Defined in wb_options.ts:212
  • grid?: any
    +
  • Defined in wb_options.ts:236
  • header?: null | string | boolean
    @@ -632,7 +632,7 @@
    +
  • Defined in wb_options.ts:180
  • @@ -640,7 +640,7 @@
    +
  • Defined in wb_options.ts:192
  • iconMap?: string | {
        [key: string]: string;
    }
    @@ -656,7 +656,7 @@

    Type declaration

    [key: string]: string
    +
  • Defined in wb_options.ts:144
  • @@ -664,7 +664,7 @@
    +
  • Defined in wb_options.ts:194
  • id?: string
    @@ -674,7 +674,7 @@
    +
  • Defined in wb_options.ts:74
  • minExpandLevel?: number
    @@ -684,7 +684,7 @@
    +
  • Defined in wb_options.ts:120
  • navigationModeOption?: NavModeEnum
    @@ -692,7 +692,7 @@
    +
  • Defined in wb_options.ts:172
  • quicksearch?: boolean
    @@ -700,7 +700,7 @@
    +
  • Defined in wb_options.ts:224
  • rowHeightPx?: number
    @@ -709,7 +709,7 @@
    +
  • Defined in wb_options.ts:137
  • scrollIntoViewOnExpandClick?: boolean
    @@ -720,7 +720,7 @@

    Default

    true
     
    +
  • Defined in wb_options.ts:230
  • selectMode?: SelectModeType
    @@ -728,13 +728,13 @@
    +
  • Defined in wb_options.ts:218
  • showSpinner?: boolean
    +
  • Defined in wb_options.ts:184
  • skeleton?: boolean
    @@ -745,7 +745,7 @@
    +
  • Defined in wb_options.ts:105
  • source?: string | WbNodeData[]
    @@ -756,7 +756,7 @@
    +
  • Defined in wb_options.ts:82
  • strings?: any
    @@ -764,7 +764,7 @@
    +
  • Defined in wb_options.ts:109
  • @@ -773,7 +773,7 @@
    +
  • Defined in wb_options.ts:198
  • @@ -784,7 +784,7 @@
    +
  • Defined in wb_options.ts:90
  • unselectable?: DynamicBoolOption
    @@ -792,7 +792,7 @@
    +
  • Defined in wb_options.ts:200
  • @@ -16,7 +16,7 @@
  • common
  • Module common

    +
  • Defined in common.ts:1
  • Index

    @@ -56,7 +56,7 @@

    Member Visibility

    Theme

    @@ -16,7 +16,7 @@
  • types
  • Module types

    +
  • Defined in types.ts:1
  • Index

    @@ -76,6 +76,8 @@

    Type Aliases

    ColumnDefinitionList ColumnEventInfoMap DndOptionsType +DropEffectAllowedType +DropEffectType DropRegionType DropRegionTypeSet DynamicBoolOption @@ -120,7 +122,7 @@

    Member Visibility

    Theme

    @@ -16,7 +16,7 @@
  • util
  • Module util

    +
  • Defined in util.ts:1
  • Index

    @@ -83,7 +83,7 @@

    Member Visibility

    Theme

    @@ -16,7 +16,7 @@
  • wb_node
  • Module wb_node

    +
  • Defined in wb_node.ts:1
  • Index

    @@ -38,7 +38,7 @@

    Member Visibility

    Theme

    @@ -16,7 +16,7 @@
  • wb_options
  • Module wb_options

    +
  • Defined in wb_options.ts:1
  • Index

    @@ -38,7 +38,7 @@

    Member Visibility

    Theme

    @@ -16,7 +16,7 @@
  • wunderbaum
  • Module wunderbaum

    +
  • Defined in wunderbaum.ts:1
  • Index

    @@ -38,7 +38,7 @@

    Member Visibility

    Theme

    @@ -18,7 +18,7 @@

    Type alias ApplyCommandType

    ApplyCommandType: "addChild" | "addSibling" | "copy" | "cut" | "down" | "first" | "indent" | "last" | "left" | "moveDown" | "moveUp" | "outdent" | "pageDown" | "pageUp" | "parent" | "paste" | "remove" | "rename" | "right" | "up"
    +
  • Defined in types.ts:358
  • +
  • Defined in types.ts:60
  • +
  • Defined in types.ts:62
  • @@ -21,7 +21,7 @@

    Type alias CheckboxOption

    +
  • Defined in types.ts:14
  • @@ -18,7 +18,7 @@

    Type alias ColumnDefinitionList

    ColumnDefinitionList: ColumnDefinition[]
    +
  • Defined in types.ts:307
  • @@ -23,7 +23,7 @@

    Type declaration

  • [colId: string]: ColumnEventInfo
  • +
  • Defined in types.ts:323
  • @@ -16,7 +16,7 @@
  • types
  • DndOptionsType
  • Type alias DndOptionsType

    -
    DndOptionsType: {
        autoExpandMS?: 1500;
        drag?: null | ((e) => void);
        dragEnd?: null | ((e) => void);
        dragEnter?: null | ((e) => boolean);
        dragExpand?: null | ((e) => boolean);
        dragLeave?: null;
        dragOver?: null | ((e) => void);
        dragStart?: null | ((e) => boolean);
        drop?: null | ((e) => void);
        dropEffectDefault?: string;
        effectAllowed?: "all";
        multiSource?: false;
        preventForeignNodes?: boolean;
        preventLazyParents?: boolean;
        preventNonNodes?: boolean;
        preventRecursion?: boolean;
        preventSameParent?: false;
        preventVoidMoves?: boolean;
        scroll?: boolean;
        scrollSensitivity?: 20;
        scrollSpeed?: 5;
        serializeClipboardData?: boolean | ((nodeData) => string);
        sourceCopyHook?: null;
    }
    +
    DndOptionsType: {
        autoExpandMS?: 1500;
        drag?: null | ((e) => void);
        dragEnd?: null | ((e) => void);
        dragEnter?: null | ((e) => DropRegionTypeSet | boolean);
        dragExpand?: null | ((e) => boolean);
        dragLeave?: null;
        dragOver?: null | ((e) => void);
        dragStart?: null | ((e) => boolean);
        drop?: null | ((e) => void);
        dropEffectDefault?: DropEffectType;
        effectAllowed?: DropEffectAllowedType;
        guessDropEffect: boolean;
        multiSource?: false;
        preventForeignNodes?: boolean;
        preventLazyParents?: boolean;
        preventNonNodes?: boolean;
        preventRecursion?: boolean;
        preventSameParent?: false;
        preventVoidMoves?: boolean;
        scroll?: boolean;
        scrollSensitivity?: 20;
        scrollSpeed?: 5;
        serializeClipboardData?: boolean | ((nodeData, node) => string);
        sourceCopyHook?: null;
    }

    Type declaration

      @@ -45,7 +45,7 @@

      Default

      null
       
  • -
    Optional dragEnter?: null | ((e) => boolean)
    +
    Optional dragEnter?: null | ((e) => DropRegionTypeSet | boolean)

    Callback(targetNode, data), return true, to enable dnd drop

    @@ -93,22 +93,35 @@

    Default

    null
     
  • -
    Optional dropEffectDefault?: string
    -

    Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed (overide in drag, dragOver).

    +
    Optional dropEffectDefault?: DropEffectType
    +

    Default dropEffect ('copy', 'link', or 'move') when no modifier is pressed. +Overidable in the dragEnter or dragOver event.

    Default

    "move"
     
  • -
    Optional effectAllowed?: "all"
    -

    Restrict the possible cursor shapes and modifier operations (can also be set in the dragStart event)

    +
    Optional effectAllowed?: DropEffectAllowedType
    +

    Restrict the possible cursor shapes and modifier operations +(can also be set in the dragStart event)

    Default

    "all"
     
  • +
    guessDropEffect: boolean
    +

    Use opinionated heuristics to determine the dropEffect ('copy', 'link', or 'move') +based on effectAllowed, dropEffectDefault, and modifier keys. +This is recalculated before each dragEnter and dragOver event and can be +overridden there.

    +
    +
    +

    Default

    true
    +
    +
  • +
  • Optional multiSource?: false

    true: Drag multiple (i.e. selected) nodes. Also a callback() is allowed

    @@ -189,7 +202,7 @@

    Default

    5
     
  • -
    Optional serializeClipboardData?: boolean | ((nodeData) => string)
    +
    Optional serializeClipboardData?: boolean | ((nodeData, node) => string)

    Serialize Node Data to datatransfer object

    @@ -207,7 +220,7 @@

    Default

    null
     
  • +
  • Defined in types.ts:771
  • @@ -18,7 +18,7 @@

    Type alias DropRegionType

    DropRegionType: "over" | "before" | "after"
    +
  • Defined in types.ts:758
  • @@ -18,7 +18,7 @@

    Type alias DropRegionTypeSet

    DropRegionTypeSet: Set<DropRegionType>
    +
  • Defined in types.ts:759
  • @@ -22,7 +22,7 @@

    Type alias DynamicBoolOption

    +
  • Defined in types.ts:85
  • @@ -18,7 +18,7 @@

    Type alias DynamicBoolOrStringOption

    DynamicBoolOrStringOption: boolean | string | BoolOrStringOptionResolver
    +
  • Defined in types.ts:87
  • @@ -18,7 +18,7 @@

    Type alias DynamicCheckboxOption

    +
  • Defined in types.ts:91
  • @@ -18,7 +18,7 @@

    Type alias DynamicIconOption

    +
  • Defined in types.ts:92
  • @@ -18,7 +18,7 @@

    Type alias DynamicStringOption

    DynamicStringOption: string | BoolOptionResolver
    +
  • Defined in types.ts:86
  • @@ -86,7 +86,7 @@

    Default

    true
     
    +
  • Defined in types.ts:676
  • @@ -18,7 +18,7 @@

    Type alias FilterModeType

    FilterModeType: null | "dim" | "hide"
    +
  • Defined in types.ts:356
  • @@ -109,7 +109,7 @@

    Default

    true
     
    +
  • Defined in types.ts:618
  • @@ -18,7 +18,7 @@

    Type alias GridOptionsType

    GridOptionsType: object
    +
  • Defined in types.ts:734
  • @@ -26,7 +26,7 @@

    Type alias IconOption

    +
  • Defined in types.ts:22
  • @@ -18,7 +18,7 @@

    Type alias InsertNodeType

    InsertNodeType: "before" | "after" | "prependChild" | "appendChild"
    +
  • Defined in types.ts:740
  • +
  • Defined in types.ts:52
  • +
  • Defined in types.ts:66
  • @@ -31,7 +31,7 @@

    Parameters

    node: WunderbaumNode

    Returns NodeFilterResponse

    +
  • Defined in types.ts:381
  • @@ -18,7 +18,7 @@

    Type alias NodeFilterResponse

    NodeFilterResponse: "skip" | "branch" | boolean | void
    +
  • Defined in types.ts:380
  • +
  • Defined in types.ts:79
  • +
  • Defined in types.ts:68
  • @@ -36,7 +36,7 @@
    node: Returns NodeVisitResponse
    +
  • Defined in types.ts:74
  • @@ -23,7 +23,7 @@

    Type declaration

  • [type: string]: NodeTypeDefinition
  • +
  • Defined in types.ts:266
  • @@ -34,7 +34,7 @@
    node: Returns NodeVisitResponse
    +
  • Defined in types.ts:70
  • @@ -21,7 +21,7 @@

    Type alias NodeVisitResponse

    +
  • Defined in types.ts:72
  • @@ -18,7 +18,7 @@

    Type alias SelectModeType

    SelectModeType: "single" | "multi" | "hier"
    +
  • Defined in types.ts:357
  • +
  • Defined in types.ts:58
  • @@ -18,7 +18,7 @@

    Type alias SourceListType

    SourceListType: WbNodeData[]
    +
  • Defined in types.ts:33
  • @@ -21,7 +21,7 @@

    Type alias SourceType

    +
  • Defined in types.ts:45
  • @@ -21,7 +21,7 @@

    Type alias TristateType

    +
  • Defined in types.ts:12
  • @@ -34,7 +34,7 @@
    e: Returns WbIconBadgeEventResultType
    +
  • Defined in types.ts:54
  • @@ -31,7 +31,7 @@

    Parameters

    e: Event

    Returns boolean | void

    +
  • Defined in util.ts:35
  • @@ -31,7 +31,7 @@

    Parameters

    Rest ...args: any[]

    Returns any

    +
  • Defined in util.ts:34
  • @@ -18,7 +18,7 @@

    Variable DEFAULT_DEBUGLEVELConst

    DEFAULT_DEBUGLEVEL: 4 = 4
    +
  • Defined in common.ts:11
  • @@ -21,7 +21,7 @@

    Variable ICON_WIDTHConst

    +
  • Defined in common.ts:19
  • @@ -27,7 +27,7 @@

    Type declaration

    [key: string]: string[]
    +
  • Defined in common.ts:91
  • @@ -18,7 +18,7 @@

    Variable KEY_NODATAConst

    KEY_NODATA: "__not_found__" = "__not_found__"
    +
  • Defined in common.ts:86
  • @@ -26,7 +26,7 @@

    Type declaration

    [key: string]: string
    +
  • Defined in common.ts:122
  • @@ -21,7 +21,7 @@

    Variable RENDER_MAX_PREFETCHConst

    +
  • Defined in common.ts:26
  • @@ -21,7 +21,7 @@

    Variable RENDER_MIN_PREFETCHConst

    +
  • Defined in common.ts:28
  • @@ -21,7 +21,7 @@

    Variable RESERVED_TREE_SOURCE_KEYSConst

    +
  • Defined in common.ts:102
  • @@ -21,7 +21,7 @@

    Variable ROW_HEIGHTConst

    +
  • Defined in common.ts:15
  • @@ -22,7 +22,7 @@

    Variable TEST_IMGConst

    +
  • Defined in common.ts:32
  • @@ -22,7 +22,7 @@

    Variable TITLE_SPAN_PAD_YConst

    +
  • Defined in common.ts:24
  • @@ -30,7 +30,7 @@
    [
    [key: string]: string
    +
  • Defined in common.ts:40
  • @@ -18,7 +18,7 @@

    Variable MAX_INTConst

    MAX_INT: 9007199254740991 = 9007199254740991
    +
  • Defined in util.ts:18
  • @@ -26,7 +26,7 @@

    Type declaration

    [key: number]: string
    +
  • Defined in util.ts:9
  • @@ -21,7 +21,7 @@

    Variable isMacConst

    +
  • Defined in util.ts:21