@itwin/core-frontend 5.14.3 → 5.15.0-dev.10

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.
Files changed (48) hide show
  1. package/CHANGELOG.md +1 -1
  2. package/lib/cjs/IModelApp.d.ts +19 -1
  3. package/lib/cjs/IModelApp.d.ts.map +1 -1
  4. package/lib/cjs/IModelApp.js +15 -0
  5. package/lib/cjs/IModelApp.js.map +1 -1
  6. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  7. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js +7 -14
  8. package/lib/cjs/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  9. package/lib/cjs/internal/tile/OrbitGtTileTree.js +4 -4
  10. package/lib/cjs/internal/tile/OrbitGtTileTree.js.map +1 -1
  11. package/lib/cjs/quantity-formatting/FormatsProviderReloadCoordinator.d.ts +53 -0
  12. package/lib/cjs/quantity-formatting/FormatsProviderReloadCoordinator.d.ts.map +1 -0
  13. package/lib/cjs/quantity-formatting/FormatsProviderReloadCoordinator.js +145 -0
  14. package/lib/cjs/quantity-formatting/FormatsProviderReloadCoordinator.js.map +1 -0
  15. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts +23 -34
  16. package/lib/cjs/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  17. package/lib/cjs/quantity-formatting/QuantityFormatter.js +99 -90
  18. package/lib/cjs/quantity-formatting/QuantityFormatter.js.map +1 -1
  19. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts +27 -6
  20. package/lib/cjs/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  21. package/lib/cjs/tile/map/CesiumTerrainProvider.js +51 -21
  22. package/lib/cjs/tile/map/CesiumTerrainProvider.js.map +1 -1
  23. package/lib/esm/IModelApp.d.ts +19 -1
  24. package/lib/esm/IModelApp.d.ts.map +1 -1
  25. package/lib/esm/IModelApp.js +15 -0
  26. package/lib/esm/IModelApp.js.map +1 -1
  27. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.d.ts.map +1 -1
  28. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js +7 -14
  29. package/lib/esm/RealityDataSourceCesiumIonAssetImpl.js.map +1 -1
  30. package/lib/esm/internal/tile/OrbitGtTileTree.js +4 -4
  31. package/lib/esm/internal/tile/OrbitGtTileTree.js.map +1 -1
  32. package/lib/esm/quantity-formatting/FormatsProviderReloadCoordinator.d.ts +53 -0
  33. package/lib/esm/quantity-formatting/FormatsProviderReloadCoordinator.d.ts.map +1 -0
  34. package/lib/esm/quantity-formatting/FormatsProviderReloadCoordinator.js +140 -0
  35. package/lib/esm/quantity-formatting/FormatsProviderReloadCoordinator.js.map +1 -0
  36. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts +23 -34
  37. package/lib/esm/quantity-formatting/QuantityFormatter.d.ts.map +1 -1
  38. package/lib/esm/quantity-formatting/QuantityFormatter.js +99 -90
  39. package/lib/esm/quantity-formatting/QuantityFormatter.js.map +1 -1
  40. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts +27 -6
  41. package/lib/esm/tile/map/CesiumTerrainProvider.d.ts.map +1 -1
  42. package/lib/esm/tile/map/CesiumTerrainProvider.js +50 -22
  43. package/lib/esm/tile/map/CesiumTerrainProvider.js.map +1 -1
  44. package/lib/public/locales/en/iModelJs.json +3 -1
  45. package/lib/public/scripts/parse-imdl-worker.js +2 -2
  46. package/lib/test-public/scripts/parse-imdl-worker.js +2 -2
  47. package/lib/test-public/test-worker.js +1 -1
  48. package/package.json +21 -21
