@eclipse-scout/core 22.0.0-beta.10 → 22.0.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.
@@ -312,7 +312,7 @@ class App {
312
312
 
313
313
  $loadingRoot.oneAnimationEnd(() => $loadingRoot.remove());
314
314
 
315
- if ($loadingRoot.css('opacity') == 1) {
315
+ if ($loadingRoot.css('opacity') === '1') {
316
316
  $loadingRoot.addClass('fadeout and-more');
317
317
  } else {
318
318
  $loadingRoot.addClass('fadeout');
@@ -3189,8 +3189,6 @@ __webpack_require__.r(__webpack_exports__);
3189
3189
  /* harmony export */ "default": () => (/* binding */ BreadcrumbBarLayout)
3190
3190
  /* harmony export */ });
3191
3191
  /* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../index */ "./src/index.js");
3192
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
3193
-
3194
3192
  /*
3195
3193
  * Copyright (c) 2010-2020 BSI Business Systems Integration AG.
3196
3194
  * All rights reserved. This program and the accompanying materials
@@ -3205,40 +3203,6 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
3205
3203
  class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLayout {
3206
3204
  constructor(breadcrumbBar) {
3207
3205
  super();
3208
-
3209
- _defineProperty(this, "_collapse", function ($container, containerSize) {
3210
- let currentIndex = 1;
3211
-
3212
- const visibleBreadcrumbItems = this._visibleBreadcrumbItems();
3213
-
3214
- let prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3215
-
3216
- while (prefSize.width > containerSize.width && currentIndex < visibleBreadcrumbItems.length - 1) {
3217
- // remove breadcrumbItems until size fits or only 2 breadcrumbItems are visible
3218
- const crumb = visibleBreadcrumbItems[currentIndex];
3219
- crumb.$container.hide();
3220
- crumb._layHidden = true;
3221
- visibleBreadcrumbItems.splice(currentIndex, 1);
3222
- prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3223
- }
3224
- });
3225
-
3226
- _defineProperty(this, "_breadcrumbItemsWidth", function (breadcrumbItems, considerEllipsis) {
3227
- let breadcrumbsWidth = 0;
3228
- breadcrumbItems = breadcrumbItems || this._visibleBreadcrumbItems();
3229
- breadcrumbItems.forEach(breadcrumbItem => {
3230
- if (breadcrumbItem.rendered) {
3231
- breadcrumbsWidth += breadcrumbItem.$container.outerWidth(true);
3232
- }
3233
- }, this);
3234
-
3235
- if (considerEllipsis && this._breadcrumbBar._ellipsisBreadcrumbItem && this._breadcrumbBar._ellipsisBreadcrumbItem.rendered) {
3236
- breadcrumbsWidth += this._breadcrumbBar._ellipsisBreadcrumbItem.$container.outerWidth(true);
3237
- }
3238
-
3239
- return breadcrumbsWidth;
3240
- });
3241
-
3242
3206
  this._breadcrumbBar = breadcrumbBar;
3243
3207
  }
3244
3208
 
@@ -3271,6 +3235,23 @@ class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLa
3271
3235
  this._collapse(breadcrumbItems, containerSize);
3272
3236
  }
3273
3237
 
3238
+ _collapse($container, containerSize) {
3239
+ let currentIndex = 1;
3240
+
3241
+ const visibleBreadcrumbItems = this._visibleBreadcrumbItems();
3242
+
3243
+ let prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3244
+
3245
+ while (prefSize.width > containerSize.width && currentIndex < visibleBreadcrumbItems.length - 1) {
3246
+ // remove breadcrumbItems until size fits or only 2 breadcrumbItems are visible
3247
+ const crumb = visibleBreadcrumbItems[currentIndex];
3248
+ crumb.$container.hide();
3249
+ crumb._layHidden = true;
3250
+ visibleBreadcrumbItems.splice(currentIndex, 1);
3251
+ prefSize = this._actualPrefSize(visibleBreadcrumbItems, true);
3252
+ }
3253
+ }
3254
+
3274
3255
  _applyToEllipsis(fun) {
3275
3256
  if (this._breadcrumbBar._ellipsisBreadcrumbItem) {
3276
3257
  fun(this._breadcrumbBar._ellipsisBreadcrumbItem);
@@ -3327,6 +3308,22 @@ class BreadcrumbBarLayout extends _index__WEBPACK_IMPORTED_MODULE_0__.AbstractLa
3327
3308
  */
