@meshmakers/octo-ui 3.3.830 → 3.3.840

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.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-ui",
3
- "version": "3.3.830",
3
+ "version": "3.3.840",
4
4
  "peerDependencies": {
5
5
  "@ngx-translate/core": "^17.0.0",
6
6
  "@angular/animations": "^21.0.6",
@@ -2,9 +2,9 @@ import * as i0 from '@angular/core';
2
2
  import { OnInit, OnDestroy, EventEmitter, OnChanges, SimpleChanges, AfterViewInit, Provider, InjectionToken, EnvironmentProviders } from '@angular/core';
3
3
  import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
4
4
  import { SVGIcon } from '@progress/kendo-svg-icons';
5
- import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, FieldFilterDto, SearchFilterDto, SortDto, FieldFilterOperatorsDto, RtEntityDto, CkModelDto, CkTypeDto, RtAssociationDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
5
+ import { AttributeItem, AttributeValueTypeDto as AttributeValueTypeDto$1, CkTypeSelectorItem as CkTypeSelectorItem$1, FieldFilterDto, SearchFilterDto, SortDto, RtEntityDto, CkModelDto, CkTypeDto, RtAssociationDto, FieldFilterOperatorsDto, GetCkTypesDtoGQL, RuntimeEntityItem, RuntimeEntitySelectDataSource, RuntimeEntityDialogDataSource } from '@meshmakers/octo-services';
6
6
  import { GridDataResult, CellClickEvent, RowArgs, PageChangeEvent, SelectionEvent } from '@progress/kendo-angular-grid';
7
- import { TreeItemDataTyped, CommandItemExecuteEventArgs, CommandItem } from '@meshmakers/shared-services';
7
+ import { TreeItemDataTyped, TreeItemData, CommandItemExecuteEventArgs, CommandItem } from '@meshmakers/shared-services';
8
8
  import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
9
9
  import { AutoCompleteComponent, PopupSettings } from '@progress/kendo-angular-dropdowns';
10
10
  import { DataSourceTyped, ListViewComponent, HierarchyDataSourceBase, FetchDataOptions, FetchResultTyped, BaseTreeDetailComponent, NodeDroppedEvent } from '@meshmakers/shared-ui';
@@ -421,6 +421,133 @@ declare class EntityIdInfoComponent {
421
421
  static ɵcmp: i0.ɵɵComponentDeclaration<EntityIdInfoComponent, "mm-entity-id-info", never, { "rtId": { "alias": "rtId"; "required": true; }; "rtCkTypeId": { "alias": "rtCkTypeId"; "required": true; }; "ckTypeId": { "alias": "ckTypeId"; "required": false; }; }, {}, never, never, true, never>;
422
422
  }
423
423
 
424
+ type BrowserItem$3 = RtEntityDto | CkModelDto | CkTypeDto | {
425
+ isCkModelsRoot?: boolean;
426
+ ckModelId?: string;
427
+ };
428
+ declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<BrowserItem$3> {
429
+ private readonly getTreesDtoGQL;
430
+ private readonly getTreeNodesDtoGQL;
431
+ private readonly getCkModelsGQL;
432
+ private readonly getCkTypesGQL;
433
+ private readonly getCkModelByIdDtoGQL;
434
+ private readonly deleteEntitiesDtoGQL;
435
+ private readonly getRuntimeEntityAssociationsByIdDtoGQL;
436
+ private readonly updateRuntimeEntitiesDtoGQL;
437
+ private readonly updateTreeNodesDtoGQL;
438
+ private readonly typeHelperService;
439
+ private isCkModelsRoot;
440
+ private isCkModel;
441
+ private isCkType;
442
+ private static readonly levelMetaData;
443
+ private static readonly ckTypeMetaData;
444
+ fetchChildren(item: TreeItemDataTyped<BrowserItem$3>): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
445
+ fetchRootNodes(): Promise<TreeItemDataTyped<BrowserItem$3>[]>;
446
+ /**
447
+ * Gets ParentChild association of given Runtime Entity.
448
+ *
449
+ * @param ckTypeId Ck Type Id.
450
+ * @param rtId Runtime Id.
451
+ * @param isParentAssoc if true, fetches only parent, otherwise children.
452
+ *
453
+ * @returns Fetches configured association.
454
+ */
455
+ getParentChildAssociation(ckTypeId: string, rtId: string, isParentAssoc: boolean): Promise<RtAssociationDto[] | undefined>;
456
+ /**
457
+ * Swaps parent of the given object.
458
+ *
459
+ * @param srcObjRtId Runtime Entity Id of the object that is supposed to have its association changed.
460
+ * @param oldParentCkTypeId CkTypeId of the current parent.
461
+ * @param oldParentRtId Runtime Entity Id of the current parent.
462
+ * @param newParentCkTypeId CkTypeId of the target parent.
463
+ * @param newParentRtId Runtime Entity Id of the target parent.
464
+ *
465
+ * @returns true if association was successfully swapped.
466
+ */
467
+ updateParentChildAssociation(srcObjRtId: string, oldParentCkTypeId: string, oldParentRtId: string, newParentCkTypeId: string, newParentRtId: string): Promise<boolean>;
468
+ /**
469
+ * Moves an entity to a new parent using the generic `runtimeEntities.update` mutation.
470
+ * Works for any entity type (not just Basic/TreeNode).
471
+ *
472
+ * Uses the `associations` field on `RtEntityInputDto` with `roleName` set to
473
+ * the navigation property name (e.g. "parent") and modOption CREATE/DELETE.
474
+ *
475
+ * @param srcObjRtId Runtime ID of the entity being moved.
476
+ * @param srcObjCkTypeId CK type of the entity being moved.
477
+ * @param navigationPropertyName Navigation property for the parent association (e.g. "parent").
478
+ * @param oldParentCkTypeId CK type of the current parent.
479
+ * @param oldParentRtId Runtime ID of the current parent.
480
+ * @param newParentCkTypeId CK type of the new parent.
481
+ * @param newParentRtId Runtime ID of the new parent.
482
+ * @returns true if the move succeeded.
483
+ */
484
+ updateEntityAssociation(srcObjRtId: string, srcObjCkTypeId: string, navigationPropertyName: string, oldParentCkTypeId: string, oldParentRtId: string, newParentCkTypeId: string, newParentRtId: string): Promise<boolean>;
485
+ /**
486
+ * Returns ckTypeId and rtId of a parent of given runtime entity.
487
+ *
488
+ * @param ckTypeId Runtime entity's ck type
489
+ * @param rtId Runtime entity's runtime id
490
+ * @returns object with parent's ckTypeId and rtId, or undefined when not found or on error.
491
+ */
492
+ getRuntimeEntityParentData(ckTypeId: string, rtId: string): Promise<{
493
+ ckTypeId: string;
494
+ rtId: string;
495
+ } | undefined>;
496
+ /**
497
+ * Performs cascade delete operation on given runtime entity.
498
+ *
499
+ * @param itemToDelete Potential runtime entity.
500
+ * @returns true on successful delete, false on database error or if object is not a runtime entity.
501
+ */
502
+ deleteRtEntityAndChildren(itemToDelete: TreeItemDataTyped<unknown>): Promise<boolean>;
503
+ /**
504
+ * Check if the Basic construction kit is available in the system
505
+ */
506
+ private checkBasicConstructionKitAvailable;
507
+ private fetchCkModels;
508
+ private fetchCkTypes;
509
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDataSource, never>;
510
+ static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeBrowserDataSource>;
511
+ }
512
+
513
+ interface EntitySelectorDialogData {
514
+ title?: string;
515
+ currentTargetRtId?: string;
516
+ currentTargetCkTypeId?: string;
517
+ }
518
+ interface EntitySelectorDialogResult {
519
+ rtId: string;
520
+ ckTypeId: string;
521
+ name?: string;
522
+ }
523
+
524
+ declare class EntitySelectorDialogComponent {
525
+ private readonly dialogRef;
526
+ readonly treeDataSource: RuntimeBrowserDataSource;
527
+ data: EntitySelectorDialogData;
528
+ selectedEntity: {
529
+ rtId: string;
530
+ ckTypeId: string;
531
+ name?: string;
532
+ } | null;
533
+ onNodeSelected(node: TreeItemData): void;
534
+ onConfirm(): void;
535
+ onCancel(): void;
536
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntitySelectorDialogComponent, never>;
537
+ static ɵcmp: i0.ɵɵComponentDeclaration<EntitySelectorDialogComponent, "mm-entity-selector-dialog", never, {}, {}, never, never, true, never>;
538
+ }
539
+
540
+ interface EntitySelectorResult {
541
+ confirmed: boolean;
542
+ entity?: EntitySelectorDialogResult;
543
+ }
544
+ declare class EntitySelectorDialogService {
545
+ private readonly dialogService;
546
+ openEntitySelector(data?: EntitySelectorDialogData): Promise<EntitySelectorResult>;
547
+ static ɵfac: i0.ɵɵFactoryDeclaration<EntitySelectorDialogService, never>;
548
+ static ɵprov: i0.ɵɵInjectableDeclaration<EntitySelectorDialogService>;
549
+ }
550
+
424
551
  /**
425
552
  * Variable definition for use in filter values.
426
553
  * Generic interface that can be provided by any consumer (e.g., MeshBoard).
@@ -900,7 +1027,8 @@ declare class PropertyValueDisplayComponent implements OnInit {
900
1027
  */
901
1028
  private computeRecordSummary;
902
1029
  /**
903
- * Get properties of an object for display
1030
+ * Get properties of an object for display.
1031
+ * Handles OctoMesh RtRecord format: { ckRecordId, attributes: [{ attributeName, value }] }
904
1032
  */
905
1033
  getObjectProperties(obj: unknown): {
906
1034
  key: string;
@@ -923,6 +1051,20 @@ declare class PropertyValueDisplayComponent implements OnInit {
923
1051
  static ɵcmp: i0.ɵɵComponentDeclaration<PropertyValueDisplayComponent, "mm-property-value-display", never, { "value": { "alias": "value"; "required": false; }; "type": { "alias": "type"; "required": false; }; "displayMode": { "alias": "displayMode"; "required": false; }; }, { "binaryDownload": "binaryDownload"; }, never, never, true, never>;
924
1052
  }
925
1053
 
1054
+ interface DataPointMappingItem {
1055
+ rtId?: string;
1056
+ name?: string;
1057
+ sourceAttributePath: string;
1058
+ mappingExpression: string;
1059
+ targetAttributePath: string;
1060
+ targetRtId?: string;
1061
+ targetCkTypeId?: string;
1062
+ targetName?: string;
1063
+ enabled?: boolean;
1064
+ /** Tracks the original target rtId at load time to detect changes on save. */
1065
+ _originalTargetRtId?: string;
1066
+ }
1067
+
926
1068
  interface RtEntityId {
927
1069
  rtId: string;
928
1070
  ckTypeId: string;
@@ -947,26 +1089,45 @@ declare class RtEntityIdHelper {
947
1089
  }
948
1090
 
949
1091
  declare class EntityDetailComponent implements OnInit, OnDestroy {
1092
+ private static readonly DATA_POINT_MAPPING_CK_TYPE;
1093
+ private static readonly MAPS_FROM_ROLE;
1094
+ private static readonly MAPS_TO_ROLE;
950
1095
  private readonly location;
951
1096
  private readonly route;
952
1097
  private readonly router;
953
1098
  private readonly dataSource;
1099
+ private readonly notificationService;
1100
+ private readonly getAssociationsGQL;
1101
+ private readonly getEntityByIdGQL;
1102
+ private readonly createEntitiesGQL;
1103
+ private readonly updateEntitiesGQL;
1104
+ private readonly deleteEntitiesGQL;
1105
+ private readonly entitySelectorDialog;
1106
+ private readonly attributeSelectorDialog;
954
1107
  private readonly destroy$;
955
1108
  protected readonly arrowLeftIcon: _progress_kendo_svg_icons.SVGIcon;
1109
+ showDataMapping: boolean;
956
1110
  entity: RtEntityDto | null;
957
1111
  loading: boolean;
958
1112
  error: string | null;
959
1113
  entityId: RtEntityId | null;
1114
+ dataMappings: DataPointMappingItem[];
960
1115
  ngOnInit(): Promise<void>;
961
1116
  ngOnDestroy(): void;
962
1117
  loadEntity(): Promise<void>;
963
1118
  navigateBack(): void;
964
1119
  navigateToEntity(rtId: string, ckTypeId: string): Promise<void>;
965
1120
  getEntityDisplayName(): string;
966
- /**
967
- * Handle property value changes from the property grid
968
- */
969
1121
  onPropertyChange(event: unknown): void;
1122
+ loadDataMappings(): Promise<void>;
1123
+ private loadMappingDetails;
1124
+ onAddMapping(): Promise<void>;
1125
+ onRemoveMapping(mapping: DataPointMappingItem): Promise<void>;
1126
+ onSelectMappingTarget(mapping: DataPointMappingItem): Promise<void>;
1127
+ onMappingChanged(_mapping: DataPointMappingItem): void;
1128
+ onSelectSourceAttribute(mapping: DataPointMappingItem): Promise<void>;
1129
+ onSelectTargetAttribute(mapping: DataPointMappingItem): Promise<void>;
1130
+ onSaveAllMappings(): Promise<void>;
970
1131
  static ɵfac: i0.ɵɵFactoryDeclaration<EntityDetailComponent, never>;
971
1132
  static ɵcmp: i0.ɵɵComponentDeclaration<EntityDetailComponent, "mm-entity-detail", never, {}, {}, never, never, true, never>;
972
1133
  }
@@ -1283,6 +1444,20 @@ interface RuntimeBrowserMessages {
1283
1444
  go: string;
1284
1445
  created: string;
1285
1446
  modified: string;
1447
+ dataMapping: string;
1448
+ mappingTarget: string;
1449
+ mappingSourceAttributePath: string;
1450
+ mappingTargetAttributePath: string;
1451
+ mappingExpression: string;
1452
+ mappingExpressionHint: string;
1453
+ selectTargetEntity: string;
1454
+ removeMapping: string;
1455
+ saveMapping: string;
1456
+ noMappingConfigured: string;
1457
+ mappingSaved: string;
1458
+ mappingRemoved: string;
1459
+ failedToSaveMapping: string;
1460
+ failedToLoadMapping: string;
1286
1461
  }
1287
1462
  /**
1288
1463
  * Default English messages for the RuntimeBrowser components.
@@ -1373,7 +1548,7 @@ interface UpdateOutput {
1373
1548
  };
1374
1549
  }
1375
1550
 
1376
- type BrowserItem$3 = RtEntityDto | CkModelDto | CkTypeDto | {
1551
+ type BrowserItem$2 = RtEntityDto | CkModelDto | CkTypeDto | {
1377
1552
  isCkModelsRoot?: boolean;
1378
1553
  ckModelId?: string;
1379
1554
  };
@@ -1385,7 +1560,8 @@ interface EntitySavedEvent {
1385
1560
  isUpdate?: boolean;
1386
1561
  }
1387
1562
  declare class RuntimeBrowserDetailsComponent implements OnChanges, AfterViewInit {
1388
- selectedItem: TreeItemDataTyped<BrowserItem$3> | null;
1563
+ selectedItem: TreeItemDataTyped<BrowserItem$2> | null;
1564
+ showDataMapping: boolean;
1389
1565
  set messages(value: Partial<RuntimeBrowserMessages>);
1390
1566
  protected _messages: RuntimeBrowserMessages;
1391
1567
  entitySaved: EventEmitter<void | EntitySavedEvent>;
@@ -1395,6 +1571,16 @@ declare class RuntimeBrowserDetailsComponent implements OnChanges, AfterViewInit
1395
1571
  private readonly entityDataSource;
1396
1572
  private readonly stateService;
1397
1573
  protected readonly typeHelperService: TypeHelperService;
1574
+ private readonly notificationService;
1575
+ private readonly getAssociationsGQL;
1576
+ private readonly getEntityByIdGQL;
1577
+ private readonly createEntitiesGQL;
1578
+ private readonly updateEntitiesGQL;
1579
+ private readonly deleteEntitiesGQL;
1580
+ private readonly entitySelectorDialog;
1581
+ private readonly attributeSelectorDialog;
1582
+ dataMappings: DataPointMappingItem[];
1583
+ sourceDataPoints: string[];
1398
1584
  protected readonly detailsIcon: _progress_kendo_svg_icons.SVGIcon;
1399
1585
  protected fullEntity: RtEntityDto | null;
1400
1586
  private loadRequestToken;
@@ -1429,30 +1615,30 @@ declare class RuntimeBrowserDetailsComponent implements OnChanges, AfterViewInit
1429
1615
  protected navigateToDetails(): Promise<void>;
1430
1616
  protected navigateToEntity(rtId: string, ckTypeId: string): Promise<void>;
1431
1617
  protected getEntityForDisplay(): RtEntityDto | null;
1432
- protected isCkModel(item: BrowserItem$3): item is CkModelDto;
1433
- protected isCkType(item: BrowserItem$3): item is CkTypeDto;
1434
- protected isCkModelsRoot(item: BrowserItem$3): item is {
1618
+ protected isCkModel(item: BrowserItem$2): item is CkModelDto;
1619
+ protected isCkType(item: BrowserItem$2): item is CkTypeDto;
1620
+ protected isCkModelsRoot(item: BrowserItem$2): item is {
1435
1621
  isCkModelsRoot?: boolean;
1436
1622
  ckModelId?: string;
1437
1623
  };
1438
- protected getCkModelIdFullName(item: BrowserItem$3): string;
1439
- protected getCkModelIdName(item: BrowserItem$3): string;
1440
- protected getCkModelIdVersion(item: BrowserItem$3): string;
1441
- protected getCkModelIdSemanticName(item: BrowserItem$3): string;
1442
- protected getCkModelState(item: BrowserItem$3): string;
1443
- protected getCkTypeId(item: BrowserItem$3): string;
1444
- protected getRtCkTypeId(item: BrowserItem$3): string;
1445
- protected isCkTypeAbstract(item: BrowserItem$3): boolean;
1446
- protected isCkTypeFinal(item: BrowserItem$3): boolean;
1447
- protected getCkTypeBaseType(item: BrowserItem$3): string | null;
1624
+ protected getCkModelIdFullName(item: BrowserItem$2): string;
1625
+ protected getCkModelIdName(item: BrowserItem$2): string;
1626
+ protected getCkModelIdVersion(item: BrowserItem$2): string;
1627
+ protected getCkModelIdSemanticName(item: BrowserItem$2): string;
1628
+ protected getCkModelState(item: BrowserItem$2): string;
1629
+ protected getCkTypeId(item: BrowserItem$2): string;
1630
+ protected getRtCkTypeId(item: BrowserItem$2): string;
1631
+ protected isCkTypeAbstract(item: BrowserItem$2): boolean;
1632
+ protected isCkTypeFinal(item: BrowserItem$2): boolean;
1633
+ protected getCkTypeBaseType(item: BrowserItem$2): string | null;
1448
1634
  protected onViewEntityDetails: (eventArgs: CommandItemExecuteEventArgs) => Promise<void>;
1449
1635
  /**
1450
1636
  * Activates the creation UI and provides necessary data
1451
1637
  * @param parentNode The tree node under which the new entity will be created, or null for root-level creation
1452
1638
  * @param derivedFromRtCkTypeId Base type ID to filter the type selector (e.g. 'Basic/TreeNode' or 'Basic/Tree')
1453
1639
  */
1454
- enterCreateMode(parentNode: TreeItemDataTyped<BrowserItem$3> | null, derivedFromRtCkTypeId?: string): void;
1455
- enterEditMode(selectedItem: TreeItemDataTyped<BrowserItem$3> | null, rtCkTypeId: string | undefined): void;
1640
+ enterCreateMode(parentNode: TreeItemDataTyped<BrowserItem$2> | null, derivedFromRtCkTypeId?: string): void;
1641
+ enterEditMode(selectedItem: TreeItemDataTyped<BrowserItem$2> | null, rtCkTypeId: string | undefined): void;
1456
1642
  /**
1457
1643
  * Handles the result of the save operation from the child component
1458
1644
  * @param result Object containing success status and new entity details
@@ -1469,97 +1655,53 @@ declare class RuntimeBrowserDetailsComponent implements OnChanges, AfterViewInit
1469
1655
  */
1470
1656
  reloadCurrentEntityDetails(): void;
1471
1657
  onCancel(): void;
1472
- static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDetailsComponent, never>;
1473
- static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserDetailsComponent, "mm-runtime-browser-details", never, { "selectedItem": { "alias": "selectedItem"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; }, { "entitySaved": "entitySaved"; }, never, never, true, never>;
1474
- }
1475
-
1476
- type BrowserItem$2 = RtEntityDto | CkModelDto | CkTypeDto | {
1477
- isCkModelsRoot?: boolean;
1478
- ckModelId?: string;
1479
- };
1480
- declare class RuntimeBrowserDataSource extends OctoGraphQlHierarchyDataSource<BrowserItem$2> {
1481
- private readonly getTreesDtoGQL;
1482
- private readonly getTreeNodesDtoGQL;
1483
- private readonly getCkModelsGQL;
1484
- private readonly getCkTypesGQL;
1485
- private readonly getCkModelByIdDtoGQL;
1486
- private readonly deleteEntitiesDtoGQL;
1487
- private readonly getRuntimeEntityAssociationsByIdDtoGQL;
1488
- private readonly updateRuntimeEntitiesDtoGQL;
1489
- private readonly updateTreeNodesDtoGQL;
1490
- private readonly typeHelperService;
1491
- private isCkModelsRoot;
1492
- private isCkModel;
1493
- private isCkType;
1494
- private static readonly levelMetaData;
1495
- private static readonly ckTypeMetaData;
1496
- fetchChildren(item: TreeItemDataTyped<BrowserItem$2>): Promise<TreeItemDataTyped<BrowserItem$2>[]>;
1497
- fetchRootNodes(): Promise<TreeItemDataTyped<BrowserItem$2>[]>;
1658
+ private static readonly DATA_POINT_MAPPING_CK_TYPE;
1659
+ private static readonly MAPS_FROM_ROLE;
1660
+ private static readonly MAPS_TO_ROLE;
1498
1661
  /**
1499
- * Gets ParentChild association of given Runtime Entity.
1500
- *
1501
- * @param ckTypeId Ck Type Id.
1502
- * @param rtId Runtime Id.
1503
- * @param isParentAssoc if true, fetches only parent, otherwise children.
1504
- *
1505
- * @returns Fetches configured association.
1662
+ * Loads all DataPointMapping entities associated with the current entity via MapsFrom.
1663
+ * For each mapping, fetches its attributes and MapsTo target.
1506
1664
  */
1507
- getParentChildAssociation(ckTypeId: string, rtId: string, isParentAssoc: boolean): Promise<RtAssociationDto[] | undefined>;
1665
+ loadDataMappings(): Promise<void>;
1508
1666
  /**
1509
- * Swaps parent of the given object.
1510
- *
1511
- * @param srcObjRtId Runtime Entity Id of the object that is supposed to have its association changed.
1512
- * @param oldParentCkTypeId CkTypeId of the current parent.
1513
- * @param oldParentRtId Runtime Entity Id of the current parent.
1514
- * @param newParentCkTypeId CkTypeId of the target parent.
1515
- * @param newParentRtId Runtime Entity Id of the target parent.
1516
- *
1517
- * @returns true if association was successfully swapped.
1667
+ * Loads a single DataPointMapping entity's attributes and MapsTo target.
1518
1668
  */
1519
- updateParentChildAssociation(srcObjRtId: string, oldParentCkTypeId: string, oldParentRtId: string, newParentCkTypeId: string, newParentRtId: string): Promise<boolean>;
1669
+ private loadMappingDetails;
1520
1670
  /**
1521
- * Moves an entity to a new parent using the generic `runtimeEntities.update` mutation.
1522
- * Works for any entity type (not just Basic/TreeNode).
1523
- *
1524
- * Uses the `associations` field on `RtEntityInputDto` with `roleName` set to
1525
- * the navigation property name (e.g. "parent") and modOption CREATE/DELETE.
1526
- *
1527
- * @param srcObjRtId Runtime ID of the entity being moved.
1528
- * @param srcObjCkTypeId CK type of the entity being moved.
1529
- * @param navigationPropertyName Navigation property for the parent association (e.g. "parent").
1530
- * @param oldParentCkTypeId CK type of the current parent.
1531
- * @param oldParentRtId Runtime ID of the current parent.
1532
- * @param newParentCkTypeId CK type of the new parent.
1533
- * @param newParentRtId Runtime ID of the new parent.
1534
- * @returns true if the move succeeded.
1671
+ * Creates a new DataPointMapping entity and associates it with the current entity.
1535
1672
  */
1536
- updateEntityAssociation(srcObjRtId: string, srcObjCkTypeId: string, navigationPropertyName: string, oldParentCkTypeId: string, oldParentRtId: string, newParentCkTypeId: string, newParentRtId: string): Promise<boolean>;
1673
+ onAddMapping(): Promise<void>;
1537
1674
  /**
1538
- * Returns ckTypeId and rtId of a parent of given runtime entity.
1539
- *
1540
- * @param ckTypeId Runtime entity's ck type
1541
- * @param rtId Runtime entity's runtime id
1542
- * @returns object with parent's ckTypeId and rtId, or undefined when not found or on error.
1675
+ * Deletes a DataPointMapping entity.
1543
1676
  */
1544
- getRuntimeEntityParentData(ckTypeId: string, rtId: string): Promise<{
1545
- ckTypeId: string;
1546
- rtId: string;
1547
- } | undefined>;
1677
+ onRemoveMapping(mapping: DataPointMappingItem): Promise<void>;
1548
1678
  /**
1549
- * Performs cascade delete operation on given runtime entity.
1550
- *
1551
- * @param itemToDelete Potential runtime entity.
1552
- * @returns true on successful delete, false on database error or if object is not a runtime entity.
1679
+ * Opens entity selector for a specific mapping's target.
1553
1680
  */
1554
- deleteRtEntityAndChildren(itemToDelete: TreeItemDataTyped<unknown>): Promise<boolean>;
1681
+ onSelectMappingTarget(mapping: DataPointMappingItem): Promise<void>;
1555
1682
  /**
1556
- * Check if the Basic construction kit is available in the system
1683
+ * Tracks in-memory changes to a mapping (no server save yet).
1557
1684
  */
1558
- private checkBasicConstructionKitAvailable;
1559
- private fetchCkModels;
1560
- private fetchCkTypes;
1561
- static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDataSource, never>;
1562
- static ɵprov: i0.ɵɵInjectableDeclaration<RuntimeBrowserDataSource>;
1685
+ onMappingChanged(_mapping: DataPointMappingItem): void;
1686
+ /**
1687
+ * Extracts DataPoint names from the entity's States/DataPoints RecordArray attribute.
1688
+ * Provides them as dropdown options for sourceAttributePath selection.
1689
+ */
1690
+ private extractSourceDataPoints;
1691
+ /**
1692
+ * Opens attribute selector for the source entity's attributes.
1693
+ */
1694
+ onSelectSourceAttribute(mapping: DataPointMappingItem): Promise<void>;
1695
+ /**
1696
+ * Opens attribute selector for the target entity's attributes.
1697
+ */
1698
+ onSelectTargetAttribute(mapping: DataPointMappingItem): Promise<void>;
1699
+ /**
1700
+ * Saves all DataPointMapping entities (attributes + MapsTo associations).
1701
+ */
1702
+ onSaveAllMappings(): Promise<void>;
1703
+ static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserDetailsComponent, never>;
1704
+ static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserDetailsComponent, "mm-runtime-browser-details", never, { "selectedItem": { "alias": "selectedItem"; "required": false; }; "showDataMapping": { "alias": "showDataMapping"; "required": false; }; "messages": { "alias": "messages"; "required": false; }; }, { "entitySaved": "entitySaved"; }, never, never, true, never>;
1563
1705
  }
1564
1706
 
1565
1707
  type BrowserItem$1 = RtEntityDto | CkModelDto | CkTypeDto | {
@@ -1581,6 +1723,7 @@ declare class RuntimeBrowserComponent implements AfterViewInit {
1581
1723
  private isLoading;
1582
1724
  private isEditing;
1583
1725
  messages: i0.InputSignal<Partial<RuntimeBrowserMessages>>;
1726
+ showDataMapping: i0.InputSignal<boolean>;
1584
1727
  protected readonly resolvedMessages: i0.Signal<RuntimeBrowserMessages>;
1585
1728
  treeDetail: BaseTreeDetailComponent<BrowserItem$1>;
1586
1729
  detailsPanel: RuntimeBrowserDetailsComponent;
@@ -1669,7 +1812,7 @@ declare class RuntimeBrowserComponent implements AfterViewInit {
1669
1812
  parentRtId?: string;
1670
1813
  }): Promise<void>;
1671
1814
  static ɵfac: i0.ɵɵFactoryDeclaration<RuntimeBrowserComponent, never>;
1672
- static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserComponent, "mm-runtime-browser", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1815
+ static ɵcmp: i0.ɵɵComponentDeclaration<RuntimeBrowserComponent, "mm-runtime-browser", never, { "messages": { "alias": "messages"; "required": false; "isSignal": true; }; "showDataMapping": { "alias": "showDataMapping"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1673
1816
  }
1674
1817
 
1675
1818
  /**
@@ -1948,5 +2091,5 @@ declare class TenantSwitcherComponent {
1948
2091
  */
1949
2092
  declare function provideOctoUi(): EnvironmentProviders;
1950
2093
 
1951
- export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_RUNTIME_BROWSER_MESSAGES, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, FieldFilterEditorComponent, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TenantSwitcherComponent, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, graphic_eq, group, identityService, insert_link, manage_accounts, more_time, notifications, page_info, pages, person_search, playlist_add_check, pool, power, provideOctoUi, publicIcon, query_builder, schedule_send, settings, sort, storage, swagger, swagger_asset, swagger_bot, swagger_communication, swagger_identity, team_dashboard, tenancy, text_snippet, travel_explore, user_diagnostics, webhook, work };
1952
- export type { AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogResult, CkTypeSelectorResult, FieldFilterItem, FilterVariable, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption };
2094
+ export { AssociationValidationService, AttributeSelectorDialogComponent, AttributeSelectorDialogService, AttributeSortSelectorDialogComponent, AttributeSortSelectorDialogService, AttributeValueTypeDto, CkTypeSelectorDialogComponent, CkTypeSelectorDialogService, CkTypeSelectorInputComponent, DEFAULT_RUNTIME_BROWSER_MESSAGES, DefaultPropertyCategory, EntityDetailComponent, EntityIdInfoComponent, EntitySelectorDialogComponent, EntitySelectorDialogService, FieldFilterEditorComponent, OctoGraphQlDataSource, OctoGraphQlHierarchyDataSource, OctoLoaderComponent, PropertyConverterService, PropertyDisplayMode, PropertyGridComponent, PropertyValueDisplayComponent, RUNTIME_BROWSER_MESSAGES, RtEntityIdHelper, RuntimeBrowserComponent, RuntimeBrowserOutletComponent, RuntimeBrowserPageComponent, RuntimeBrowserStateService, RuntimeEntityVariableDialogComponent, RuntimeEntityVariableDialogService, TenantSwitcherComponent, account_tree, add, analytics, app_registration, article, botService, category, chat, checklist, code, component_exchange, computer, createRuntimeBrowserRoutes, customer, dashboard, event_list, graphic_eq, group, identityService, insert_link, manage_accounts, more_time, notifications, page_info, pages, person_search, playlist_add_check, pool, power, provideOctoUi, publicIcon, query_builder, schedule_send, settings, sort, storage, swagger, swagger_asset, swagger_bot, swagger_communication, swagger_identity, team_dashboard, tenancy, text_snippet, travel_explore, user_diagnostics, webhook, work };
2095
+ export type { AttributeSelectorDialogData, AttributeSelectorDialogResult, AttributeSelectorResult, AttributeSortItem, AttributeSortSelectorDialogData, AttributeSortSelectorDialogResult, AttributeSortSelectorResult, BinaryDownloadEvent, BrowserItem, BrowserState, CkAssociationRole, CkTypeSelectorDialogData, CkTypeSelectorDialogResult, CkTypeSelectorResult, EntitySelectorDialogData, EntitySelectorDialogResult, EntitySelectorResult, FieldFilterItem, FilterVariable, MoveValidationResult, PropertyChangeEvent, PropertyGridConfig, PropertyGridItem, RtEntityId, RuntimeBrowserMessages, RuntimeBrowserRouteOptions, RuntimeEntityVariableDialogData, RuntimeEntityVariableDialogResult, RuntimeEntityVariableMapping, RuntimeEntityVariableResult, SortOption };