@memberjunction/ng-dashboards 2.87.0 → 2.89.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.
@@ -1,16 +1,32 @@
1
- import { AfterViewInit, OnDestroy, ChangeDetectorRef } from '@angular/core';
1
+ import { AfterViewInit, OnDestroy, ElementRef, ChangeDetectorRef } from '@angular/core';
2
2
  import { BaseDashboard } from '../generic/base-dashboard';
3
3
  import { CompositeKey } from '@memberjunction/core';
4
4
  import { ComponentEntity } from '@memberjunction/core-entities';
5
5
  import { ComponentSpec } from '@memberjunction/interactive-component-types';
6
6
  import { ReactComponentEvent } from '@memberjunction/ng-react';
7
7
  import * as i0 from "@angular/core";
8
+ interface FileLoadedComponent {
9
+ id: string;
10
+ name: string;
11
+ description?: string;
12
+ specification: ComponentSpec;
13
+ filename: string;
14
+ loadedAt: Date;
15
+ isFileLoaded: true;
16
+ type?: string;
17
+ status?: string;
18
+ }
19
+ type DisplayComponent = (ComponentEntity & {
20
+ isFileLoaded?: false;
21
+ }) | FileLoadedComponent;
8
22
  export declare class ComponentStudioDashboardComponent extends BaseDashboard implements AfterViewInit, OnDestroy {
9
23
  private cdr;
10
24
  components: ComponentEntity[];
11
- filteredComponents: ComponentEntity[];
12
- selectedComponent: ComponentEntity | null;
13
- expandedComponent: ComponentEntity | null;
25
+ fileLoadedComponents: FileLoadedComponent[];
26
+ allComponents: DisplayComponent[];
27
+ filteredComponents: DisplayComponent[];
28
+ selectedComponent: DisplayComponent | null;
29
+ expandedComponent: DisplayComponent | null;
14
30
  componentSpec: ComponentSpec | null;
15
31
  isLoading: boolean;
16
32
  searchQuery: string;
@@ -20,6 +36,21 @@ export declare class ComponentStudioDashboardComponent extends BaseDashboard imp
20
36
  message: string;
21
37
  technicalDetails?: any;
22
38
  } | null;
39
+ activeTab: number;
40
+ isDetailsPaneCollapsed: boolean;
41
+ editableSpec: string;
42
+ editableCode: string;
43
+ codeSections: Array<{
44
+ title: string;
45
+ code: string;
46
+ expanded: boolean;
47
+ isDependency?: boolean;
48
+ index?: number;
49
+ }>;
50
+ isEditingSpec: boolean;
51
+ isEditingCode: boolean;
52
+ private lastEditSource;
53
+ fileInput?: ElementRef<HTMLInputElement>;
23
54
  private destroy$;
24
55
  constructor(cdr: ChangeDetectorRef);
25
56
  ngAfterViewInit(): void;
@@ -27,9 +58,21 @@ export declare class ComponentStudioDashboardComponent extends BaseDashboard imp
27
58
  protected initDashboard(): void;
28
59
  protected loadData(): Promise<void>;
29
60
  onSearchChange(query: string): void;
30
- private filterComponents;
31
- toggleComponentExpansion(component: ComponentEntity): void;
32
- runComponent(component: ComponentEntity): void;
61
+ private combineAndFilterComponents;
62
+ getComponentName(component: DisplayComponent): string;
63
+ getComponentDescription(component: DisplayComponent): string | undefined;
64
+ getComponentType(component: DisplayComponent): string | undefined;
65
+ getComponentStatus(component: DisplayComponent): string | undefined;
66
+ getComponentVersion(component: DisplayComponent): string;
67
+ getComponentSpec(component: DisplayComponent): ComponentSpec;
68
+ getComponentId(component: DisplayComponent): string;
69
+ isFileLoadedComponent(component: DisplayComponent): boolean;
70
+ getComponentFilename(component: DisplayComponent): string | undefined;
71
+ getComponentLoadedAt(component: DisplayComponent): Date | undefined;
72
+ getComponentUpdatedAt(component: DisplayComponent): Date | undefined;
73
+ toggleComponentExpansion(component: DisplayComponent): void;
74
+ runComponent(component: DisplayComponent): void;
75
+ private startComponent;
33
76
  stopComponent(): void;
34
77
  /**
35
78
  * Handle component events from React components
@@ -55,8 +98,61 @@ export declare class ComponentStudioDashboardComponent extends BaseDashboard imp
55
98
  */
56
99
  formatTechnicalDetails(details: any): string;
57
100
  refreshData(): Promise<void>;
