@ic3/reporting-api 8.2.1 → 8.3.0-alpha.1
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/ApiUtils.js +1 -1
- package/dist/ApiUtils.js.map +1 -1
- package/dist/INotification.d.ts +1 -1
- package/dist/IPluginDefinition.d.ts +7 -6
- package/dist/IReporting.d.ts +7 -1
- package/dist/ITidyTableTransformation.d.ts +5 -0
- package/dist/LazyTreeView.d.ts +38 -9
- package/dist/Loader.d.ts +31 -2
- package/dist/Loader.js +39 -21
- package/dist/Loader.js.map +1 -1
- package/dist/Logger.d.ts +13 -0
- package/dist/{theme/ThemeDrilldownUserSelectMenu.js → Logger.js} +1 -1
- package/dist/Logger.js.map +1 -0
- package/dist/PublicAmchartsData.d.ts +9 -3
- package/dist/PublicAmchartsData.js +28 -6
- package/dist/PublicAmchartsData.js.map +1 -1
- package/dist/PublicContext.d.ts +18 -10
- package/dist/PublicContext.js.map +1 -1
- package/dist/PublicTemplate.d.ts +4 -1
- package/dist/PublicTemplate.js.map +1 -1
- package/dist/PublicTemplateForm.d.ts +178 -17
- package/dist/PublicTemplateForm.js +2 -16
- package/dist/PublicTemplateForm.js.map +1 -1
- package/dist/PublicTheme.d.ts +16 -12
- package/dist/PublicTheme.js +1 -0
- package/dist/PublicTheme.js.map +1 -1
- package/dist/PublicTidyColumn.d.ts +25 -3
- package/dist/PublicTidyColumn.js +4 -0
- package/dist/PublicTidyColumn.js.map +1 -1
- package/dist/PublicTidyTable.d.ts +26 -1
- package/dist/PublicTidyTableTypeGuards.d.ts +3 -1
- package/dist/PublicTidyTableTypeGuards.js +22 -1
- package/dist/PublicTidyTableTypeGuards.js.map +1 -1
- package/dist/PublicTidyTableTypes.d.ts +25 -3
- package/dist/PublicTidyTableTypes.js +7 -1
- package/dist/PublicTidyTableTypes.js.map +1 -1
- package/dist/PublicTidyTree.d.ts +2 -4
- package/dist/PublicTidyTree.js +3 -4
- package/dist/PublicTidyTree.js.map +1 -1
- package/dist/RemoteContainerUtils.js +1 -1
- package/dist/RemoteContainerUtils.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/theme/ThemeAlertDialog.d.ts +5 -3
- package/dist/theme/ThemeAlertDialog.js +14 -0
- package/dist/theme/ThemeAlertDialog.js.map +1 -1
- package/dist/theme/ThemeAmCharts4.d.ts +82 -5
- package/dist/theme/ThemeAmCharts4.js +8 -1
- package/dist/theme/ThemeAmCharts4.js.map +1 -1
- package/dist/theme/ThemeApp.d.ts +2 -1
- package/dist/theme/ThemeApp.js +1 -1
- package/dist/theme/ThemeApp.js.map +1 -1
- package/dist/theme/ThemeAppMenuIcon.d.ts +3 -3
- package/dist/theme/ThemeAppMenuIcon.js +4 -4
- package/dist/theme/ThemeAppMenuIcon.js.map +1 -1
- package/dist/theme/ThemeBaseTable.d.ts +4 -0
- package/dist/theme/ThemeDatePicker.d.ts +1 -1
- package/dist/theme/ThemeDatePicker.js +2 -1
- package/dist/theme/ThemeDatePicker.js.map +1 -1
- package/dist/theme/ThemeEditorTopBar.d.ts +5 -1
- package/dist/theme/ThemeEditorTopBar.js +11 -7
- package/dist/theme/ThemeEditorTopBar.js.map +1 -1
- package/dist/theme/ThemeErrorRenderer.d.ts +13 -13
- package/dist/theme/ThemeErrorRenderer.js +52 -0
- package/dist/theme/ThemeErrorRenderer.js.map +1 -1
- package/dist/theme/ThemeFilterAutocomplete.d.ts +2 -14
- package/dist/theme/ThemeFilterAutocomplete.js +3 -12
- package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
- package/dist/theme/ThemeFilterButtons.d.ts +3 -3
- package/dist/theme/ThemeFilterButtons.js +3 -3
- package/dist/theme/ThemeFilterButtons.js.map +1 -1
- package/dist/theme/ThemeFilterCheckboxRadio.d.ts +4 -4
- package/dist/theme/ThemeFilterCheckboxRadio.js +4 -4
- package/dist/theme/ThemeFilterCheckboxRadio.js.map +1 -1
- package/dist/theme/ThemeFilterPanel.d.ts +19 -19
- package/dist/theme/ThemeFilterPanel.js +19 -19
- package/dist/theme/ThemeFilterPanel.js.map +1 -1
- package/dist/theme/ThemeFilterSlider.d.ts +26 -4
- package/dist/theme/ThemeFilterSlider.js +14 -3
- package/dist/theme/ThemeFilterSlider.js.map +1 -1
- package/dist/theme/ThemeFilterTree.d.ts +6 -6
- package/dist/theme/ThemeFilterTree.js +1 -1
- package/dist/theme/ThemeFilterTree.js.map +1 -1
- package/dist/theme/ThemeGlobal.d.ts +2 -2
- package/dist/theme/ThemeGlobal.js +2 -2
- package/dist/theme/ThemeHtmlBox.d.ts +3 -3
- package/dist/theme/ThemeHtmlBox.js +9 -0
- package/dist/theme/ThemeHtmlBox.js.map +1 -1
- package/dist/theme/ThemeImage.d.ts +11 -0
- package/dist/theme/ThemeImage.js +9 -0
- package/dist/theme/ThemeImage.js.map +1 -1
- package/dist/theme/ThemeKpiCard.d.ts +5 -4
- package/dist/theme/ThemeKpiCard.js +12 -11
- package/dist/theme/ThemeKpiCard.js.map +1 -1
- package/dist/theme/ThemeLayout.d.ts +6 -3
- package/dist/theme/ThemeLayout.js +11 -0
- package/dist/theme/ThemeLayout.js.map +1 -1
- package/dist/theme/ThemeLayoutPage.d.ts +7 -6
- package/dist/theme/ThemeLayoutPage.js +25 -0
- package/dist/theme/ThemeLayoutPage.js.map +1 -1
- package/dist/theme/ThemeLazyTreeClasses.d.ts +6 -6
- package/dist/theme/ThemeLazyTreeClasses.js +6 -6
- package/dist/theme/ThemeLazyTreeClasses.js.map +1 -1
- package/dist/theme/ThemePivotTable.d.ts +1 -0
- package/dist/theme/ThemePivotTable.js +1 -0
- package/dist/theme/ThemePivotTable.js.map +1 -1
- package/dist/theme/ThemeQueryBuilderNode.d.ts +8 -3
- package/dist/theme/ThemeQueryBuilderNode.js +9 -4
- package/dist/theme/ThemeQueryBuilderNode.js.map +1 -1
- package/dist/theme/ThemeRepetitionWidget.d.ts +6 -0
- package/dist/theme/ThemeReportAppBar.d.ts +6 -3
- package/dist/theme/ThemeReportAppBar.js +18 -0
- package/dist/theme/ThemeReportAppBar.js.map +1 -1
- package/dist/theme/ThemeReportAppLeftPanel.d.ts +5 -4
- package/dist/theme/ThemeReportAppLeftPanel.js +5 -4
- package/dist/theme/ThemeReportAppLeftPanel.js.map +1 -1
- package/dist/theme/ThemeTable.d.ts +4 -0
- package/dist/theme/ThemeWidgetBoxContentMessage.d.ts +3 -3
- package/dist/theme/ThemeWidgetBoxContentMessage.js +12 -0
- package/dist/theme/ThemeWidgetBoxContentMessage.js.map +1 -1
- package/package.json +5 -5
- package/dist/theme/ThemeDrilldownUserSelectMenu.d.ts +0 -11
- package/dist/theme/ThemeDrilldownUserSelectMenu.js.map +0 -1
package/dist/ApiUtils.js
CHANGED
|
@@ -8,7 +8,7 @@ const ReportingVersion_1 = __importDefault(require("./ReportingVersion"));
|
|
|
8
8
|
class ApiUtils {
|
|
9
9
|
static makePlugin(definition) {
|
|
10
10
|
return () => {
|
|
11
|
-
return Object.assign({ apiVersion: new ReportingVersion_1.default("8.2.
|
|
11
|
+
return Object.assign({ apiVersion: new ReportingVersion_1.default("8.2.3-ct.3" || "-", "Wed, 19 Oct 2022 04:19:01 GMT" || "-") }, definition);
|
|
12
12
|
};
|
|
13
13
|
}
|
|
14
14
|
/**
|
package/dist/ApiUtils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ApiUtils.js","sourceRoot":"","sources":["../src/ApiUtils.ts"],"names":[],"mappings":";;;;;;AAEA,0EAAkD;AAiDlD,MAAa,QAAQ;IAOV,MAAM,CAAC,UAAU,CAAC,UAA6B;QAElD,OAAO,GAA+B,EAAE;YAEpC,uBAEI,UAAU,EAAE,IAAI,0BAAgB,CAC5B,
|
|
1
|
+
{"version":3,"file":"ApiUtils.js","sourceRoot":"","sources":["../src/ApiUtils.ts"],"names":[],"mappings":";;;;;;AAEA,0EAAkD;AAiDlD,MAAa,QAAQ;IAOV,MAAM,CAAC,UAAU,CAAC,UAA6B;QAElD,OAAO,GAA+B,EAAE;YAEpC,uBAEI,UAAU,EAAE,IAAI,0BAAgB,CAC5B,YAAY,IAAI,GAAG,EACnB,+BAA+B,IAAI,GAAG,CACzC,IAEE,UAAU,EAEhB;QAEL,CAAC,CAAA;IACL,CAAC;IAED;;;;;OAKG;IACI,MAAM,CAAC,oCAAoC,CAAkC,UAAsE;QAEtJ,uCAEO,UAAU,KAEb,MAAM,EAAE,CAAC,OAA6B,EAAE,SAAyB,EAAE,EAAE;gBACjE,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;YAC1D,CAAC,EAED,cAAc,EAAE,KAAK,EAErB,6BAA6B,EAAE,KAAK,IAEvC;IAEL,CAAC;IAEM,MAAM,CAAC,wCAAwC,CAAkC,UAAoD,EAAE,OAA6C;QAEvL,OAAO,8CAEA,OAAO,GACP,UAAU,KAEb,iBAAiB,EAAE,SAAS,EAC5B,MAAM,EAAE,OAAO,CAAC,MAAM,GAEmB,CAAA;IAEjD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,4CAA4C,CAAmC,KAAyC;QAElI,OAAO;YAEH,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,uBAAuB,EAAE,KAAK,CAAC,uBAAuB;YAEtD,OAAO,EAAE,CAAC,OAAO,EAAE,EAAE;gBAEjB,qDAEO,OAAO,CAAC,gBAAgB,GAExB,KAAK,CAAC,KAAK,CAAC,+BAA+B;oBAE9C;;;;;uBAKG;oBACH,iBAAiB,EAAE,UAAU,QAAQ;wBAEjC,MAAM,eAAe,GAAG,QAAQ,CAAC,wCAAwC,CAAC,IAAI,EAAE,QAAS,CAAC,CAAC;wBAE3F,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;4BAEnC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,OAAO,iCAE/B,eAAe;gCAElB,8DAA8D;gCAE9D,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,eAAe,CAAC,gBAAgB,CAAC,EAC3F,gBAAgB,EAAE,UAAU,CAAC,OAAO,CAAC,gBAAgB,IAEvD,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAA;wBACjC,CAAC,CAAC,CAAC;oBAEP,CAAC,IACJ;YACL,CAAC;SAEwC,CAAC;IAElD,CAAC;;AA/GL,4BAiHC;AA/GG;;GAEG;AACoB,uBAAc,GAAG,OAAO,CAAC"}
|
package/dist/INotification.d.ts
CHANGED
|
@@ -22,7 +22,7 @@ export interface AppEditReportNotification extends IAppNotification {
|
|
|
22
22
|
export interface AppPrintReportNotificationPayload {
|
|
23
23
|
fileName?: string;
|
|
24
24
|
paperSizeName?: PaperSizeName;
|
|
25
|
-
|
|
25
|
+
paperOrientation?: PaperOrientation;
|
|
26
26
|
}
|
|
27
27
|
export interface IAppPrintReportNotification extends IAppNotificationWithPayload<AppPrintReportNotificationPayload> {
|
|
28
28
|
}
|
|
@@ -7,6 +7,7 @@ import { Theme } from "@mui/material/styles";
|
|
|
7
7
|
import { WidgetTemplateIDs } from "./PublicTemplates";
|
|
8
8
|
import { FormFieldObject } from "./PublicTemplateForm";
|
|
9
9
|
import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
|
|
10
|
+
import { ILogger } from "./Logger";
|
|
10
11
|
export interface IPluginDefinition {
|
|
11
12
|
/**
|
|
12
13
|
* Keep that id simple (i.e., ASCII letter without any dot, space, separator, etc...) as it will be used
|
|
@@ -18,12 +19,12 @@ export interface IPluginDefinition {
|
|
|
18
19
|
/**
|
|
19
20
|
* When defining new widgets using amCharts 4, this method registers the icCube license.
|
|
20
21
|
*/
|
|
21
|
-
registerAmCharts4?: (callback: (am4core: any) => void) => void;
|
|
22
|
-
registerLocalization?: (manager: ILocalizationManager) => void;
|
|
23
|
-
registerThemes?: (manager: IThemeManager) => void;
|
|
24
|
-
registerWidgets?: (manager: IWidgetManager) => void;
|
|
25
|
-
registerTidyTableTransformations?: (manager: ITidyTableTransformationManager) => void;
|
|
26
|
-
registerWidgetDefaults?: (theme: Theme, manager: IWidgetDefaultsManager) => void;
|
|
22
|
+
registerAmCharts4?: (logger: ILogger, callback: (am4core: any) => void) => void;
|
|
23
|
+
registerLocalization?: (logger: ILogger, manager: ILocalizationManager) => void;
|
|
24
|
+
registerThemes?: (logger: ILogger, manager: IThemeManager) => void;
|
|
25
|
+
registerWidgets?: (logger: ILogger, manager: IWidgetManager) => void;
|
|
26
|
+
registerTidyTableTransformations?: (logger: ILogger, manager: ITidyTableTransformationManager) => void;
|
|
27
|
+
registerWidgetDefaults?: (logger: ILogger, theme: Theme, manager: IWidgetDefaultsManager) => void;
|
|
27
28
|
/**
|
|
28
29
|
* Allows for selecting the available widgets.
|
|
29
30
|
*
|
package/dist/IReporting.d.ts
CHANGED
|
@@ -28,6 +28,12 @@ export interface IReportParam {
|
|
|
28
28
|
channelName: string;
|
|
29
29
|
value: IEventContent;
|
|
30
30
|
}
|
|
31
|
+
export interface IOpenGadgetOptions {
|
|
32
|
+
/**
|
|
33
|
+
* Full path of the gadget (e.g., shared:/marc/my-gadget).
|
|
34
|
+
*/
|
|
35
|
+
path: string;
|
|
36
|
+
}
|
|
31
37
|
export interface IOpenReportOptions {
|
|
32
38
|
embedded?: boolean;
|
|
33
39
|
/**
|
|
@@ -57,7 +63,7 @@ export interface IOpenReportOptions {
|
|
|
57
63
|
}
|
|
58
64
|
export interface IOpenReportAppOptions {
|
|
59
65
|
/**
|
|
60
|
-
* Full path of the report app. (e.g., shared:/my-
|
|
66
|
+
* Full path of the report app. (e.g., shared:/my-app).
|
|
61
67
|
*/
|
|
62
68
|
path: string;
|
|
63
69
|
/**
|
|
@@ -19,6 +19,11 @@ export interface ITidyTableTransformation<OPTIONS extends FormFieldObject> {
|
|
|
19
19
|
* Internal usage: pluginID.id
|
|
20
20
|
*/
|
|
21
21
|
qualifiedId?: string;
|
|
22
|
+
/**
|
|
23
|
+
* Widgets from these templates can use the transformation. Leave undefined for all widgets.
|
|
24
|
+
* E.g., ic3.Table for the table widget.
|
|
25
|
+
*/
|
|
26
|
+
allowedByWidgetTemplate?: string[];
|
|
22
27
|
/**
|
|
23
28
|
* Return the description to show below the transformation in the 'TRANSFORMATION' tab of the editor
|
|
24
29
|
* @param context used for accessing localization functions
|
package/dist/LazyTreeView.d.ts
CHANGED
|
@@ -1,6 +1,11 @@
|
|
|
1
|
-
import { EntityItem, MdxInfo } from "./PublicTidyTableTypes";
|
|
2
|
-
import { ReactElement } from "react";
|
|
3
|
-
|
|
1
|
+
import { EntityItem, MdxInfo, TreeRowPropsTreeData } from "./PublicTidyTableTypes";
|
|
2
|
+
import React, { ReactElement } from "react";
|
|
3
|
+
export declare type ScrollDirection = "forward" | "backward";
|
|
4
|
+
export interface ListOnScrollProps {
|
|
5
|
+
scrollDirection: ScrollDirection;
|
|
6
|
+
scrollOffset: number;
|
|
7
|
+
scrollUpdateWasRequested: boolean;
|
|
8
|
+
}
|
|
4
9
|
/**
|
|
5
10
|
* A copy of MUI TreeItemClasses
|
|
6
11
|
*/
|
|
@@ -28,11 +33,20 @@ export interface ILazyTreeViewLoader {
|
|
|
28
33
|
/**
|
|
29
34
|
* This will build the tree with react children
|
|
30
35
|
*/
|
|
31
|
-
mapTree<T
|
|
36
|
+
mapTree<T>(expanded: (index: number) => boolean, factory: (index: number, isCollapsed: boolean) => T, filter?: (info: MdxInfo) => boolean): T[];
|
|
37
|
+
/**
|
|
38
|
+
* Returns true if and only if the node has children that are to be lazilly loaded.
|
|
39
|
+
*/
|
|
32
40
|
hasLazyChildren(index: number): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Returns true if and only if the node has children in the already loaded data.
|
|
43
|
+
*/
|
|
44
|
+
hasChildren(index: number): boolean;
|
|
33
45
|
getColumnLevelDepth(index: number): number;
|
|
34
46
|
lazyLoadChildren(index: number): void | number;
|
|
35
47
|
getNodeIdAndCaption(index: number): [string, string];
|
|
48
|
+
getNodeId(index: number): string;
|
|
49
|
+
getItemCount(): number;
|
|
36
50
|
setCallbackOnChange(callback: () => void): void;
|
|
37
51
|
toEntityItems(nodeIds: string[]): EntityItem[];
|
|
38
52
|
mapNodeIds<T>(nodeIds: string[], callbackfn: (columnIdx: number) => T | null | undefined): T[];
|
|
@@ -44,7 +58,6 @@ export interface ILazyTreeViewLoader {
|
|
|
44
58
|
export interface LazyTreeViewProps {
|
|
45
59
|
logId: string;
|
|
46
60
|
lazyLoader: ILazyTreeViewLoader;
|
|
47
|
-
allowEmptySelection?: boolean;
|
|
48
61
|
/**
|
|
49
62
|
*
|
|
50
63
|
*/
|
|
@@ -68,13 +81,13 @@ export interface LazyTreeViewProps {
|
|
|
68
81
|
toggleFilterSelected?: string;
|
|
69
82
|
disableSelection?: boolean;
|
|
70
83
|
/**
|
|
71
|
-
*
|
|
84
|
+
* the selection state is managed by the lazy tree as well
|
|
72
85
|
*/
|
|
73
|
-
selected
|
|
86
|
+
selected: string[];
|
|
74
87
|
/**
|
|
75
88
|
* Controlled mode for selection
|
|
76
89
|
*/
|
|
77
|
-
setSelected?: (
|
|
90
|
+
setSelected?: (event: React.MouseEvent, treeNode: TreeRowPropsTreeData) => void;
|
|
78
91
|
/**
|
|
79
92
|
* Controlled mode for expanded or initial expanded if not controlled
|
|
80
93
|
*/
|
|
@@ -87,7 +100,6 @@ export interface LazyTreeViewProps {
|
|
|
87
100
|
* The level depth of initially open nodes ( 0 first level )
|
|
88
101
|
*/
|
|
89
102
|
openDepthLevel?: number;
|
|
90
|
-
selectionMode: SelectionMode;
|
|
91
103
|
/**
|
|
92
104
|
* Material-UI tree item classes Partial<TreeItemClasses>
|
|
93
105
|
*/
|
|
@@ -98,4 +110,21 @@ export interface LazyTreeViewProps {
|
|
|
98
110
|
* @param label current label. Use this label as text because the filtering is highlighted.
|
|
99
111
|
*/
|
|
100
112
|
getTreeItemLabel?: (rowIndex: number, label: string | ReactElement) => string | ReactElement;
|
|
113
|
+
/**
|
|
114
|
+
* If undefined, width and height are calculated automatically.
|
|
115
|
+
*/
|
|
116
|
+
width?: number;
|
|
117
|
+
height?: number;
|
|
118
|
+
/**
|
|
119
|
+
* Height of an item in the tree. Defaults to 38.
|
|
120
|
+
*/
|
|
121
|
+
itemSize?: number;
|
|
122
|
+
/**
|
|
123
|
+
* @See react-window List
|
|
124
|
+
*/
|
|
125
|
+
initialScrollOffset?: number | undefined;
|
|
126
|
+
/**
|
|
127
|
+
* @See react-window List
|
|
128
|
+
*/
|
|
129
|
+
onScroll?: ((props: ListOnScrollProps) => any) | undefined;
|
|
101
130
|
}
|
package/dist/Loader.d.ts
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
import { IReporting } from "./IReporting";
|
|
2
|
-
export declare type AppType = "embedded-div-init" | "console" | "viewer" | "editor" | "admin" | "appEditor";
|
|
2
|
+
export declare type AppType = "embedded-div-init" | "console" | "viewer" | "editor" | "admin" | "appEditor" | "gadgetEditor";
|
|
3
3
|
export interface IDashboardsLoaderFrameParams {
|
|
4
4
|
/**
|
|
5
5
|
* An unique ID (DOM) that is identifying the icCube dashboards instance.
|
|
6
6
|
*/
|
|
7
7
|
containerId: string;
|
|
8
|
+
/**
|
|
9
|
+
* E.g., useful when using custom headers from the host application.
|
|
10
|
+
*/
|
|
11
|
+
frameId: string;
|
|
8
12
|
/**
|
|
9
13
|
* Optional CSS class of the created iFrame.
|
|
10
14
|
*/
|
|
@@ -20,6 +24,20 @@ export interface IDashboardsLoaderFrameParams {
|
|
|
20
24
|
* Support for embedding icCube via an iFrame.
|
|
21
25
|
*/
|
|
22
26
|
export declare function DashboardsLoaderFrame(params: IDashboardsLoaderFrameParams): void;
|
|
27
|
+
export interface IDashboardsLoaderParams {
|
|
28
|
+
/**
|
|
29
|
+
* Whether or not icCube is going to request custom HTTP headers from the host application.
|
|
30
|
+
* The value is passed back to the message sent to the host.
|
|
31
|
+
*/
|
|
32
|
+
customHeaders?: string;
|
|
33
|
+
/**
|
|
34
|
+
* A (possibly empty) string saying icCube is requiring some configuration.
|
|
35
|
+
* The string itself is identifying how to configure the behavior (e.g., removing logout, ...).
|
|
36
|
+
* An empty string means default embedded configuration.
|
|
37
|
+
*/
|
|
38
|
+
configuration?: string;
|
|
39
|
+
urlSuffix?: string;
|
|
40
|
+
}
|
|
23
41
|
export interface IDashboardsLoaderDivParams {
|
|
24
42
|
/**
|
|
25
43
|
* identifier of the IReporting instance
|
|
@@ -71,11 +89,22 @@ export declare class DashboardsLoaderDivContext {
|
|
|
71
89
|
*
|
|
72
90
|
*/
|
|
73
91
|
private readonly publicPath;
|
|
92
|
+
/**
|
|
93
|
+
* Whether or not icCube is going to request custom HTTP headers from the host application.
|
|
94
|
+
* The value is passed back to the message sent to the host.
|
|
95
|
+
*/
|
|
96
|
+
private readonly customHeaders?;
|
|
97
|
+
/**
|
|
98
|
+
* A (possibly empty) string saying icCube is requiring some configuration.
|
|
99
|
+
* The string itself is identifying how to configure the behavior (e.g., removing logout, ...).
|
|
100
|
+
* An empty string means default embedded configuration.
|
|
101
|
+
*/
|
|
102
|
+
private readonly configuration?;
|
|
74
103
|
private readonly mainJsUrl;
|
|
75
104
|
private buildVersion;
|
|
76
105
|
private buildTimestamp;
|
|
77
106
|
private libLoader;
|
|
78
|
-
constructor(
|
|
107
|
+
constructor(options?: string | IDashboardsLoaderParams);
|
|
79
108
|
private static extractMatch;
|
|
80
109
|
private static loadScript;
|
|
81
110
|
getBuildVersion(): string;
|
package/dist/Loader.js
CHANGED
|
@@ -5,24 +5,25 @@ exports.DashboardsLoaderDivContext = exports.DashboardsLoaderFrame = void 0;
|
|
|
5
5
|
* Support for embedding icCube via an iFrame.
|
|
6
6
|
*/
|
|
7
7
|
function DashboardsLoaderFrame(params) {
|
|
8
|
-
const { containerId, className, style, onReady, url } = params;
|
|
8
|
+
const { containerId, frameId, className, style, onReady, url } = params;
|
|
9
9
|
const containerELT = document.getElementById(containerId);
|
|
10
10
|
if (!containerELT) {
|
|
11
11
|
throw new Error("[ic3loader] (iFrame) missing container [" + containerId + "]");
|
|
12
12
|
}
|
|
13
|
-
console.log("[
|
|
14
|
-
console.log("[
|
|
15
|
-
console.log("[
|
|
13
|
+
console.log("[Loader] (iFrame) icCube URL : " + url);
|
|
14
|
+
console.log("[Loader] (iFrame) container : " + containerId);
|
|
15
|
+
console.log("[Loader] (iFrame) callback : " + onReady);
|
|
16
16
|
const wnd = window;
|
|
17
17
|
wnd.ic3loader = wnd.ic3loader || {};
|
|
18
18
|
wnd.ic3loader[containerId] = (ic3) => {
|
|
19
|
-
console.log("[
|
|
19
|
+
console.log("[Loader] (iFrame) ready : ", ic3);
|
|
20
20
|
delete wnd.ic3loader[containerId];
|
|
21
21
|
onReady && onReady(ic3);
|
|
22
22
|
};
|
|
23
23
|
// setup an iFrame passing a url w/ &cb=window.name.of.callback
|
|
24
24
|
// window. or parent. then in icCube ...
|
|
25
25
|
const iFrame = document.createElement('iframe');
|
|
26
|
+
frameId && (iFrame.id = frameId);
|
|
26
27
|
className && (iFrame.className = className);
|
|
27
28
|
iFrame.width = "100%";
|
|
28
29
|
iFrame.height = "100%";
|
|
@@ -37,7 +38,7 @@ function DashboardsLoaderFrame(params) {
|
|
|
37
38
|
const sep = url.indexOf("?") === -1 ? "?" : "&";
|
|
38
39
|
const src = url + sep + "ic3callback=ic3loader." + containerId;
|
|
39
40
|
iFrame.setAttribute("src", src);
|
|
40
|
-
console.log("[
|
|
41
|
+
console.log("[Loader] (iFrame) iFrame : " + src);
|
|
41
42
|
containerELT.appendChild(iFrame);
|
|
42
43
|
}
|
|
43
44
|
exports.DashboardsLoaderFrame = DashboardsLoaderFrame;
|
|
@@ -52,7 +53,7 @@ exports.DashboardsLoaderFrame = DashboardsLoaderFrame;
|
|
|
52
53
|
* Can be easily wrapped into a React context (see ic3-demo-embedded-react Github project).
|
|
53
54
|
*/
|
|
54
55
|
class DashboardsLoaderDivContext {
|
|
55
|
-
constructor(
|
|
56
|
+
constructor(options) {
|
|
56
57
|
/**
|
|
57
58
|
* The URL path of the icCube index.html containing the Webpack main entry point (i.e., main.js).
|
|
58
59
|
*/
|
|
@@ -73,7 +74,19 @@ class DashboardsLoaderDivContext {
|
|
|
73
74
|
this.publicPath = "/icCube/report/app/";
|
|
74
75
|
this.buildVersion = "";
|
|
75
76
|
this.buildTimestamp = "";
|
|
76
|
-
|
|
77
|
+
let suffix = "";
|
|
78
|
+
let customHeaders;
|
|
79
|
+
let configuration;
|
|
80
|
+
if (typeof options === "string") {
|
|
81
|
+
suffix = options;
|
|
82
|
+
}
|
|
83
|
+
else if (options) {
|
|
84
|
+
customHeaders = options.customHeaders;
|
|
85
|
+
configuration = options.configuration;
|
|
86
|
+
suffix = options.urlSuffix || suffix;
|
|
87
|
+
}
|
|
88
|
+
this.customHeaders = customHeaders;
|
|
89
|
+
this.configuration = configuration;
|
|
77
90
|
this.indexHtmlUrl += suffix;
|
|
78
91
|
this.mainJsUrl = this.publicPath + "main.js" + suffix;
|
|
79
92
|
// Start loading all required initial libraries (in the background).
|
|
@@ -105,7 +118,7 @@ class DashboardsLoaderDivContext {
|
|
|
105
118
|
starter(Object.assign(Object.assign({}, options), { uid, appType: appType !== null && appType !== void 0 ? appType : "viewer", container,
|
|
106
119
|
resizingContainer, callback: (reporting) => {
|
|
107
120
|
const timeDiff = Math.round(performance.now() - start);
|
|
108
|
-
console.log("[
|
|
121
|
+
console.log("[Loader] (div) loadLibsAndInitialize completed in " + timeDiff + " ms.");
|
|
109
122
|
resolve(reporting);
|
|
110
123
|
} }));
|
|
111
124
|
});
|
|
@@ -125,42 +138,47 @@ class DashboardsLoaderDivContext {
|
|
|
125
138
|
}
|
|
126
139
|
return response.text();
|
|
127
140
|
}).then(indexHtml => {
|
|
128
|
-
// CSRF code
|
|
141
|
+
// CSRF code.
|
|
142
|
+
//
|
|
143
|
+
// The server might have been configured with csrfOff=true meaning we should not fail here.
|
|
144
|
+
// Plus that token value is more or less sent (not clear in the server code). So let's use
|
|
145
|
+
// the value we get (anyway an error will be generated later => guess it's fine).
|
|
129
146
|
{
|
|
130
|
-
const token = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.crfCodeRE
|
|
131
|
-
|
|
132
|
-
throw new Error("Internal Error (token not replaced in [" + this.indexHtmlUrl + "] )");
|
|
133
|
-
}
|
|
134
|
-
wnd['ic3_CSRF_token'] = token;
|
|
147
|
+
const token = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.crfCodeRE);
|
|
148
|
+
token && (wnd['ic3_CSRF_token'] = token);
|
|
135
149
|
}
|
|
136
150
|
// Webpack entry point (main.js) cache busting key
|
|
137
151
|
let cacheKey = "";
|
|
138
152
|
if (!this.mainJsUrl.includes("?")) {
|
|
139
|
-
cacheKey = "?" + DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.mainJsCacheKeyRE, "Internal Error
|
|
153
|
+
cacheKey = "?" + DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.mainJsCacheKeyRE, "Internal Error: missing main.js");
|
|
140
154
|
}
|
|
141
155
|
// Build information
|
|
142
156
|
this.buildVersion = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.buildVersionRE);
|
|
143
157
|
this.buildTimestamp = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.buildTimestampRE);
|
|
144
158
|
const scriptUrl = this.mainJsUrl + cacheKey;
|
|
145
159
|
// Load Webpack entry point: main.js
|
|
146
|
-
console.log("[
|
|
147
|
-
wnd["__ic3__webpack_public_path__"] = this.publicPath;
|
|
160
|
+
console.log("[Loader] (div) start loading library [version:" + this.buildVersion + "] [build:" + this.buildTimestamp + "]");
|
|
148
161
|
wnd["__ic3_div_embedded__"] = true;
|
|
162
|
+
wnd["__ic3_div_webpack_public_path__"] = this.publicPath;
|
|
163
|
+
wnd["__ic3_div_custom_headers__"] = this.customHeaders;
|
|
164
|
+
wnd["__ic3_div_configuration__"] = this.configuration;
|
|
165
|
+
wnd["__ic3_embedded__"] = true /* embedding a previous version */;
|
|
166
|
+
wnd["__ic3__webpack_public_path__"] = this.publicPath /* embedding a previous version */;
|
|
149
167
|
return DashboardsLoaderDivContext.loadScript(scriptUrl).catch(reason => Promise.reject("Error loading main.js script : " + scriptUrl));
|
|
150
168
|
}).then(() => {
|
|
151
|
-
console.log("[
|
|
169
|
+
console.log("[Loader] (div) main.js loaded in " + Math.round(performance.now() - start) + " ms");
|
|
152
170
|
let count = 0;
|
|
153
171
|
return new Promise((resolve, reject) => {
|
|
154
172
|
// Busy wait till icCube has loaded all initial Webpack chunks and initialized itself.
|
|
155
173
|
(function waitUtil() {
|
|
156
174
|
if (wnd["__ic3_div_embedded_starter__"] !== undefined) {
|
|
157
175
|
const timeDiff = Math.round(performance.now() - start);
|
|
158
|
-
console.log("[
|
|
176
|
+
console.log("[Loader] (div) scripts ready in " + timeDiff + " ms");
|
|
159
177
|
resolve(wnd["__ic3_div_embedded_starter__"]);
|
|
160
178
|
}
|
|
161
179
|
else {
|
|
162
180
|
if (count++ === 4) {
|
|
163
|
-
console.log("[
|
|
181
|
+
console.log("[Loader] (div) scripts : waiting for icCube initialized");
|
|
164
182
|
count = 0;
|
|
165
183
|
}
|
|
166
184
|
setTimeout(waitUtil, 250);
|
package/dist/Loader.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":"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"}
|
package/dist/Logger.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare type LoggerComponent = "AlertDialog" | "AmCharts4" | "AmCharts4GeoMap" | "AmCharts5" | "App" | "AppCustomHeaders" | "AppStarter" | "AppStatus" | "ChartTemplateWidget" | "Demo" | "EmbeddedReport" | "ErrorRenderer" | "Font" | "General" | "GoogleMap" | "Help" | "History" | "Keyboard" | "Layout" | "LayoutPage" | "LayoutRender" | "Loader" | "Localization" | "Other" | "PivotTable" | "PivotTablePagingView" | "Plugin" | "Profiler" | "ReportAppBar" | "ReportAppMenu" | "ReportInitializer" | "ReportStarter" | "RepetitionWidget" | "Request" | "SchemaDataUpdate" | "Storage" | "Table" | "WidgetBox" | "WidgetBoxWrapper" | "WidgetTemplateLibrary";
|
|
2
|
+
export interface ILogger {
|
|
3
|
+
resetTime(): void;
|
|
4
|
+
disable(component: LoggerComponent): void;
|
|
5
|
+
enable(component: LoggerComponent): void;
|
|
6
|
+
isEnabled(logger: LoggerComponent): boolean;
|
|
7
|
+
disabled(): Set<LoggerComponent>;
|
|
8
|
+
info(component: LoggerComponent, message: string, ...extra: any): void;
|
|
9
|
+
warn(component: LoggerComponent, message: string, ...extra: any): void;
|
|
10
|
+
error(component: LoggerComponent, message: string, ...extra: any): void;
|
|
11
|
+
infoWidget(component: LoggerComponent, nsId: string, widgetId: string, message: string, ...extra: any): void;
|
|
12
|
+
errorWidget(component: LoggerComponent, nsId: string, widgetId: string, message: string, ...extra: any): void;
|
|
13
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":""}
|
|
@@ -4,7 +4,8 @@ import { GroupRowIndices, IAmCharts4Data } from "./PublicTidyTableTypes";
|
|
|
4
4
|
export declare enum ISeriesValuesType {
|
|
5
5
|
LINE = 0,
|
|
6
6
|
COLUMN = 1,
|
|
7
|
-
TREND = 2
|
|
7
|
+
TREND = 2,
|
|
8
|
+
DIVERGENT = 3
|
|
8
9
|
}
|
|
9
10
|
export interface ISeriesValues {
|
|
10
11
|
type: ISeriesValuesType;
|
|
@@ -42,13 +43,18 @@ export declare class PublicAmchartsData {
|
|
|
42
43
|
* - sValue: the onValues part used
|
|
43
44
|
* - groupRows: row indices of the group. Length >= 1.
|
|
44
45
|
* @param remove remove the series.
|
|
45
|
-
* @param typeFilter if defined, only call create, update and remove
|
|
46
|
+
* @param typeFilter if defined, only call create, update and remove where typeFilter(type) returns true.
|
|
46
47
|
* @param firstGroupOnly only call the first group
|
|
47
48
|
*/
|
|
48
|
-
updateSeries<T>(itemControl: Map<string, T>, create: (seriesId: string, groupKey: string, valueKey: string, fillKey: string, sValue: ISeriesValues) => T, update: (seriesId: string, groupKey: string, series: T, sValue: ISeriesValues, groupRows: GroupRowIndices) => void, remove: (item: T) => void, typeFilter?: ISeriesValuesType, firstGroupOnly?: boolean): void;
|
|
49
|
+
updateSeries<T>(itemControl: Map<string, T>, create: (seriesId: string, groupKey: string, valueKey: string, fillKey: string, sValue: ISeriesValues) => T, update: (seriesId: string, groupKey: string, series: T, sValue: ISeriesValues, groupRows: GroupRowIndices) => void, remove: (item: T) => void, typeFilter?: (type: ISeriesValuesType) => boolean, firstGroupOnly?: boolean): void;
|
|
49
50
|
getAxis(): ITidyColumn;
|
|
50
51
|
getLevel(): ITidyColumn | undefined;
|
|
51
52
|
getGroup(): ITidyColumn | undefined;
|
|
53
|
+
/**
|
|
54
|
+
* Return the nth value column.
|
|
55
|
+
* @param idx n
|
|
56
|
+
*/
|
|
57
|
+
getValueColumn(idx: number): ITidyNumericColumn;
|
|
52
58
|
/**
|
|
53
59
|
* Returns the first item in the onValues argument of the constructor.
|
|
54
60
|
*/
|
|
@@ -7,6 +7,7 @@ var ISeriesValuesType;
|
|
|
7
7
|
ISeriesValuesType[ISeriesValuesType["LINE"] = 0] = "LINE";
|
|
8
8
|
ISeriesValuesType[ISeriesValuesType["COLUMN"] = 1] = "COLUMN";
|
|
9
9
|
ISeriesValuesType[ISeriesValuesType["TREND"] = 2] = "TREND";
|
|
10
|
+
ISeriesValuesType[ISeriesValuesType["DIVERGENT"] = 3] = "DIVERGENT";
|
|
10
11
|
})(ISeriesValuesType = exports.ISeriesValuesType || (exports.ISeriesValuesType = {}));
|
|
11
12
|
/**
|
|
12
13
|
* Used for managing amcharts data in the Amcharts plugin. This class controls both the creation of the charts
|
|
@@ -26,7 +27,18 @@ class PublicAmchartsData {
|
|
|
26
27
|
getChartData() {
|
|
27
28
|
const chartValues = {};
|
|
28
29
|
this.onValues.forEach((value, idx) => {
|
|
29
|
-
|
|
30
|
+
/*
|
|
31
|
+
Divergent series needs to have negative values, but show a positive value when hovered. Thus, the values
|
|
32
|
+
in chart data are set to negative, but the values in the column are not.
|
|
33
|
+
*/
|
|
34
|
+
let valueColumn;
|
|
35
|
+
if (value.type === ISeriesValuesType.DIVERGENT) {
|
|
36
|
+
valueColumn = value.values.mapToColumn(v => v != null ? -v : null, "rightValue", PublicTidyTableTypes_1.TidyColumnsType.NUMERIC);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
valueColumn = value.values;
|
|
40
|
+
}
|
|
41
|
+
chartValues[String(idx) + "v"] = valueColumn;
|
|
30
42
|
if (value.colors) {
|
|
31
43
|
chartValues[String(idx) + "c"] = value.colors;
|
|
32
44
|
}
|
|
@@ -49,7 +61,7 @@ class PublicAmchartsData {
|
|
|
49
61
|
* - sValue: the onValues part used
|
|
50
62
|
* - groupRows: row indices of the group. Length >= 1.
|
|
51
63
|
* @param remove remove the series.
|
|
52
|
-
* @param typeFilter if defined, only call create, update and remove
|
|
64
|
+
* @param typeFilter if defined, only call create, update and remove where typeFilter(type) returns true.
|
|
53
65
|
* @param firstGroupOnly only call the first group
|
|
54
66
|
*/
|
|
55
67
|
updateSeries(itemControl, create, update, remove, typeFilter, firstGroupOnly) {
|
|
@@ -57,7 +69,7 @@ class PublicAmchartsData {
|
|
|
57
69
|
const updated = new Set();
|
|
58
70
|
const forEachSeries = (groupKey, groupIdx) => {
|
|
59
71
|
this.onValues.forEach((onValue, idx) => {
|
|
60
|
-
if (typeFilter != null && onValue.type
|
|
72
|
+
if (typeFilter != null && !typeFilter(onValue.type)) {
|
|
61
73
|
return;
|
|
62
74
|
}
|
|
63
75
|
const seriesKey = groupKey + "." + String(idx);
|
|
@@ -74,9 +86,12 @@ class PublicAmchartsData {
|
|
|
74
86
|
if (group != null) {
|
|
75
87
|
const index = group.groupBy(true);
|
|
76
88
|
if (firstGroupOnly) {
|
|
77
|
-
const groupIdx = index.values().next()
|
|
78
|
-
|
|
79
|
-
|
|
89
|
+
const groupIdx = index.values().next();
|
|
90
|
+
if (!groupIdx.done) {
|
|
91
|
+
const firstIndex = groupIdx.value[0];
|
|
92
|
+
const groupKey = group.getUid(firstIndex);
|
|
93
|
+
forEachSeries(groupKey, groupIdx.value);
|
|
94
|
+
}
|
|
80
95
|
}
|
|
81
96
|
else {
|
|
82
97
|
index.forEach(groupIdx => {
|
|
@@ -105,6 +120,13 @@ class PublicAmchartsData {
|
|
|
105
120
|
getGroup() {
|
|
106
121
|
return this.onGroup;
|
|
107
122
|
}
|
|
123
|
+
/**
|
|
124
|
+
* Return the nth value column.
|
|
125
|
+
* @param idx n
|
|
126
|
+
*/
|
|
127
|
+
getValueColumn(idx) {
|
|
128
|
+
return this.onValues[idx].values;
|
|
129
|
+
}
|
|
108
130
|
/**
|
|
109
131
|
* Returns the first item in the onValues argument of the constructor.
|
|
110
132
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PublicAmchartsData.js","sourceRoot":"","sources":["../src/PublicAmchartsData.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"PublicAmchartsData.js","sourceRoot":"","sources":["../src/PublicAmchartsData.ts"],"names":[],"mappings":"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"}
|