@rocketshow/designer 1.65.0 → 1.68.0

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/index.d.ts CHANGED
@@ -1,29 +1,27 @@
1
1
  import * as i0 from '@angular/core';
2
- import { NgZone, OnDestroy, AfterViewInit, OnInit, ElementRef, ChangeDetectorRef, PipeTransform, EventEmitter } from '@angular/core';
3
- import * as i46 from '@ngx-translate/core';
2
+ import { NgZone, OnDestroy, AfterViewInit, OnInit, ElementRef, ChangeDetectorRef, OnChanges, EventEmitter, TemplateRef, SimpleChanges, PipeTransform } from '@angular/core';
3
+ import * as i47 from '@ngx-translate/core';
4
4
  import { TranslateService } from '@ngx-translate/core';
5
5
  import { BsModalService, BsModalRef } from 'ngx-bootstrap/modal';
6
6
  import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls.js';
7
7
  import { HttpClient, HttpHeaders } from '@angular/common/http';
8
- import * as i51 from 'ngx-toastr';
8
+ import * as i52 from 'ngx-toastr';
9
9
  import { ToastrService } from 'ngx-toastr';
10
10
  import { Observable, Subject } from 'rxjs';
11
- import * as i41 from '@angular/router';
11
+ import * as i42 from '@angular/router';
12
12
  import { Router, ActivatedRoute } from '@angular/router';
13
13
  import * as THREE from 'three';
14
14
  import WaveSurfer from 'wavesurfer.js';
15
15
  import { Options } from 'sortablejs';
16
- import * as i52 from '@ali-hm/angular-tree-component';
17
- import { ITreeOptions } from '@ali-hm/angular-tree-component';
18
- import * as i50 from 'ngx-dropzone-wrapper';
16
+ import * as i51 from 'ngx-dropzone-wrapper';
19
17
  import { DropzoneConfigInterface } from 'ngx-dropzone-wrapper';
20
- import * as i42 from '@angular/platform-browser';
21
- import * as i43 from '@angular/platform-browser/animations';
22
- import * as i44 from '@angular/forms';
23
- import * as i45 from 'ngx-bootstrap-slider';
24
- import * as i47 from 'ngx-bootstrap/accordion';
25
- import * as i48 from 'ngx-bootstrap/popover';
26
- import * as i49 from 'ngx-bootstrap/typeahead';
18
+ import * as i43 from '@angular/platform-browser';
19
+ import * as i44 from '@angular/platform-browser/animations';
20
+ import * as i45 from '@angular/forms';
21
+ import * as i46 from 'ngx-bootstrap-slider';
22
+ import * as i48 from 'ngx-bootstrap/accordion';
23
+ import * as i49 from 'ngx-bootstrap/popover';
24
+ import * as i50 from 'ngx-bootstrap/typeahead';
27
25
 
