@joint/core 4.2.0-beta.2 → 4.2.0-beta.4

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,4 +1,4 @@
1
- /*! JointJS v4.2.0-beta.2 (2025-11-04) - JavaScript diagramming library
1
+ /*! JointJS v4.2.0-beta.4 (2025-11-07) - JavaScript diagramming library
2
2
 
3
3
  This Source Code Form is subject to the terms of the Mozilla Public
4
4
  License, v. 2.0. If a copy of the MPL was not distributed with this
@@ -33002,7 +33002,8 @@ var joint = (function (exports) {
33002
33002
  this.afterPaperReferenceSet(paper);
33003
33003
  },
33004
33004
  unsetPaperReference: function () {
33005
- this.beforePaperReferenceUnset();
33005
+ if (!this.paper) return;
33006
+ this.beforePaperReferenceUnset(this.paper);
33006
33007
  this.paper = null;
33007
33008
  },
33008
33009
  assertPaperReference() {
@@ -34125,6 +34126,9 @@ var joint = (function (exports) {
34125
34126
  const viewLike = this._getCellViewLike(cell);
34126
34127
  if (!viewLike) return;
34127
34128
  if (viewLike[CELL_VIEW_PLACEHOLDER_MARKER]) {
34129
+ // It's a cell placeholder, it must be in the unmounted list.
34130
+ // Remove it from there and unregister.
34131
+ this._updates.unmountedList.delete(viewLike.cid);
34128
34132
  this._unregisterCellViewPlaceholder(viewLike);
34129
34133
  } else {
34130
34134
  this.requestViewUpdate(viewLike, this.FLAG_REMOVE, viewLike.UPDATE_PRIORITY, opt);
@@ -34675,7 +34679,7 @@ var joint = (function (exports) {
34675
34679
  const type = modelType + 'View';
34676
34680
 
34677
34681
  // For backward compatibility we use the LegacyGraphLayerView for the default `cells` layer.
34678
- if (this.model.layersController.legacyMode) {
34682
+ if (this.model.legacyMode) {
34679
34683
  viewConstructor = LegacyGraphLayerView;
34680
34684
  } else {
34681
34685
  viewConstructor = this.layerViewNamespace[type] || LayerView;
@@ -34845,17 +34849,21 @@ var joint = (function (exports) {
34845
34849
  },
34846
34850
  requestConnectedLinksUpdate: function (view, priority, opt) {
34847
34851
  if (!view || !view[CELL_VIEW_MARKER]) return;
34848
- var model = view.model;
34849
- var links = this.model.getConnectedLinks(model);
34850
- for (var j = 0, n = links.length; j < n; j++) {
34851
- var link = links[j];
34852
- var linkView = this._getCellViewLike(link);
34852
+ const model = view.model;
34853
+ const links = this.model.getConnectedLinks(model);
34854
+ for (let j = 0, n = links.length; j < n; j++) {
34855
+ const link = links[j];
34856
+ const linkView = this._getCellViewLike(link);
34853
34857
  if (!linkView) continue;
34854
34858
  // We do not have to update placeholder views.
34855
34859
  // They will be updated on initial render.
34856
34860
  if (linkView[CELL_VIEW_PLACEHOLDER_MARKER]) continue;
34857
- var nextPriority = Math.max(priority + 1, linkView.UPDATE_PRIORITY);
34858
- this.scheduleViewUpdate(linkView, linkView.getFlag(LinkView.Flags.UPDATE), nextPriority, opt);
34861
+ const flagLabels = [LinkView.Flags.UPDATE];
34862
+ // We need to tell the link view which end requested this update.
34863
+ if (link.getTargetCell() === model) flagLabels.push(LinkView.Flags.TARGET);
34864
+ if (link.getSourceCell() === model) flagLabels.push(LinkView.Flags.SOURCE);
34865
+ const nextPriority = Math.max(priority + 1, linkView.UPDATE_PRIORITY);
34866
+ this.scheduleViewUpdate(linkView, linkView.getFlag(flagLabels), nextPriority, opt);
34859
34867
  }
34860
34868
  },
34861
34869
  forcePostponedViewUpdate: function (view, flag) {
@@ -35399,6 +35407,8 @@ var joint = (function (exports) {
35399
35407
  let view = views[cid] || this._viewPlaceholders[cid];
35400
35408
  if (!view) {
35401
35409
  // This should not occur
35410
+ // Prevent looping over this invalid cid
35411
+ unmountedList.popHead();
35402
35412
  continue;
35403
35413
  }
35404
35414
  if (!this._evalCellVisibility(view, false, visibilityCb)) {
@@ -39632,7 +39642,7 @@ var joint = (function (exports) {
39632
39642
  Remove: Remove
39633
39643
  };
39634
39644
 
39635
- var version = "4.2.0-beta.2";
39645
+ var version = "4.2.0-beta.4";
39636
39646
 
39637
39647
  const Vectorizer = V;
39638
39648
  const layout$1 = {