3328
3309
 
3329
3310
 
3311
+ _breadcrumbItemsWidth(breadcrumbItems, considerEllipsis) {
3312
+ let breadcrumbsWidth = 0;
3313
+ breadcrumbItems = breadcrumbItems || this._visibleBreadcrumbItems();
3314
+ breadcrumbItems.forEach(breadcrumbItem => {
3315
+ if (breadcrumbItem.rendered) {
3316
+ breadcrumbsWidth += breadcrumbItem.$container.outerWidth(true);
3317
+ }
3318
+ }, this);
3319
+
3320
+ if (considerEllipsis && this._breadcrumbBar._ellipsisBreadcrumbItem && this._breadcrumbBar._ellipsisBreadcrumbItem.rendered) {
3321
+ breadcrumbsWidth += this._breadcrumbBar._ellipsisBreadcrumbItem.$container.outerWidth(true);
3322
+ }
3323
+
3324
+ return breadcrumbsWidth;
3325
+ }
3326
+
3330
3327
  }
3331
3328
 
3332
3329
  /***/ }),
@@ -88546,9 +88543,8 @@ class Table extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
88546
88543
  let $row = $cell.parent();
88547
88544
  return $row.data('aggregateRow')
88548
88545
  /* row in the table */
88549
- || $row.hasClass('table-aggregate')
88546
+ || $row.hasClass('table-aggregate');
88550
88547
  /* aggregate table control */
88551
- ;
88552
88548
  }
88553
88549
 
