@memberjunction/ng-skip-chat 2.95.0 → 2.97.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/dist/lib/dynamic-report/base-report.d.ts.map +1 -1
- package/dist/lib/dynamic-report/base-report.js +2 -1
- package/dist/lib/dynamic-report/base-report.js.map +1 -1
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts +4 -34
- package/dist/lib/dynamic-report/dynamic-ui-component.d.ts.map +1 -1
- package/dist/lib/dynamic-report/dynamic-ui-component.js +414 -563
- package/dist/lib/dynamic-report/dynamic-ui-component.js.map +1 -1
- package/dist/lib/dynamic-report/linear-report.d.ts +9 -1
- package/dist/lib/dynamic-report/linear-report.d.ts.map +1 -1
- package/dist/lib/dynamic-report/linear-report.js +90 -57
- package/dist/lib/dynamic-report/linear-report.js.map +1 -1
- package/dist/lib/module.d.ts +25 -28
- package/dist/lib/module.d.ts.map +1 -1
- package/dist/lib/module.js +0 -18
- package/dist/lib/module.js.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.d.ts +6 -0
- package/dist/lib/skip-chat/skip-chat.component.d.ts.map +1 -1
- package/dist/lib/skip-chat/skip-chat.component.js +29 -2
- package/dist/lib/skip-chat/skip-chat.component.js.map +1 -1
- package/dist/public-api.d.ts +0 -2
- package/dist/public-api.d.ts.map +1 -1
- package/dist/public-api.js +0 -2
- package/dist/public-api.js.map +1 -1
- package/package.json +15 -18
- package/dist/lib/dynamic-report/dynamic-chart.d.ts +0 -32
- package/dist/lib/dynamic-report/dynamic-chart.d.ts.map +0 -1
- package/dist/lib/dynamic-report/dynamic-chart.js +0 -195
- package/dist/lib/dynamic-report/dynamic-chart.js.map +0 -1
- package/dist/lib/dynamic-report/dynamic-grid.d.ts +0 -38
- package/dist/lib/dynamic-report/dynamic-grid.d.ts.map +0 -1
- package/dist/lib/dynamic-report/dynamic-grid.js +0 -388
- package/dist/lib/dynamic-report/dynamic-grid.js.map +0 -1
package/dist/public-api.js
CHANGED
|
@@ -6,8 +6,6 @@ export * from './lib/skip-chat/skip-chat.component';
|
|
|
6
6
|
export * from './lib/skip-single-message/skip-single-message.component';
|
|
7
7
|
export * from './lib/dynamic-report/skip-dynamic-report-wrapper';
|
|
8
8
|
export * from './lib/dynamic-report/linear-report';
|
|
9
|
-
export * from './lib/dynamic-report/dynamic-chart';
|
|
10
|
-
export * from './lib/dynamic-report/dynamic-grid';
|
|
11
9
|
export * from './lib/dynamic-report/dynamic-ui-component';
|
|
12
10
|
export * from './lib/report-cache';
|
|
13
11
|
export * from './lib/drill-down-info';
|
package/dist/public-api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,cAAc,CAAC;AAC7B,cAAc,qCAAqC,CAAC;AACpD,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,
|
|
1
|
+
{"version":3,"file":"public-api.js","sourceRoot":"","sources":["../src/public-api.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,cAAc,cAAc,CAAC;AAC7B,cAAc,qCAAqC,CAAC;AACpD,cAAc,yDAAyD,CAAC;AACxE,cAAc,kDAAkD,CAAC;AACjE,cAAc,oCAAoC,CAAC;AACnD,cAAc,2CAA2C,CAAC;AAC1D,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,8CAA8C,CAAC;AAC7D,cAAc,gDAAgD,CAAC;AAC/D,cAAc,kDAAkD,CAAC;AACjE,cAAc,gCAAgC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@memberjunction/ng-skip-chat",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.97.0",
|
|
4
4
|
"description": "MemberJunction: Simple Skip Chat components usable in any Angular project",
|
|
5
5
|
"main": "./dist/public-api.js",
|
|
6
6
|
"typings": "./dist/public-api.d.ts",
|
|
@@ -25,19 +25,19 @@
|
|
|
25
25
|
"@angular/platform-browser": "18.0.2"
|
|
26
26
|
},
|
|
27
27
|
"dependencies": {
|
|
28
|
-
"@memberjunction/core-entities": "2.
|
|
29
|
-
"@memberjunction/core": "2.
|
|
30
|
-
"@memberjunction/global": "2.
|
|
31
|
-
"@memberjunction/graphql-dataprovider": "2.
|
|
32
|
-
"@memberjunction/interactive-component-types": "2.
|
|
33
|
-
"@memberjunction/skip-types": "2.
|
|
34
|
-
"@memberjunction/data-context": "2.
|
|
35
|
-
"@memberjunction/ng-container-directives": "2.
|
|
36
|
-
"@memberjunction/ng-data-context": "2.
|
|
37
|
-
"@memberjunction/ng-base-types": "2.
|
|
38
|
-
"@memberjunction/ng-notifications": "2.
|
|
39
|
-
"@memberjunction/ng-resource-permissions": "2.
|
|
40
|
-
"@memberjunction/ng-code-editor": "2.
|
|
28
|
+
"@memberjunction/core-entities": "2.97.0",
|
|
29
|
+
"@memberjunction/core": "2.97.0",
|
|
30
|
+
"@memberjunction/global": "2.97.0",
|
|
31
|
+
"@memberjunction/graphql-dataprovider": "2.97.0",
|
|
32
|
+
"@memberjunction/interactive-component-types": "2.97.0",
|
|
33
|
+
"@memberjunction/skip-types": "2.97.0",
|
|
34
|
+
"@memberjunction/data-context": "2.97.0",
|
|
35
|
+
"@memberjunction/ng-container-directives": "2.97.0",
|
|
36
|
+
"@memberjunction/ng-data-context": "2.97.0",
|
|
37
|
+
"@memberjunction/ng-base-types": "2.97.0",
|
|
38
|
+
"@memberjunction/ng-notifications": "2.97.0",
|
|
39
|
+
"@memberjunction/ng-resource-permissions": "2.97.0",
|
|
40
|
+
"@memberjunction/ng-code-editor": "2.97.0",
|
|
41
41
|
"@progress/kendo-angular-grid": "16.2.0",
|
|
42
42
|
"@progress/kendo-angular-listview": "16.2.0",
|
|
43
43
|
"@progress/kendo-angular-notification": "16.2.0",
|
|
@@ -47,13 +47,10 @@
|
|
|
47
47
|
"@progress/kendo-angular-indicators": "16.2.0",
|
|
48
48
|
"tslib": "^2.3.0",
|
|
49
49
|
"rxjs": "^7.8.1",
|
|
50
|
-
"angular-plotly.js": "^6.0.0",
|
|
51
|
-
"plotly.js-dist-min": "^3.0.1",
|
|
52
|
-
"@types/plotly.js-dist-min": "^2.3.4",
|
|
53
50
|
"@angular/cdk": "18.0.2",
|
|
54
51
|
"ngx-markdown": "18.0.0",
|
|
55
52
|
"marked": "^9.1.6",
|
|
56
|
-
"@memberjunction/ng-react": "^2.
|
|
53
|
+
"@memberjunction/ng-react": "^2.97.0"
|
|
57
54
|
},
|
|
58
55
|
"sideEffects": false
|
|
59
56
|
}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { ElementRef, EventEmitter, OnDestroy, OnInit } from '@angular/core';
|
|
2
|
-
import { SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';
|
|
3
|
-
import { PlotlyComponent } from 'angular-plotly.js';
|
|
4
|
-
import { DrillDownInfo } from '../drill-down-info';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export declare class SkipDynamicChartComponent implements OnInit, OnDestroy {
|
|
7
|
-
private el;
|
|
8
|
-
plotData: any;
|
|
9
|
-
plotLayout: any;
|
|
10
|
-
defaultPlotHeight: number;
|
|
11
|
-
ShowSaveAsImage: boolean;
|
|
12
|
-
AllowDrillDown: boolean;
|
|
13
|
-
AutoResizeChart: boolean;
|
|
14
|
-
DrillDownEvent: EventEmitter<DrillDownInfo>;
|
|
15
|
-
plotlyPlot: PlotlyComponent;
|
|
16
|
-
plotContainer: ElementRef;
|
|
17
|
-
private resizeObserver;
|
|
18
|
-
constructor(el: ElementRef);
|
|
19
|
-
ngOnInit(): void;
|
|
20
|
-
ngOnDestroy(): void;
|
|
21
|
-
SaveChartAsImage(): Promise<void>;
|
|
22
|
-
handleChartClick(chartClickEvent: any): Promise<void>;
|
|
23
|
-
setupResizeObserver(): void;
|
|
24
|
-
updateChartHeight(newHeight: number): void;
|
|
25
|
-
updateChartSize(newHeight: number, newWidth: number): void;
|
|
26
|
-
private _skipData;
|
|
27
|
-
get SkipData(): SkipAPIAnalysisCompleteResponse | undefined;
|
|
28
|
-
set SkipData(d: SkipAPIAnalysisCompleteResponse | undefined);
|
|
29
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicChartComponent, never>;
|
|
30
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicChartComponent, "skip-dynamic-chart", never, { "plotData": { "alias": "plotData"; "required": false; }; "plotLayout": { "alias": "plotLayout"; "required": false; }; "defaultPlotHeight": { "alias": "defaultPlotHeight"; "required": false; }; "ShowSaveAsImage": { "alias": "ShowSaveAsImage"; "required": false; }; "AllowDrillDown": { "alias": "AllowDrillDown"; "required": false; }; "AutoResizeChart": { "alias": "AutoResizeChart"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, { "DrillDownEvent": "DrillDownEvent"; }, never, never, false, never>;
|
|
31
|
-
}
|
|
32
|
-
//# sourceMappingURL=dynamic-chart.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-chart.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,UAAU,EAAE,YAAY,EAAS,SAAS,EAAE,MAAM,EAAqB,MAAM,eAAe,CAAC;AAEjH,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;;AAGnD,qBAmBa,yBAA0B,YAAW,MAAM,EAAE,SAAS;IAcnD,OAAO,CAAC,EAAE;IAbb,QAAQ,EAAE,GAAG,CAAC;IACd,UAAU,EAAE,GAAG,CAAC;IAChB,iBAAiB,EAAE,MAAM,CAAO;IAChC,eAAe,EAAE,OAAO,CAAQ;IAChC,cAAc,EAAE,OAAO,CAAO;IAC9B,eAAe,EAAE,OAAO,CAAQ;IAC/B,cAAc,8BAAqC;IAEpC,UAAU,EAAG,eAAe,CAAC;IAC1B,aAAa,EAAG,UAAU,CAAC;IAEvD,OAAO,CAAC,cAAc,CAA6B;gBAE/B,EAAE,EAAE,UAAU;IAElC,QAAQ;IAKR,WAAW;IAME,gBAAgB;IAwBhB,gBAAgB,CAAC,eAAe,EAAE,GAAG;IA6BlD,mBAAmB;IAenB,iBAAiB,CAAC,SAAS,EAAE,MAAM;IAInC,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAUnD,OAAO,CAAC,SAAS,CAA8C;IAC/D,IAAa,QAAQ,IAAI,+BAA+B,GAAG,SAAS,CAEnE;IACD,IAAI,QAAQ,CAAC,CAAC,EAAE,+BAA+B,GAAG,SAAS,EAU1D;yCA3HQ,yBAAyB;2CAAzB,yBAAyB;CA4HrC"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
-
import { GetEntityNameFromSchemaAndViewString } from '@memberjunction/core';
|
|
3
|
-
import * as Plotly from 'plotly.js-dist-min';
|
|
4
|
-
import { DrillDownInfo } from '../drill-down-info';
|
|
5
|
-
import { InvokeManualResize } from '@memberjunction/global';
|
|
6
|
-
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@angular/common";
|
|
8
|
-
import * as i2 from "@progress/kendo-angular-buttons";
|
|
9
|
-
import * as i3 from "angular-plotly.js";
|
|
10
|
-
const _c0 = ["plotlyPlot"];
|
|
11
|
-
const _c1 = ["plotContainer"];
|
|
12
|
-
function SkipDynamicChartComponent_button_0_Template(rf, ctx) { if (rf & 1) {
|
|
13
|
-
const _r2 = i0.ɵɵgetCurrentView();
|
|
14
|
-
i0.ɵɵelementStart(0, "button", 4);
|
|
15
|
-
i0.ɵɵlistener("click", function SkipDynamicChartComponent_button_0_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r2); const ctx_r2 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r2.SaveChartAsImage()); });
|
|
16
|
-
i0.ɵɵelement(1, "span", 5);
|
|
17
|
-
i0.ɵɵtext(2, " Save ");
|
|
18
|
-
i0.ɵɵelementEnd();
|
|
19
|
-
} }
|
|
20
|
-
export class SkipDynamicChartComponent {
|
|
21
|
-
el;
|
|
22
|
-
plotData;
|
|
23
|
-
plotLayout;
|
|
24
|
-
defaultPlotHeight = 550;
|
|
25
|
-
ShowSaveAsImage = true;
|
|
26
|
-
AllowDrillDown = true;
|
|
27
|
-
AutoResizeChart = false;
|
|
28
|
-
DrillDownEvent = new EventEmitter();
|
|
29
|
-
plotlyPlot;
|
|
30
|
-
plotContainer;
|
|
31
|
-
resizeObserver;
|
|
32
|
-
constructor(el) {
|
|
33
|
-
this.el = el;
|
|
34
|
-
}
|
|
35
|
-
ngOnInit() {
|
|
36
|
-
if (this.AutoResizeChart)
|
|
37
|
-
this.setupResizeObserver();
|
|
38
|
-
}
|
|
39
|
-
ngOnDestroy() {
|
|
40
|
-
if (this.resizeObserver) {
|
|
41
|
-
this.resizeObserver.disconnect();
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
async SaveChartAsImage() {
|
|
45
|
-
if (this.plotlyPlot) {
|
|
46
|
-
const el = this.plotContainer.nativeElement.querySelector('.js-plotly-plot');
|
|
47
|
-
const image = await Plotly.toImage(el, { format: 'png' });
|
|
48
|
-
if (image) {
|
|
49
|
-
// Create an <a> element
|
|
50
|
-
const downloadLink = document.createElement('a');
|
|
51
|
-
// Set the download attribute with a default file name
|
|
52
|
-
// reportTitle is the legacy name, title is the new name, so favor title if available
|
|
53
|
-
// otherwise use the plotLayout title, and finally default to 'chart'
|
|
54
|
-
const title = this.SkipData?.title || this.SkipData?.reportTitle || this.plotLayout?.title || 'chart';
|
|
55
|
-
downloadLink.download = `${title}.png`;
|
|
56
|
-
// Set the href to the data URL
|
|
57
|
-
downloadLink.href = image;
|
|
58
|
-
// Append the <a> element to the body (required for Firefox)
|
|
59
|
-
document.body.appendChild(downloadLink);
|
|
60
|
-
// Programmatically trigger a click on the <a> element
|
|
61
|
-
downloadLink.click();
|
|
62
|
-
// Remove the <a> element after download
|
|
63
|
-
document.body.removeChild(downloadLink);
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
async handleChartClick(chartClickEvent) {
|
|
68
|
-
try {
|
|
69
|
-
if (!this.AllowDrillDown)
|
|
70
|
-
return;
|
|
71
|
-
const drillDownValue = chartClickEvent.points[0].label;
|
|
72
|
-
const drillDown = this.SkipData?.drillDown;
|
|
73
|
-
if (drillDown && drillDownValue && drillDownValue.length > 0) {
|
|
74
|
-
// we have a valid situation to drill down where we have the configuration and we have a drill down value.
|
|
75
|
-
// we can navigate to the drill down view
|
|
76
|
-
const entityName = GetEntityNameFromSchemaAndViewString(drillDown.viewName);
|
|
77
|
-
if (entityName) {
|
|
78
|
-
const filterSQL = drillDown.filters.map(f => {
|
|
79
|
-
const isDateValue = drillDownValue instanceof Date;
|
|
80
|
-
const isNumberValue = !isNaN(parseFloat(drillDownValue));
|
|
81
|
-
const needsQuotes = isDateValue ? true : (isNumberValue ? false : true);
|
|
82
|
-
const quotes = needsQuotes ? "'" : '';
|
|
83
|
-
return `${f.viewFieldName} = ${quotes}${drillDownValue}${quotes}`;
|
|
84
|
-
}).join(' AND ');
|
|
85
|
-
this.DrillDownEvent.emit(new DrillDownInfo(entityName, filterSQL));
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
catch (e) {
|
|
90
|
-
console.warn('Error handling chart click', e);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
setupResizeObserver() {
|
|
94
|
-
// Invoke manual resize to ensure the chart is sized correctly
|
|
95
|
-
InvokeManualResize();
|
|
96
|
-
// now wait 1ms - which really just results in the event loop being processed and the manual resize being invoked
|
|
97
|
-
setTimeout(() => {
|
|
98
|
-
this.resizeObserver = new ResizeObserver(entries => {
|
|
99
|
-
for (let entry of entries) {
|
|
100
|
-
const { height, width } = entry.contentRect;
|
|
101
|
-
this.updateChartSize(height - 15, width); // some pixels of margin to make sure it all fits
|
|
102
|
-
}
|
|
103
|
-
});
|
|
104
|
-
this.resizeObserver.observe(this.el.nativeElement);
|
|
105
|
-
}, 1);
|
|
106
|
-
}
|
|
107
|
-
updateChartHeight(newHeight) {
|
|
108
|
-
if (this.plotLayout && newHeight > 0)
|
|
109
|
-
this.plotLayout.height = newHeight;
|
|
110
|
-
}
|
|
111
|
-
updateChartSize(newHeight, newWidth) {
|
|
112
|
-
if (this.plotLayout) {
|
|
113
|
-
if (newHeight > 0)
|
|
114
|
-
this.plotLayout.height = newHeight;
|
|
115
|
-
if (newWidth > 0)
|
|
116
|
-
this.plotLayout.width = newWidth;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
_skipData;
|
|
120
|
-
get SkipData() {
|
|
121
|
-
return this._skipData ? this._skipData : undefined;
|
|
122
|
-
}
|
|
123
|
-
set SkipData(d) {
|
|
124
|
-
this._skipData = d;
|
|
125
|
-
if (d) {
|
|
126
|
-
this.plotData = d.executionResults?.plotData?.data;
|
|
127
|
-
this.plotLayout = d.executionResults?.plotData?.layout;
|
|
128
|
-
if (this.plotLayout) {
|
|
129
|
-
if (this.plotLayout.height === undefined || this.plotLayout.height === null || this.plotLayout.height === 0)
|
|
130
|
-
this.plotLayout.height = this.defaultPlotHeight;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
static ɵfac = function SkipDynamicChartComponent_Factory(t) { return new (t || SkipDynamicChartComponent)(i0.ɵɵdirectiveInject(i0.ElementRef)); };
|
|
135
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SkipDynamicChartComponent, selectors: [["skip-dynamic-chart"]], viewQuery: function SkipDynamicChartComponent_Query(rf, ctx) { if (rf & 1) {
|
|
136
|
-
i0.ɵɵviewQuery(_c0, 5);
|
|
137
|
-
i0.ɵɵviewQuery(_c1, 5);
|
|
138
|
-
} if (rf & 2) {
|
|
139
|
-
let _t;
|
|
140
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.plotlyPlot = _t.first);
|
|
141
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.plotContainer = _t.first);
|
|
142
|
-
} }, inputs: { plotData: "plotData", plotLayout: "plotLayout", defaultPlotHeight: "defaultPlotHeight", ShowSaveAsImage: "ShowSaveAsImage", AllowDrillDown: "AllowDrillDown", AutoResizeChart: "AutoResizeChart", SkipData: "SkipData" }, outputs: { DrillDownEvent: "DrillDownEvent" }, decls: 5, vars: 4, consts: [["plotContainer", ""], ["plotlyPlot", ""], ["kendoButton", "", 3, "click", 4, "ngIf"], [3, "plotlyClick", "data", "layout", "useResizeHandler"], ["kendoButton", "", 3, "click"], [1, "fa-regular", "fa-image"]], template: function SkipDynamicChartComponent_Template(rf, ctx) { if (rf & 1) {
|
|
143
|
-
const _r1 = i0.ɵɵgetCurrentView();
|
|
144
|
-
i0.ɵɵtemplate(0, SkipDynamicChartComponent_button_0_Template, 3, 0, "button", 2);
|
|
145
|
-
i0.ɵɵelementStart(1, "div", null, 0)(3, "plotly-plot", 3, 1);
|
|
146
|
-
i0.ɵɵlistener("plotlyClick", function SkipDynamicChartComponent_Template_plotly_plot_plotlyClick_3_listener($event) { i0.ɵɵrestoreView(_r1); return i0.ɵɵresetView(ctx.handleChartClick($event)); });
|
|
147
|
-
i0.ɵɵelementEnd()();
|
|
148
|
-
} if (rf & 2) {
|
|
149
|
-
i0.ɵɵproperty("ngIf", ctx.ShowSaveAsImage);
|
|
150
|
-
i0.ɵɵadvance(3);
|
|
151
|
-
i0.ɵɵproperty("data", ctx.plotData)("layout", ctx.plotLayout)("useResizeHandler", true);
|
|
152
|
-
} }, dependencies: [i1.NgIf, i2.ButtonComponent, i3.PlotlyComponent], styles: ["button[_ngcontent-%COMP%] { margin-top: 5px; margin-bottom: 5px;}"] });
|
|
153
|
-
}
|
|
154
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(SkipDynamicChartComponent, [{
|
|
155
|
-
type: Component,
|
|
156
|
-
args: [{ selector: 'skip-dynamic-chart', template: `
|
|
157
|
-
<button kendoButton *ngIf="ShowSaveAsImage" (click)="SaveChartAsImage()">
|
|
158
|
-
<span class="fa-regular fa-image"></span>
|
|
159
|
-
Save
|
|
160
|
-
</button>
|
|
161
|
-
<div #plotContainer >
|
|
162
|
-
<plotly-plot #plotlyPlot
|
|
163
|
-
[data]="plotData"
|
|
164
|
-
[layout]="plotLayout"
|
|
165
|
-
|
|
166
|
-
[useResizeHandler]="true"
|
|
167
|
-
(plotlyClick)="handleChartClick($event)">
|
|
168
|
-
</plotly-plot>
|
|
169
|
-
</div>
|
|
170
|
-
`, styles: ["button { margin-top: 5px; margin-bottom: 5px;}"] }]
|
|
171
|
-
}], () => [{ type: i0.ElementRef }], { plotData: [{
|
|
172
|
-
type: Input
|
|
173
|
-
}], plotLayout: [{
|
|
174
|
-
type: Input
|
|
175
|
-
}], defaultPlotHeight: [{
|
|
176
|
-
type: Input
|
|
177
|
-
}], ShowSaveAsImage: [{
|
|
178
|
-
type: Input
|
|
179
|
-
}], AllowDrillDown: [{
|
|
180
|
-
type: Input
|
|
181
|
-
}], AutoResizeChart: [{
|
|
182
|
-
type: Input
|
|
183
|
-
}], DrillDownEvent: [{
|
|
184
|
-
type: Output
|
|
185
|
-
}], plotlyPlot: [{
|
|
186
|
-
type: ViewChild,
|
|
187
|
-
args: ['plotlyPlot']
|
|
188
|
-
}], plotContainer: [{
|
|
189
|
-
type: ViewChild,
|
|
190
|
-
args: ['plotContainer']
|
|
191
|
-
}], SkipData: [{
|
|
192
|
-
type: Input
|
|
193
|
-
}] }); })();
|
|
194
|
-
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SkipDynamicChartComponent, { className: "SkipDynamicChartComponent", filePath: "src/lib/dynamic-report/dynamic-chart.ts", lineNumber: 28 }); })();
|
|
195
|
-
//# sourceMappingURL=dynamic-chart.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-chart.js","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-chart.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAc,YAAY,EAAE,KAAK,EAAqB,MAAM,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AACjH,OAAO,EAAE,oCAAoC,EAAqB,MAAM,sBAAsB,CAAC;AAG/F,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;;;;;;;;;IAKxD,iCAAyE;IAA7B,wLAAS,yBAAkB,KAAC;IACtE,0BAAyC;IACzC,sBACF;IAAA,iBAAS;;AAab,MAAM,OAAO,yBAAyB;IAcd;IAbX,QAAQ,CAAM;IACd,UAAU,CAAM;IAChB,iBAAiB,GAAW,GAAG,CAAC;IAChC,eAAe,GAAY,IAAI,CAAC;IAChC,cAAc,GAAY,IAAI,CAAA;IAC9B,eAAe,GAAY,KAAK,CAAA;IAC/B,cAAc,GAAG,IAAI,YAAY,EAAiB,CAAC;IAEpC,UAAU,CAAmB;IAC1B,aAAa,CAAc;IAE/C,cAAc,CAA6B;IAEnD,YAAoB,EAAc;QAAd,OAAE,GAAF,EAAE,CAAY;IAAI,CAAC;IAEvC,QAAQ;QACN,IAAI,IAAI,CAAC,eAAe;YACtB,IAAI,CAAC,mBAAmB,EAAE,CAAC;IAC/B,CAAC;IAED,WAAW;QACT,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,CAAC;QACnC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB;QAC3B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,EAAE,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,aAAa,CAAC,iBAAiB,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,EAAE,EAAC,MAAM,EAAE,KAAK,EAAqB,CAAC,CAAA;YAC3E,IAAI,KAAK,EAAE,CAAC;gBACV,wBAAwB;gBACxB,MAAM,YAAY,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;gBACjD,sDAAsD;gBACtD,qFAAqF;gBACrF,qEAAqE;gBACrE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,KAAK,IAAI,OAAO,CAAC;gBACtG,YAAY,CAAC,QAAQ,GAAG,GAAG,KAAK,MAAM,CAAC;gBACvC,+BAA+B;gBAC/B,YAAY,CAAC,IAAI,GAAG,KAAK,CAAC;gBAC1B,4DAA4D;gBAC5D,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;gBACxC,sDAAsD;gBACtD,YAAY,CAAC,KAAK,EAAE,CAAC;gBACrB,wCAAwC;gBACxC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,gBAAgB,CAAC,eAAoB;QAChD,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,cAAc;gBACtB,OAAO;YAET,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YACvD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC;YAC3C,IAAI,SAAS,IAAI,cAAc,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAG,CAAC;gBAC9D,2GAA2G;gBAC3G,yCAAyC;gBACzC,MAAM,UAAU,GAAG,oCAAoC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;gBAE5E,IAAI,UAAU,EAAE,CAAC;oBACf,MAAM,SAAS,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;wBAC1C,MAAM,WAAW,GAAG,cAAc,YAAY,IAAI,CAAC;wBACnD,MAAM,aAAa,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC;wBACzD,MAAM,WAAW,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;wBACxE,MAAM,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;wBACtC,OAAO,GAAG,CAAC,CAAC,aAAa,MAAM,MAAM,GAAG,cAAc,GAAG,MAAM,EAAE,CAAA;oBACnE,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBACjB,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;gBACrE,CAAC;YACH,CAAC;QACH,CAAC;QACD,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,IAAI,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAED,mBAAmB;QACf,8DAA8D;QAC9D,kBAAkB,EAAE,CAAC;QACrB,iHAAiH;QACjH,UAAU,CAAC,GAAG,EAAE;YACZ,IAAI,CAAC,cAAc,GAAG,IAAI,cAAc,CAAC,OAAO,CAAC,EAAE;gBAC/C,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;oBACxB,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;oBAC5C,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,iDAAiD;gBAC/F,CAAC;YACL,CAAC,CAAC,CAAC;YACH,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;QACvD,CAAC,EAAE,CAAC,CAAC,CAAC;IACV,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,IAAI,IAAI,CAAC,UAAU,IAAI,SAAS,GAAG,CAAC;YAClC,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;IACvC,CAAC;IACD,eAAe,CAAC,SAAiB,EAAE,QAAgB;QACjD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,IAAI,SAAS,GAAG,CAAC;gBACf,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,SAAS,CAAC;YAErC,IAAI,QAAQ,GAAG,CAAC;gBACd,IAAI,CAAC,UAAU,CAAC,KAAK,GAAG,QAAQ,CAAC;QACrC,CAAC;IACH,CAAC;IAEO,SAAS,CAA8C;IAC/D,IAAa,QAAQ;QACjB,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,CAA8C;QACvD,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC;YACJ,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,IAAI,CAAC;YACnD,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,gBAAgB,EAAE,QAAQ,EAAE,MAAM,CAAC;YACvD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC;oBACzG,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;YACpD,CAAC;QACL,CAAC;IACL,CAAC;mFA3HQ,yBAAyB;6DAAzB,yBAAyB;;;;;;;;;YAhBlC,gFAAyE;YAKvE,AADF,oCAAqB,wBAMmC;YAAzC,mKAAe,4BAAwB,KAAC;YAEvD,AADE,iBAAc,EACV;;YAZe,0CAAqB;YAM3B,eAAiB;YAGjB,AAFA,AADA,mCAAiB,0BACI,0BAEI;;;iFAO/B,yBAAyB;cAnBrC,SAAS;2BACE,oBAAoB,YACpB;;;;;;;;;;;;;;GAcT;2CAIU,QAAQ;kBAAhB,KAAK;YACG,UAAU;kBAAlB,KAAK;YACG,iBAAiB;kBAAzB,KAAK;YACG,eAAe;kBAAvB,KAAK;YACG,cAAc;kBAAtB,KAAK;YACG,eAAe;kBAAvB,KAAK;YACI,cAAc;kBAAvB,MAAM;YAEkB,UAAU;kBAAlC,SAAS;mBAAC,YAAY;YACK,aAAa;kBAAxC,SAAS;mBAAC,eAAe;YAoGb,QAAQ;kBAApB,KAAK;;kFA9GG,yBAAyB"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { AfterViewInit, EventEmitter } from '@angular/core';
|
|
2
|
-
import { SkipColumnInfo, SkipAPIAnalysisCompleteResponse } from '@memberjunction/skip-types';
|
|
3
|
-
import { DecimalPipe, DatePipe } from '@angular/common';
|
|
4
|
-
import { GridDataResult, PageChangeEvent } from '@progress/kendo-angular-grid';
|
|
5
|
-
import { ExcelExportComponent } from '@progress/kendo-angular-excel-export';
|
|
6
|
-
import { DrillDownInfo } from '../drill-down-info';
|
|
7
|
-
import { MJNotificationService } from '@memberjunction/ng-notifications';
|
|
8
|
-
import * as i0 from "@angular/core";
|
|
9
|
-
export declare class SkipDynamicGridComponent implements AfterViewInit {
|
|
10
|
-
private decimalPipe;
|
|
11
|
-
private datePipe;
|
|
12
|
-
private notificationService;
|
|
13
|
-
data: any[];
|
|
14
|
-
columns: SkipColumnInfo[];
|
|
15
|
-
pageSize: number;
|
|
16
|
-
startingRow: number;
|
|
17
|
-
GridHeight: number | null;
|
|
18
|
-
ShowRefreshButton: boolean;
|
|
19
|
-
AllowDrillDown: boolean;
|
|
20
|
-
DrillDownEvent: EventEmitter<DrillDownInfo>;
|
|
21
|
-
private _skipData;
|
|
22
|
-
get SkipData(): SkipAPIAnalysisCompleteResponse | undefined;
|
|
23
|
-
set SkipData(d: SkipAPIAnalysisCompleteResponse | undefined);
|
|
24
|
-
gridView: GridDataResult;
|
|
25
|
-
constructor(decimalPipe: DecimalPipe, datePipe: DatePipe, notificationService: MJNotificationService);
|
|
26
|
-
kendoExcelExport: ExcelExportComponent | null;
|
|
27
|
-
formatData(dataType: string, data: any): any;
|
|
28
|
-
ngAfterViewInit(): void;
|
|
29
|
-
pageChange(event: PageChangeEvent): void;
|
|
30
|
-
private loadGridView;
|
|
31
|
-
cellClick(event: any): Promise<void>;
|
|
32
|
-
exportData: any[];
|
|
33
|
-
doExcelExport(): Promise<void>;
|
|
34
|
-
protected getExportData(): Promise<any[]>;
|
|
35
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<SkipDynamicGridComponent, never>;
|
|
36
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SkipDynamicGridComponent, "skip-dynamic-grid", never, { "data": { "alias": "data"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "pageSize": { "alias": "pageSize"; "required": false; }; "startingRow": { "alias": "startingRow"; "required": false; }; "GridHeight": { "alias": "GridHeight"; "required": false; }; "ShowRefreshButton": { "alias": "ShowRefreshButton"; "required": false; }; "AllowDrillDown": { "alias": "AllowDrillDown"; "required": false; }; "SkipData": { "alias": "SkipData"; "required": false; }; }, { "DrillDownEvent": "DrillDownEvent"; }, never, never, false, never>;
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=dynamic-grid.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-grid.d.ts","sourceRoot":"","sources":["../../../src/lib/dynamic-report/dynamic-grid.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAa,YAAY,EAA4B,MAAM,eAAe,CAAC;AACjG,OAAO,EAAE,cAAc,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAE/E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,MAAM,kCAAkC,CAAC;;AAEzE,qBAuEa,wBAAyB,YAAW,aAAa;IA0DhD,OAAO,CAAC,WAAW;IAAe,OAAO,CAAC,QAAQ;IAAY,OAAO,CAAC,mBAAmB;IAzD5F,IAAI,EAAE,GAAG,EAAE,CAAM;IACjB,OAAO,EAAE,cAAc,EAAE,CAAM;IACxB,QAAQ,SAAM;IACd,WAAW,SAAK;IAChB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAQ;IACjC,iBAAiB,EAAE,OAAO,CAAS;IAC1C,cAAc,EAAE,OAAO,CAAO;IAC7B,cAAc,8BAAqC;IAE7D,OAAO,CAAC,SAAS,CAA8C;IAC/D,IAAa,QAAQ,IAAI,+BAA+B,GAAG,SAAS,CAEnE;IAED,IAAI,QAAQ,CAAC,CAAC,EAAE,+BAA+B,GAAG,SAAS,EAuC1D;IAEM,QAAQ,EAAG,cAAc,CAAC;gBAEb,WAAW,EAAE,WAAW,EAAU,QAAQ,EAAE,QAAQ,EAAU,mBAAmB,EAAE,qBAAqB;IAElE,gBAAgB,EAAE,oBAAoB,GAAG,IAAI,CAAQ;IAG/G,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,GAAG;IAuB5C,eAAe;IAMR,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,IAAI;IAK/C,OAAO,CAAC,YAAY;IASP,SAAS,CAAC,KAAK,EAAE,GAAG;IA+B1B,UAAU,EAAE,GAAG,EAAE,CAAM;IACjB,aAAa;cA4BV,aAAa,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;yCAtKpC,wBAAwB;2CAAxB,wBAAwB;CA0KpC"}
|