58
- getComponentTypeIcon(type: string | null): string;
59
- getComponentTypeColor(type: string | null): string;
101
+ triggerFileInput(): void;
102
+ handleFileSelect(event: Event): Promise<void>;
103
+ private readFile;
104
+ private generateId;
105
+ removeFileComponent(component: FileLoadedComponent): void;
106
+ getComponentTypeIcon(type: string | null | undefined): string;
107
+ getComponentTypeColor(type: string | null | undefined): string;
108
+ /**
109
+ * Initialize the spec and code editors when a component is selected
110
+ */
111
+ initializeEditors(): void;
112
+ /**
113
+ * Handle spec editor changes
114
+ */
115
+ onSpecChange(newSpec: string): void;
116
+ /**
117
+ * Handle code editor changes
118
+ */
119
+ onCodeChange(newCode: string): void;
120
+ /**
121
+ * Apply spec changes and update the code tab
122
+ */
123
+ applySpecChanges(): void;
124
+ /**
125
+ * Apply code changes and update the spec
126
+ */
127
+ applyCodeChanges(): void;
128
+ /**
129
+ * Refresh the running component with new spec/code (in-place update)
130
+ */
131
+ refreshComponent(): void;
132
+ /**
133
+ * Update the running component without full refresh
134
+ */
135
+ private updateRunningComponent;
136
+ /**
137
+ * Build code sections array from spec
138
+ */
139
+ private buildCodeSections;
140
+ /**
141
+ * Get component code sections for panel bar
142
+ */
143
+ getComponentCodeSections(): any[];
144
+ /**
145
+ * Handle code section changes
146
+ */
147
+ onCodeSectionChange(newCode: string, sectionIndex: number): void;
148
+ /**
149
+ * Toggle the details pane (spec/code editors)
150
+ */
151
+ toggleDetailsPane(): void;
152
+ /**
153
+ * Handle tab selection
154
+ */
155
+ onTabSelect(event: any): void;
60
156
  static ɵfac: i0.ɵɵFactoryDeclaration<ComponentStudioDashboardComponent, never>;
61
157
  static ɵcmp: i0.ɵɵComponentDeclaration<ComponentStudioDashboardComponent, "mj-component-studio-dashboard", never, {}, {}, never, never, false, never>;
62
158
  }
@@ -64,4 +160,5 @@ export declare class ComponentStudioDashboardComponent extends BaseDashboard imp
64
160
  * Function to prevent tree shaking of the ComponentStudioDashboardComponent.
65
161
  */
66
162
  export declare function LoadComponentStudioDashboard(): void;
163
+ export {};
67
164
  //# sourceMappingURL=component-studio-dashboard.component.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"component-studio-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/ComponentStudio/component-studio-dashboard.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,aAAa,EAAE,SAAS,EAAyB,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC9G,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,OAAO,EAAW,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAGhE,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;AAG/D,qBAMa,iCAAkC,SAAQ,aAAc,YAAW,aAAa,EAAE,SAAS;IAiB1F,OAAO,CAAC,GAAG;IAdhB,UAAU,EAAE,eAAe,EAAE,CAAM;IACnC,kBAAkB,EAAE,eAAe,EAAE,CAAM;IAC3C,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAQ;IACjD,iBAAiB,EAAE,eAAe,GAAG,IAAI,CAAQ;IACjD,aAAa,EAAE,aAAa,GAAG,IAAI,CAAQ;IAC3C,SAAS,UAAS;IAClB,WAAW,SAAM;IACjB,SAAS,UAAS;IAGlB,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI,CAAQ;IAE7F,OAAO,CAAC,QAAQ,CAAuB;gBAEnB,GAAG,EAAE,iBAAiB;IAI1C,eAAe,IAAI,IAAI;IAKvB,WAAW,IAAI,IAAI;IAKnB,SAAS,CAAC,aAAa,IAAI,IAAI;cAIf,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC;IA0BlC,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,gBAAgB;IAajB,wBAAwB,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAU1D,YAAY,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI;IAS9C,aAAa,IAAI,IAAI;IAQ5B;;OAEG;IACI,gBAAgB,CAAC,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAWzD;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE,GAAG,IAAI;IAKjF;;OAEG;IACI,cAAc,IAAI,IAAI;IAY7B;;OAEG;IACU,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC;IAoBlD;;OAEG;IACI,sBAAsB,CAAC,OAAO,EAAE,GAAG,GAAG,MAAM;IAOtC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAIlC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;IAejD,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM;yCAnM9C,iCAAiC;2CAAjC,iCAAiC;CAiN7C;AAED;;GAEG;AACH,wBAAgB,4BAA4B,SAE3C"}
1
+ {"version":3,"file":"component-studio-dashboard.component.d.ts","sourceRoot":"","sources":["../../src/ComponentStudio/component-studio-dashboard.component.ts"],"names":[],"mappings":"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"}