wunderbaum 0.11.1 → 0.12.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -5
- package/dist/wunderbaum.css.map +1 -1
- package/dist/wunderbaum.d.ts +36 -5
- package/dist/wunderbaum.esm.js +64 -42
- package/dist/wunderbaum.esm.min.js +17 -17
- package/dist/wunderbaum.esm.min.js.map +1 -1
- package/dist/wunderbaum.umd.js +64 -42
- package/dist/wunderbaum.umd.min.js +22 -22
- package/dist/wunderbaum.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/types.ts +28 -4
- package/src/wb_node.ts +60 -28
- package/src/wunderbaum.scss +18 -16
- package/src/wunderbaum.ts +6 -1
package/README.md
CHANGED
|
@@ -7,11 +7,11 @@
|
|
|
7
7
|
[](https://github.com/mar10/grunt-yabs)
|
|
8
8
|
[](https://stackoverflow.com/questions/tagged/wunderbaum)
|
|
9
9
|
|
|
10
|
-
> A modern tree/treegrid control for the web.
|
|
11
|
-
|
|
12
|
-
>
|
|
13
|
-
|
|
14
|
-
|
|
10
|
+
> A modern tree/treegrid control for the web.
|
|
11
|
+
|
|
12
|
+
Designated successor of [Fancytree](https://github.com/mar10/fancytree).<br>
|
|
13
|
+
See the [upgrade guide](https://mar10.github.io/wunderbaum/tutorial/migrate/#what-has-changed)
|
|
14
|
+
for details.
|
|
15
15
|
|
|
16
16
|
[](https://mar10.github.io/wunderbaum/demo/)
|
|
17
17
|
|
package/dist/wunderbaum.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AA6EA;AAAA;EAME;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAGA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAMF;EACE;;;AAGF;EACE;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;EAGA;AAsBA;AAyBA;AAwRA;AAoHA;AA8BA;AAgEA;AAEA;AAUA;AAoBA;AAYA;;AAjkBA;EAEE;;AAIF;EACE;EACA;;AAGF;EACE;EAEA;;AAMF;EACE;EACA;EACA;EACA;EACA;;AAGF;AAAA;EAEE;;AAKF;EACE;EACA;EACA;EACA;EACA;;AAMA;EACE;EACA;EACA;EACA;;AAIA;EACE;;AAKF;EAEE;;AAGF;EAEE;;AAGF;EACE;;AAOA;EAEE;EACA;;AAEA;EACE;;AAaN;EAEE;EACA;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAOF;EACE;;AAGF;EAEE;;AAGA;EACE;;AAKJ;EACE;EACA;;AAGF;EAEE;EACA;;AAEA;EAEE;;AAIJ;EACE;;AAGF;AAAA;AAAA;EAGE;EAcA;EASA;;AAGF;EAEE;;AAON;EACE;EACA;EACA;EACA;EACA;;AAEA;EACE;EAIA;;AAIF;EACE;EACA;EACA;EACA;;AAGF;EACE;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;EACA;;AACA;EACE;;AAKJ;EACE;EACA;;AAEA;EACE;EACA;;AAKN;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;EACA;AAqBA;;AAhBA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;EACA;;AAGF;AAAA;EAEE;EACA;;AAIF;EACE;;AAGF;EACE;EACA;EACA;;AAMA;EACE;;AAIJ;AAAA;EAEE;EACA;EACA;EACA;;AAGF;EACE;EAEA;EACA;EACA;EACA;EACA;;AAUI;EACE;;AAON;EACE;;AAIJ;EACE;;AAEA;EACE;;AAIF;EACE;;AAGF;EACE;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAgBE;EACA;EACA;;AAGF;AAAA;EAEE;;AAcA;EACE;;AAWJ;EACE;;AAGF;EACE;;AAEA;EACE;;AAON;EACE;;AAEA;EACE;;AAQJ;EACE;;AASJ;EACE;;AAEA;EACE;;AAGF;EACE;;AAMJ;EACE;;AAaJ;EACE;;AAEA;EACE;;AAIJ;EACE;;AAEA;EACE;EACA;;AAGA;EACE;EACA;;AAEA;EAGE;EACA;EAGA;EACA;EACA;;AAgBR;AAAA;EAIE;EACA;EACA;;AAKF;EACE;;AAUE;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAFF;AAAA;EAEE;;AAOJ;EAIE;EACA;;AAGF;AAAA;EAKE;EACA;;AAMF;AAAA;EAEE;EACA;EACA;EACA;;AAOF;EACE;;AAGF;AAAA;EAEE;;AAKA;EACE;;;AAMR;AAEA;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;;;AAGF;EACE;EACA;;AAEA;EACE;EACA;;;AAQJ;AACA;AAAA;EAEE;;;AAGF;AAAA;EAEE;;;AAIA;AAAA;EAEE;;AAGF;AAAA;EAEE;;;AAIJ;EACE;;AAEA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;;;AAIJ;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EAGE;;;AAGF;EACE;;;AAKF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"wunderbaum.css"}
|
package/dist/wunderbaum.d.ts
CHANGED
|
@@ -681,7 +681,14 @@ declare module "wb_node" {
|
|
|
681
681
|
setClass(className: string | string[] | Set<string>, flag?: boolean): void;
|
|
682
682
|
/** Start editing this node's title. */
|
|
683
683
|
startEditTitle(): void;
|
|
684
|
-
/**
|
|
684
|
+
/**
|
|
685
|
+
* Call `setExpanded()` on all descendant nodes.
|
|
686
|
+
*
|
|
687
|
+
* @param flag true to expand, false to collapse.
|
|
688
|
+
* @param options Additional options.
|
|
689
|
+
* @see {@link Wunderbaum.expandAll}
|
|
690
|
+
* @see {@link WunderbaumNode.setExpanded}
|
|
691
|
+
*/
|
|
685
692
|
expandAll(flag?: boolean, options?: ExpandAllOptions): Promise<void>;
|
|
686
693
|
/**
|
|
687
694
|
* Find all descendant nodes that match condition (excluding self).
|
|
@@ -1955,12 +1962,34 @@ declare module "types" {
|
|
|
1955
1962
|
}
|
|
1956
1963
|
/** Possible values for {@link Wunderbaum.expandAll} and {@link WunderbaumNode.expandAll}. */
|
|
1957
1964
|
export interface ExpandAllOptions {
|
|
1958
|
-
/** Restrict expand level @default 99 */
|
|
1959
|
-
depth?: number;
|
|
1960
1965
|
/** Expand and load lazy nodes @default false */
|
|
1961
1966
|
loadLazy?: boolean;
|
|
1962
|
-
/**
|
|
1967
|
+
/** Unload lazily loaded children if any (if collapsing). @default false */
|
|
1968
|
+
resetLazy?: boolean;
|
|
1969
|
+
/** Ignore tree's `minExpandLevel` option @default false */
|
|
1963
1970
|
force?: boolean;
|
|
1971
|
+
/** Restrict expand level.
|
|
1972
|
+
* Pass 0 to make only toplevel nodes visible, 1 to expand one level deeper, etc.
|
|
1973
|
+
* @default unset (unlimited)
|
|
1974
|
+
*/
|
|
1975
|
+
depth?: number;
|
|
1976
|
+
/**
|
|
1977
|
+
* Also collapse child nodes beyond the `depth` level.
|
|
1978
|
+
* Otherwise only the `depth` level is collapsed and the expand state of the
|
|
1979
|
+
* descendants is retained.
|
|
1980
|
+
* Only in combination with collapse and `depth`.
|
|
1981
|
+
* Expanding with `deep` option is not supported as recursion depth implied by
|
|
1982
|
+
* the `depth` option. However a `deep` option will be considered if
|
|
1983
|
+
* `collapseOthers` is set.
|
|
1984
|
+
* @default false
|
|
1985
|
+
*/
|
|
1986
|
+
deep?: boolean;
|
|
1987
|
+
/**
|
|
1988
|
+
* Expand up to level=depth and collapse all other branches.
|
|
1989
|
+
* Only in combination with `flag == true`, `depth > 0`.
|
|
1990
|
+
* @default false
|
|
1991
|
+
*/
|
|
1992
|
+
collapseOthers?: boolean;
|
|
1964
1993
|
/** Keep active node visible @default true */
|
|
1965
1994
|
keepActiveNodeVisible?: boolean;
|
|
1966
1995
|
}
|
|
@@ -2071,7 +2100,7 @@ declare module "types" {
|
|
|
2071
2100
|
}
|
|
2072
2101
|
/** Possible values for {@link WunderbaumNode.setExpanded} `options` argument. */
|
|
2073
2102
|
export interface SetExpandedOptions {
|
|
2074
|
-
/** Ignore {@link WunderbaumOptions.minExpandLevel
|
|
2103
|
+
/** Ignore {@link WunderbaumOptions}.minExpandLevel. @default false */
|
|
2075
2104
|
force?: boolean;
|
|
2076
2105
|
/** Immediately update viewport (async otherwise). @default false */
|
|
2077
2106
|
immediate?: boolean;
|
|
@@ -2079,6 +2108,8 @@ declare module "types" {
|
|
|
2079
2108
|
noAnimation?: boolean;
|
|
2080
2109
|
/** Do not send events. @default false */
|
|
2081
2110
|
noEvents?: boolean;
|
|
2111
|
+
/** Unload lazily loaded children if any (if collapsing). @default false */
|
|
2112
|
+
resetLazy?: boolean;
|
|
2082
2113
|
/** Scroll up to bring expanded nodes into viewport. @default false */
|
|
2083
2114
|
scrollIntoView?: boolean;
|
|
2084
2115
|
}
|
package/dist/wunderbaum.esm.js
CHANGED
|
@@ -288,7 +288,7 @@ function throttle(func, wait = 0, options = {}) {
|
|
|
288
288
|
/*!
|
|
289
289
|
* Wunderbaum - util
|
|
290
290
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
291
|
-
* v0.
|
|
291
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
292
292
|
*/
|
|
293
293
|
/** @module util */
|
|
294
294
|
/** Readable names for `MouseEvent.button` */
|
|
@@ -1142,7 +1142,7 @@ var util = /*#__PURE__*/Object.freeze({
|
|
|
1142
1142
|
/*!
|
|
1143
1143
|
* Wunderbaum - types
|
|
1144
1144
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1145
|
-
* v0.
|
|
1145
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
1146
1146
|
*/
|
|
1147
1147
|
/**
|
|
1148
1148
|
* Possible values for {@link WunderbaumNode.update} and {@link Wunderbaum.update}.
|
|
@@ -1206,7 +1206,7 @@ var NavModeEnum;
|
|
|
1206
1206
|
/*!
|
|
1207
1207
|
* Wunderbaum - wb_extension_base
|
|
1208
1208
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1209
|
-
* v0.
|
|
1209
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
1210
1210
|
*/
|
|
1211
1211
|
class WunderbaumExtension {
|
|
1212
1212
|
constructor(tree, id, defaults) {
|
|
@@ -1265,7 +1265,7 @@ class WunderbaumExtension {
|
|
|
1265
1265
|
/*!
|
|
1266
1266
|
* Wunderbaum - ext-filter
|
|
1267
1267
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1268
|
-
* v0.
|
|
1268
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
1269
1269
|
*/
|
|
1270
1270
|
const START_MARKER = "\uFFF7";
|
|
1271
1271
|
const END_MARKER = "\uFFF8";
|
|
@@ -1590,7 +1590,7 @@ function _markFuzzyMatchedChars(text, matches, escapeTitles = true) {
|
|
|
1590
1590
|
/*!
|
|
1591
1591
|
* Wunderbaum - ext-keynav
|
|
1592
1592
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1593
|
-
* v0.
|
|
1593
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
1594
1594
|
*/
|
|
1595
1595
|
const QUICKSEARCH_DELAY = 500;
|
|
1596
1596
|
class KeynavExtension extends WunderbaumExtension {
|
|
@@ -1954,7 +1954,7 @@ class KeynavExtension extends WunderbaumExtension {
|
|
|
1954
1954
|
/*!
|
|
1955
1955
|
* Wunderbaum - ext-logger
|
|
1956
1956
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1957
|
-
* v0.
|
|
1957
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
1958
1958
|
*/
|
|
1959
1959
|
class LoggerExtension extends WunderbaumExtension {
|
|
1960
1960
|
constructor(tree) {
|
|
@@ -1996,7 +1996,7 @@ class LoggerExtension extends WunderbaumExtension {
|
|
|
1996
1996
|
/*!
|
|
1997
1997
|
* Wunderbaum - ext-dnd
|
|
1998
1998
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
1999
|
-
* v0.
|
|
1999
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
2000
2000
|
*/
|
|
2001
2001
|
const nodeMimeType = "application/x-wunderbaum-node";
|
|
2002
2002
|
class DndExtension extends WunderbaumExtension {
|
|
@@ -2446,7 +2446,7 @@ class DndExtension extends WunderbaumExtension {
|
|
|
2446
2446
|
/*!
|
|
2447
2447
|
* Wunderbaum - drag_observer
|
|
2448
2448
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
2449
|
-
* v0.
|
|
2449
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
2450
2450
|
*/
|
|
2451
2451
|
/**
|
|
2452
2452
|
* Convert mouse- and touch events to 'dragstart', 'drag', and 'dragstop'.
|
|
@@ -2595,7 +2595,7 @@ class DragObserver {
|
|
|
2595
2595
|
/*!
|
|
2596
2596
|
* Wunderbaum - common
|
|
2597
2597
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
2598
|
-
* v0.
|
|
2598
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
2599
2599
|
*/
|
|
2600
2600
|
const DEFAULT_DEBUGLEVEL = 3; // Replaced by rollup script
|
|
2601
2601
|
/**
|
|
@@ -2935,7 +2935,7 @@ function decompressSourceData(source) {
|
|
|
2935
2935
|
/*!
|
|
2936
2936
|
* Wunderbaum - ext-grid
|
|
2937
2937
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
2938
|
-
* v0.
|
|
2938
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
2939
2939
|
*/
|
|
2940
2940
|
class GridExtension extends WunderbaumExtension {
|
|
2941
2941
|
constructor(tree) {
|
|
@@ -3026,7 +3026,7 @@ class GridExtension extends WunderbaumExtension {
|
|
|
3026
3026
|
/*!
|
|
3027
3027
|
* Wunderbaum - deferred
|
|
3028
3028
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
3029
|
-
* v0.
|
|
3029
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
3030
3030
|
*/
|
|
3031
3031
|
/**
|
|
3032
3032
|
* Implement a ES6 Promise, that exposes a resolve() and reject() method.
|
|
@@ -3079,7 +3079,7 @@ class Deferred {
|
|
|
3079
3079
|
/*!
|
|
3080
3080
|
* Wunderbaum - wunderbaum_node
|
|
3081
3081
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
3082
|
-
* v0.
|
|
3082
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
3083
3083
|
*/
|
|
3084
3084
|
/** WunderbaumNode properties that can be passed with source data.
|
|
3085
3085
|
* (Any other source properties will be stored as `node.data.PROP`.)
|
|
@@ -3411,54 +3411,65 @@ class WunderbaumNode {
|
|
|
3411
3411
|
startEditTitle() {
|
|
3412
3412
|
this.tree._callMethod("edit.startEditTitle", this);
|
|
3413
3413
|
}
|
|
3414
|
-
/**
|
|
3414
|
+
/**
|
|
3415
|
+
* Call `setExpanded()` on all descendant nodes.
|
|
3416
|
+
*
|
|
3417
|
+
* @param flag true to expand, false to collapse.
|
|
3418
|
+
* @param options Additional options.
|
|
3419
|
+
* @see {@link Wunderbaum.expandAll}
|
|
3420
|
+
* @see {@link WunderbaumNode.setExpanded}
|
|
3421
|
+
*/
|
|
3415
3422
|
async expandAll(flag = true, options) {
|
|
3416
3423
|
const tree = this.tree;
|
|
3417
|
-
const
|
|
3418
|
-
|
|
3424
|
+
const { collapseOthers, deep, depth, force, keepActiveNodeVisible = true, loadLazy, resetLazy, } = options !== null && options !== void 0 ? options : {};
|
|
3425
|
+
// limit expansion level to `depth` (or tree.minExpandLevel). Default: unlimited
|
|
3426
|
+
const treeLevel = this.tree.options.minExpandLevel || null; // 0 -> null
|
|
3427
|
+
const minLevel = depth !== null && depth !== void 0 ? depth : (force ? null : treeLevel);
|
|
3419
3428
|
const expandOpts = {
|
|
3420
|
-
|
|
3429
|
+
deep: deep,
|
|
3421
3430
|
force: force,
|
|
3422
3431
|
loadLazy: loadLazy,
|
|
3432
|
+
resetLazy: resetLazy,
|
|
3433
|
+
scrollIntoView: false, // don't scroll every node while iterating
|
|
3423
3434
|
};
|
|
3424
|
-
|
|
3435
|
+
this.logInfo(`expandAll(${flag}, depth=${depth}, minLevel=${minLevel})`);
|
|
3436
|
+
assert(!(flag && deep != null && !collapseOthers), "Expanding with `deep` option is not supported (implied by the `depth` option).");
|
|
3425
3437
|
// Expand all direct children in parallel:
|
|
3426
3438
|
async function _iter(n, level) {
|
|
3427
3439
|
var _a;
|
|
3428
|
-
// n.logInfo(` _iter(
|
|
3429
|
-
if (level === 0) {
|
|
3430
|
-
return;
|
|
3431
|
-
}
|
|
3432
|
-
// if (!flag && minExpandLevel && !force && n.getLevel() <= minExpandLevel) {
|
|
3433
|
-
// return; // Do not collapse until minExpandLevel
|
|
3434
|
-
// }
|
|
3435
|
-
const level_1 = level == null ? null : level - 1;
|
|
3440
|
+
// n.logInfo(` _iter(level=${level})`);
|
|
3436
3441
|
const promises = [];
|
|
3437
3442
|
(_a = n.children) === null || _a === void 0 ? void 0 : _a.forEach((cn) => {
|
|
3438
3443
|
if (flag) {
|
|
3439
|
-
if (!cn.expanded &&
|
|
3444
|
+
if (!cn.expanded &&
|
|
3445
|
+
(minLevel == null || level < minLevel) &&
|
|
3446
|
+
(cn.children || (loadLazy && cn.lazy))) {
|
|
3440
3447
|
// Node is collapsed and may be expanded (i.e. has children or is lazy)
|
|
3441
3448
|
// Expanding may be async, so we store the promise.
|
|
3442
3449
|
// Also the recursion is delayed until expansion finished.
|
|
3443
3450
|
const p = cn.setExpanded(true, expandOpts);
|
|
3444
3451
|
promises.push(p);
|
|
3445
|
-
|
|
3446
|
-
|
|
3447
|
-
|
|
3452
|
+
if (depth == null) {
|
|
3453
|
+
p.then(async () => {
|
|
3454
|
+
await _iter(cn, level + 1);
|
|
3455
|
+
});
|
|
3456
|
+
}
|
|
3448
3457
|
}
|
|
3449
3458
|
else {
|
|
3450
3459
|
// We don't expand the node, but still visit descendants.
|
|
3451
3460
|
// There we may find lazy nodes, so we
|
|
3452
|
-
promises.push(_iter(cn,
|
|
3461
|
+
promises.push(_iter(cn, level + 1));
|
|
3453
3462
|
}
|
|
3454
3463
|
}
|
|
3455
3464
|
else {
|
|
3456
3465
|
// Collapsing is always synchronous, so no promises required
|
|
3457
|
-
|
|
3458
|
-
|
|
3466
|
+
// Do not collapse until minExpandLevel
|
|
3467
|
+
if (minLevel == null || level >= minLevel) {
|
|
3459
3468
|
cn.setExpanded(false, expandOpts);
|
|
3460
3469
|
}
|
|
3461
|
-
|
|
3470
|
+
if ((minLevel != null && level < minLevel) || deep) {
|
|
3471
|
+
_iter(cn, level + 1); // recursion, even if cn was already collapsed
|
|
3472
|
+
}
|
|
3462
3473
|
}
|
|
3463
3474
|
});
|
|
3464
3475
|
return new Promise((resolve) => {
|
|
@@ -3467,10 +3478,15 @@ class WunderbaumNode {
|
|
|
3467
3478
|
});
|
|
3468
3479
|
});
|
|
3469
3480
|
}
|
|
3470
|
-
const tag = tree.logTime(`${this}.expandAll(${flag})`);
|
|
3481
|
+
const tag = tree.logTime(`${this}.expandAll(${flag}, depth=${depth})`);
|
|
3471
3482
|
try {
|
|
3472
3483
|
tree.enableUpdate(false);
|
|
3473
|
-
await _iter(this,
|
|
3484
|
+
await _iter(this, 0);
|
|
3485
|
+
if (collapseOthers) {
|
|
3486
|
+
assert(flag, "Option `collapseOthers` requires flag=true");
|
|
3487
|
+
assert(minLevel != null, "Option `collapseOthers` requires `depth` or `minExpandLevel`");
|
|
3488
|
+
this.expandAll(false, { depth: minLevel });
|
|
3489
|
+
}
|
|
3474
3490
|
}
|
|
3475
3491
|
finally {
|
|
3476
3492
|
tree.enableUpdate(true);
|
|
@@ -4959,7 +4975,7 @@ class WunderbaumNode {
|
|
|
4959
4975
|
const orgEvent = options === null || options === void 0 ? void 0 : options.event; // Default: null
|
|
4960
4976
|
const colIdx = options === null || options === void 0 ? void 0 : options.colIdx; // Default: null
|
|
4961
4977
|
const edit = options === null || options === void 0 ? void 0 : options.edit; // Default: false
|
|
4962
|
-
assert(!colIdx || tree.isCellNav(), "colIdx requires cellNav");
|
|
4978
|
+
// util.assert(!colIdx || tree.isCellNav(), "colIdx requires cellNav");
|
|
4963
4979
|
assert(!edit || colIdx != null, "edit requires colIdx");
|
|
4964
4980
|
if (!noEvents) {
|
|
4965
4981
|
if (flag) {
|
|
@@ -5013,7 +5029,7 @@ class WunderbaumNode {
|
|
|
5013
5029
|
* Expand or collapse this node.
|
|
5014
5030
|
*/
|
|
5015
5031
|
async setExpanded(flag = true, options) {
|
|
5016
|
-
const { force, scrollIntoView, immediate } = options !== null && options !== void 0 ? options : {};
|
|
5032
|
+
const { force, scrollIntoView, immediate, resetLazy } = options !== null && options !== void 0 ? options : {};
|
|
5017
5033
|
const sendEvents = !(options === null || options === void 0 ? void 0 : options.noEvents); // Default: send events
|
|
5018
5034
|
if (!flag &&
|
|
5019
5035
|
this.isExpanded() &&
|
|
@@ -5036,6 +5052,9 @@ class WunderbaumNode {
|
|
|
5036
5052
|
if (flag && this.lazy && this.children == null) {
|
|
5037
5053
|
await this.loadLazy();
|
|
5038
5054
|
}
|
|
5055
|
+
else if (!flag && resetLazy && this.lazy && this.children) {
|
|
5056
|
+
this.resetLazy();
|
|
5057
|
+
}
|
|
5039
5058
|
this.expanded = flag;
|
|
5040
5059
|
const updateOpts = { immediate: immediate };
|
|
5041
5060
|
// const updateOpts = { immediate: !!util.getOption(options, "immediate") };
|
|
@@ -5606,7 +5625,7 @@ WunderbaumNode.sequence = 0;
|
|
|
5606
5625
|
/*!
|
|
5607
5626
|
* Wunderbaum - ext-edit
|
|
5608
5627
|
* Copyright (c) 2021-2024, Martin Wendt. Released under the MIT license.
|
|
5609
|
-
* v0.
|
|
5628
|
+
* v0.12.0, Sun, 12 Jan 2025 10:51:41 GMT (https://github.com/mar10/wunderbaum)
|
|
5610
5629
|
*/
|
|
5611
5630
|
// const START_MARKER = "\uFFF7";
|
|
5612
5631
|
class EditExtension extends WunderbaumExtension {
|
|
@@ -5941,8 +5960,8 @@ class EditExtension extends WunderbaumExtension {
|
|
|
5941
5960
|
* https://github.com/mar10/wunderbaum
|
|
5942
5961
|
*
|
|
5943
5962
|
* Released under the MIT license.
|
|
5944
|
-
* @version v0.
|
|
5945
|
-
* @date
|
|
5963
|
+
* @version v0.12.0
|
|
5964
|
+
* @date Sun, 12 Jan 2025 10:51:41 GMT
|
|
5946
5965
|
*/
|
|
5947
5966
|
// import "./wunderbaum.scss";
|
|
5948
5967
|
class WbSystemRoot extends WunderbaumNode {
|
|
@@ -6275,7 +6294,10 @@ class Wunderbaum {
|
|
|
6275
6294
|
false) {
|
|
6276
6295
|
return false;
|
|
6277
6296
|
}
|
|
6278
|
-
if (node &&
|
|
6297
|
+
if (node &&
|
|
6298
|
+
info.colIdx === 0 &&
|
|
6299
|
+
node.isExpandable() &&
|
|
6300
|
+
info.region !== NodeRegion.expander) {
|
|
6279
6301
|
this._callMethod("edit._stopEditTitle");
|
|
6280
6302
|
node.setExpanded(!node.isExpanded());
|
|
6281
6303
|
}
|
|
@@ -8264,7 +8286,7 @@ class Wunderbaum {
|
|
|
8264
8286
|
}
|
|
8265
8287
|
Wunderbaum.sequence = 0;
|
|
8266
8288
|
/** Wunderbaum release version number "MAJOR.MINOR.PATCH". */
|
|
8267
|
-
Wunderbaum.version = "v0.
|
|
8289
|
+
Wunderbaum.version = "v0.12.0"; // Set to semver by 'grunt release'
|
|
8268
8290
|
/** Expose some useful methods of the util.ts module as `Wunderbaum.util`. */
|
|
8269
8291
|
Wunderbaum.util = util;
|
|
8270
8292
|
|