@@ -1 +1 @@
1
- {"version":3,"file":"QuantityFormatter.d.ts","sourceRoot":"","sources":["../../../src/quantity-formatting/QuantityFormatter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuantityFormatter.d.ts","sourceRoot":"","sources":["../../../src/quantity-formatting/QuantityFormatter.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,7 @@ import { BasicUnitsProvider, Format, FormatSpecHandle, FormatterSpec, Formatting
10
10
  import { FrontendLoggerCategory } from "../common/FrontendLoggerCategory";
11
11
  import { IModelApp } from "../IModelApp";
12
12
  import { getDefaultAlternateUnitLabels } from "./AlternateUnitLabels";
13
+ import { FormatsProviderReloadCoordinator } from "./FormatsProviderReloadCoordinator";
13
14
  // cSpell:ignore FORMATPROPS FORMATKEY ussurvey uscustomary USCUSTOM
14
15
  /**
15
16
  * Defines standard format types for tools that need to display measurements to user.
@@ -194,12 +195,24 @@ export class FormatsProviderManager {
194
195
  }
195
196
  get formatsProvider() { return this; }
196
197
  set formatsProvider(formatsProvider) {
198
+ this.setFormatsProvider(formatsProvider);
199
+ }
200
+ /**
201
+ * Replaces the underlying formats provider and raises an event indicating that all formats changed.
202
+ * @param formatsProvider The formats provider to use for subsequent format lookups.
203
+ * @param impliedUnitSystem The unit system implied by the replacement provider, if any. Not stored here; [[QuantityFormatter]] applies it as the active unit system when handling `onFormatsChanged`.
204
+ * @internal
205
+ */
206
+ setFormatsProvider(formatsProvider, impliedUnitSystem) {
197
207
  this._removeProviderListener?.();
198
208
  this._formatsProvider = formatsProvider;
199
209
  this._removeProviderListener = this._formatsProvider.onFormatsChanged.addListener((args) => {
200
210
  this.onFormatsChanged.raiseEvent(args);
201
211
  });
202
- this.onFormatsChanged.raiseEvent({ formatsChanged: "all" });
212
+ const args = { formatsChanged: "all" };
213
+ if (impliedUnitSystem !== undefined)
214
+ args.impliedUnitSystem = impliedUnitSystem;
215
+ this.onFormatsChanged.raiseEvent(args);
203
216
  }
204
217
  }
205
218
  /** The QuantityFormatter class provides methods for formatting and parsing quantities. There are a set of standard quantity types
@@ -280,10 +293,13 @@ export class QuantityFormatter {
280
293
  _hasEverBeenReady = false;
281
294
  _initializedPromise;
282
295
  _resolveInitialized;
283
- _reloadInFlight = false;
284
- _pendingReload;
285
- _deferredSystemChangedEmit;
296
+ _emitSystemChangedOnReady = false;
297
+ _isDisposed = false;
298
+ _disposedError = new Error("QuantityFormatter was disposed before the reload completed.");
299
+ _reloadCoordinator;
286
300
  _removeFormatsProviderListener;
301
+ _activeFormatSpecsTarget;
302
+ _activeParserSpecsTarget;
287
303
  /**
288
304
  * constructor
289
305
  * @param showMetricOrUnitSystem - Pass in `true` to show Metric formatted quantity values. Defaults to Imperial. To explicitly
@@ -293,6 +309,12 @@ export class QuantityFormatter {
293
309
  this._initializedPromise = new Promise((resolve) => {
294
310
  this._resolveInitialized = resolve;
295
311
  });
312
+ this._reloadCoordinator = new FormatsProviderReloadCoordinator({
313
+ startReload: () => { this._isReady = false; },
314
+ executeReload: async (intent) => this._executeReload(intent),
315
+ finalizeReload: async () => this.finalizeReload(),
316
+ handleReloadFailure: (error) => this._handleReloadFailure(error),
317
+ }, this._disposedError);
296
318
  if (undefined !== showMetricOrUnitSystem) {
297
319
  if (typeof showMetricOrUnitSystem === "boolean")
298
320
  this._activeUnitSystem = showMetricOrUnitSystem ? "metric" : "imperial";
@@ -301,70 +323,44 @@ export class QuantityFormatter {
301
323
  }
302
324
  }
303
325
  [Symbol.dispose]() {
326
+ if (this._isDisposed)
327
+ return;
328
+ this._isDisposed = true;
329
+ this._isReady = false;
330
+ this._emitSystemChangedOnReady = false;
331
+ this._reloadCoordinator.dispose();
304
332
  if (this._removeFormatsProviderListener) {
305
333
  this._removeFormatsProviderListener();
306
334
  this._removeFormatsProviderListener = undefined;
307
335
  }
308
336
  }
337
+ /** Runs an action that schedules a reload and waits for the reload queue to drain.
338
+ * The most recent call wins. If another call is made before this reload queue drains, this call is rejected.
339
+ * @internal
340
+ */
341
+ async runAndWaitForReload(action) {
342
+ return this._reloadCoordinator.runAndWaitForReload(action);
343
+ }
309
344
  /** Schedule an async reload. If no reload is in flight, runs immediately. If a reload is
310
- * already in flight, stores the intent as pending (latest-wins: only the last scheduled reload
311
- * is kept). `finalizeReload()` fires only when the queue is fully drained.
345
+ * already in flight, stores the intent as pending. Pending format changes are merged and run before
346
+ * the latest other pending intent. `finalizeReload()` fires only when the queue is fully drained.
312
347
  *
313
348
  * **Await semantics:** When a reload is already in flight, the returned promise resolves
314
349
  * immediately *without* the requested reload having run. Callers that need to know when
315
- * the reload has actually completed should listen for `onFormattingReady` instead.
350
+ * an explicitly triggered reload has actually completed should use [[runAndWaitForReload]].
316
351
  *
317
- * Reload intents:
318
- * - `"full"` — rebuild entire registry + re-register provider listener (onInitialized, setUnitsProvider)
319
- * - `"formatsChanged"` — patch registry from provider + load maps (formatsChanged listener)
320
- * - `"activeSystem"` — reload format/parsing maps for current unit system (setActiveUnitSystem, reinitializeFormatAndParsingsMaps)
321
352
  * @internal
322
353
  */
323
354
  async scheduleReload(intent) {
324
- if (this._reloadInFlight) {
325
- // A reload is already running — queue this one (latest-wins)
326
- this._pendingReload = intent;
327
- return;
328
- }
329
- this._reloadInFlight = true;
330
- this._isReady = false;
331
- this._deferredSystemChangedEmit = undefined; // Clear stale deferred from prior cycle
332
- try {
333
- await this._executeReload(intent);
355
+ return this._reloadCoordinator.scheduleReload(intent);
356
+ }
357
+ _handleReloadFailure(error) {
358
+ if (!this._isDisposed)
359
+ Logger.logError(`${FrontendLoggerCategory.Package}.QuantityFormatter`, BentleyError.getErrorMessage(error));
360
+ if (this._hasEverBeenReady && !this._isDisposed) {
361
+ Logger.logWarning(`${FrontendLoggerCategory.Package}.QuantityFormatter`, "Reload failed — restoring previous ready state. Cached specs may be stale.");
362
+ this._isReady = true;
334
363
  }
335
- catch (err) {
336
- Logger.logError(`${FrontendLoggerCategory.Package}.QuantityFormatter`, BentleyError.getErrorMessage(err));
337
- this._reloadInFlight = false;
338
- // If there's a pending reload, still try to run it
339
- if (this._pendingReload) {
340
- const next = this._pendingReload;
341
- this._pendingReload = undefined;
342
- return this.scheduleReload(next);
343
- }
344
- // Restore prior ready state so stale-but-usable specs remain accessible
345
- if (this._hasEverBeenReady) {
346
- Logger.logWarning(`${FrontendLoggerCategory.Package}.QuantityFormatter`, "Reload failed — restoring previous ready state. Cached specs may be stale.");
347
- this._isReady = true;
348
- }
349
- return;
350
- }
351
- // Current reload succeeded — check if another was queued
352
- if (this._pendingReload) {
353
- const next = this._pendingReload;
354
- this._pendingReload = undefined;
355
- this._reloadInFlight = false;
356
- return this.scheduleReload(next);
357
- }
358
- // Queue is drained — finalize
359
- await this.finalizeReload();
360
- // A new reload may have been queued during the async finalizeReload window
361
- if (this._pendingReload) {
362
- const next = this._pendingReload;
363
- this._pendingReload = undefined;
364
- this._reloadInFlight = false;
365
- return this.scheduleReload(next);
366
- }
367
- this._reloadInFlight = false;
368
364
  }
369
365
  /** Execute the reload work for a given intent. All reload logic is centralized here.
370
366
  * @internal
@@ -373,47 +369,51 @@ export class QuantityFormatter {
373
369
  switch (intent.scope) {
374
370
  case "full":
375
371
  await this._reloadCore();
372
+ return;
373
+ case "formatsChanged":
374
+ await this._rebuildRegistryFromProvider(intent.args);
376
375
  break;
377
- case "formatsChanged": {
378
- const { args } = intent;
379
- await this._rebuildRegistryFromProvider(args);
380
- if (args.impliedUnitSystem && args.impliedUnitSystem !== this._activeUnitSystem) {
381
- this._activeUnitSystem = args.impliedUnitSystem;
382
- }
383
- await this.loadFormatAndParsingMapsForSystem(this._activeUnitSystem);
384
- if (args.impliedUnitSystem) {
385
- this._deferredSystemChangedEmit = { system: this._activeUnitSystem };
386
- }
387
- break;
388
- }
389
- case "activeSystem":
390
- await this.loadFormatAndParsingMapsForSystem(this._activeUnitSystem);
391
- if (intent.emitSystemChanged) {
392
- this._deferredSystemChangedEmit = { system: this._activeUnitSystem };
393
- }
394
- break;
395
376
  }
377
+ // Build the active specs in temporary maps so readers keep using complete specs until the new ones are ready.
378
+ const nextFormatSpecs = new Map();
379
+ const nextParserSpecs = new Map();
380
+ this._activeFormatSpecsTarget = nextFormatSpecs;
381
+ this._activeParserSpecsTarget = nextParserSpecs;
382
+ try {
383
+ await this.loadFormatAndParsingMapsForSystem(this._activeUnitSystem);
384
+ }
385
+ finally {
386
+ this._activeFormatSpecsTarget = undefined;
387
+ this._activeParserSpecsTarget = undefined;
388
+ }
389
+ this._activeFormatSpecsByType = nextFormatSpecs;
390
+ this._activeParserSpecsByType = nextParserSpecs;
396
391
  }
397
392
  /** Called when the reload queue is fully drained after a successful reload.
398
393
  * Sets `isReady` to true, resolves `whenInitialized` (one-shot), and emits ready events.
399
394
  * @internal
400
395
  */
401
396
  async finalizeReload() {
397
+ if (this._isDisposed)
398
+ return;
402
399
  // Phase 1: Let providers register async work
403
400
  const collector = new FormattingReadyCollector();
404
401
  this.onBeforeFormattingReady.raiseEvent(collector);
405
402
  await collector.awaitAll();
403
+ if (this._isDisposed)
404
+ return;
406
405
  // Phase 2: Signal ready to consumers
407
406
  this._isReady = true;
408
407
  this._hasEverBeenReady = true;
409
408
  this._resolveInitialized();
410
409
  this.onFormattingReady.emit();
411
- // Phase 3: Emit deferred unit-system-changed if the winning reload set one.
410
+ if (this._isDisposed)
411
+ return;
412
+ // Phase 3: Emit unit-system-changed if the unit system was changed since the last ready state, reporting the system that is now active.
412
413
  // This fires after isReady === true so listeners can safely use the formatter.
413
- if (this._deferredSystemChangedEmit) {
414
- const args = this._deferredSystemChangedEmit;
415
- this._deferredSystemChangedEmit = undefined;
416
- this.onActiveFormattingUnitSystemChanged.emit(args);
414
+ if (this._emitSystemChangedOnReady) {
415
+ this._emitSystemChangedOnReady = false;
416
+ this.onActiveFormattingUnitSystemChanged.emit({ system: this._activeUnitSystem });
417
417
  }
418
418
  }
419
419
  getOverrideFormatPropsByQuantityType(quantityTypeKey, unitSystem) {
@@ -484,8 +484,8 @@ export class QuantityFormatter {
484
484
  async loadFormatAndParserSpec(quantityTypeDefinition, formatProps) {
485
485
  const formatterSpec = await quantityTypeDefinition.generateFormatterSpec(formatProps, this.unitsProvider);
486
486
  const parserSpec = await quantityTypeDefinition.generateParserSpec(formatProps, this.unitsProvider, this.alternateUnitLabelsProvider);
487
- this._activeFormatSpecsByType.set(quantityTypeDefinition.key, formatterSpec);
488
- this._activeParserSpecsByType.set(quantityTypeDefinition.key, parserSpec);
487
+ (this._activeFormatSpecsTarget ?? this._activeFormatSpecsByType).set(quantityTypeDefinition.key, formatterSpec);
488
+ (this._activeParserSpecsTarget ?? this._activeParserSpecsByType).set(quantityTypeDefinition.key, parserSpec);
489
489
  }
490
490
  // repopulate formatSpec and parserSpec entries using only default format
491
491
  async loadDefaultFormatAndParserSpecForQuantity(typeKey) {
@@ -542,17 +542,20 @@ export class QuantityFormatter {
542
542
  * @internal
543
543
  */
544
544
  async onInitialized() {
545
+ // Register once, before the first reload, so provider changes made while a units-provider reload is running are not missed.
546
+ this._removeFormatsProviderListener ??= IModelApp.formatsProvider.onFormatsChanged.addListener((args) => {
547
+ if (args.impliedUnitSystem && args.impliedUnitSystem !== this._activeUnitSystem) {
548
+ this._activeUnitSystem = args.impliedUnitSystem;
549
+ this._emitSystemChangedOnReady = true;
550
+ }
551
+ void this.scheduleReload({ scope: "formatsChanged", args });
552
+ });
545
553
  await this.scheduleReload({ scope: "full" });
546
554
  }
547
555
  /** Core reload logic — does all async I/O and cache rebuilding without events or state management.
548
556
  * @internal
549
557
  */
550
558
  async _reloadCore() {
551
- // Remove any existing listener before re-registering to avoid duplicates when called via setUnitsProvider.
552
- if (this._removeFormatsProviderListener) {
553
- this._removeFormatsProviderListener();
554
- this._removeFormatsProviderListener = undefined;
555
- }
556
559
  await this.initializeQuantityTypesRegistry();
557
560
  const initialKoQs = [["DefaultToolsUnits.LENGTH", "Units.M"], ["DefaultToolsUnits.ANGLE", "Units.RAD"], ["DefaultToolsUnits.AREA", "Units.SQ_M"], ["DefaultToolsUnits.VOLUME", "Units.CUB_M"], ["DefaultToolsUnits.LENGTH_COORDINATE", "Units.M"], ["CivilUnits.STATION", "Units.M"], ["CivilUnits.LENGTH", "Units.M"], ["AecUnits.LENGTH", "Units.M"]];
558
561
  for (const entry of initialKoQs) {
@@ -565,10 +568,6 @@ export class QuantityFormatter {
565
568
  }
566
569
  }
567
570
  }
568
- // Register formatsProvider listener that triggers a queued reload when formats change
569
- this._removeFormatsProviderListener = IModelApp.formatsProvider.onFormatsChanged.addListener((args) => {
570
- void this.scheduleReload({ scope: "formatsChanged", args });
571
- });
572
571
  // initialize default format and parsing specs
573
572
  await this.loadFormatAndParsingMapsForSystem();
574
573
  }
@@ -662,6 +661,9 @@ export class QuantityFormatter {
662
661
  await IModelApp.quantityFormatter.resetToUseInternalUnitsProvider();
663
662
  return;
664
663
  }
664
+ // Disposal can occur while the reload is awaited, so do not notify afterward.
665
+ if (this._isDisposed)
666
+ return;
665
667
  this.onUnitsProviderChanged.emit();
666
668
  }
667
669
  /**
@@ -701,7 +703,11 @@ export class QuantityFormatter {
701
703
  this._overrideFormatPropsByUnitSystem = overrideFormatPropsByUnitSystem;
702
704
  }
703
705
  unitSystemKey && (this._activeUnitSystem = unitSystemKey);
704
- await this.scheduleReload({ scope: "activeSystem", emitSystemChanged: fireUnitSystemChanged });
706
+ if (fireUnitSystemChanged)
707
+ this._emitSystemChangedOnReady = true;
708
+ await this.scheduleReload({ scope: "activeSystem" });
709
+ if (this._isDisposed)
710
+ return;
705
711
  IModelApp.toolAdmin && startDefaultTool && await IModelApp.toolAdmin.startDefaultTool();
706
712
  }
707
713
  /** Set the Active unit system to one of the supported types. This will asynchronously load the formatter and parser specs for the activated system. */
@@ -714,7 +720,10 @@ export class QuantityFormatter {
714
720
  if (this._activeUnitSystem === systemType)
715
721
  return;
716
722
  this._activeUnitSystem = systemType;
717
- await this.scheduleReload({ scope: "activeSystem", emitSystemChanged: true });
723
+ this._emitSystemChangedOnReady = true;
724
+ await this.scheduleReload({ scope: "activeSystem" });
725
+ if (this._isDisposed)
726
+ return;
718
727
  // allow settings provider to store the change
719
728
  await this._unitFormattingSettingsProvider?.storeUnitSystemSetting({ system: systemType });
720
729
  if (IModelApp.toolAdmin && restartActiveTool)