88554
88550
  reload(reloadReason) {
@@ -102891,7 +102887,7 @@ class ColumnOptimalWidthMeasurer {
102891
102887
 
102892
102888
  let $neighbour = cellRange[cellRange.length - 1];
102893
102889
 
102894
- if ($neighbour.hasClass('empty') || $cell.hasClass('halign-right') == $neighbour.hasClass('halign-right')) {
102890
+ if ($neighbour.hasClass('empty') || $cell.hasClass('halign-right') === $neighbour.hasClass('halign-right')) {
102895
102891
  return 0;
102896
102892
  }
102897
102893
 
@@ -118087,10 +118083,12 @@ class LazyNodeFilter {
118087
118083
  accept(node) {
118088
118084
  if (node.expanded) {
118089
118085
  return true;
118090
- } else {
118091
- // not expanded: remove lazy expand marker (forget lazy expanded children)
118092
- node.childNodes.forEach(child => delete child._lazyNodeFilterAccepted);
118093
- }
118086
+ } // not expanded: remove lazy expand marker (forget lazy expanded children)
118087
+
118088
+
118089
+ node.childNodes.forEach(child => {
118090
+ child._lazyNodeFilterAccepted = false;
118091
+ });
118094
118092
 
118095
118093
  if (!node.parentNode || !node.parentNode.expandedLazy || !node.parentNode.lazyExpandingEnabled || !this.tree.lazyExpandingEnabled) {
118096
118094
  // no lazy expanding supported
@@ -118105,7 +118103,7 @@ class LazyNodeFilter {
118105
118103
  break;
118106
118104
  }
118107
118105
 
118108
- if (selectedNode == node) {
118106
+ if (selectedNode === node) {
118109
118107
  node._lazyNodeFilterAccepted = true;
118110
118108
  return true;
118111
118109
  }
@@ -118262,10 +118260,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118262
118260
 
118263
118261
  this._ensureTreeNodes(this.nodes);
118264
118262
 
118265
- this.visitNodes(this._initTreeNode.bind(this));
118266
- this.visitNodes(this._updateFlatListAndSelectionPath.bind(this));
118263
+ this._initNodes(this.nodes);
118264
+
118267
118265
  this.initialTraversing = false;
118268
- this.selectedNodes = this._nodesByIds(this.selectedNodes);
118269
118266
  this.menuBar = _index__WEBPACK_IMPORTED_MODULE_0__.scout.create('MenuBar', {
118270
118267
  parent: this,
118271
118268
  position: _index__WEBPACK_IMPORTED_MODULE_0__.MenuBar.Position.BOTTOM,
@@ -118282,6 +118279,27 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118282
118279
 
118283
118280
  this._setMenus(this.menus);
118284
118281
  }
118282
+ /**
118283
+ * Initialize nodes, applies filters and updates flat list
118284
+ */
118285
+
118286
+
118287
+ _initNodes(nodes, parentNode) {
118288
+ if (!nodes) {
118289
+ nodes = this.nodes;
118290
+ }
118291
+
118292
+ Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
118293
+
118294
+ if (typeof this.selectedNodes[0] === 'string') {
118295
+ this.selectedNodes = this._nodesByIds(this.selectedNodes);
118296
+ }
118297
+
118298
+ this._updateSelectionPath();
118299
+
118300
+ nodes.forEach(node => this.applyFiltersForNode(node));
118301
+ Tree.visitNodes((node, parentNode) => this._addToVisibleFlatList(node, false), nodes, parentNode);
118302
+ }
118285
118303
  /**
118286
118304
  * Iterates through the given array and converts node-models to instances of TreeNode (or a subclass).
118287
118305
  * If the array element is already a TreeNode the function leaves the element untouched. This function also
@@ -118367,45 +118385,26 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
118367
118385
  }
118368
118386
 
118369
118387
  isSelectedNode(node) {
118370
- if (this.initialTraversing) {
118371
- return this.selectedNodes.indexOf(node.id) > -1;
118372
- }
118373
-
118374
118388
  return this.selectedNodes.indexOf(node) > -1;
118375
118389
  }
118376
118390
 
118377
- _updateFlatListAndSelectionPath(node, parentNode) {
118378
- // if this node is selected all parent nodes have to be added to selectionPath
118379
- if (this.isSelectedNode(node) && (node.parentNode && !this.visibleNodesMap[node.parentNode.id] || node.level === 0)) {
118380
- let p = node;
118381
-
118382
- while (p) {
118383
- this._inSelectionPathList[p.id] = true;
118384
- p.filterDirty = true;
118385
-
118386
- if (p !== node) {
118387
- // ensure node is expanded
118388
- node.expanded = true; // if parent was filtered before, try refilter after adding to selection path.
118389
-
118390
- if (p.level === 0) {
118391
- this.applyFiltersForNode(p); // add visible nodes to visible nodes array when they are initialized
118392
-
118393
- this._addToVisibleFlatList(p, false); // process children
118391
+ _updateSelectionPath() {
118392
+ let selectedNode = this.selectedNodes[0];
118394
118393
 
118395
-
118396
- this._addChildrenToFlatList(p, this.visibleNodesFlat.length - 1, false, null, true);
118397
- }
118398
- }
118399
-
118400
- p = p.parentNode;
118401
- }
118402
- } else if (node.parentNode && this.isSelectedNode(node.parentNode)) {
118403
- this._inSelectionPathList[node.id] = true;
118394
+ if (!selectedNode) {
118395
+ return;
118404
118396
  }
118405
118397
 
118406
- this.applyFiltersForNode(node); // add visible nodes to visible nodes array when they are initialized
118398
+ this._inSelectionPathList[selectedNode.id] = true;
118399
+ selectedNode.childNodes.forEach(child => {
118400
+ this._inSelectionPathList[child.id] = true;
118401
+ });
118402
+ let parentNode = selectedNode.parentNode;
118407
118403
 
118408
- this._addToVisibleFlatList(node, false);
118404
+ while (parentNode) {
118405
+ this._inSelectionPathList[parentNode.id] = true;
118406
+ parentNode = parentNode.parentNode;
118407
+ }
118409
118408
  }
118410
118409
 
118411
118410
  _initTreeNode(node, parentNode) {
@@ -119705,9 +119704,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119705
119704
  this._removeFromFlatList(node, false);
119706
119705
  }
119707
119706
  } else if (renderExpansionOpts.expandLazyChanged) {
119708
- node.childNodes.forEach(child => {
119709
- this.applyFiltersForNode(child, true, renderAnimated);
119710
- });
119707
+ this.applyFiltersForNode(node, false, renderAnimated);
119711
119708
  }
119712
119709
 
119713
119710
  if (this.groupedNodes[node.id]) {
@@ -119952,8 +119949,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
119952
119949
  isAlreadyAdded = this.visibleNodesMap[node.id];
119953
119950
 
119954
119951
  if (isAlreadyAdded) {
119955
- this.insertBatchInVisibleNodes(insertBatch, this._showNodes(insertBatch), animatedRendering);
119956
- this.checkAndHandleBatchAnimationWrapper(parentNode, animatedRendering, insertBatch);
119952
+ this.insertBatchInVisibleNodes(insertBatch, this._showNodes(insertBatch), animatedRendering); // Animate rendering is always false because it would generate a bunch of animation wrappers which stay forever without really starting an animation...
119953
+
119954
+ this.checkAndHandleBatchAnimationWrapper(parentNode, false, insertBatch);
119957
119955
  insertBatch = this.newInsertBatch(insertBatch.nextBatchInsertIndex());
119958
119956
  insertBatch = this._addChildrenToFlatListIfExpanded(1, node, insertIndex, animatedRendering, insertBatch, forceFilter);
119959
119957
  } else {
@@ -120559,11 +120557,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120559
120557
  nodes.forEach(entry => {
120560
120558
  parentNode.childNodes.push(entry);
120561
120559
  });
120562
- } // initialize node and add to visible list if node is visible
120563
-
120560
+ }
120564
120561
 
120565
- Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
120566
- Tree.visitNodes(this._updateFlatListAndSelectionPath.bind(this), nodes, parentNode);
120562
+ this._initNodes(nodes, parentNode);
120567
120563
 
120568
120564
  if (this.groupedNodes[parentNode.id]) {
120569
120565
  this._updateItemPath(false, parentNode);
@@ -120590,11 +120586,9 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120590
120586
  this._updateChildNodeIndex(this.nodes, nodes[0].childNodeIndex);
120591
120587
  } else {
120592
120588
  _index__WEBPACK_IMPORTED_MODULE_0__.arrays.pushAll(this.nodes, nodes);
120593
- } // initialize node and add to visible list if node is visible
120594
-
120589
+ }
120595
120590
 
120596
- Tree.visitNodes(this._initTreeNode.bind(this), nodes, parentNode);
120597
- Tree.visitNodes(this._updateFlatListAndSelectionPath.bind(this), nodes, parentNode);
120591
+ this._initNodes(nodes, parentNode);
120598
120592
  }
120599
120593
 
120600
120594
  if (this.rendered) {
@@ -120735,9 +120729,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
120735
120729
  Tree.visitNodes(this._destroyTreeNode.bind(this), node.childNodes);
120736
120730
  }, this); // update child node indices
120737
120731
 
120738
- parentNodesToReindex.forEach(function (p) {
120739
- this._updateChildNodeIndex(p.childNodes);
120740
- }, this);
120732
+ parentNodesToReindex.forEach(p => this._updateChildNodeIndex(p.childNodes));
120741
120733
 
120742
120734
  this._updateChildNodeIndex(topLevelNodesToReindex);
120743
120735
 
@@ -121210,9 +121202,6 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121210
121202
 
121211
121203
  result.newlyShown.forEach(node => this._addToVisibleFlatList(node, this.filterAnimated));
121212
121204
  result.newlyHidden.forEach(node => this._removeFromFlatList(node, this.filterAnimated));
121213
-
121214
- this._nodesFiltered(result.newlyHidden);
121215
-
121216
121205
  this.filteredElementsDirty = false;
121217
121206
  }
121218
121207
 
@@ -121223,7 +121212,7 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121223
121212
  for (let i = this.visibleNodesFlat.length - 1; i >= 0; i--) {
121224
121213
  let node = this.visibleNodesFlat[i];
121225
121214
 
121226
- let result = this._applyFiltersForNodeRec(node, false, animated);
121215
+ let result = this._applyFiltersForNodeRec(node, true, animated);
121227
121216
 
121228
121217
  if (result.newlyHidden.length) {
121229
121218
  if (!node.isFilterAccepted()) {
@@ -121262,11 +121251,11 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121262
121251
  parent = parent.parentNode;
121263
121252
  }
121264
121253
 
121254
+ this._nodesFiltered(result.newlyHidden);
121255
+
121265
121256
  if (applyNewHiddenShownNodes) {
121266
121257
  result.newlyShown.forEach(node => this._addToVisibleFlatList(node, animated));
121267
121258
  result.newlyHidden.forEach(node => this._removeFromFlatList(node, animated));
121268
-
121269
- this._nodesFiltered(result.newlyHidden);
121270
121259
  }
121271
121260
 
121272
121261
  return result;
@@ -121285,16 +121274,19 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121285
121274
  if (node.level < 32
121286
121275
  /* see org.eclipse.scout.rt.client.ui.basic.tree.AbstractTree.expandAllRec */
121287
121276
  ) {
121288
- node.childNodes.forEach(childNode => {
121289
- if (recursive) {
121277
+ if (recursive) {
121278
+ node.childNodes.forEach(childNode => {
121290
121279
  let result = this._applyFiltersForNodeRec(childNode, true, animated);
121291
121280
 
121292
121281
  newlyHidden.push(...result.newlyHidden);
121293
121282
  newlyShown.push(...result.newlyShown);
121294
- }
121295
-
121296
- hasChildrenWithFilterAccepted = hasChildrenWithFilterAccepted || childNode.filterAccepted;
121297
- });
121283
+ hasChildrenWithFilterAccepted = hasChildrenWithFilterAccepted || childNode.filterAccepted;
121284
+ });
121285
+ } else if (!node.filterAccepted) {
121286
+ // Check children only if filterAccepted is false because only then hasChildrenWithFilterAccepted is used (see below).
121287
+ // This has great impact on performance when there are many nodes
121288
+ hasChildrenWithFilterAccepted = node.childNodes.some(childNode => childNode.filterAccepted);
121289
+ }
121298
121290
  } // set filter accepted on this node if it has children with filter accepted (so that the children are visible)
121299
121291
 
121300
121292
 
@@ -121561,6 +121553,10 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121561
121553
  $node.removeClass('hiding');
121562
121554
 
121563
121555
  if (!$node.hasClass('showing')) {
121556
+ // JQuery sets display to none which we don't need because node will be detached.
121557
+ // If node is added using another method than slideDown (used by show node), it would be invisible.
121558
+ // Example: parent is collapsed while nodes are hiding -> remove filter, expand parent -> invisible nodes
121559
+ $node.css('display', '');
121564
121560
  $node.detach();
121565
121561
  node.attached = false;
121566
121562
  }
@@ -121574,15 +121570,11 @@ class Tree extends _index__WEBPACK_IMPORTED_MODULE_0__.Widget {
121574
121570
  }
121575
121571
 
121576
121572
  _nodesToIds(nodes) {
121577
- return nodes.map(node => {
121578
- return node.id;
121579
- });
121573
+ return nodes.map(node => node.id);
121580
121574
  }
121581
121575
 
121582
121576
  _nodesByIds(ids) {
121583
- return ids.map(id => {
121584
- return this.nodesMap[id];
121585
- });
121577
+ return ids.map(id => this.nodesMap[id]);
121586
121578
  }
121587
121579
 
121588
121580
  _nodeById(id) {
@@ -128394,7 +128386,8 @@ function uninstallDragAndDropHandler(target) {
128394
128386
  * @property {String} [selector] CSS selector which will be added to the event source.
128395
128387
  * @property {dropType} [dropType] Returns the allowed drop type during a drop event. Default is {@link dragAndDrop.SCOUT_TYPES.FILE_TRANSFER}
128396
128388
  * @property {dropMaximumSize} [dropMaximumSize] Returns the maximum allowed size of a dropped object. Default is {@link DragAndDropTarget.dropMaximumSize}
128397
- * @property {validateFiles} [validateFiles] An optional function to add a custom file validation logic. Throw a {@link dropValidationErrorMessage} to indicate a failed validation. if no custom validator is installed, the default maximum file size validator is invoked.
128389
+ * @property {validateFiles} [validateFiles] An optional function to add a custom file validation logic. Throw a {@link dropValidationErrorMessage} to indicate a failed validation.
128390
+ * If no custom validator is installed, the default maximum file size validator is invoked.
128398
128391
  * @property {additionalDropProperties} [additionalDropProperties] Returns additional drop properties to be used in {@link DragAndDropHandler.uploadFiles} as uploadProperties
128399
128392
  */
128400
128393
 
@@ -128658,7 +128651,7 @@ function onSwipe($element, id, onDown, onMove, onUp) {
128658
128651
  let deltaX = pageX - origPageX;
128659
128652
  let newLeft = origPosLeft + deltaX;
128660
128653
 
128661
- if (newLeft != curPosLeft) {
128654
+ if (newLeft !== curPosLeft) {
128662
128655
  // only update swipe direction if it actually changed
128663
128656
  direction = Math.sign(newLeft - curPosLeft);
128664
128657
  }