wunderbaum 0.5.0 → 0.5.1
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/dist/wunderbaum.css +19 -0
- package/dist/wunderbaum.css.map +1 -1
- package/dist/wunderbaum.d.ts +16 -4
- package/dist/wunderbaum.esm.js +61 -38
- package/dist/wunderbaum.esm.min.js +21 -21
- package/dist/wunderbaum.esm.min.js.map +1 -1
- package/dist/wunderbaum.umd.js +61 -38
- package/dist/wunderbaum.umd.min.js +30 -30
- package/dist/wunderbaum.umd.min.js.map +1 -1
- package/package.json +1 -1
- package/src/common.ts +4 -4
- package/src/types.ts +18 -2
- package/src/wb_ext_filter.ts +4 -11
- package/src/wb_ext_logger.ts +2 -1
- package/src/wb_node.ts +36 -2
- package/src/wb_options.ts +7 -2
- package/src/wunderbaum.scss +20 -0
- package/src/wunderbaum.ts +5 -4
package/dist/wunderbaum.css
CHANGED
|
@@ -458,6 +458,25 @@ div.wunderbaum.wb-checkbox-auto-hide:focus .wb-row.wb-active i.wb-checkbox, div.
|
|
|
458
458
|
text-align: left;
|
|
459
459
|
}
|
|
460
460
|
|
|
461
|
+
i.wb-icon {
|
|
462
|
+
position: relative;
|
|
463
|
+
}
|
|
464
|
+
i.wb-icon > span.wb-badge {
|
|
465
|
+
position: absolute;
|
|
466
|
+
display: inline-block;
|
|
467
|
+
top: 0;
|
|
468
|
+
left: -0.6rem;
|
|
469
|
+
color: white;
|
|
470
|
+
background-color: var(--wb-bg-highlight-color);
|
|
471
|
+
padding: 0.2em 0.3rem 0.1em 0.3rem;
|
|
472
|
+
font-size: 60%;
|
|
473
|
+
font-weight: 200;
|
|
474
|
+
line-height: 1;
|
|
475
|
+
text-align: center;
|
|
476
|
+
white-space: nowrap;
|
|
477
|
+
border-radius: 0.5rem;
|
|
478
|
+
}
|
|
479
|
+
|
|
461
480
|
/* Class 'wb-tristate' is used to mark checkboxes that should toggle like
|
|
462
481
|
* indeterminate -> checked -> unchecked -> indeterminate ...
|
|
463
482
|
*/
|
package/dist/wunderbaum.css.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AA2EA;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;AAuBA;AAkQA;AAoHA;AAwBA;AAgEA;AAEA;AAUA;AAoBA;AAYA;;AAniBA;EAEE;;AAIF;EACE;EACA;;AAGF;EACE;EAEA;;AAMF;EACE;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;;AAIJ;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;AAeA;;AAVA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;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;;AAcN;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;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"wunderbaum.css"}
|
|
1
|
+
{"version":3,"sourceRoot":"","sources":["../src/wunderbaum.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AA2EA;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;AAuBA;AAkQA;AAoHA;AAwBA;AAgEA;AAEA;AAUA;AAoBA;AAYA;;AAniBA;EAEE;;AAIF;EACE;EACA;;AAGF;EACE;EAEA;;AAMF;EACE;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;;AAIJ;EACE;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACE;;AAIJ;EACE;AAeA;;AAVA;AAAA;AAAA;AAAA;EAIE;EACA;EACA;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;;AAcN;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;;AACA;EACE;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;;;AAIJ;AAAA;AAAA;AAMA;EACE;EACA;;;AAGF;EAEE;EACA;;;AAGF;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE;;;AAIJ;EACE;IACE;;EAGF;IACE","file":"wunderbaum.css"}
|
package/dist/wunderbaum.d.ts
CHANGED
|
@@ -627,6 +627,8 @@ declare module "wb_node" {
|
|
|
627
627
|
/** Return true if this node is partially selected (tri-state). */
|
|
628
628
|
isPartsel(): boolean;
|
|
629
629
|
/** Return true if this node has DOM representaion, i.e. is displayed in the viewport. */
|
|
630
|
+
isRadio(): boolean;
|
|
631
|
+
/** Return true if this node has DOM representaion, i.e. is displayed in the viewport. */
|
|
630
632
|
isRendered(): boolean;
|
|
631
633
|
/** Return true if this node is the (invisible) system root node.
|
|
632
634
|
* (See also [[isTopLevel()]].)
|
|
@@ -866,7 +868,7 @@ declare module "wb_options" {
|
|
|
866
868
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
867
869
|
* @VERSION, @DATE (https://github.com/mar10/wunderbaum)
|
|
868
870
|
*/
|
|
869
|
-
import { ColumnDefinitionList, DndOptionsType, DynamicBoolOption, DynamicBoolOrStringOption, DynamicCheckboxOption, DynamicIconOption, NavModeEnum, NodeTypeDefinitionMap, SelectModeType, WbActivateEventType, WbChangeEventType, WbClickEventType, WbDeactivateEventType,
|
|
871
|
+
import { ColumnDefinitionList, DndOptionsType, DynamicBoolOption, DynamicBoolOrStringOption, DynamicCheckboxOption, DynamicIconOption, NavModeEnum, NodeTypeDefinitionMap, SelectModeType, WbActivateEventType, WbChangeEventType, WbClickEventType, WbDeactivateEventType, WbErrorEventType, WbIconBadgeCallback, WbInitEventType, WbKeydownEventType, WbNodeData, WbNodeEventType, WbReceiveEventType, WbRenderEventType, WbTreeEventType } from "types";
|
|
870
872
|
/**
|
|
871
873
|
* Available options for [[Wunderbaum]].
|
|
872
874
|
*
|
|
@@ -1079,7 +1081,7 @@ declare module "wb_options" {
|
|
|
1079
1081
|
*
|
|
1080
1082
|
* @category Callback
|
|
1081
1083
|
*/
|
|
1082
|
-
|
|
1084
|
+
iconBadge?: WbIconBadgeCallback;
|
|
1083
1085
|
/**
|
|
1084
1086
|
*
|
|
1085
1087
|
* @category Callback
|
|
@@ -1198,6 +1200,8 @@ declare module "types" {
|
|
|
1198
1200
|
export type SourceType = string | SourceListType | SourceAjaxType | SourceObjectType;
|
|
1199
1201
|
/** Passed to `find...()` methods. Should return true if node matches. */
|
|
1200
1202
|
export type MatcherCallback = (node: WunderbaumNode) => boolean;
|
|
1203
|
+
/** Used for `tree.iconBadge` event. */
|
|
1204
|
+
export type WbIconBadgeCallback = (e: WbIconBadgeEventType) => WbIconBadgeEventResultType;
|
|
1201
1205
|
/** Passed to `sortChildren()` methods. Should return -1, 0, or 1. */
|
|
1202
1206
|
export type SortCallback = (a: WunderbaumNode, b: WunderbaumNode) => number;
|
|
1203
1207
|
/** When set as option, called when the value is needed (e.g. `colspan` type definition). */
|
|
@@ -1295,8 +1299,16 @@ declare module "types" {
|
|
|
1295
1299
|
/** The original event. */
|
|
1296
1300
|
event: Event;
|
|
1297
1301
|
}
|
|
1298
|
-
export interface
|
|
1299
|
-
|
|
1302
|
+
export interface WbIconBadgeEventType extends WbNodeEventType {
|
|
1303
|
+
iconSpan: HTMLElement;
|
|
1304
|
+
}
|
|
1305
|
+
export interface WbIconBadgeEventResultType {
|
|
1306
|
+
/** Content of the badge `<span class='wb-badge'>` if any. */
|
|
1307
|
+
badge: string | number | HTMLSpanElement | null | false;
|
|
1308
|
+
/** Additional class name(s), separate with space. */
|
|
1309
|
+
badgeClass?: string;
|
|
1310
|
+
/** Additional class name(s), separate with space. */
|
|
1311
|
+
badgeTooltip?: string;
|
|
1300
1312
|
}
|
|
1301
1313
|
export interface WbFocusEventType extends WbTreeEventType {
|
|
1302
1314
|
/** The original event. */
|
package/dist/wunderbaum.esm.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/*!
|
|
2
2
|
* Wunderbaum - util
|
|
3
3
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
4
|
-
* v0.5.
|
|
4
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
5
5
|
*/
|
|
6
6
|
/** @module util */
|
|
7
7
|
/** Readable names for `MouseEvent.button` */
|
|
@@ -756,7 +756,7 @@ var util = /*#__PURE__*/Object.freeze({
|
|
|
756
756
|
/*!
|
|
757
757
|
* Wunderbaum - types
|
|
758
758
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
759
|
-
* v0.5.
|
|
759
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
760
760
|
*/
|
|
761
761
|
/**
|
|
762
762
|
* Possible values for {@link WunderbaumNode.update()} and {@link Wunderbaum.update()}.
|
|
@@ -820,7 +820,7 @@ var NavModeEnum;
|
|
|
820
820
|
/*!
|
|
821
821
|
* Wunderbaum - wb_extension_base
|
|
822
822
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
823
|
-
* v0.5.
|
|
823
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
824
824
|
*/
|
|
825
825
|
class WunderbaumExtension {
|
|
826
826
|
constructor(tree, id, defaults) {
|
|
@@ -1175,7 +1175,7 @@ function throttle(func, wait = 0, options = {}) {
|
|
|
1175
1175
|
/*!
|
|
1176
1176
|
* Wunderbaum - ext-filter
|
|
1177
1177
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
1178
|
-
* v0.5.
|
|
1178
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
1179
1179
|
*/
|
|
1180
1180
|
const START_MARKER = "\uFFF7";
|
|
1181
1181
|
const END_MARKER = "\uFFF8";
|
|
@@ -1390,7 +1390,6 @@ class FilterExtension extends WunderbaumExtension {
|
|
|
1390
1390
|
let tree = this.tree;
|
|
1391
1391
|
// statusNode = tree.root.findDirectChild(KEY_NODATA),
|
|
1392
1392
|
// escapeTitles = tree.options.escapeTitles;
|
|
1393
|
-
// enhanceTitle = tree.options.enhanceTitle,
|
|
1394
1393
|
tree.enableUpdate(false);
|
|
1395
1394
|
// if (statusNode) {
|
|
1396
1395
|
// statusNode.remove();
|
|
@@ -1400,16 +1399,10 @@ class FilterExtension extends WunderbaumExtension {
|
|
|
1400
1399
|
delete tree.root.match;
|
|
1401
1400
|
delete tree.root.subMatchCount;
|
|
1402
1401
|
tree.visit((node) => {
|
|
1403
|
-
if (node.match && node._rowElem) {
|
|
1404
|
-
|
|
1405
|
-
|
|
1406
|
-
|
|
1407
|
-
titleElem.textContent = node.title;
|
|
1408
|
-
// } else {
|
|
1409
|
-
// titleElem.innerHTML = node.title;
|
|
1410
|
-
// }
|
|
1411
|
-
node._callEvent("enhanceTitle", { titleElem: titleElem });
|
|
1412
|
-
}
|
|
1402
|
+
// if (node.match && node._rowElem) {
|
|
1403
|
+
// let titleElem = node._rowElem.querySelector("span.wb-title")!;
|
|
1404
|
+
// node._callEvent("enhanceTitle", { titleElem: titleElem });
|
|
1405
|
+
// }
|
|
1413
1406
|
delete node.match;
|
|
1414
1407
|
delete node.subMatchCount;
|
|
1415
1408
|
delete node.titleWithHighlight;
|
|
@@ -1475,7 +1468,7 @@ function _markFuzzyMatchedChars(text, matches, escapeTitles = true) {
|
|
|
1475
1468
|
/*!
|
|
1476
1469
|
* Wunderbaum - ext-keynav
|
|
1477
1470
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
1478
|
-
* v0.5.
|
|
1471
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
1479
1472
|
*/
|
|
1480
1473
|
const QUICKSEARCH_DELAY = 500;
|
|
1481
1474
|
class KeynavExtension extends WunderbaumExtension {
|
|
@@ -1815,13 +1808,14 @@ class KeynavExtension extends WunderbaumExtension {
|
|
|
1815
1808
|
/*!
|
|
1816
1809
|
* Wunderbaum - ext-logger
|
|
1817
1810
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
1818
|
-
* v0.5.
|
|
1811
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
1819
1812
|
*/
|
|
1820
1813
|
class LoggerExtension extends WunderbaumExtension {
|
|
1821
1814
|
constructor(tree) {
|
|
1822
1815
|
super(tree, "logger", {});
|
|
1823
1816
|
this.ignoreEvents = new Set([
|
|
1824
|
-
"
|
|
1817
|
+
"iconBadge",
|
|
1818
|
+
// "enhanceTitle",
|
|
1825
1819
|
"render",
|
|
1826
1820
|
"discard",
|
|
1827
1821
|
]);
|
|
@@ -1855,7 +1849,7 @@ class LoggerExtension extends WunderbaumExtension {
|
|
|
1855
1849
|
/*!
|
|
1856
1850
|
* Wunderbaum - common
|
|
1857
1851
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
1858
|
-
* v0.5.
|
|
1852
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
1859
1853
|
*/
|
|
1860
1854
|
const DEFAULT_DEBUGLEVEL = 3; // Replaced by rollup script
|
|
1861
1855
|
/**
|
|
@@ -1911,11 +1905,11 @@ const iconMaps = {
|
|
|
1911
1905
|
},
|
|
1912
1906
|
fontawesome6: {
|
|
1913
1907
|
error: "fa-solid fa-triangle-exclamation",
|
|
1914
|
-
loading: "fa-
|
|
1908
|
+
loading: "fa-solid fa-chevron-right fa-beat",
|
|
1915
1909
|
noData: "fa-solid fa-circle-question",
|
|
1916
|
-
expanderExpanded: "fa-
|
|
1917
|
-
expanderCollapsed: "fa-
|
|
1918
|
-
expanderLazy: "fa-
|
|
1910
|
+
expanderExpanded: "fa-solid fa-chevron-down",
|
|
1911
|
+
expanderCollapsed: "fa-solid fa-chevron-right",
|
|
1912
|
+
expanderLazy: "fa-solid fa-chevron-right wb-helper-lazy-expander",
|
|
1919
1913
|
checkChecked: "fa-regular fa-square-check",
|
|
1920
1914
|
checkUnchecked: "fa-regular fa-square",
|
|
1921
1915
|
checkUnknown: "fa-regular fa-square-minus",
|
|
@@ -2121,7 +2115,7 @@ function inflateSourceData(source) {
|
|
|
2121
2115
|
/*!
|
|
2122
2116
|
* Wunderbaum - ext-dnd
|
|
2123
2117
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
2124
|
-
* v0.5.
|
|
2118
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
2125
2119
|
*/
|
|
2126
2120
|
const nodeMimeType = "application/x-wunderbaum-node";
|
|
2127
2121
|
class DndExtension extends WunderbaumExtension {
|
|
@@ -2451,7 +2445,7 @@ class DndExtension extends WunderbaumExtension {
|
|
|
2451
2445
|
/*!
|
|
2452
2446
|
* Wunderbaum - drag_observer
|
|
2453
2447
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
2454
|
-
* v0.5.
|
|
2448
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
2455
2449
|
*/
|
|
2456
2450
|
/**
|
|
2457
2451
|
* Convert mouse- and touch events to 'dragstart', 'drag', and 'dragstop'.
|
|
@@ -2587,7 +2581,7 @@ class DragObserver {
|
|
|
2587
2581
|
/*!
|
|
2588
2582
|
* Wunderbaum - ext-grid
|
|
2589
2583
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
2590
|
-
* v0.5.
|
|
2584
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
2591
2585
|
*/
|
|
2592
2586
|
class GridExtension extends WunderbaumExtension {
|
|
2593
2587
|
constructor(tree) {
|
|
@@ -2624,7 +2618,7 @@ class GridExtension extends WunderbaumExtension {
|
|
|
2624
2618
|
/*!
|
|
2625
2619
|
* Wunderbaum - deferred
|
|
2626
2620
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
2627
|
-
* v0.5.
|
|
2621
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
2628
2622
|
*/
|
|
2629
2623
|
/**
|
|
2630
2624
|
* Implement a ES6 Promise, that exposes a resolve() and reject() method.
|
|
@@ -2677,7 +2671,7 @@ class Deferred {
|
|
|
2677
2671
|
/*!
|
|
2678
2672
|
* Wunderbaum - wunderbaum_node
|
|
2679
2673
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
2680
|
-
* v0.5.
|
|
2674
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
2681
2675
|
*/
|
|
2682
2676
|
/** WunderbaumNode properties that can be passed with source data.
|
|
2683
2677
|
* (Any other source properties will be stored as `node.data.PROP`.)
|
|
@@ -3386,6 +3380,10 @@ class WunderbaumNode {
|
|
|
3386
3380
|
return !this.selected && !!this._partsel;
|
|
3387
3381
|
}
|
|
3388
3382
|
/** Return true if this node has DOM representaion, i.e. is displayed in the viewport. */
|
|
3383
|
+
isRadio() {
|
|
3384
|
+
return this.checkbox === "radio" || !!this.parent.radiogroup;
|
|
3385
|
+
}
|
|
3386
|
+
/** Return true if this node has DOM representaion, i.e. is displayed in the viewport. */
|
|
3389
3387
|
isRendered() {
|
|
3390
3388
|
return !!this._rowElem;
|
|
3391
3389
|
}
|
|
@@ -3952,6 +3950,30 @@ class WunderbaumNode {
|
|
|
3952
3950
|
else {
|
|
3953
3951
|
parentElem.appendChild(iconSpan);
|
|
3954
3952
|
}
|
|
3953
|
+
// Event handler `tree.iconBadge` can return a badge text or HTMLSpanElement
|
|
3954
|
+
let cbRes = this._callEvent("iconBadge", { iconSpan: iconSpan });
|
|
3955
|
+
let badge = null;
|
|
3956
|
+
if (cbRes != null && cbRes !== false) {
|
|
3957
|
+
let classes = "";
|
|
3958
|
+
let tooltip = "";
|
|
3959
|
+
if (isPlainObject(cbRes)) {
|
|
3960
|
+
badge = "" + cbRes.badge;
|
|
3961
|
+
classes = cbRes.badgeClass ? " " + cbRes.badgeClass : "";
|
|
3962
|
+
tooltip = cbRes.badgeTooltip ? ` title="${cbRes.badgeTooltip}"` : "";
|
|
3963
|
+
}
|
|
3964
|
+
else if (typeof cbRes === "number") {
|
|
3965
|
+
badge = "" + cbRes;
|
|
3966
|
+
}
|
|
3967
|
+
else {
|
|
3968
|
+
badge = cbRes; // string or HTMLSpanElement
|
|
3969
|
+
}
|
|
3970
|
+
if (typeof badge === "string") {
|
|
3971
|
+
badge = elemFromHtml(`<span class="wb-badge${classes}"${tooltip}>${escapeHtml(badge)}</span>`);
|
|
3972
|
+
}
|
|
3973
|
+
if (badge) {
|
|
3974
|
+
iconSpan.append(badge);
|
|
3975
|
+
}
|
|
3976
|
+
}
|
|
3955
3977
|
// this.log("_createIcon: ", iconSpan);
|
|
3956
3978
|
return iconSpan;
|
|
3957
3979
|
}
|
|
@@ -4018,7 +4040,7 @@ class WunderbaumNode {
|
|
|
4018
4040
|
titleSpan = document.createElement("span");
|
|
4019
4041
|
titleSpan.classList.add("wb-title");
|
|
4020
4042
|
nodeElem.appendChild(titleSpan);
|
|
4021
|
-
this._callEvent("enhanceTitle", { titleSpan: titleSpan });
|
|
4043
|
+
// this._callEvent("enhanceTitle", { titleSpan: titleSpan });
|
|
4022
4044
|
// Store the width of leading icons with the node, so we can calculate
|
|
4023
4045
|
// the width of the embedded title span later
|
|
4024
4046
|
nodeElem._ofsTitlePx = ofsTitlePx;
|
|
@@ -4556,7 +4578,7 @@ class WunderbaumNode {
|
|
|
4556
4578
|
/** Toggle the check/uncheck state. */
|
|
4557
4579
|
toggleSelected(options) {
|
|
4558
4580
|
let flag = this.isSelected();
|
|
4559
|
-
if (flag === undefined) {
|
|
4581
|
+
if (flag === undefined && !this.isRadio()) {
|
|
4560
4582
|
flag = this._anySelectable();
|
|
4561
4583
|
}
|
|
4562
4584
|
else {
|
|
@@ -4960,7 +4982,7 @@ WunderbaumNode.sequence = 0;
|
|
|
4960
4982
|
/*!
|
|
4961
4983
|
* Wunderbaum - ext-edit
|
|
4962
4984
|
* Copyright (c) 2021-2023, Martin Wendt. Released under the MIT license.
|
|
4963
|
-
* v0.5.
|
|
4985
|
+
* v0.5.1, Sat, 16 Sep 2023 19:08:55 GMT (https://github.com/mar10/wunderbaum)
|
|
4964
4986
|
*/
|
|
4965
4987
|
// const START_MARKER = "\uFFF7";
|
|
4966
4988
|
class EditExtension extends WunderbaumExtension {
|
|
@@ -5256,8 +5278,8 @@ class EditExtension extends WunderbaumExtension {
|
|
|
5256
5278
|
* https://github.com/mar10/wunderbaum
|
|
5257
5279
|
*
|
|
5258
5280
|
* Released under the MIT license.
|
|
5259
|
-
* @version v0.5.
|
|
5260
|
-
* @date
|
|
5281
|
+
* @version v0.5.1
|
|
5282
|
+
* @date Sat, 16 Sep 2023 19:08:55 GMT
|
|
5261
5283
|
*/
|
|
5262
5284
|
// import "./wunderbaum.scss";
|
|
5263
5285
|
class WbSystemRoot extends WunderbaumNode {
|
|
@@ -5347,10 +5369,11 @@ class Wunderbaum {
|
|
|
5347
5369
|
navigationModeOption: null,
|
|
5348
5370
|
quicksearch: true,
|
|
5349
5371
|
// --- Events ---
|
|
5350
|
-
|
|
5351
|
-
|
|
5352
|
-
|
|
5353
|
-
|
|
5372
|
+
iconBadge: null,
|
|
5373
|
+
change: null,
|
|
5374
|
+
// enhanceTitle: null,
|
|
5375
|
+
error: null,
|
|
5376
|
+
receive: null,
|
|
5354
5377
|
// --- Strings ---
|
|
5355
5378
|
strings: {
|
|
5356
5379
|
loadError: "Error",
|
|
@@ -7390,7 +7413,7 @@ class Wunderbaum {
|
|
|
7390
7413
|
}
|
|
7391
7414
|
Wunderbaum.sequence = 0;
|
|
7392
7415
|
/** Wunderbaum release version number "MAJOR.MINOR.PATCH". */
|
|
7393
|
-
Wunderbaum.version = "v0.5.
|
|
7416
|
+
Wunderbaum.version = "v0.5.1"; // Set to semver by 'grunt release'
|
|
7394
7417
|
/** Expose some useful methods of the util.ts module as `Wunderbaum.util`. */
|
|
7395
7418
|
Wunderbaum.util = util;
|
|
7396
7419
|
|