@meshmakers/octo-ui 3.3.810 → 3.3.830

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.
@@ -10542,6 +10542,7 @@ class RuntimeBrowserDetailsComponent {
10542
10542
  typeHelperService = inject(TypeHelperService);
10543
10543
  detailsIcon = eyeIcon;
10544
10544
  fullEntity = null;
10545
+ loadRequestToken = 0;
10545
10546
  get ckTypeColumns() {
10546
10547
  return [
10547
10548
  {
@@ -10617,6 +10618,8 @@ class RuntimeBrowserDetailsComponent {
10617
10618
  }, 0);
10618
10619
  }
10619
10620
  else {
10621
+ // Clear stale data before async load to prevent showing previous entity
10622
+ this.fullEntity = null;
10620
10623
  // Load full entity details for runtime entities
10621
10624
  await this.loadFullEntityDetails();
10622
10625
  // Clear any pending CK type ID
@@ -10640,22 +10643,32 @@ class RuntimeBrowserDetailsComponent {
10640
10643
  return;
10641
10644
  }
10642
10645
  const runtimeEntity = item;
10646
+ const token = ++this.loadRequestToken;
10643
10647
  this.loading = true;
10644
10648
  this.error = null;
10645
10649
  try {
10646
- this.fullEntity = await this.entityDataSource.fetchEntityDetails(runtimeEntity.rtId, runtimeEntity.ckTypeId);
10650
+ const result = await this.entityDataSource.fetchEntityDetails(runtimeEntity.rtId, runtimeEntity.ckTypeId);
10651
+ if (token !== this.loadRequestToken) {
10652
+ return; // Selection changed while loading, discard stale response
10653
+ }
10654
+ this.fullEntity = result;
10647
10655
  if (!this.fullEntity) {
10648
10656
  this.error = this._messages.couldNotLoadEntityDetails;
10649
10657
  }
10650
10658
  }
10651
10659
  catch (error) {
10660
+ if (token !== this.loadRequestToken) {
10661
+ return;
10662
+ }
10652
10663
  console.error("Failed to load full entity details:", error);
10653
10664
  this.error = this._messages.failedToLoadEntityDetails;
10654
10665
  // Fall back to the basic entity data
10655
10666
  this.fullEntity = runtimeEntity;
10656
10667
  }
10657
10668
  finally {
10658
- this.loading = false;
10669
+ if (token === this.loadRequestToken) {
10670
+ this.loading = false;
10671
+ }
10659
10672
  }
10660
10673
  }
10661
10674
  async navigateToDetails() {