@meshmakers/octo-ui 3.3.460 → 3.3.470

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,22 +1,22 @@
1
1
  {
2
2
  "name": "@meshmakers/octo-ui",
3
- "version": "3.3.460",
3
+ "version": "3.3.470",
4
4
  "peerDependencies": {
5
- "@angular/common": "^21.0.6",
6
- "@angular/core": "^21.0.6",
7
- "@angular/forms": "^21.0.6",
5
+ "@angular/common": "^21.2.0",
6
+ "@angular/core": "^21.2.0",
7
+ "@angular/forms": "^21.2.0",
8
8
  "@meshmakers/octo-services": "*",
9
9
  "@meshmakers/shared-auth": "*",
10
10
  "@meshmakers/shared-ui": "*",
11
- "@progress/kendo-angular-buttons": "^21.3.0",
12
- "@progress/kendo-angular-dialog": "^21.3.0",
13
- "@progress/kendo-angular-dropdowns": "^21.3.0",
14
- "@progress/kendo-angular-grid": "^21.3.0",
15
- "@progress/kendo-angular-icons": "^21.3.0",
16
- "@progress/kendo-angular-indicators": "^21.3.0",
17
- "@progress/kendo-angular-inputs": "^21.3.0",
18
- "@progress/kendo-data-query": "^1.7.2",
19
- "@progress/kendo-svg-icons": "^4.5.0",
11
+ "@progress/kendo-angular-buttons": "^23.2.0",
12
+ "@progress/kendo-angular-dialog": "^23.2.0",
13
+ "@progress/kendo-angular-dropdowns": "^23.2.0",
14
+ "@progress/kendo-angular-grid": "^23.2.0",
15
+ "@progress/kendo-angular-icons": "^23.2.0",
16
+ "@progress/kendo-angular-indicators": "^23.2.0",
17
+ "@progress/kendo-angular-inputs": "^23.2.0",
18
+ "@progress/kendo-data-query": "^1.7.3",
19
+ "@progress/kendo-svg-icons": "^4.8.0",
20
20
  "apollo-angular": "^13.0.0"
21
21
  },
22
22
  "dependencies": {
@@ -1,9 +1,10 @@
1
1
  import * as i0 from '@angular/core';
2
2
  import { OnInit, OnChanges, EventEmitter, SimpleChanges, OnDestroy, EnvironmentProviders } from '@angular/core';
3
3
  import * as _progress_kendo_svg_icons from '@progress/kendo-svg-icons';
4
- import { DialogContentBase } from '@progress/kendo-angular-dialog';
4
+ import { SVGIcon } from '@progress/kendo-svg-icons';
5
5
  import { GridDataResult, CellClickEvent, RowArgs, PageChangeEvent, SelectionEvent } from '@progress/kendo-angular-grid';
6
- import { FieldFilterDto, SearchFilterDto, SortDto, AttributeItem, CkTypeSelectorItem, FieldFilterOperatorsDto } from '@meshmakers/octo-services';
6
+ import { FieldFilterDto, SearchFilterDto, SortDto, AttributeValueTypeDto as AttributeValueTypeDto$1, AttributeItem, CkTypeSelectorItem, FieldFilterOperatorsDto } from '@meshmakers/octo-services';
7
+ import { DialogContentBase } from '@progress/kendo-angular-dialog';
7
8
  import { ControlValueAccessor, Validator, FormControl, AbstractControl, ValidationErrors } from '@angular/forms';
8
9
  import { AutoCompleteComponent } from '@progress/kendo-angular-dropdowns';
9
10
  import { DataSourceTyped, ListViewComponent, HierarchyDataSourceBase } from '@meshmakers/shared-ui';
@@ -59,7 +60,7 @@ interface PropertyGridItem {
59
60
  /** Display name for the property (optional, falls back to name) */
60
61
  displayName?: string;
61
62
  /** Current value of the property */
62
- value: any;
63
+ value: unknown;
63
64
  /** Data type of the property */
64
65
  type: AttributeValueTypeDto;
65
66
  /** Description/tooltip for the property */
@@ -71,9 +72,9 @@ interface PropertyGridItem {
71
72
  /** Whether the property is required */
72
73
  required?: boolean;
73
74
  /** Custom validation rules */
74
- validators?: any[];
75
+ validators?: Record<string, unknown>[];
75
76
  /** Custom editor configuration */
76
- editorConfig?: any;
77
+ editorConfig?: Record<string, unknown>;
77
78
  }
78
79
  /**
79
80
  * Configuration options for the property grid
@@ -82,7 +83,7 @@ interface PropertyGridConfig {
82
83
  /** Whether the grid is in read-only mode */
83
84
  readOnlyMode?: boolean;
84
85
  /** Custom editors for specific types */
85
- customEditors?: Record<string, any>;
86
+ customEditors?: Record<string, unknown>;
86
87
  /** Whether to show type icons */
87
88
  showTypeIcons?: boolean;
88
89
  /** Height of the grid */
@@ -97,9 +98,9 @@ interface PropertyChangeEvent {
97
98
  /** The property that changed */
98
99
  property: PropertyGridItem;
99
100
  /** The old value */
100
- oldValue: any;
101
+ oldValue: unknown;
101
102
  /** The new value */
102
- newValue: any;
103
+ newValue: unknown;
103
104
  }
104
105
  /**
105
106
  * Supported display modes for complex values
@@ -136,6 +137,27 @@ interface BinaryDownloadEvent {
136
137
  downloadUri?: string;
137
138
  }
138
139
 
140
+ /** Represents an attribute from an RtEntity */
141
+ interface RtAttribute {
142
+ attributeName?: string | null;
143
+ value?: unknown;
144
+ }
145
+ /** Represents an RtRecord with a ckRecordId and attributes */
146
+ interface RtRecord {
147
+ ckRecordId?: string;
148
+ attributes?: RtAttribute[];
149
+ }
150
+ /** Represents an RtEntity with system properties and attributes */
151
+ interface RtEntity {
152
+ rtId?: string;
153
+ ckTypeId?: string;
154
+ rtCreationDateTime?: string;
155
+ rtChangedDateTime?: string;
156
+ rtWellKnownName?: string;
157
+ attributes?: {
158
+ items?: RtAttribute[];
159
+ };
160
+ }
139
161
  /**
140
162
  * Service for converting various data structures to PropertyGridItem format.
141
163
  * Uses Construction Kit (CK) type definitions for accurate attribute type resolution.
@@ -148,24 +170,24 @@ declare class PropertyConverterService {
148
170
  * @param ckTypeId The fullName of the CK type to look up attribute types
149
171
  * @returns Observable of PropertyGridItem array
150
172
  */
151
- convertRtEntityAttributes(attributes: any[], ckTypeId: string): Observable<PropertyGridItem[]>;
173
+ convertRtEntityAttributes(attributes: RtAttribute[] | null | undefined, ckTypeId: string): Observable<PropertyGridItem[]>;
152
174
  /**
153
175
  * Convert any JavaScript object to property grid items using reflection.
154
176
  * This method remains synchronous as there is no CK type for generic JS objects.
155
177
  */
156
- convertObjectToProperties(obj: any, category?: string): PropertyGridItem[];
178
+ convertObjectToProperties(obj: Record<string, unknown> | null | undefined, category?: string): PropertyGridItem[];
157
179
  /**
158
180
  * Convert RtRecord to property grid items using CK type definitions.
159
181
  * @param record The record object containing ckRecordId and attributes
160
182
  * @returns Observable of PropertyGridItem array
161
183
  */
162
- convertRtRecordToProperties(record: any): Observable<PropertyGridItem[]>;
184
+ convertRtRecordToProperties(record: RtRecord | null | undefined): Observable<PropertyGridItem[]>;
163
185
  /**
164
186
  * Convert OctoMesh RtEntity to comprehensive property list using CK type definitions.
165
187
  * @param entity The RtEntity object
166
188
  * @returns Observable of PropertyGridItem array
167
189
  */
168
- convertRtEntityToProperties(entity: any): Observable<PropertyGridItem[]>;
190
+ convertRtEntityToProperties(entity: RtEntity): Observable<PropertyGridItem[]>;
169
191
  /**
170
192
  * Build a map from attribute name to attribute value type from CK definitions
171
193
  */
@@ -217,11 +239,11 @@ declare class PropertyGridComponent implements OnInit, OnChanges {
217
239
  searchTerm: string;
218
240
  hasChanges: boolean;
219
241
  pendingChanges: PropertyChangeEvent[];
220
- readonly fileIcon: _progress_kendo_svg_icons.SVGIcon;
221
- readonly folderIcon: _progress_kendo_svg_icons.SVGIcon;
222
- readonly calendarIcon: _progress_kendo_svg_icons.SVGIcon;
223
- readonly checkboxCheckedIcon: _progress_kendo_svg_icons.SVGIcon;
224
- readonly listUnorderedIcon: _progress_kendo_svg_icons.SVGIcon;
242
+ readonly fileIcon: SVGIcon;
243
+ readonly folderIcon: SVGIcon;
244
+ readonly calendarIcon: SVGIcon;
245
+ readonly checkboxCheckedIcon: SVGIcon;
246
+ readonly listUnorderedIcon: SVGIcon;
225
247
  readonly AttributeValueTypeDto: typeof AttributeValueTypeDto;
226
248
  ngOnInit(): void;
227
249
  ngOnChanges(changes: SimpleChanges): void;
@@ -237,7 +259,7 @@ declare class PropertyGridComponent implements OnInit, OnChanges {
237
259
  /**
238
260
  * Get appropriate icon for property type
239
261
  */
240
- getTypeIcon(type: AttributeValueTypeDto): any;
262
+ getTypeIcon(type: AttributeValueTypeDto): SVGIcon;
241
263
  /**
242
264
  * Format type name for display
243
265
  */
@@ -253,7 +275,7 @@ declare class PropertyGridComponent implements OnInit, OnChanges {
253
275
  /**
254
276
  * Handle property value change
255
277
  */
256
- onPropertyChange(property: PropertyGridItem, oldValue: any, newValue: any): void;
278
+ onPropertyChange(property: PropertyGridItem, oldValue: unknown, newValue: unknown): void;
257
279
  /**
258
280
  * Handle binary download request from property value display
259
281
  */
@@ -266,7 +288,7 @@ declare class PropertyGridComponent implements OnInit, OnChanges {
266
288
  * Component for displaying property values with appropriate formatting
267
289
  */
268
290
  declare class PropertyValueDisplayComponent implements OnInit {
269
- value: any;
291
+ value: unknown;
270
292
  type: AttributeValueTypeDto;
271
293
  displayMode: PropertyDisplayMode;
272
294
  /** Emitted when a binary download is requested */
@@ -334,14 +356,14 @@ declare class PropertyValueDisplayComponent implements OnInit {
334
356
  /**
335
357
  * Get properties of an object for display
336
358
  */
337
- getObjectProperties(obj: any): {
359
+ getObjectProperties(obj: unknown): {
338
360
  key: string;
339
- value: any;
361
+ value: unknown;
340
362
  }[];
341
363
  /**
342
364
  * Determine the appropriate type for a nested property value
343
365
  */
344
- getPropertyType(value: any): AttributeValueTypeDto;
366
+ getPropertyType(value: unknown): AttributeValueTypeDto;
345
367
  /**
346
368
  * Check if this is a BINARY_LINKED type with download capability
347
369
  */
@@ -375,14 +397,20 @@ interface AttributeSelectorDialogData {
375
397
  selectedAttributes?: string[];
376
398
  dialogTitle?: string;
377
399
  singleSelect?: boolean;
400
+ includeNavigationProperties?: boolean;
401
+ maxDepth?: number;
378
402
  }
379
403
  interface AttributeSelectorDialogResult {
380
404
  selectedAttributes: AttributeItem[];
381
405
  }
382
- declare class AttributeSelectorDialogComponent extends DialogContentBase implements OnInit {
406
+ interface ValueTypeFilterOption$1 {
407
+ text: string;
408
+ value: AttributeValueTypeDto$1 | null;
409
+ }
410
+ declare class AttributeSelectorDialogComponent implements OnInit {
411
+ private readonly windowRef;
383
412
  private readonly attributeService;
384
413
  private searchSubject;
385
- constructor();
386
414
  protected readonly arrowRightIcon: _progress_kendo_svg_icons.SVGIcon;
387
415
  protected readonly arrowLeftIcon: _progress_kendo_svg_icons.SVGIcon;
388
416
  protected readonly chevronDoubleRightIcon: _progress_kendo_svg_icons.SVGIcon;
@@ -390,17 +418,22 @@ declare class AttributeSelectorDialogComponent extends DialogContentBase impleme
390
418
  protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
391
419
  protected readonly arrowUpIcon: _progress_kendo_svg_icons.SVGIcon;
392
420
  protected readonly arrowDownIcon: _progress_kendo_svg_icons.SVGIcon;
421
+ data: AttributeSelectorDialogData;
393
422
  dialogTitle: string;
394
423
  rtCkTypeId: string;
395
424
  singleSelect: boolean;
396
425
  searchText: string;
397
426
  selectedSingleKey: string[];
427
+ selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
428
+ includeNavigationProperties: boolean;
429
+ maxDepth: number | null;
398
430
  availableAttributes: AttributeItem[];
399
431
  selectedAttributes: AttributeItem[];
400
432
  availableGridData: GridDataResult;
401
433
  selectedGridData: GridDataResult;
402
434
  selectedAvailableKeys: string[];
403
435
  selectedChosenKeys: string[];
436
+ valueTypeOptions: ValueTypeFilterOption$1[];
404
437
  private lastClickTime;
405
438
  private lastClickedItem;
406
439
  private readonly doubleClickDelay;
@@ -408,6 +441,9 @@ declare class AttributeSelectorDialogComponent extends DialogContentBase impleme
408
441
  private loadAvailableAttributes;
409
442
  private loadInitialSelectedAttributes;
410
443
  onSearchChange(value: string): void;
444
+ onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
445
+ onNavigationPropertiesChange(): void;
446
+ onMaxDepthChange(value: number | null): void;
411
447
  addSelected(): void;
412
448
  removeSelected(): void;
413
449
  addAll(): void;
@@ -451,12 +487,13 @@ interface AttributeSelectorResult {
451
487
  selectedAttributes: AttributeItem[];
452
488
  }
453
489
  declare class AttributeSelectorDialogService {
454
- private readonly dialogService;
490
+ private readonly windowService;
455
491
  /**
456
492
  * Opens the attribute selector dialog
457
493
  * @param rtCkTypeId The RtCkType ID to fetch attributes for
458
494
  * @param selectedAttributes Optional array of pre-selected attribute paths
459
495
  * @param dialogTitle Optional custom dialog title
496
+ * @param singleSelect Optional flag for single-select mode
460
497
  * @returns Promise that resolves with the result containing selected attributes and confirmation status
461
498
  */
462
499
  openAttributeSelector(rtCkTypeId: string, selectedAttributes?: string[], dialogTitle?: string, singleSelect?: boolean): Promise<AttributeSelectorResult>;
@@ -481,13 +518,19 @@ interface SortOption {
481
518
  text: string;
482
519
  value: 'standard' | 'ascending' | 'descending';
483
520
  }
484
- declare class AttributeSortSelectorDialogComponent extends DialogContentBase implements OnInit {
521
+ interface ValueTypeFilterOption {
522
+ text: string;
523
+ value: AttributeValueTypeDto$1 | null;
524
+ }
525
+ declare class AttributeSortSelectorDialogComponent implements OnInit {
526
+ private readonly windowRef;
485
527
  private readonly attributeService;
486
528
  private searchSubject;
487
- constructor();
529
+ data: AttributeSortSelectorDialogData;
488
530
  ckTypeId: string;
489
531
  searchText: string;
490
532
  currentSortOrder: 'standard' | 'ascending' | 'descending';
533
+ selectedValueTypeFilter: AttributeValueTypeDto$1 | null;
491
534
  availableAttributes: AttributeItem[];
492
535
  selectedAttributes: AttributeSortItem[];
493
536
  availableGridData: GridDataResult;
@@ -499,12 +542,14 @@ declare class AttributeSortSelectorDialogComponent extends DialogContentBase imp
499
542
  private readonly doubleClickDelay;
500
543
  dialogTitle: string;
501
544
  sortOptions: SortOption[];
545
+ valueTypeOptions: ValueTypeFilterOption[];
502
546
  protected readonly searchIcon: _progress_kendo_svg_icons.SVGIcon;
503
547
  protected readonly sortAscIcon: _progress_kendo_svg_icons.SVGIcon;
504
548
  protected readonly sortDescIcon: _progress_kendo_svg_icons.SVGIcon;
505
549
  ngOnInit(): void;
506
550
  private loadAvailableAttributes;
507
551
  onSearchChange(value: string): void;
552
+ onValueTypeFilterChange(_value: AttributeValueTypeDto$1 | null): void;
508
553
  setSortOrder(order: 'standard' | 'ascending' | 'descending'): void;
509
554
  addAttributeWithSort(): void;
510
555
  onAvailableCellClick(event: CellClickEvent): void;
@@ -527,7 +572,7 @@ interface AttributeSortSelectorResult {
527
572
  selectedAttributes: AttributeSortItem[];
528
573
  }
529
574
  declare class AttributeSortSelectorDialogService {
530
- private readonly dialogService;
575
+ private readonly windowService;
531
576
  /**
532
577
  * Opens the attribute sort selector dialog
533
578
  * @param ckTypeId The CkType ID to fetch attributes for