@ic3/reporting-api 8.3.0 → 8.4.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.
Files changed (63) hide show
  1. package/README.md +6 -4
  2. package/dist/ApiUtils.js +1 -1
  3. package/dist/ApiUtils.js.map +1 -1
  4. package/dist/INotification.d.ts +8 -2
  5. package/dist/IPluginDefinition.d.ts +3 -0
  6. package/dist/PublicAmCharts4Base.d.ts +91 -0
  7. package/dist/{IReporting.js → PublicAmCharts4Base.js} +1 -1
  8. package/dist/PublicAmCharts4Base.js.map +1 -0
  9. package/dist/PublicAmchartsData.d.ts +41 -15
  10. package/dist/PublicAmchartsData.js +32 -21
  11. package/dist/PublicAmchartsData.js.map +1 -1
  12. package/dist/PublicContext.d.ts +9 -1
  13. package/dist/PublicTemplate.d.ts +8 -0
  14. package/dist/PublicTemplate.js.map +1 -1
  15. package/dist/PublicTemplateForm.d.ts +21 -3
  16. package/dist/PublicTemplateForm.js.map +1 -1
  17. package/dist/PublicTheme.d.ts +140 -37
  18. package/dist/PublicTheme.js.map +1 -1
  19. package/dist/PublicTidyColumn.d.ts +16 -2
  20. package/dist/PublicTidyColumn.js +3 -14
  21. package/dist/PublicTidyColumn.js.map +1 -1
  22. package/dist/PublicTidyHistogram.d.ts +20 -1
  23. package/dist/PublicTidyHistogram.js +28 -5
  24. package/dist/PublicTidyHistogram.js.map +1 -1
  25. package/dist/PublicTidyMath.d.ts +7 -1
  26. package/dist/PublicTidyTableInteractions.d.ts +4 -0
  27. package/dist/PublicTidyTableTypes.d.ts +4 -0
  28. package/dist/index.d.ts +1 -2
  29. package/dist/index.js +1 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/theme/ThemeAmCharts4.d.ts +30 -7
  32. package/dist/theme/ThemeAmCharts4.js +7 -1
  33. package/dist/theme/ThemeAmCharts4.js.map +1 -1
  34. package/dist/theme/ThemeCodeMirror.d.ts +4 -0
  35. package/dist/theme/ThemeCodeMirror.js +8 -0
  36. package/dist/theme/ThemeCodeMirror.js.map +1 -0
  37. package/dist/theme/ThemeDatePicker.d.ts +2 -0
  38. package/dist/theme/ThemeEmbeddedReport.d.ts +9 -0
  39. package/dist/theme/ThemeEmbeddedReport.js +6 -0
  40. package/dist/theme/ThemeEmbeddedReport.js.map +1 -1
  41. package/dist/theme/ThemeFilterAutocomplete.d.ts +3 -0
  42. package/dist/theme/ThemeFilterButtons.d.ts +5 -0
  43. package/dist/theme/ThemeFilterCheckboxRadio.d.ts +4 -0
  44. package/dist/theme/ThemeFilterSlider.d.ts +8 -0
  45. package/dist/theme/ThemeFilterTree.d.ts +5 -0
  46. package/dist/theme/ThemeHtmlBox.d.ts +3 -4
  47. package/dist/theme/ThemeHtmlBox.js +0 -1
  48. package/dist/theme/ThemeHtmlBox.js.map +1 -1
  49. package/dist/theme/ThemeLazyTreeClasses.d.ts +2 -0
  50. package/dist/theme/ThemeListCounter.d.ts +2 -0
  51. package/dist/theme/ThemePrintButton.d.ts +3 -0
  52. package/dist/theme/ThemeTable.d.ts +1 -6
  53. package/dist/theme/ThemeTable.js.map +1 -1
  54. package/dist/theme/ThemeWidgetBox.d.ts +3 -0
  55. package/dist/theme/ThemeWidgetFilteredBy.d.ts +5 -0
  56. package/dist/theme/ThemeWidgetFilteredBy.js +9 -0
  57. package/dist/theme/ThemeWidgetFilteredBy.js.map +1 -0
  58. package/package.json +8 -10
  59. package/dist/IReporting.d.ts +0 -153
  60. package/dist/IReporting.js.map +0 -1
  61. package/dist/Loader.d.ts +0 -191
  62. package/dist/Loader.js +0 -209
  63. package/dist/Loader.js.map +0 -1
