@memberjunction/ng-skip-chat 2.69.1 → 2.71.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,8 +1,9 @@
1
- import { AfterViewInit, ElementRef, EventEmitter, OnDestroy, QueryList, SimpleChanges, ChangeDetectorRef, NgZone } from '@angular/core';
2
- import { Metadata, RunQuery, RunView } from '@memberjunction/core';
3
- import { SimpleMetadata, SimpleRunQuery, SimpleRunView, SkipAPIAnalysisCompleteResponse, SkipComponentStyles, SkipComponentCallbacks, SkipComponentUtilities, SkipComponentOption } from '@memberjunction/skip-types';
1
+ import { AfterViewInit, EventEmitter, OnDestroy, QueryList, SimpleChanges, ChangeDetectorRef, NgZone } from '@angular/core';
2
+ import { SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';
3
+ import { ComponentStyles, ComponentUtilities, ComponentOption } from '@memberjunction/interactive-component-types';
4
4
  import { DrillDownInfo } from '../drill-down-info';
5
5
  import { DomSanitizer } from '@angular/platform-browser';
6
+ import { MJReactComponent, StateChangeEvent, ReactComponentEvent } from '@memberjunction/ng-react';
6
7
  import * as i0 from "@angular/core";
7
8
  export declare class SkipDynamicUIComponentComponent implements AfterViewInit, OnDestroy {
8
9
  private sanitizer;
@@ -16,14 +17,15 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
16
17
  matchingReportID: string | null;
17
18
  DrillDownEvent: EventEmitter<DrillDownInfo>;
18
19
  CreateReportRequested: EventEmitter<number>;
19
- htmlContainers: QueryList<ElementRef>;
20
- reportOptions: SkipComponentOption[];
20
+ reactComponents: QueryList<MJReactComponent>;
21
+ reportOptions: ComponentOption[];
21
22
  selectedReportOptionIndex: number;
22
23
  currentError: {
23
24
  type: string;
24
25
  message: string;
25
26
  technicalDetails?: string;
26
27
  } | null;
28
+ private _cachedComponentTypeName;
27
29
  isCreatingReport: boolean;
28
30
  showFunctionalRequirements: boolean;
29
31
  showDataRequirements: boolean;
@@ -33,14 +35,15 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
33
35
  private isResizing;
34
36
  private startY;
35
37
  private startHeight;
36
- private reactHostCache;
37
- private currentHostIndex;
38
- private callbacks;
38
+ componentSpecs: Map<number, any>;
39
+ userStates: Map<number, any>;
40
+ utilities: ComponentUtilities | null;
41
+ componentStyles: ComponentStyles | null;
39
42
  constructor(sanitizer: DomSanitizer, cdr: ChangeDetectorRef, ngZone: NgZone);
40
43
  /**
41
44
  * Gets the currently selected report option
42
45
  */
43
- get selectedReportOption(): SkipComponentOption | null;
46
+ get selectedReportOption(): ComponentOption | null;
44
47
  /**
45
48
  * Get tab title for a specific option index
46
49
  */
@@ -63,13 +66,13 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
63
66
  private updateCurrentReport;
64
67
  PrintReport(): Promise<void>;
65
68
  /**
66
- * Copy error details to clipboard for user to send back to Skip
69
+ * Copy error details to clipboard for user to send back to
67
70
  */
68
71
  copyErrorToClipboard(): void;
69
72
  /**
70
- * Get the container element for a specific option index
73
+ * Get the React component for a specific option index
71
74
  */
72
- private getContainerForOption;
75
+ private getReactComponentForOption;
73
76
  /**
74
77
  * Retry loading the current option
75
78
  */
@@ -81,7 +84,11 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
81
84
  /**
82
85
  * Get the component type name for display
83
86
  */
84
- getComponentTypeName(option: SkipComponentOption): string;
87
+ getComponentTypeName(option: ComponentOption): string;
88
+ /**
89
+ * Get the cached component type name for the first option to avoid change detection errors
90
+ */
91
+ get firstOptionComponentTypeName(): string;
85
92
  /**
86
93
  * Toggle methods for showing/hiding component details
87
94
  */
@@ -96,19 +103,19 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
96
103
  /**
97
104
  * Format functional requirements as HTML
98
105
  */
99
- getFormattedFunctionalRequirements(option: SkipComponentOption): any;
106
+ getFormattedFunctionalRequirements(option: ComponentOption): any;
100
107
  /**
101
108
  * Format data requirements as HTML
102
109
  */
103
- getFormattedDataRequirements(option: SkipComponentOption): any;
110
+ getFormattedDataRequirements(option: ComponentOption): any;
104
111
  /**
105
112
  * Format technical design as HTML
106
113
  */
107
- getFormattedTechnicalDesign(option: SkipComponentOption): any;
114
+ getFormattedTechnicalDesign(option: ComponentOption): any;
108
115
  /**
109
116
  * Get the component code
110
117
  */
111
- getComponentCode(option: SkipComponentOption): string;
118
+ getComponentCode(option: ComponentOption): string;
112
119
  /**
113
120
  * Start resizing the details panel
114
121
  */
@@ -126,9 +133,9 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
126
133
  ngOnDestroy(): void;
127
134
  ngOnChanges(changes: SimpleChanges): void;
128
135
  /**
129
- * Get the currently active React host
136
+ * Get the currently active React component
130
137
  */
131
- private getCurrentReactHost;
138
+ private getCurrentReactComponent;
132
139
  private _skipData;
133
140
  get SkipData(): SkipAPIAnalysisCompleteResponse | undefined;
134
141
  set SkipData(d: SkipAPIAnalysisCompleteResponse | undefined);
@@ -138,20 +145,30 @@ export declare class SkipDynamicUIComponentComponent implements AfterViewInit, O
138
145
  */
139
146
  private setupReportOptions;
140
147
  /**
141
- * Create a React host for a specific option index
148
+ * Create a component spec for a specific option index
149
+ */
150
+ private createComponentSpecForOption;
151
+ /**
152
+ * Handle state change events from React components
153
+ */
154
+ onStateChange(optionIndex: number, event: StateChangeEvent): void;
155
+ /**
156
+ * Handle component events from React components
157
+ */
158
+ onComponentEvent(optionIndex: number, event: ReactComponentEvent): void;
159
+ /**
160
+ * Handle open entity record events
142
161
  */
143
- private createReactHostForOption;
144
- private getFlattenedDataContext;
145
- private handleRefreshData;
162
+ onOpenEntityRecord(event: {
163
+ entityName: string;
164
+ recordId: string;
165
+ }): void;
166
+ getFlattenedDataContext(): Record<string, any>;
167
+ handleRefreshData(): void;
146
168
  private handleOpenEntityRecord;
147
169
  private handleUpdateUserState;
148
170
  private handleNotifyEvent;
149
- protected SetupUtilities(md: Metadata): SkipComponentUtilities;
150
- protected CreateSimpleMetadata(md: Metadata): SimpleMetadata;
151
- protected SetupStyles(): SkipComponentStyles;
152
- protected CreateSimpleRunQuery(rq: RunQuery): SimpleRunQuery;
153
- protected CreateSimpleRunView(rv: RunView): SimpleRunView;
154
- protected SetupCallbacks(): SkipComponentCallbacks;
171
+ private SetupCallbacks;
155
172
  refreshReport(data?: any): Promise<void>;
156
173
  static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicUIComponentComponent, never>;
157
174
  static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicUIComponentComponent, "skip-dynamic-ui-component", never, { "UIComponentCode": { "alias": "UIComponentCode"; "required": false; }; "ComponentObjectName": { "alias": "ComponentObjectName"; "required": false; }; "ShowPrintReport": { "alias": "ShowPrintReport"; "required": false; }; "ShowReportOptionsToggle": { "alias": "ShowReportOptionsToggle"; "required": false; }; "ShowCreateReportButton": { "alias": "ShowCreateReportButton"; "required": false; }; "matchingReportID": { "alias": "matchingReportID"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, { "DrillDownEvent": "DrillDownEvent"; "CreateReportRequested": "CreateReportRequested"; }, never, never, false, never>;
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-ui-component.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-ui-component.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamic-ui-component.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-ui-component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,YAAY,EAAS,SAAS,EAAwB,SAAS,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,EAAgB,MAAM,eAAe,CAAC;AAElL,OAAO,EAAE,+BAA+B,EAAC,MAAM,4BAA4B,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAsB,kBAAkB,EAAE,eAAe,EAA8B,MAAM,6CAA6C,CAAC;AACnK,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;;AAGnG,qBAqsBa,+BAAgC,YAAW,aAAa,EAAE,SAAS;IA0CxE,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,GAAG;IACX,OAAO,CAAC,MAAM;IA3CT,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAQ;IAC1C,eAAe,EAAE,OAAO,CAAQ;IAChC,uBAAuB,EAAE,OAAO,CAAQ;IACxC,sBAAsB,EAAE,OAAO,CAAS;IACxC,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAQ;IACtC,cAAc,8BAAqC;IACnD,qBAAqB,uBAA8B;IAE7B,eAAe,EAAG,SAAS,CAAC,gBAAgB,CAAC,CAAC;IAGvE,aAAa,EAAE,eAAe,EAAE,CAAM;IACtC,yBAAyB,EAAE,MAAM,CAAK;IACtC,YAAY,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAQ;IAGhG,OAAO,CAAC,wBAAwB,CAAuB;IAChD,gBAAgB,EAAE,OAAO,CAAS;IAGlC,0BAA0B,EAAE,OAAO,CAAS;IAC5C,oBAAoB,EAAE,OAAO,CAAS;IACtC,mBAAmB,EAAE,OAAO,CAAS;IACrC,QAAQ,EAAE,OAAO,CAAS;IAG1B,kBAAkB,EAAE,MAAM,CAAW;IAC5C,OAAO,CAAC,UAAU,CAAkB;IACpC,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,WAAW,CAAa;IAGzB,cAAc,mBAA0B;IACxC,UAAU,mBAA0B;IACpC,SAAS,EAAE,kBAAkB,GAAG,IAAI,CAAQ;IAC5C,eAAe,EAAE,eAAe,GAAG,IAAI,CAAQ;gBAK1C,SAAS,EAAE,YAAY,EACvB,GAAG,EAAE,iBAAiB,EACtB,MAAM,EAAE,MAAM;IAG1B;;OAEG;IACH,IAAW,oBAAoB,IAAI,eAAe,GAAG,IAAI,CAIxD;IAED;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;IASzC;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK1C;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,GAAG,GAAG,IAAI;IAKpC;;OAEG;IACI,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI;IAOxD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgCd,WAAW;IAUxB;;OAEG;IACI,oBAAoB,IAAI,IAAI;IAkBnC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAclC;;OAEG;IACI,kBAAkB,IAAI,IAAI;IAWjC;;OAEG;IACI,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAMvD;;OAEG;IACI,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAK5D;;OAEG;IACH,IAAW,4BAA4B,IAAI,MAAM,CAEhD;IAED;;OAEG;IACI,gCAAgC,IAAI,IAAI;IAKxC,0BAA0B,IAAI,IAAI;IAKlC,yBAAyB,IAAI,IAAI;IAKjC,cAAc,IAAI,IAAI;IAK7B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAWhC;;OAEG;IACI,kCAAkC,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG;IAMvE;;OAEG;IACI,4BAA4B,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG;IAwCjE;;OAEG;IACI,2BAA2B,CAAC,MAAM,EAAE,eAAe,GAAG,GAAG;IAMhE;;OAEG;IACI,gBAAgB,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM;IAQxD;;OAEG;IACI,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,UAAU,GAAG,IAAI;IAexD;;OAEG;IACH,OAAO,CAAC,QAAQ,CAYf;IAED;;OAEG;IACH,OAAO,CAAC,UAAU,CAMjB;IAGD,cAAc,IAAI,IAAI;IAStB,eAAe;IAsBf,WAAW,IAAI,IAAI;IAQnB,WAAW,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI;IASzC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,SAAS,CAA8C;IAC/D,IAAa,QAAQ,IAAI,+BAA+B,GAAG,SAAS,CAEnE;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,+BAA+B,GAAG,SAAS,EAoB1D;IAED;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAyB1B;;OAEG;IACH,OAAO,CAAC,4BAA4B;IAiCpC;;OAEG;IACI,aAAa,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,gBAAgB,GAAG,IAAI;IAWxE;;OAEG;IACI,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,IAAI;IAY9E;;OAEG;IACI,kBAAkB,CAAC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAMzE,uBAAuB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAc9C,iBAAiB,IAAI,IAAI;IAKhC,OAAO,CAAC,sBAAsB;IAoB9B,OAAO,CAAC,qBAAqB;IAK7B,OAAO,CAAC,iBAAiB;IAuBzB,OAAO,CAAC,cAAc;IAwCT,aAAa,CAAC,IAAI,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;yCAtpB5C,+BAA+B;2CAA/B,+BAA+B;CA4pB3C"}