wunderbaum 0.1.0 → 0.1.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.
@@ -1,5 +1,5 @@
1
1
  /*!
2
2
  * Wunderbaum style sheet (generated from wunderbaum.scss)
3
3
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
4
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
4
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
5
5
  */div.wunderbaum{box-sizing:border-box;height:100%;min-height:4px;background-color:#fff;margin:0;padding:0;font-family:Helvetica,sans-serif;font-size:14px;color:#56534c;border:2px solid #56534c;border-radius:4px;background-clip:content-box;overflow-x:auto;overflow-y:scroll}div.wunderbaum:focus,div.wunderbaum:focus-within{border-color:#275dc5}div.wunderbaum.wb-disabled{opacity:0.7;pointer-events:none}div.wunderbaum div.wb-list-container{position:relative;min-height:4px}div.wunderbaum div.wb-header{position:sticky;top:0;z-index:2}div.wunderbaum div.wb-header,div.wunderbaum div.wb-list-container{overflow:unset}div.wunderbaum div.wb-row{position:absolute;width:100%;height:22px;line-height:22px;border:1px solid transparent}div.wunderbaum.wb-fixed-col span.wb-col:first-of-type{position:sticky;left:0;z-index:1;background-color:#fff}div.wunderbaum.wb-fixed-col div.wb-header span.wb-col:first-of-type{background-color:#dedede}div.wunderbaum.wb-fixed-col div.wb-node-list div.wb-row.wb-active span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col div.wb-node-list div.wb-row.wb-selected span.wb-col:first-of-type{background-color:#e5f3fb}div.wunderbaum.wb-fixed-col div.wb-node-list div.wb-row.wb-active:hover span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col div.wb-node-list div.wb-row.wb-selected:hover span.wb-col:first-of-type{background-color:#dceff8}div.wunderbaum.wb-fixed-col div.wb-node-list div.wb-row:hover span.wb-col:first-of-type{background-color:#f7fcfe}div.wunderbaum.wb-fixed-col:not(:focus-within) div.wb-node-list div.wb-row.wb-active span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus-within) div.wb-node-list div.wb-row.wb-selected span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus) div.wb-node-list div.wb-row.wb-active span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus) div.wb-node-list div.wb-row.wb-selected span.wb-col:first-of-type{background-color:#f0f0f0;border-color:#acacac}div.wunderbaum.wb-fixed-col:not(:focus-within) div.wb-node-list div.wb-row.wb-active span.wb-col:first-of-type:hover span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus-within) div.wb-node-list div.wb-row.wb-selected span.wb-col:first-of-type:hover span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus) div.wb-node-list div.wb-row.wb-active span.wb-col:first-of-type:hover span.wb-col:first-of-type,div.wunderbaum.wb-fixed-col:not(:focus) div.wb-node-list div.wb-row.wb-selected span.wb-col:first-of-type:hover span.wb-col:first-of-type{background-color:#eaeaea}div.wunderbaum:not(:focus-within) div.wb-node-list div.wb-row.wb-active,div.wunderbaum:not(:focus-within) div.wb-node-list div.wb-row.wb-selected,div.wunderbaum:not(:focus) div.wb-node-list div.wb-row.wb-active,div.wunderbaum:not(:focus) div.wb-node-list div.wb-row.wb-selected{background-color:#f0f0f0;border-color:#acacac}div.wunderbaum:not(:focus-within) div.wb-node-list div.wb-row.wb-active:hover,div.wunderbaum:not(:focus-within) div.wb-node-list div.wb-row.wb-selected:hover,div.wunderbaum:not(:focus) div.wb-node-list div.wb-row.wb-active:hover,div.wunderbaum:not(:focus) div.wb-node-list div.wb-row.wb-selected:hover{background-color:#eaeaea}div.wunderbaum.wb-alternate div.wb-node-list div.wb-row:nth-of-type(even):not(.wb-active):not(.wb-selected){background-color:#f7f7f7}div.wunderbaum.wb-alternate div.wb-node-list div.wb-row:nth-of-type(even):not(.wb-active):not(.wb-selected):hover{background-color:#f3f3f3}div.wunderbaum div.wb-node-list div.wb-row:hover{background-color:#f7fcfe}div.wunderbaum div.wb-node-list div.wb-row.wb-active,div.wunderbaum div.wb-node-list div.wb-row.wb-selected{background-color:#e5f3fb}div.wunderbaum div.wb-node-list div.wb-row.wb-active:hover,div.wunderbaum div.wb-node-list div.wb-row.wb-selected:hover{background-color:#dceff8}div.wunderbaum div.wb-node-list div.wb-row.wb-focus:not(.wb-active){border-style:dotted;border-color:#70c0e7}div.wunderbaum div.wb-node-list div.wb-row.wb-active{border-style:solid;border-color:#70c0e7}div.wunderbaum div.wb-node-list div.wb-row.wb-active:hover{border-color:#26a0da}div.wunderbaum div.wb-node-list div.wb-row.wb-loading{font-style:italic}div.wunderbaum div.wb-node-list div.wb-row.wb-busy,div.wunderbaum div.wb-node-list div.wb-row i.wb-busy,div.wunderbaum div.wb-node-list div.wb-row .wb-col.wb-busy{font-style:italic;background:repeating-linear-gradient(45deg, transparent, transparent 3.88px, #dedede 3.88px, #dedede 7.78px);animation:wb-busy-animation 2s linear infinite}div.wunderbaum div.wb-node-list div.wb-row.wb-error,div.wunderbaum div.wb-node-list div.wb-row.wb-status-error{color:#b5373b}div.wunderbaum div.wb-header{position:sticky;height:22px;border-bottom:1px solid #56534c;padding:0;background-color:#dedede}div.wunderbaum div.wb-header span.wb-col{font-weight:bold;overflow:visible}div.wunderbaum div.wb-header span.wb-col-title{width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}div.wunderbaum div.wb-header span.wb-col-resizer{position:absolute;top:0;right:-1px;width:3px;border:none;border-right:2px solid #56534c;height:100%;cursor:col-resize}div.wunderbaum span.wb-col{position:absolute;display:inline-block;overflow:hidden;height:20px;line-height:20px;padding:0 2px;border-right:1px solid #dedede;white-space:nowrap}div.wunderbaum span.wb-col:last-of-type{border-right:none}div.wunderbaum span.wb-node{user-select:none}div.wunderbaum span.wb-node i.wb-checkbox,div.wunderbaum span.wb-node i.wb-expander,div.wunderbaum span.wb-node i.wb-icon,div.wunderbaum span.wb-node i.wb-indent{height:20px;width:20px;padding:2px 2px;display:inline-block}div.wunderbaum span.wb-node i.bi::before{vertical-align:baseline}div.wunderbaum span.wb-node img.wb-icon{width:16px;height:16px;padding:2px 2px}div.wunderbaum span.wb-node i.wb-indent::before{content:"\00a0"}div.wunderbaum span.wb-node i.wb-expander.wb-spin,div.wunderbaum span.wb-node i.wb-icon.wb-spin{height:unset;width:unset;padding:0 3px;animation:wb-spin-animation 2s linear infinite}div.wunderbaum span.wb-node span.wb-title{min-width:1em;vertical-align:top;overflow-x:hidden;display:inline-block;white-space:nowrap;text-overflow:ellipsis}div.wunderbaum.wb-grid div.wb-header div.wb-row span.wb-col:hover{background-color:#c5c5c5}div.wunderbaum.wb-grid.wb-cell-mode div.wb-header div.wb-row span.wb-col.wb-active{background-color:#dceff8}div.wunderbaum.wb-grid div.wb-node-list div.wb-row{border-bottom-color:#dedede}div.wunderbaum.wb-grid div.wb-node-list div.wb-row:hover:not(.wb-active):not(.wb-selected){background-color:#f7fcfe}div.wunderbaum.wb-grid div.wb-node-list div.wb-row.wb-active{border-bottom-color:#70c0e7}div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col{border-right:1px solid #dedede}div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col input.wb-input-edit,div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="color"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="date"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="datetime"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="datetime-local"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="email"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="month"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="number"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="password"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="search"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="tel"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="text"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="time"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="url"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input[type="week"],div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>select{width:100%;max-height:20px;border:none}div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>input:focus,div.wunderbaum.wb-grid div.wb-node-list div.wb-row span.wb-col>select:focus{border:1px dashed #70c0e7}div.wunderbaum.wb-grid.wb-cell-mode div.wb-row:not(.wb-colspan).wb-active span.wb-col.wb-active{background-color:#b3b3b3}div.wunderbaum.wb-grid.wb-cell-mode:focus-within div.wb-row:not(.wb-colspan):not(.wb-selected) span.wb-col.wb-active,div.wunderbaum.wb-grid.wb-cell-mode:focus div.wb-row:not(.wb-colspan):not(.wb-selected) span.wb-col.wb-active{background-color:#f7fcfe}div.wunderbaum.wb-grid.wb-cell-mode:focus-within div.wb-row:not(.wb-colspan):not(.wb-selected).wb-active,div.wunderbaum.wb-grid.wb-cell-mode:focus div.wb-row:not(.wb-colspan):not(.wb-selected).wb-active{background-color:#f7fcfe}div.wunderbaum.wb-grid.wb-cell-mode:focus-within div.wb-row:not(.wb-colspan):not(.wb-selected).wb-active span.wb-col.wb-active,div.wunderbaum.wb-grid.wb-cell-mode:focus div.wb-row:not(.wb-colspan):not(.wb-selected).wb-active span.wb-col.wb-active{background-color:#7dc6e9}div.wunderbaum.wb-grid.wb-alternate div.wb-node-list div.wb-row:nth-of-type(even):not(.wb-active):not(.wb-selected){background-color:#f7f7f7}div.wunderbaum.wb-grid.wb-alternate div.wb-node-list div.wb-row:nth-of-type(even):not(.wb-active):not(.wb-selected):hover{background-color:#f3f3f3}div.wunderbaum.wb-grid:not(:focus-within) div.wb-node-list div.wb-row,div.wunderbaum.wb-grid:not(:focus) div.wb-node-list div.wb-row{border-bottom-color:#dedede}div.wunderbaum.wb-ext-filter-dim div.wb-node-list div.wb-row,div.wunderbaum.wb-ext-filter-hide div.wb-node-list div.wb-row{color:#dedede}div.wunderbaum.wb-ext-filter-dim div.wb-node-list div.wb-row.wb-submatch,div.wunderbaum.wb-ext-filter-hide div.wb-node-list div.wb-row.wb-submatch{color:#868581}div.wunderbaum.wb-ext-filter-dim div.wb-node-list div.wb-row.wb-match,div.wunderbaum.wb-ext-filter-hide div.wb-node-list div.wb-row.wb-match{color:#56534c}div.wunderbaum div.wb-row.wb-drag-source{opacity:0.5}div.wunderbaum div.wb-row.wb-drag-source .wb-node{background-color:#d3d2ce}div.wunderbaum div.wb-row.wb-drop-target{overflow:visible}div.wunderbaum div.wb-row.wb-drop-target .wb-node{background-color:#d4ecf8;overflow:visible}div.wunderbaum div.wb-row.wb-drop-target .wb-node .wb-icon{position:relative;overflow:visible}div.wunderbaum div.wb-row.wb-drop-target .wb-node .wb-icon::after{position:absolute;z-index:1000;content:url(../docs/assets/drop_marker_16x32.png);left:0;top:3px}div.wunderbaum div.wb-row.wb-drop-target.wb-drop-before .wb-node .wb-icon::after{content:url(../docs/assets/drop_marker_insert_16x64.png);left:0;top:-8px}div.wunderbaum div.wb-row.wb-drop-target.wb-drop-after .wb-node .wb-icon::after{content:url(../docs/assets/drop_marker_insert_16x64.png);left:0;top:14px}div.wunderbaum.wb-rainbow i.wb-expander:nth-child(4n+1),div.wunderbaum.wb-rainbow i.wb-indent:nth-child(4n+1){background:#ffffe8}div.wunderbaum.wb-rainbow i.wb-expander:nth-child(4n+2),div.wunderbaum.wb-rainbow i.wb-indent:nth-child(4n+2){background:#f0fff0}div.wunderbaum.wb-rainbow i.wb-expander:nth-child(4n+3),div.wunderbaum.wb-rainbow i.wb-indent:nth-child(4n+3){background:#fff0ff}div.wunderbaum.wb-rainbow i.wb-expander:nth-child(4n+4),div.wunderbaum.wb-rainbow i.wb-indent:nth-child(4n+4){background:#eafdfd}div.wunderbaum.wb-fade-expander i.wb-expander{transition:color 1.5s;color:rgba(86,83,76,0)}div.wunderbaum.wb-fade-expander div.wb-row.wb-loading i.wb-expander,div.wunderbaum.wb-fade-expander:hover i.wb-expander,div.wunderbaum.wb-fade-expander:focus i.wb-expander,div.wunderbaum.wb-fade-expander:focus-within i.wb-expander,div.wunderbaum.wb-fade-expander [class*="wb-statusnode-"] i.wb-expander{transition:color 0.6s;color:#56534c}div.wunderbaum div.wb-row.wb-skeleton span.wb-title,div.wunderbaum div.wb-row.wb-skeleton i.wb-icon{animation:wb-skeleton-animation 1s linear infinite alternate;border-radius:0.25em;color:transparent;opacity:0.7}div.wunderbaum.wb-checkbox-auto-hide i.wb-checkbox{visibility:hidden}div.wunderbaum.wb-checkbox-auto-hide .wb-row:hover i.wb-checkbox,div.wunderbaum.wb-checkbox-auto-hide .wb-row.wb-selected i.wb-checkbox{visibility:unset}div.wunderbaum.wb-checkbox-auto-hide:focus .wb-row.wb-active i.wb-checkbox,div.wunderbaum.wb-checkbox-auto-hide:focus-within .wb-row.wb-active i.wb-checkbox{visibility:unset}.wb-helper-center{text-align:center}.wb-helper-disabled{color:#8c877c}.wb-helper-hidden{display:none}.wb-helper-invalid{color:#b5373b}.wb-helper-lazy-expander{color:#26a0da}.wb-helper-link{cursor:pointer}.wb-no-select{user-select:none;-webkit-user-select:none}.wb-no-select span.wb-title{user-select:contain;-webkit-user-select:contain}.wb-helper-start,.wb-helper-start>input{text-align:left}.wb-helper-end,.wb-helper-end>input{text-align:right}.wb-rtl .wb-helper-start,.wb-rtl .wb-helper-start>input{text-align:right}.wb-rtl .wb-helper-end,.wb-rtl .wb-helper-end>input{text-align:left}.wb-col input[type="checkbox"]:indeterminate{color:#8c877c;background-color:red}.wb-col input:invalid{color:#b5373b;background-color:#f5ddde}@keyframes wb-spin-animation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes wb-skeleton-animation{0%{background-color:#a3b8c2}100%{background-color:#f0f3f5}}@keyframes wb-busy-animation{0%{background-position:0 0}100%{background-position:0 22px}}
@@ -1392,6 +1392,7 @@ declare module "types" {
1392
1392
  preventScroll?: boolean;
1393
1393
  isDataChange?: boolean;
1394
1394
  top?: number;
1395
+ resizeCols?: boolean;
1395
1396
  }
1396
1397
  /** Possible values for {@link scrollIntoView()}. */
1397
1398
  export interface ScrollIntoViewOptions {
@@ -2301,8 +2302,10 @@ declare module "wunderbaum" {
2301
2302
  setStatus(status: NodeStatusType, options?: SetStatusOptions): WunderbaumNode | null;
2302
2303
  /** Add or redefine node type definitions. */
2303
2304
  setTypes(types: any, replace?: boolean): void;
2304
- /** Update column headers and width. */
2305
- updateColumns(options?: UpdateColumnsOptions): void;
2305
+ /** Update column headers and width.
2306
+ * Return true if at least one column width changed.
2307
+ */
2308
+ updateColumns(options?: UpdateColumnsOptions): boolean;
2306
2309
  /** Create/update header markup from `this.columns` definition.
2307
2310
  * @internal
2308
2311
  */
@@ -1,7 +1,7 @@
1
1
  /*!
2
2
  * Wunderbaum - util
3
3
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
4
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
4
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
5
5
  */
6
6
  /** @module util */
7
7
  /** Readable names for `MouseEvent.button` */
@@ -707,7 +707,7 @@ var util = /*#__PURE__*/Object.freeze({
707
707
  /*!
708
708
  * Wunderbaum - types
709
709
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
710
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
710
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
711
711
  */
712
712
  /** Possible values for `setModified()`. */
713
713
  var ChangeType;
@@ -759,7 +759,7 @@ var NavModeEnum;
759
759
  /*!
760
760
  * Wunderbaum - wb_extension_base
761
761
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
762
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
762
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
763
763
  */
764
764
  class WunderbaumExtension {
765
765
  constructor(tree, id, defaults) {
@@ -1050,7 +1050,7 @@ function debounce(func, wait = 0, options = {}) {
1050
1050
  /*!
1051
1051
  * Wunderbaum - ext-filter
1052
1052
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
1053
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
1053
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
1054
1054
  */
1055
1055
  const START_MARKER = "\uFFF7";
1056
1056
  const END_MARKER = "\uFFF8";
@@ -1355,7 +1355,7 @@ function _markFuzzyMatchedChars(text, matches, escapeTitles = true) {
1355
1355
  /*!
1356
1356
  * Wunderbaum - ext-keynav
1357
1357
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
1358
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
1358
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
1359
1359
  */
1360
1360
  const QUICKSEARCH_DELAY = 500;
1361
1361
  class KeynavExtension extends WunderbaumExtension {
@@ -1672,7 +1672,7 @@ class KeynavExtension extends WunderbaumExtension {
1672
1672
  /*!
1673
1673
  * Wunderbaum - ext-logger
1674
1674
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
1675
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
1675
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
1676
1676
  */
1677
1677
  class LoggerExtension extends WunderbaumExtension {
1678
1678
  constructor(tree) {
@@ -1712,7 +1712,7 @@ class LoggerExtension extends WunderbaumExtension {
1712
1712
  /*!
1713
1713
  * Wunderbaum - common
1714
1714
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
1715
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
1715
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
1716
1716
  */
1717
1717
  const DEFAULT_DEBUGLEVEL = 4; // Replaced by rollup script
1718
1718
  /**
@@ -1952,7 +1952,7 @@ function inflateSourceData(source) {
1952
1952
  /*!
1953
1953
  * Wunderbaum - ext-dnd
1954
1954
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
1955
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
1955
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
1956
1956
  */
1957
1957
  const nodeMimeType = "application/x-wunderbaum-node";
1958
1958
  class DndExtension extends WunderbaumExtension {
@@ -2225,7 +2225,7 @@ class DndExtension extends WunderbaumExtension {
2225
2225
  /*!
2226
2226
  * Wunderbaum - drag_observer
2227
2227
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
2228
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
2228
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
2229
2229
  */
2230
2230
  /**
2231
2231
  * Convert mouse- and touch events to 'dragstart', 'drag', and 'dragstop'.
@@ -2361,7 +2361,7 @@ class DragObserver {
2361
2361
  /*!
2362
2362
  * Wunderbaum - ext-grid
2363
2363
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
2364
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
2364
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
2365
2365
  */
2366
2366
  class GridExtension extends WunderbaumExtension {
2367
2367
  constructor(tree) {
@@ -2398,7 +2398,7 @@ class GridExtension extends WunderbaumExtension {
2398
2398
  /*!
2399
2399
  * Wunderbaum - deferred
2400
2400
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
2401
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
2401
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
2402
2402
  */
2403
2403
  /**
2404
2404
  * Implement a ES6 Promise, that exposes a resolve() and reject() method.
@@ -2451,7 +2451,7 @@ class Deferred {
2451
2451
  /*!
2452
2452
  * Wunderbaum - wunderbaum_node
2453
2453
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
2454
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
2454
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
2455
2455
  */
2456
2456
  /** Top-level properties that can be passed with `data`. */
2457
2457
  const NODE_PROPS = new Set([
@@ -3919,6 +3919,19 @@ class WunderbaumNode {
3919
3919
  this._createIcon(nodeElem, iconSpan, !expanderSpan);
3920
3920
  }
3921
3921
  }
3922
+ // Adjust column width
3923
+ if (opts.resizeCols !== false && !this.isColspan()) {
3924
+ const colElems = rowDiv.querySelectorAll("span.wb-col");
3925
+ let idx = 0;
3926
+ let ofs = 0;
3927
+ for (let colDef of this.tree.columns) {
3928
+ const colElem = colElems[idx];
3929
+ colElem.style.left = `${ofs}px`;
3930
+ colElem.style.width = `${colDef._widthPx}px`;
3931
+ idx++;
3932
+ ofs += colDef._widthPx;
3933
+ }
3934
+ }
3922
3935
  }
3923
3936
  /**
3924
3937
  * Create or update node's markup.
@@ -4390,7 +4403,7 @@ WunderbaumNode.sequence = 0;
4390
4403
  /*!
4391
4404
  * Wunderbaum - ext-edit
4392
4405
  * Copyright (c) 2021-2022, Martin Wendt. Released under the MIT license.
4393
- * v0.1.0, Thu, 10 Nov 2022 13:27:25 GMT (https://github.com/mar10/wunderbaum)
4406
+ * v0.1.1, Sun, 27 Nov 2022 07:35:11 GMT (https://github.com/mar10/wunderbaum)
4394
4407
  */
4395
4408
  // const START_MARKER = "\uFFF7";
4396
4409
  class EditExtension extends WunderbaumExtension {
@@ -4685,8 +4698,8 @@ class EditExtension extends WunderbaumExtension {
4685
4698
  * https://github.com/mar10/wunderbaum
4686
4699
  *
4687
4700
  * Released under the MIT license.
4688
- * @version v0.1.0
4689
- * @date Thu, 10 Nov 2022 13:27:25 GMT
4701
+ * @version v0.1.1
4702
+ * @date Sun, 27 Nov 2022 07:35:11 GMT
4690
4703
  */
4691
4704
  class WbSystemRoot extends WunderbaumNode {
4692
4705
  constructor(tree) {
@@ -6121,7 +6134,9 @@ class Wunderbaum {
6121
6134
  }
6122
6135
  }
6123
6136
  }
6124
- /** Update column headers and width. */
6137
+ /** Update column headers and width.
6138
+ * Return true if at least one column width changed.
6139
+ */
6125
6140
  updateColumns(options) {
6126
6141
  options = Object.assign({ calculateCols: true, updateRows: true }, options);
6127
6142
  const defaultMinWidth = 4;
@@ -6161,7 +6176,7 @@ class Wunderbaum {
6161
6176
  fixedWidth += px;
6162
6177
  }
6163
6178
  else {
6164
- error(`Invalid column width: ${cw}`);
6179
+ error(`Invalid column width: ${cw} (expected string ending with 'px' or number, e.g. "<num>px" or <int>)`);
6165
6180
  }
6166
6181
  }
6167
6182
  // Share remaining space between non-fixed columns
@@ -6208,6 +6223,7 @@ class Wunderbaum {
6208
6223
  this._updateRows();
6209
6224
  }
6210
6225
  }
6226
+ return modified;
6211
6227
  }
6212
6228
  /** Create/update header markup from `this.columns` definition.
6213
6229
  * @internal
@@ -6292,8 +6308,8 @@ class Wunderbaum {
6292
6308
  height = wantHeight;
6293
6309
  }
6294
6310
  // console.profile(`_updateViewportImmediately()`)
6295
- this.updateColumns({ updateRows: false });
6296
- this._updateRows({ newNodesOnly: newNodesOnly });
6311
+ const modified = this.updateColumns({ updateRows: false });
6312
+ this._updateRows({ newNodesOnly: newNodesOnly && !modified });
6297
6313
  // console.profileEnd(`_updateViewportImmediately()`)
6298
6314
  if (this.options.connectTopBreadcrumb) {
6299
6315
  let path = (_a = this.getTopmostVpNode(true)) === null || _a === void 0 ? void 0 : _a.getPath(false, "title", " > ");
@@ -6647,7 +6663,7 @@ class Wunderbaum {
6647
6663
  }
6648
6664
  Wunderbaum.sequence = 0;
6649
6665
  /** Wunderbaum release version number "MAJOR.MINOR.PATCH". */
6650
- Wunderbaum.version = "v0.1.0"; // Set to semver by 'grunt release'
6666
+ Wunderbaum.version = "v0.1.1"; // Set to semver by 'grunt release'
6651
6667
  /** Expose some useful methods of the util.ts module as `Wunderbaum.util`. */
6652
6668
  Wunderbaum.util = util;
6653
6669