package/dist/Loader.d.ts DELETED
@@ -1,191 +0,0 @@
1
- import { IReporting } from "./IReporting";
2
- export type AppType = "embedded-div-init" | "console" | "viewer" | "editor" | "admin" | "appEditor" | "gadgetEditor" | "mdxConsole";
3
- export interface IDashboardsLoaderFrameParams {
4
- /**
5
- * An unique ID (DOM) that is identifying the icCube dashboards instance.
6
- */
7
- containerId: string;
8
- /**
9
- * E.g., useful when using custom headers from the host application.
10
- */
11
- frameId: string;
12
- /**
13
- * Optional CSS class of the created iFrame.
14
- */
15
- className?: string;
16
- /**
17
- * Optional CSS inline styling of the created iFrame.
18
- */
19
- style?: Partial<CSSStyleDeclaration>;
20
- onReady: (ic3: IReporting) => void;
21
- url: string;
22
- }
23
- /**
24
- * Support for embedding icCube via an iFrame.
25
- */
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
- /**
40
- * An optional URL giving the actual location of the icCube server (e.g., https://dev.icCube.com).
41
- * All other URLs will be inferred from it.
42
- */
43
- urlHome?: string;
44
- /**
45
- * The URL path of the icCube index.html containing the Webpack main entry point (i.e., main.js).
46
- *
47
- * ($urlHome)/icCube/report/console (e.g., https://dev.icCube.com/icCube/report/console).
48
- */
49
- urlAppIndexHtml?: string;
50
- /**
51
- * The URL path where icCube Webpack files are located:
52
- * <pre>
53
- * /icCube/report
54
- * app -- public path
55
- * index.html
56
- * main.js
57
- * chunks
58
- * ...
59
- * plugins -- e.g., amCharts
60
- * ...
61
- * </pre>
62
- *
63
- * ($urlHome)/icCube/report/app/ (e.g., https://dev.icCube.com/icCube/report/app/).
64
- */
65
- urlAppPublicPath?: string;
66
- /**
67
- * ($urlHome)/icCube/report/console (e.g., https://dev.icCube.com/icCube/report/console).
68
- */
69
- urlApp?: string;
70
- /**
71
- * ($urlHome)/icCube/report/ic3-reporting/app-local (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/app-local).
72
- */
73
- urlAppLocal?: string;
74
- /**
75
- * ($urlHome)/icCube/report/ic3-reporting/doc (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/doc).
76
- */
77
- urlAppDoc?: string;
78
- /**
79
- * Optional extra. documentation path (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/app-local/doc).
80
- */
81
- urlAppDocEx?: string;
82
- /**
83
- * ($urlHome)/icCube/gvi (e.g., https://dev.icCube.com/icCube/gvi).
84
- */
85
- urlAppDataSource?: string;
86
- /**
87
- * ?ic3demo=
88
- */
89
- urlSuffix?: string;
90
- }
91
- export interface IDashboardsLoaderDivParams {
92
- /**
93
- * identifier of the IReporting instance
94
- */
95
- uid: string;
96
- /**
97
- * the container to put icCube
98
- */
99
- container: string | HTMLElement;
100
- /**
101
- * an optional container where icCube will set the height to fit the current report
102
- */
103
- resizingContainer?: HTMLElement;
104
- /**
105
- * The type of application (default: 'viewer')
106
- */
107
- appType?: AppType;
108
- }
109
- /**
110
- * Support for embedding icCube via a DIV.
111
- *
112
- * icCube uses Webpack: loading the entry point (i.e., main.js) will start loading all initial chunks.
113
- *
114
- * You can create this context ASAP. Actually can be done at any point in your app life time before
115
- * any icCube rendering is required yet.
116
- *
117
- * Can be easily wrapped into a React context (see ic3-demo-embedded-react Github project).
118
- */
119
- export declare class DashboardsLoaderDivContext {
120
- private static readonly crfCodeRE;
121
- private static readonly mainJsCacheKeyRE;
122
- private static readonly buildVersionRE;
123
- private static readonly buildTimestampRE;
124
- /**
125
- * Whether or not icCube is going to request custom HTTP headers from the host application.
126
- * The value is passed back to the message sent to the host.
127
- */
128
- private readonly customHeaders?;
129
- /**
130
- * A (possibly empty) string saying icCube is requiring some configuration.
131
- * The string itself is identifying how to configure the behavior (e.g., removing logout, ...).
132
- * An empty string means default embedded configuration.
133
- */
134
- private readonly configuration?;
135
- /**
136
- * The URL path of the icCube index.html containing the Webpack main entry point (i.e., main.js).
137
- *
138
- * ($urlHome)/icCube/report/console (e.g., https://dev.icCube.com/icCube/report/console).
139
- */
140
- private readonly urlAppIndexHtml;
141
- /**
142
- * The URL path where icCube Webpack files are located:
143
- * <pre>
144
- * /icCube/report
145
- * app -- public path
146
- * index.html
147
- * main.js
148
- * chunks
149
- * ...
150
- * plugins -- e.g., amCharts
151
- * ...
152
- * </pre>
153
- *
154
- * ($urlHome)/icCube/report/app (e.g., https://dev.icCube.com/icCube/report/app).
155
- */
156
- private readonly urlAppPublicPath;
157
- private readonly urlAppMainJS;
158
- /**
159
- * ($urlHome)/icCube/report/console (e.g., https://dev.icCube.com/icCube/report/console).
160
- */
161
- private readonly urlApp?;
162
- /**
163
- * ($urlHome)/icCube/report/ic3-reporting/app-local (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/app-local).
164
- */
165
- private readonly urlAppLocal?;
166
- /**
167
- * ($urlHome)/icCube/report/ic3-reporting/doc (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/doc).
168
- */
169
- private readonly urlAppDoc?;
170
- /**
171
- * Optional extra. documentation path (e.g., https://dev.icCube.com/icCube/report/ic3-reporting/app-local/doc).
172
- */
173
- private readonly urlAppDocEx?;
174
- /**
175
- * ($urlHome)/icCube/gvi (e.g., https://dev.icCube.com/icCube/gvi).
176
- */
177
- private readonly urlAppDataSource?;
178
- private buildVersion;
179
- private buildTimestamp;
180
- private libLoader;
181
- constructor(options?: string | IDashboardsLoaderParams);
182
- private static extractMatch;
183
- private static loadScript;
184
- getBuildVersion(): string;
185
- getBuildTimestamp(): string;
186
- loadLibsAndInitialize(options: IDashboardsLoaderDivParams): Promise<IReporting>;
187
- /**
188
- * First step load main.js, associated chunks
189
- */
190
- private loadLibs;
191
- }
package/dist/Loader.js DELETED
@@ -1,209 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.DashboardsLoaderDivContext = exports.DashboardsLoaderFrame = void 0;
4
- /**
5
- * Support for embedding icCube via an iFrame.
6
- */
7
- function DashboardsLoaderFrame(params) {
8
- const { containerId, frameId, className, style, onReady, url } = params;
9
- const containerELT = document.getElementById(containerId);
10
- if (!containerELT) {
11
- throw new Error("[Loader] (iFrame) missing container [" + containerId + "]");
12
- }
13
- console.log("[Loader] (iFrame) icCube URL : " + url);
14
- console.log("[Loader] (iFrame) container : " + containerId);
15
- console.log("[Loader] (iFrame) callback : " + onReady);
16
- const wnd = window;
17
- wnd.ic3loader = wnd.ic3loader || {};
18
- wnd.ic3loader[containerId] = (ic3) => {
19
- console.log("[Loader] (iFrame) ready : ", ic3);
20
- delete wnd.ic3loader[containerId];
21
- onReady && onReady(ic3);
22
- };
23
- // setup an iFrame passing a url w/ &cb=window.name.of.callback
24
- // window. or parent. then in icCube ...
25
- const iFrame = document.createElement('iframe');
26
- frameId && (iFrame.id = frameId);
27
- className && (iFrame.className = className);
28
- iFrame.width = "100%";
29
- iFrame.height = "100%";
30
- if (style) {
31
- for (const property in style) {
32
- iFrame.style[property] = style[property];
33
- }
34
- }
35
- else {
36
- iFrame.style.border = "0px none";
37
- }
38
- const sep = url.indexOf("?") === -1 ? "?" : "&";
39
- const src = url + sep + "ic3callback=ic3loader." + containerId;
40
- iFrame.setAttribute("src", src);
41
- console.log("[Loader] (iFrame) iFrame : " + src);
42
- containerELT.appendChild(iFrame);
43
- }
44
- exports.DashboardsLoaderFrame = DashboardsLoaderFrame;
45
- /**
46
- * Support for embedding icCube via a DIV.
47
- *
48
- * icCube uses Webpack: loading the entry point (i.e., main.js) will start loading all initial chunks.
49
- *
50
- * You can create this context ASAP. Actually can be done at any point in your app life time before
51
- * any icCube rendering is required yet.
52
- *
53
- * Can be easily wrapped into a React context (see ic3-demo-embedded-react Github project).
54
- */
55
- class DashboardsLoaderDivContext {
56
- constructor(options) {
57
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
58
- this.buildVersion = "";
59
- this.buildTimestamp = "";
60
- const opts = (_a = ((typeof options === "string") ? { urlSuffix: options } : options)) !== null && _a !== void 0 ? _a : {};
61
- this.customHeaders = opts.customHeaders;
62
- this.configuration = opts.configuration;
63
- const suffix = (_b = opts.urlSuffix) !== null && _b !== void 0 ? _b : "";
64
- const home = function (p) {
65
- return opts.urlHome ? (opts.urlHome + p) : undefined;
66
- };
67
- this.urlAppIndexHtml = ((_c = opts.urlAppIndexHtml) !== null && _c !== void 0 ? _c : (((_d = opts.urlHome) !== null && _d !== void 0 ? _d : "") + "/icCube/report/console")) + suffix;
68
- this.urlAppPublicPath = (_e = opts.urlAppPublicPath) !== null && _e !== void 0 ? _e : (((_f = opts.urlHome) !== null && _f !== void 0 ? _f : "") + "/icCube/report/app/");
69
- this.urlAppMainJS = this.urlAppPublicPath + "main.js" + suffix;
70
- this.urlApp = (_g = opts.urlApp) !== null && _g !== void 0 ? _g : home("/icCube/report/console");
71
- this.urlAppLocal = (_h = opts.urlAppLocal) !== null && _h !== void 0 ? _h : home("/icCube/report/ic3-reporting/app-local");
72
- this.urlAppDoc = (_j = opts.urlAppDoc) !== null && _j !== void 0 ? _j : home("/icCube/report/ic3-reporting/doc");
73
- this.urlAppDocEx = opts.urlAppDocEx;
74
- this.urlAppDataSource = (_k = opts.urlAppDataSource) !== null && _k !== void 0 ? _k : home("/icCube/gvi");
75
- console.log("[Loader] (div) suffix :" + opts.urlSuffix);
76
- console.log("[Loader] (div) home :" + opts.urlHome);
77
- console.log("[Loader] (div) urlAppIndexHtml :" + this.urlAppIndexHtml);
78
- console.log("[Loader] (div) urlAppPublicPath :" + this.urlAppPublicPath);
79
- console.log("[Loader] (div) urlAppMainJS :" + this.urlAppMainJS);
80
- console.log("[Loader] (div) urlApp :" + this.urlApp);
81
- console.log("[Loader] (div) urlAppLocal :" + this.urlAppLocal);
82
- console.log("[Loader] (div) urlAppDoc :" + this.urlAppDoc);
83
- console.log("[Loader] (div) urlAppDocEx :" + this.urlAppDocEx);
84
- console.log("[Loader] (div) urlAppDataSource :" + this.urlAppDataSource);
85
- // Start loading all required initial libraries (in the background).
86
- this.libLoader = this.loadLibs();
87
- }
88
- static extractMatch(indexHtml, regExp, error) {
89
- const match = indexHtml.match(regExp);
90
- if (match == null || match.length !== 2) {
91
- if (error != null)
92
- throw new Error(error);
93
- else
94
- return "";
95
- }
96
- const token = match[1];
97
- return token;
98
- }
99
- getBuildVersion() {
100
- return this.buildVersion;
101
- }
102
- getBuildTimestamp() {
103
- return this.buildTimestamp;
104
- }
105
- loadLibsAndInitialize(options) {
106
- const { uid, container, appType, resizingContainer } = options;
107
- const loader = this.loadLibs();
108
- return loader.then((starter) => {
109
- return new Promise((resolve, reject) => {
110
- const start = performance.now();
111
- starter(Object.assign(Object.assign({}, options), { uid, appType: appType !== null && appType !== void 0 ? appType : "viewer", container,
112
- resizingContainer, callback: (reporting) => {
113
- const timeDiff = Math.round(performance.now() - start);
114
- console.log("[Loader] (div) loadLibsAndInitialize completed in " + timeDiff + " ms.");
115
- resolve(reporting);
116
- } }));
117
- });
118
- }).catch(reason => Promise.reject(reason));
119
- }
120
- /**
121
- * First step load main.js, associated chunks
122
- */
123
- loadLibs() {
124
- if (this.libLoader == null) {
125
- const wnd = window;
126
- const start = performance.now();
127
- this.libLoader = fetch(this.urlAppIndexHtml, { cache: 'no-cache' })
128
- .then(response => {
129
- if (!response.ok) {
130
- throw new Error(response.status + ":" + response.statusText + " (" + response.url + ")");
131
- }
132
- return response.text();
133
- }).then(indexHtml => {
134
- if (indexHtml.indexOf("ic3-reporting-application") === -1) {
135
- throw new Error("[Loader] unexpected content in index.html (possibly not logged?)");
136
- }
137
- // CSRF code.
138
- //
139
- // The server might have been configured with csrfOff=true meaning we should not fail here.
140
- // Plus that token value is more or less sent (not clear in the server code). So let's use
141
- // the value we get (anyway an error will be generated later => guess it's fine).
142
- {
143
- const token = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.crfCodeRE);
144
- token && (wnd['ic3_CSRF_token'] = token);
145
- }
146
- // Webpack entry point (main.js) cache busting key
147
- const cacheKey = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.mainJsCacheKeyRE, "[Loader] missing main.js cache key from index.html");
148
- // Build information
149
- this.buildVersion = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.buildVersionRE);
150
- this.buildTimestamp = DashboardsLoaderDivContext.extractMatch(indexHtml, DashboardsLoaderDivContext.buildTimestampRE);
151
- const scriptUrl = this.urlAppMainJS + (!this.urlAppMainJS.includes("?") ? "?" : "&") + cacheKey;
152
- // Load Webpack entry point: main.js
153
- console.log("[Loader] (div) start loading library [version:" + this.buildVersion + "] [build:" + this.buildTimestamp + "]");
154
- wnd["__ic3_div_embedded__"] = true;
155
- wnd["__ic3_div_webpack_public_path__"] = this.urlAppPublicPath;
156
- wnd["__ic3_div_custom_headers__"] = this.customHeaders;
157
- wnd["__ic3_div_configuration__"] = this.configuration;
158
- wnd["__ic3_div_app_path__"] = this.urlApp;
159
- wnd["__ic3_div_app_local_path__"] = this.urlAppLocal;
160
- wnd["__ic3_div_app_doc_path__"] = this.urlAppDoc;
161
- wnd["__ic3_div_app_doc_ex_path__"] = this.urlAppDocEx;
162
- wnd["__ic3_div_app_datasource_path__"] = this.urlAppDataSource;
163
- {
164
- // embedding a previous version
165
- wnd["__ic3_embedded__"] = true;
166
- wnd["__ic3__webpack_public_path__"] = this.urlAppPublicPath;
167
- }
168
- return DashboardsLoaderDivContext.loadScript(scriptUrl).catch(reason => Promise.reject("[Loader] error while loading the main.js script : " + scriptUrl));
169
- }).then(() => {
170
- console.log("[Loader] (div) main.js loaded in " + Math.round(performance.now() - start) + " ms");
171
- let count = 0;
172
- return new Promise((resolve, reject) => {
173
- // Busy wait till icCube has loaded all initial Webpack chunks and initialized itself.
174
- (function waitUtil() {
175
- if (wnd["__ic3_div_embedded_starter__"] !== undefined) {
176
- const timeDiff = Math.round(performance.now() - start);
177
- console.log("[Loader] (div) scripts ready in " + timeDiff + " ms");
178
- resolve(wnd["__ic3_div_embedded_starter__"]);
179
- }
180
- else {
181
- if (count++ === 4) {
182
- console.log("[Loader] (div) scripts : waiting for icCube initialized");
183
- count = 0;
184
- }
185
- setTimeout(waitUtil, 250);
186
- }
187
- })();
188
- });
189
- }).catch(reason => { var _a; return Promise.reject((_a = reason.message) !== null && _a !== void 0 ? _a : reason); });
190
- }
191
- return this.libLoader;
192
- }
193
- }
194
- exports.DashboardsLoaderDivContext = DashboardsLoaderDivContext;
195
- DashboardsLoaderDivContext.crfCodeRE = /ic3_CSRF_token = "(.*)"/;
196
- DashboardsLoaderDivContext.mainJsCacheKeyRE = /main\.js\?(.*)">/;
197
- DashboardsLoaderDivContext.buildVersionRE = /ic3_build_version = "(.*)"/;
198
- DashboardsLoaderDivContext.buildTimestampRE = /ic3_build_timestamp = "(.*)"/;
199
- DashboardsLoaderDivContext.loadScript = (src) => {
200
- return new Promise((resolve, reject) => {
201
- const script = document.createElement('script');
202
- script.type = 'text/javascript';
203
- script.onload = resolve;
204
- script.onerror = reject;
205
- script.src = src;
206
- document.head.append(script);
207
- });
208
- };
209
- //# sourceMappingURL=Loader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":"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"}