@meshmakers/octo-meshboard 3.4.1430 → 3.4.1440
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
|
-
import { FieldFilterOperatorsDto, CkTypeSelectorService, RuntimeEntitySelectDataSource
|
|
1
|
+
import { FieldFilterOperatorsDto, CkTypeSelectorService, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource, DeleteStrategiesDto, AssociationModOptionsDto, CkModelService, QueryModeDto, GraphDirectionDto, AttributeSelectorService, GraphQL, GetCkTypeAvailableQueryColumnsDtoGQL, SortOrdersDto, SeriesResolutionSignalDto, HealthService, TENANT_ID_PROVIDER, AssetRepoService, JobManagementService } from '@meshmakers/octo-services';
|
|
2
2
|
export { RuntimeEntityDialogDataSource, RuntimeEntitySelectDataSource, TENANT_ID_PROVIDER } from '@meshmakers/octo-services';
|
|
3
3
|
import * as i0 from '@angular/core';
|
|
4
4
|
import { Injectable, inject, EventEmitter, forwardRef, Output, Input, ViewChild, ChangeDetectionStrategy, Component, Injector, EnvironmentInjector, ApplicationRef, signal, computed, effect, untracked, Directive, ElementRef, NgZone, makeEnvironmentProviders, provideAppInitializer, InjectionToken } from '@angular/core';
|
|
@@ -557,8 +557,8 @@ class RuntimeEntitySelectorComponent {
|
|
|
557
557
|
this.selectedCkType = ckType;
|
|
558
558
|
this.selectedEntity = null;
|
|
559
559
|
// Create new data sources for entity selection
|
|
560
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
561
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
560
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
561
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
562
562
|
this.ckTypeSelected.emit(ckType);
|
|
563
563
|
this.emitValue();
|
|
564
564
|
}
|
|
@@ -598,8 +598,8 @@ class RuntimeEntitySelectorComponent {
|
|
|
598
598
|
if (ckType) {
|
|
599
599
|
this.selectedCkType = ckType;
|
|
600
600
|
// Create data sources
|
|
601
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
602
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
601
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
602
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
603
603
|
// Set the CK Type in the selector
|
|
604
604
|
if (this.ckTypeSelector) {
|
|
605
605
|
this.ckTypeSelector.writeValue(ckType);
|
|
@@ -2775,6 +2775,7 @@ const GetDashboardEntityDocumentDto = gql `
|
|
|
2775
2775
|
rtId
|
|
2776
2776
|
ckTypeId
|
|
2777
2777
|
rtWellKnownName
|
|
2778
|
+
rtDisplayName
|
|
2778
2779
|
rtCreationDateTime
|
|
2779
2780
|
rtChangedDateTime
|
|
2780
2781
|
attributes(resolveEnumValuesToNames: true) {
|
|
@@ -3450,6 +3451,7 @@ const GetAssociationTargetsDocumentDto = gql `
|
|
|
3450
3451
|
rtId
|
|
3451
3452
|
ckTypeId
|
|
3452
3453
|
rtWellKnownName
|
|
3454
|
+
rtDisplayName
|
|
3453
3455
|
attributes(attributeNames: $attributeNames, resolveEnumValuesToNames: true) {
|
|
3454
3456
|
items {
|
|
3455
3457
|
attributeName
|
|
@@ -3772,6 +3774,7 @@ class MeshBoardDataService {
|
|
|
3772
3774
|
rtId: entity.rtId,
|
|
3773
3775
|
ckTypeId: entity.ckTypeId,
|
|
3774
3776
|
rtWellKnownName: entity.rtWellKnownName ?? undefined,
|
|
3777
|
+
rtDisplayName: entity.rtDisplayName ?? undefined,
|
|
3775
3778
|
rtCreationDateTime: entity.rtCreationDateTime ?? undefined,
|
|
3776
3779
|
rtChangedDateTime: entity.rtChangedDateTime ?? undefined,
|
|
3777
3780
|
attributes,
|
|
@@ -4047,6 +4050,7 @@ class MeshBoardDataService {
|
|
|
4047
4050
|
rtId: t.rtId,
|
|
4048
4051
|
ckTypeId: t.ckTypeId,
|
|
4049
4052
|
rtWellKnownName: t.rtWellKnownName ?? undefined,
|
|
4053
|
+
rtDisplayName: t.rtDisplayName ?? undefined,
|
|
4050
4054
|
attributes: (t.attributes?.items ?? [])
|
|
4051
4055
|
.filter((a) => a !== null && a.attributeName !== null)
|
|
4052
4056
|
.map(a => ({
|
|
@@ -4745,8 +4749,8 @@ class EntityCardConfigDialogComponent {
|
|
|
4745
4749
|
this.selectedCkType = ckType;
|
|
4746
4750
|
this.selectedEntity = null; // Reset entity when type changes
|
|
4747
4751
|
// Create new data sources for the selected type
|
|
4748
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
4749
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
4752
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
4753
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
4750
4754
|
}
|
|
4751
4755
|
onCkTypeCleared() {
|
|
4752
4756
|
this.selectedCkType = null;
|
|
@@ -6647,8 +6651,8 @@ class KpiConfigDialogComponent {
|
|
|
6647
6651
|
onCkTypeSelected(ckType) {
|
|
6648
6652
|
this.selectedCkType = ckType;
|
|
6649
6653
|
this.selectedEntity = null;
|
|
6650
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
6651
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
6654
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
6655
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
6652
6656
|
// Load available attributes for this CK type (fullName is required for the GraphQL query)
|
|
6653
6657
|
this.loadAvailableAttributes(ckType.fullName);
|
|
6654
6658
|
}
|
|
@@ -8435,7 +8439,7 @@ class EntityAssociationsWidgetComponent {
|
|
|
8435
8439
|
}
|
|
8436
8440
|
else {
|
|
8437
8441
|
expanded.add(key);
|
|
8438
|
-
// Load
|
|
8442
|
+
// Load the targets (display names, plus attributes when configured) on expand
|
|
8439
8443
|
this.loadTargetAttributes(group);
|
|
8440
8444
|
}
|
|
8441
8445
|
this._expandedGroups.set(expanded);
|
|
@@ -8454,7 +8458,7 @@ class EntityAssociationsWidgetComponent {
|
|
|
8454
8458
|
return cached.map(t => ({
|
|
8455
8459
|
rtId: t.rtId,
|
|
8456
8460
|
ckTypeId: t.ckTypeId,
|
|
8457
|
-
displayName: t.rtWellKnownName || t.rtId,
|
|
8461
|
+
displayName: t.rtDisplayName || t.rtWellKnownName || t.rtId,
|
|
8458
8462
|
attributes: t.attributes
|
|
8459
8463
|
}));
|
|
8460
8464
|
}
|
|
@@ -8508,9 +8512,10 @@ class EntityAssociationsWidgetComponent {
|
|
|
8508
8512
|
return `${group.direction}-${group.roleId}-${group.targetType}`;
|
|
8509
8513
|
}
|
|
8510
8514
|
loadTargetAttributes(group) {
|
|
8511
|
-
|
|
8512
|
-
|
|
8513
|
-
|
|
8515
|
+
// Always fetch on expand, also without configured target attributes: the
|
|
8516
|
+
// same query carries each target's rtDisplayName, and the fallback list
|
|
8517
|
+
// built from the bare association rows can only show rtIds.
|
|
8518
|
+
const targetAttributePaths = this.config?.targetAttributePaths ?? [];
|
|
8514
8519
|
const cacheKey = this.getGroupCacheKey(group);
|
|
8515
8520
|
// Skip if already cached or loading
|
|
8516
8521
|
if (this._targetAttributesCache().has(cacheKey) || this._loadingTargetGroups().has(cacheKey))
|
|
@@ -8667,102 +8672,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
|
|
|
8667
8672
|
}]
|
|
8668
8673
|
}], ctorParameters: () => [{ type: i1.Apollo }] });
|
|
8669
8674
|
|
|
8670
|
-
/**
|
|
8671
|
-
* Data source for entity autocomplete - filters by ckTypeId
|
|
8672
|
-
*/
|
|
8673
|
-
let RuntimeEntitySelectDataSource$1 = class RuntimeEntitySelectDataSource {
|
|
8674
|
-
getEntitiesByCkTypeGQL;
|
|
8675
|
-
ckTypeId;
|
|
8676
|
-
constructor(getEntitiesByCkTypeGQL, ckTypeId) {
|
|
8677
|
-
this.getEntitiesByCkTypeGQL = getEntitiesByCkTypeGQL;
|
|
8678
|
-
this.ckTypeId = ckTypeId;
|
|
8679
|
-
}
|
|
8680
|
-
async onFilter(filter, take) {
|
|
8681
|
-
const result = await firstValueFrom(this.getEntitiesByCkTypeGQL.fetch({
|
|
8682
|
-
variables: {
|
|
8683
|
-
ckTypeId: this.ckTypeId,
|
|
8684
|
-
first: take ?? 10,
|
|
8685
|
-
fieldFilters: [
|
|
8686
|
-
{ attributePath: 'rtId', operator: FieldFilterOperatorsDto.LikeDto, comparisonValue: filter }
|
|
8687
|
-
]
|
|
8688
|
-
}
|
|
8689
|
-
}));
|
|
8690
|
-
const items = (result.data?.runtime?.runtimeEntities?.items ?? [])
|
|
8691
|
-
.filter((item) => item !== null)
|
|
8692
|
-
.map(item => ({
|
|
8693
|
-
rtId: item.rtId,
|
|
8694
|
-
ckTypeId: item.ckTypeId,
|
|
8695
|
-
rtWellKnownName: item.rtWellKnownName ?? undefined,
|
|
8696
|
-
displayName: item.rtWellKnownName || item.rtId
|
|
8697
|
-
}));
|
|
8698
|
-
return {
|
|
8699
|
-
totalCount: result.data?.runtime?.runtimeEntities?.totalCount ?? 0,
|
|
8700
|
-
items
|
|
8701
|
-
};
|
|
8702
|
-
}
|
|
8703
|
-
onDisplayEntity(entity) {
|
|
8704
|
-
return entity.displayName;
|
|
8705
|
-
}
|
|
8706
|
-
getIdEntity(entity) {
|
|
8707
|
-
return entity.rtId;
|
|
8708
|
-
}
|
|
8709
|
-
};
|
|
8710
|
-
/**
|
|
8711
|
-
* Dialog data source for entity selection grid
|
|
8712
|
-
*/
|
|
8713
|
-
let RuntimeEntityDialogDataSource$1 = class RuntimeEntityDialogDataSource {
|
|
8714
|
-
getEntitiesByCkTypeGQL;
|
|
8715
|
-
ckTypeId;
|
|
8716
|
-
constructor(getEntitiesByCkTypeGQL, ckTypeId) {
|
|
8717
|
-
this.getEntitiesByCkTypeGQL = getEntitiesByCkTypeGQL;
|
|
8718
|
-
this.ckTypeId = ckTypeId;
|
|
8719
|
-
}
|
|
8720
|
-
getColumns() {
|
|
8721
|
-
return [
|
|
8722
|
-
{ field: 'rtId', displayName: 'RT-ID' },
|
|
8723
|
-
{ field: 'rtWellKnownName', displayName: 'Name' },
|
|
8724
|
-
{ field: 'ckTypeId', displayName: 'CK Type' }
|
|
8725
|
-
];
|
|
8726
|
-
}
|
|
8727
|
-
fetchData(options) {
|
|
8728
|
-
// Build field filters for text search
|
|
8729
|
-
const fieldFilters = [];
|
|
8730
|
-
if (options.textSearch && options.textSearch.trim()) {
|
|
8731
|
-
fieldFilters.push({
|
|
8732
|
-
attributePath: 'rtId',
|
|
8733
|
-
operator: FieldFilterOperatorsDto.LikeDto,
|
|
8734
|
-
comparisonValue: options.textSearch.trim()
|
|
8735
|
-
});
|
|
8736
|
-
}
|
|
8737
|
-
return from(this.getEntitiesByCkTypeGQL.fetch({
|
|
8738
|
-
variables: {
|
|
8739
|
-
ckTypeId: this.ckTypeId,
|
|
8740
|
-
first: options.take,
|
|
8741
|
-
after: options.skip > 0 ? btoa(`arrayconnection:${options.skip - 1}`) : undefined,
|
|
8742
|
-
fieldFilters: fieldFilters.length > 0 ? fieldFilters : undefined
|
|
8743
|
-
}
|
|
8744
|
-
})).pipe(map(result => {
|
|
8745
|
-
const items = (result.data?.runtime?.runtimeEntities?.items ?? [])
|
|
8746
|
-
.filter((item) => item !== null)
|
|
8747
|
-
.map(item => ({
|
|
8748
|
-
rtId: item.rtId,
|
|
8749
|
-
ckTypeId: item.ckTypeId,
|
|
8750
|
-
rtWellKnownName: item.rtWellKnownName ?? undefined,
|
|
8751
|
-
displayName: item.rtWellKnownName || item.rtId
|
|
8752
|
-
}));
|
|
8753
|
-
return {
|
|
8754
|
-
data: items,
|
|
8755
|
-
totalCount: result.data?.runtime?.runtimeEntities?.totalCount ?? 0
|
|
8756
|
-
};
|
|
8757
|
-
}));
|
|
8758
|
-
}
|
|
8759
|
-
onDisplayEntity(entity) {
|
|
8760
|
-
return entity.displayName;
|
|
8761
|
-
}
|
|
8762
|
-
getIdEntity(entity) {
|
|
8763
|
-
return entity.rtId;
|
|
8764
|
-
}
|
|
8765
|
-
};
|
|
8766
8675
|
/**
|
|
8767
8676
|
* Configuration dialog for EntityWithAssociations widget.
|
|
8768
8677
|
* Allows selecting a CK Type, runtime entity, direction filters, and role filters.
|
|
@@ -8891,7 +8800,8 @@ class AssociationsConfigDialogComponent {
|
|
|
8891
8800
|
rtId: entity.rtId,
|
|
8892
8801
|
ckTypeId: entity.ckTypeId,
|
|
8893
8802
|
rtWellKnownName: entity.rtWellKnownName ?? undefined,
|
|
8894
|
-
|
|
8803
|
+
rtDisplayName: entity.rtDisplayName,
|
|
8804
|
+
displayName: entity.rtDisplayName
|
|
8895
8805
|
};
|
|
8896
8806
|
}
|
|
8897
8807
|
}
|
|
@@ -8905,8 +8815,8 @@ class AssociationsConfigDialogComponent {
|
|
|
8905
8815
|
this.selectedRoles = [];
|
|
8906
8816
|
this.selectedEntityAttributes = [];
|
|
8907
8817
|
// Create data sources for entity selection
|
|
8908
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
8909
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
8818
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
8819
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
8910
8820
|
// Load available association roles and entity attributes in parallel
|
|
8911
8821
|
await Promise.all([
|
|
8912
8822
|
this.loadAssociationRoles(ckType.rtCkTypeId),
|
|
@@ -11578,8 +11488,8 @@ class GaugeConfigDialogComponent {
|
|
|
11578
11488
|
onCkTypeSelected(ckType) {
|
|
11579
11489
|
this.selectedCkType = ckType;
|
|
11580
11490
|
this.selectedEntity = null;
|
|
11581
|
-
this.entityDataSource = new RuntimeEntitySelectDataSource
|
|
11582
|
-
this.entityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
11491
|
+
this.entityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, ckType.fullName);
|
|
11492
|
+
this.entityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, ckType.rtCkTypeId);
|
|
11583
11493
|
// Load available attributes for this CK type (fullName is required for the GraphQL query)
|
|
11584
11494
|
this.loadAvailableAttributes(ckType.fullName);
|
|
11585
11495
|
}
|
|
@@ -27322,102 +27232,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.5", ngImpor
|
|
|
27322
27232
|
args: ['containerRef']
|
|
27323
27233
|
}] } });
|
|
27324
27234
|
|
|
27325
|
-
/**
|
|
27326
|
-
* Data source for entity autocomplete - filters by ckTypeId
|
|
27327
|
-
*/
|
|
27328
|
-
class RuntimeEntitySelectDataSource {
|
|
27329
|
-
getEntitiesByCkTypeGQL;
|
|
27330
|
-
ckTypeId;
|
|
27331
|
-
constructor(getEntitiesByCkTypeGQL, ckTypeId) {
|
|
27332
|
-
this.getEntitiesByCkTypeGQL = getEntitiesByCkTypeGQL;
|
|
27333
|
-
this.ckTypeId = ckTypeId;
|
|
27334
|
-
}
|
|
27335
|
-
async onFilter(filter, take) {
|
|
27336
|
-
const result = await firstValueFrom(this.getEntitiesByCkTypeGQL.fetch({
|
|
27337
|
-
variables: {
|
|
27338
|
-
ckTypeId: this.ckTypeId,
|
|
27339
|
-
first: take ?? 10,
|
|
27340
|
-
fieldFilters: filter ? [
|
|
27341
|
-
{ attributePath: 'rtId', operator: FieldFilterOperatorsDto.LikeDto, comparisonValue: filter }
|
|
27342
|
-
] : undefined
|
|
27343
|
-
}
|
|
27344
|
-
}));
|
|
27345
|
-
const items = (result.data?.runtime?.runtimeEntities?.items ?? [])
|
|
27346
|
-
.filter((item) => item !== null)
|
|
27347
|
-
.map(item => ({
|
|
27348
|
-
rtId: item.rtId,
|
|
27349
|
-
ckTypeId: item.ckTypeId,
|
|
27350
|
-
rtWellKnownName: item.rtWellKnownName ?? undefined,
|
|
27351
|
-
displayName: item.rtWellKnownName || item.rtId
|
|
27352
|
-
}));
|
|
27353
|
-
return {
|
|
27354
|
-
totalCount: result.data?.runtime?.runtimeEntities?.totalCount ?? 0,
|
|
27355
|
-
items
|
|
27356
|
-
};
|
|
27357
|
-
}
|
|
27358
|
-
onDisplayEntity(entity) {
|
|
27359
|
-
return entity.displayName;
|
|
27360
|
-
}
|
|
27361
|
-
getIdEntity(entity) {
|
|
27362
|
-
return entity.rtId;
|
|
27363
|
-
}
|
|
27364
|
-
}
|
|
27365
|
-
/**
|
|
27366
|
-
* Dialog data source for entity selection grid
|
|
27367
|
-
*/
|
|
27368
|
-
class RuntimeEntityDialogDataSource {
|
|
27369
|
-
getEntitiesByCkTypeGQL;
|
|
27370
|
-
ckTypeId;
|
|
27371
|
-
constructor(getEntitiesByCkTypeGQL, ckTypeId) {
|
|
27372
|
-
this.getEntitiesByCkTypeGQL = getEntitiesByCkTypeGQL;
|
|
27373
|
-
this.ckTypeId = ckTypeId;
|
|
27374
|
-
}
|
|
27375
|
-
getColumns() {
|
|
27376
|
-
return [
|
|
27377
|
-
{ field: 'rtId', displayName: 'RT-ID' },
|
|
27378
|
-
{ field: 'rtWellKnownName', displayName: 'Name' },
|
|
27379
|
-
{ field: 'ckTypeId', displayName: 'CK Type' }
|
|
27380
|
-
];
|
|
27381
|
-
}
|
|
27382
|
-
fetchData(options) {
|
|
27383
|
-
// Build field filters for text search
|
|
27384
|
-
const fieldFilters = [];
|
|
27385
|
-
if (options.textSearch && options.textSearch.trim()) {
|
|
27386
|
-
fieldFilters.push({
|
|
27387
|
-
attributePath: 'rtId',
|
|
27388
|
-
operator: FieldFilterOperatorsDto.LikeDto,
|
|
27389
|
-
comparisonValue: options.textSearch.trim()
|
|
27390
|
-
});
|
|
27391
|
-
}
|
|
27392
|
-
return from(this.getEntitiesByCkTypeGQL.fetch({
|
|
27393
|
-
variables: {
|
|
27394
|
-
ckTypeId: this.ckTypeId,
|
|
27395
|
-
first: options.take,
|
|
27396
|
-
after: options.skip > 0 ? btoa(`arrayconnection:${options.skip - 1}`) : undefined,
|
|
27397
|
-
fieldFilters: fieldFilters.length > 0 ? fieldFilters : undefined
|
|
27398
|
-
}
|
|
27399
|
-
})).pipe(map(result => {
|
|
27400
|
-
const items = (result.data?.runtime?.runtimeEntities?.items ?? [])
|
|
27401
|
-
.filter((item) => item !== null)
|
|
27402
|
-
.map(item => ({
|
|
27403
|
-
rtId: item.rtId,
|
|
27404
|
-
ckTypeId: item.ckTypeId,
|
|
27405
|
-
rtWellKnownName: item.rtWellKnownName ?? undefined,
|
|
27406
|
-
displayName: item.rtWellKnownName || item.rtId
|
|
27407
|
-
}));
|
|
27408
|
-
return {
|
|
27409
|
-
data: items,
|
|
27410
|
-
totalCount: result.data?.runtime?.runtimeEntities?.totalCount ?? 0
|
|
27411
|
-
};
|
|
27412
|
-
}));
|
|
27413
|
-
}
|
|
27414
|
-
onDisplayEntity(entity) {
|
|
27415
|
-
return entity.displayName;
|
|
27416
|
-
}
|
|
27417
|
-
getIdEntity(entity) {
|
|
27418
|
-
return entity.rtId;
|
|
27419
|
-
}
|
|
27420
|
-
}
|
|
27421
27235
|
/**
|
|
27422
27236
|
* Configuration dialog for Process Widget.
|
|
27423
27237
|
* Allows selecting a stored diagram, display options, and data binding.
|
|
@@ -27716,10 +27530,11 @@ class ProcessConfigDialogComponent {
|
|
|
27716
27530
|
await this.loadAttributesForCkType(this.initialBindingCkTypeId);
|
|
27717
27531
|
// Pre-select entity if provided
|
|
27718
27532
|
if (this.initialBindingRtId) {
|
|
27719
|
-
//
|
|
27533
|
+
// Placeholder item labelled by its rtId - the display name arrives when the combobox loads
|
|
27720
27534
|
this.selectedEntity = {
|
|
27721
27535
|
rtId: this.initialBindingRtId,
|
|
27722
27536
|
ckTypeId: this.initialBindingCkTypeId,
|
|
27537
|
+
rtDisplayName: this.initialBindingRtId,
|
|
27723
27538
|
displayName: this.initialBindingRtId
|
|
27724
27539
|
};
|
|
27725
27540
|
}
|
|
@@ -31365,8 +31180,8 @@ class EntitySelectorEditorComponent {
|
|
|
31365
31180
|
}
|
|
31366
31181
|
updateDefaultEntityDataSources() {
|
|
31367
31182
|
if (this.editCkTypeId) {
|
|
31368
|
-
this.defaultEntityDataSource = new RuntimeEntitySelectDataSource
|
|
31369
|
-
this.defaultEntityDialogDataSource = new RuntimeEntityDialogDataSource
|
|
31183
|
+
this.defaultEntityDataSource = new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, this.editCkTypeId);
|
|
31184
|
+
this.defaultEntityDialogDataSource = new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, this.editCkTypeId);
|
|
31370
31185
|
}
|
|
31371
31186
|
else {
|
|
31372
31187
|
this.defaultEntityDataSource = null;
|
|
@@ -31452,10 +31267,10 @@ class EntitySelectorToolbarComponent {
|
|
|
31452
31267
|
for (const selector of this.entitySelectors) {
|
|
31453
31268
|
// Reuse cached data source if same CK type
|
|
31454
31269
|
if (!this.dataSourceCache.has(selector.ckTypeId)) {
|
|
31455
|
-
this.dataSourceCache.set(selector.ckTypeId, new RuntimeEntitySelectDataSource
|
|
31270
|
+
this.dataSourceCache.set(selector.ckTypeId, new RuntimeEntitySelectDataSource(this.getEntitiesByCkTypeGQL, selector.ckTypeId));
|
|
31456
31271
|
}
|
|
31457
31272
|
if (!this.dialogDataSourceCache.has(selector.ckTypeId)) {
|
|
31458
|
-
this.dialogDataSourceCache.set(selector.ckTypeId, new RuntimeEntityDialogDataSource
|
|
31273
|
+
this.dialogDataSourceCache.set(selector.ckTypeId, new RuntimeEntityDialogDataSource(this.getEntitiesByCkTypeGQL, selector.ckTypeId));
|
|
31459
31274
|
}
|
|
31460
31275
|
this.selectorDataSources.set(selector.id, this.dataSourceCache.get(selector.ckTypeId));
|
|
31461
31276
|
this.selectorDialogDataSources.set(selector.id, this.dialogDataSourceCache.get(selector.ckTypeId));
|
|
@@ -34045,7 +33860,12 @@ class MeshBoardViewComponent {
|
|
|
34045
33860
|
// variable resolution so widgets bound to this selector can scope their
|
|
34046
33861
|
// stream-data query by the resolved source rtIds.
|
|
34047
33862
|
await this.resolveEntitySelectorScopeRtIds(selector, rtId);
|
|
34048
|
-
|
|
33863
|
+
// Label the selection the way the pick dialog does: by the engine's
|
|
33864
|
+
// display name (the type's displayNameRule — "2026" for a fiscal year),
|
|
33865
|
+
// not the well-known name, which most entities do not carry. Without it
|
|
33866
|
+
// a board opened on its defaultRtId showed the raw rtId in the toolbar
|
|
33867
|
+
// until the user re-picked the very same entity.
|
|
33868
|
+
return entity.rtDisplayName || entity.rtWellKnownName || entity.rtId;
|
|
34049
33869
|
}
|
|
34050
33870
|
catch (error) {
|
|
34051
33871
|
console.error(`Error resolving entity selector '${selector.id}':`, error);
|