28
26
  declare class DesignerService {
29
27
  constructor();
@@ -399,6 +397,17 @@ declare class Scene {
399
397
  constructor(data?: any);
400
398
  }
401
399
 
400
+ /**
401
+ * Lightweight configuration entry describing a universe that can
402
+ * be selected by the user inside the fixture pool. The actual
403
+ * runtime universe (with channel values, etc.) is represented by
404
+ * the `Universe` model.
405
+ */
406
+ interface UniverseConfig {
407
+ uuid: string;
408
+ name: string;
409
+ }
410
+
402
411
  declare class Project {
403
412
  id: number;
404
413
  version: number;
@@ -420,6 +429,7 @@ declare class Project {
420
429
  fixtureProfiles: FixtureProfile[];
421
430
  fixtures: Fixture[];
422
431
  presetFixtures: PresetFixture[];
432
+ universes: UniverseConfig[];
423
433
  scenes: Scene[];
424
434
  presets: Preset[];
425
435
  constructor(data?: any);
@@ -444,6 +454,26 @@ declare class UserService {
444
454
  static ɵprov: i0.ɵɵInjectableDeclaration<UserService>;
445
455
  }
446
456
 
457
+ declare class ConfigService {
458
+ restUrl: string;
459
+ enableMediaLibrary: boolean;
460
+ loginAvailable: boolean;
461
+ shareAvailable: boolean;
462
+ menuHeightPx: number;
463
+ languageSwitch: boolean;
464
+ livePreview: boolean;
465
+ localProfiles: boolean;
466
+ intro: boolean;
467
+ uniqueProjectNames: boolean;
468
+ dropzoneChunking: boolean;
469
+ universes: UniverseConfig[];
470
+ freeUniverseEdit: boolean;
471
+ menuHeightChanged: Subject<void>;
472
+ constructor();
473
+ static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
474
+ static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
475
+ }
476
+
447
477
  declare class ProjectService {
448
478
  private http;
449
479
  private userService;
@@ -451,9 +481,10 @@ declare class ProjectService {
451
481
  private activatedRoute;
452
482
  private translateService;
453
483
  private toastrService;
484
+ private configService;
454
485
  project: Project;
455
486
  currentProjectVersion: number;
456
- constructor(http: HttpClient, userService: UserService, router: Router, activatedRoute: ActivatedRoute, translateService: TranslateService, toastrService: ToastrService);
487
+ constructor(http: HttpClient, userService: UserService, router: Router, activatedRoute: ActivatedRoute, translateService: TranslateService, toastrService: ToastrService, configService: ConfigService);
457
488
  private saveApi;
458
489
  save(project: Project): void;
459
490
  getAllProjects(): Observable<Project[]>;
@@ -576,37 +607,6 @@ declare class AnimationService {
576
607
  static ɵprov: i0.ɵɵInjectableDeclaration<AnimationService>;
577
608
  }
578
609
 
579
- /**
580
- * Lightweight configuration entry describing a universe that can
581
- * be selected by the user inside the fixture pool. The actual
582
- * runtime universe (with channel values, etc.) is represented by
583
- * the `Universe` model.
584
- */
585
- interface UniverseConfig {
586
- uuid: string;
587
- name: string;
588
- }
589
-
590
- declare class ConfigService {
591
- restUrl: string;
592
- enableMediaLibrary: boolean;
593
- loginAvailable: boolean;
594
- shareAvailable: boolean;
595
- menuHeightPx: number;
596
- languageSwitch: boolean;
597
- livePreview: boolean;
598
- localProfiles: boolean;
599
- intro: boolean;
600
- uniqueProjectNames: boolean;
601
- dropzoneChunking: boolean;
602
- universes: UniverseConfig[];
603
- freeUniverseEdit: boolean;
604
- menuHeightChanged: Subject<void>;
605
- constructor();
606
- static ɵfac: i0.ɵɵFactoryDeclaration<ConfigService, never>;
607
- static ɵprov: i0.ɵɵInjectableDeclaration<ConfigService>;
608
- }
609
-
610
610
  declare class TimelineStateService {
611
611
  playState: string;
612
612
  selectedComposition: Composition;
@@ -738,7 +738,7 @@ declare class TimelineService {
738
738
  formatTimeCallback(seconds: number, pxPerSec: number): string | number;
739
739
  timeInterval(pxPerSec: number): number;
740
740
  primaryLabelInterval(pxPerSec: number): number;
741
- secondaryLabelInterval(pxPerSec: number): 0 | 2 | 5;
741
+ secondaryLabelInterval(pxPerSec: number): 5 | 0 | 2;
742
742
  private seekWithTimeline;
743
743
  applyZoom(zoom: any): void;
744
744
  private isWaveSurferReady;
@@ -897,9 +897,11 @@ declare class ProjectLoadService {
897
897
  private activatedRoute;
898
898
  private warningDialogService;
899
899
  private livePreviewService;
900
- constructor(projectService: ProjectService, previewService: PreviewService, fixtureService: FixtureService, presetService: PresetService, sceneService: SceneService, modalService: BsModalService, uuidService: UuidService, timelineService: TimelineService, router: Router, activatedRoute: ActivatedRoute, warningDialogService: WarningDialogService, livePreviewService: LivePreviewService);
900
+ private configService;
901
+ constructor(projectService: ProjectService, previewService: PreviewService, fixtureService: FixtureService, presetService: PresetService, sceneService: SceneService, modalService: BsModalService, uuidService: UuidService, timelineService: TimelineService, router: Router, activatedRoute: ActivatedRoute, warningDialogService: WarningDialogService, livePreviewService: LivePreviewService, configService: ConfigService);
901
902
  private migrateToVersion2;
902
903
  private migrateFromOldProject;
904
+ private setupUniverses;
903
905
  private afterLoad;
904
906
  private selectScenesPresetComposition;
905
907
  load(id: number, name: string, shareToken?: string): Observable<void>;
@@ -1322,18 +1324,91 @@ declare class FixturePoolComponent implements OnInit {
1322
1324
  static ɵcmp: i0.ɵɵComponentDeclaration<FixturePoolComponent, "lib-app-fixture-pool", never, {}, {}, never, never, false, never>;
1323
1325
  }
1324
1326
 
1327
+ interface TreeNode {
1328
+ id?: string | number;
1329
+ name?: string;
1330
+ isFolder?: boolean;
1331
+ expanded?: boolean;
1332
+ children?: TreeNode[];
1333
+ [key: string]: any;
1334
+ }
1335
+ type TreeDropZone = 'before' | 'after' | 'inside';
1336
+ interface FlatNode {
1337
+ node: TreeNode;
1338
+ level: number;
1339
+ parent: TreeNode | null;
1340
+ }
1341
+ interface DropTarget {
1342
+ row: TreeNode;
1343
+ zone: TreeDropZone;
1344
+ indent: number;
1345
+ ref: TreeNode;
1346
+ }
1347
+ /**
1348
+ * A lightweight, dependency-free tree:
1349
+ * - collapsible folders (closed/open folder icon)
1350
+ * - multi selection (ctrl/cmd to toggle, shift to select a range)
1351
+ * - native HTML5 drag & drop, dropping before/after a node or into a folder,
1352
+ * moving the whole current selection at once
1353
+ */
1354
+ declare class TreeComponent implements OnChanges {
1355
+ nodes: TreeNode[];
1356
+ selectedNodes: TreeNode[];
1357
+ allowDrag: (node: TreeNode) => boolean;
1358
+ allowDrop: (dragged: TreeNode[], target: TreeNode, zone: TreeDropZone) => boolean;
1359
+ selectedNodesChange: EventEmitter<TreeNode[]>;
1360
+ activate: EventEmitter<TreeNode>;
1361
+ nodesChange: EventEmitter<TreeNode[]>;
1362
+ nodeTemplate?: TemplateRef<any>;
1363
+ flatNodes: FlatNode[];
1364
+ draggingNodes: TreeNode[];
1365
+ drop: DropTarget | null;
1366
+ dropTail: boolean;
1367
+ private static readonly INDENT_STEP;
1368
+ private static readonly INDENT_BASE;
1369
+ private selection;
1370
+ private lastClickedIndex;
1371
+ private flatByNode;
1372
+ indentPx(level: number): string;
1373
+ private indent;
1374
+ ngOnChanges(changes: SimpleChanges): void;
1375
+ isSelected(node: TreeNode): boolean;
1376
+ isDragging(node: TreeNode): boolean;
1377
+ toggleExpand(node: TreeNode): void;
1378
+ onRowClick(flat: FlatNode, event: MouseEvent): void;
1379
+ private selectRange;
1380
+ onDragStart(flat: FlatNode, event: DragEvent): void;
1381
+ onDragOver(flat: FlatNode, event: DragEvent): void;
1382
+ onDrop(flat: FlatNode, event: DragEvent): void;
1383
+ onTailDragOver(event: DragEvent): void;
1384
+ onTailDrop(event: DragEvent): void;
1385
+ onDragEnd(): void;
1386
+ private endDrag;
1387
+ private clearIndicator;
1388
+ private resolveDrop;
1389
+ private afterRow;
1390
+ private canDrop;
1391
+ private moveNodes;
1392
+ private detachAll;
1393
+ private rebuild;
1394
+ private flatten;
1395
+ private removeNested;
1396
+ private contains;
1397
+ private locate;
1398
+ static ɵfac: i0.ɵɵFactoryDeclaration<TreeComponent, never>;
1399
+ static ɵcmp: i0.ɵɵComponentDeclaration<TreeComponent, "lib-tree", never, { "nodes": { "alias": "nodes"; "required": false; }; "selectedNodes": { "alias": "selectedNodes"; "required": false; }; "allowDrag": { "alias": "allowDrag"; "required": false; }; "allowDrop": { "alias": "allowDrop"; "required": false; }; }, { "selectedNodesChange": "selectedNodesChange"; "activate": "activate"; "nodesChange": "nodesChange"; }, ["nodeTemplate"], never, false, never>;
1400
+ }
1401
+
1325
1402
  declare class PresetComponent implements OnInit {
1326
1403
  presetService: PresetService;
1327
1404
  sceneService: SceneService;
1328
1405
  projectService: ProjectService;
1329
1406
  introService: IntroService;
1330
1407
  private modalService;
1331
- treeOptions: ITreeOptions;
1332
- treeNodes: any;
1333
- tree: ElementRef;
1408
+ treeNodes: TreeNode[];
1334
1409
  constructor(presetService: PresetService, sceneService: SceneService, projectService: ProjectService, introService: IntroService, modalService: BsModalService);
1335
1410
  ngOnInit(): void;
1336
- onActivate(event: any): void;
1411
+ onActivate(node: TreeNode): void;
1337
1412
  selectPreset(index: number): void;
1338
1413
  enableCheckbox(): boolean;
1339
1414
  activatePreset(active: boolean, index: number): void;
@@ -1796,7 +1871,7 @@ declare class SortablejsDirective implements AfterViewInit, OnDestroy {
1796
1871
 
1797
1872
  declare class DesignerModule {
1798
1873
  static ɵfac: i0.ɵɵFactoryDeclaration<DesignerModule, never>;
1799
- static ɵmod: i0.ɵɵNgModuleDeclaration<DesignerModule, [typeof DesignerComponent, typeof WarningDialogComponent, typeof PreviewComponent, typeof EffectCurveComponent, typeof EffectPanTiltComponent, typeof SceneComponent, typeof TimelineComponent, typeof FixtureCapabilityColorComponent, typeof FixtureComponent, typeof FixtureSettingsPositionComponent, typeof FixtureCapabilityComponent, typeof FixtureSettingsComponent, typeof EffectComponent, typeof FixturePoolComponent, typeof PresetComponent, typeof MasterDimmerComponent, typeof FixtureCapabilityDimmerComponent, typeof TimelineGridComponent, typeof CompositionSettingsComponent, typeof ArraySortPipe, typeof FixtureCapabilityPanTiltComponent, typeof FixtureCapabilityChannelComponent, typeof FixtureChannelComponent, typeof FixtureCapabilityColorWheelComponent, typeof UserLoginComponent, typeof UserRegisterComponent, typeof ProjectBrowserComponent, typeof WaitDialogComponent, typeof ProjectImportComponent, typeof ProjectShareComponent, typeof ErrorDialogComponent, typeof FixtureSettingsStageComponent, typeof IntroComponent, typeof PresetSettingsComponent, typeof SceneSettingsComponent, typeof ProjectSaveComponent, typeof FixturePoolCreateFromFileComponent, typeof FixturePoolEditUniversesComponent, typeof DropzoneComponent, typeof SortablejsDirective], [typeof i41.RouterModule, typeof i42.BrowserModule, typeof i43.BrowserAnimationsModule, typeof i44.FormsModule, typeof i45.NgxBootstrapSliderModule, typeof i46.TranslateModule, typeof i47.AccordionModule, typeof i48.PopoverModule, typeof i49.TypeaheadModule, typeof i50.DropzoneModule, typeof i51.ToastrModule, typeof i52.TreeModule], [typeof DesignerComponent]>;
1874
+ static ɵmod: i0.ɵɵNgModuleDeclaration<DesignerModule, [typeof DesignerComponent, typeof WarningDialogComponent, typeof PreviewComponent, typeof EffectCurveComponent, typeof EffectPanTiltComponent, typeof SceneComponent, typeof TimelineComponent, typeof FixtureCapabilityColorComponent, typeof FixtureComponent, typeof FixtureSettingsPositionComponent, typeof FixtureCapabilityComponent, typeof FixtureSettingsComponent, typeof EffectComponent, typeof FixturePoolComponent, typeof PresetComponent, typeof MasterDimmerComponent, typeof FixtureCapabilityDimmerComponent, typeof TimelineGridComponent, typeof CompositionSettingsComponent, typeof ArraySortPipe, typeof FixtureCapabilityPanTiltComponent, typeof FixtureCapabilityChannelComponent, typeof FixtureChannelComponent, typeof FixtureCapabilityColorWheelComponent, typeof UserLoginComponent, typeof UserRegisterComponent, typeof ProjectBrowserComponent, typeof WaitDialogComponent, typeof ProjectImportComponent, typeof ProjectShareComponent, typeof ErrorDialogComponent, typeof FixtureSettingsStageComponent, typeof IntroComponent, typeof PresetSettingsComponent, typeof SceneSettingsComponent, typeof ProjectSaveComponent, typeof FixturePoolCreateFromFileComponent, typeof FixturePoolEditUniversesComponent, typeof DropzoneComponent, typeof SortablejsDirective, typeof TreeComponent], [typeof i42.RouterModule, typeof i43.BrowserModule, typeof i44.BrowserAnimationsModule, typeof i45.FormsModule, typeof i46.NgxBootstrapSliderModule, typeof i47.TranslateModule, typeof i48.AccordionModule, typeof i49.PopoverModule, typeof i50.TypeaheadModule, typeof i51.DropzoneModule, typeof i52.ToastrModule], [typeof DesignerComponent]>;
1800
1875
  static ɵinj: i0.ɵɵInjectorDeclaration<DesignerModule>;
1801
1876
  }
1802
1877
 
package/package.json CHANGED
@@ -1,11 +1,10 @@
1
1
  {
2
2
  "name": "@rocketshow/designer",
3
- "version": "1.65.0",
3
+ "version": "1.68.0",
4
4
  "dependencies": {
5
5
  "tslib": "^2.0.0"
6
6
  },
7
7
  "peerDependencies": {
8
- "@ali-hm/angular-tree-component": "^20.3.4",
9
8
  "@angular/animations": ">=20.0.0 <21.0.0",
10
9
  "@angular/common": ">=20.0.0 <21.0.0",
11
10
  "@angular/core": ">=20.0.0 <21.0.0",
Binary file
Binary file