@ic3/reporting-api 8.0.0-rc.3 → 8.0.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 (124) hide show
  1. package/dist/ApiUtils.d.ts +46 -8
  2. package/dist/ApiUtils.js +37 -21
  3. package/dist/ApiUtils.js.map +1 -1
  4. package/dist/INotification.d.ts +29 -8
  5. package/dist/IPluginDefinition.d.ts +9 -0
  6. package/dist/IReporting.d.ts +16 -4
  7. package/dist/IThemeManager.d.ts +14 -13
  8. package/dist/IThemeManager.js.map +1 -1
  9. package/dist/ITypes.d.ts +25 -0
  10. package/dist/ITypes.js +31 -0
  11. package/dist/ITypes.js.map +1 -0
  12. package/dist/IWidgetManager.d.ts +5 -2
  13. package/dist/LazyTreeView.d.ts +6 -1
  14. package/dist/Loader.d.ts +9 -0
  15. package/dist/Loader.js +10 -2
  16. package/dist/Loader.js.map +1 -1
  17. package/dist/PublicContext.d.ts +2 -1
  18. package/dist/PublicLayout.d.ts +7 -23
  19. package/dist/PublicTemplate.d.ts +95 -35
  20. package/dist/PublicTemplate.js +1 -10
  21. package/dist/PublicTemplate.js.map +1 -1
  22. package/dist/PublicTemplateForm.d.ts +124 -15
  23. package/dist/PublicTemplateForm.js +1 -9
  24. package/dist/PublicTemplateForm.js.map +1 -1
  25. package/dist/PublicTemplates.d.ts +61 -0
  26. package/dist/{theme/ThemeGoogleMapMarker.js → PublicTemplates.js} +1 -1
  27. package/dist/PublicTemplates.js.map +1 -0
  28. package/dist/PublicTheme.d.ts +112 -75
  29. package/dist/PublicTheme.js.map +1 -1
  30. package/dist/PublicTidyColumn.d.ts +29 -9
  31. package/dist/PublicTidyColumn.js.map +1 -1
  32. package/dist/PublicTidyHistogram.d.ts +38 -0
  33. package/dist/PublicTidyHistogram.js +6 -1
  34. package/dist/PublicTidyHistogram.js.map +1 -1
  35. package/dist/PublicTidyTable.d.ts +36 -18
  36. package/dist/PublicTidyTableInteractions.d.ts +19 -2
  37. package/dist/PublicTidyTableTypes.d.ts +28 -8
  38. package/dist/PublicTidyTableTypes.js +18 -1
  39. package/dist/PublicTidyTableTypes.js.map +1 -1
  40. package/dist/PublicTidyTree.d.ts +13 -3
  41. package/dist/PublicTidyTree.js +19 -13
  42. package/dist/PublicTidyTree.js.map +1 -1
  43. package/dist/index.d.ts +24 -0
  44. package/dist/index.js +29 -1
  45. package/dist/index.js.map +1 -1
  46. package/dist/theme/ThemeAmCharts4.d.ts +1346 -0
  47. package/dist/theme/ThemeAmCharts4.js +61 -0
  48. package/dist/theme/ThemeAmCharts4.js.map +1 -0
  49. package/dist/theme/ThemeApp.d.ts +11 -11
  50. package/dist/theme/ThemeApp.js +40 -0
  51. package/dist/theme/ThemeApp.js.map +1 -1
  52. package/dist/theme/ThemeBaseTable.d.ts +94 -0
  53. package/dist/theme/ThemeBaseTable.js +10 -0
  54. package/dist/theme/ThemeBaseTable.js.map +1 -0
  55. package/dist/theme/ThemeDatePicker.d.ts +111 -0
  56. package/dist/theme/ThemeDatePicker.js +3 -0
  57. package/dist/theme/ThemeDatePicker.js.map +1 -0
  58. package/dist/theme/ThemeEmbeddedReport.d.ts +25 -0
  59. package/dist/theme/ThemeEmbeddedReport.js +3 -0
  60. package/dist/theme/ThemeEmbeddedReport.js.map +1 -0
  61. package/dist/theme/ThemeFilter.d.ts +28 -0
  62. package/dist/theme/ThemeFilter.js +3 -0
  63. package/dist/theme/ThemeFilter.js.map +1 -0
  64. package/dist/theme/ThemeFilterAutocomplete.d.ts +31 -15
  65. package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
  66. package/dist/theme/ThemeFilterButtons.d.ts +40 -19
  67. package/dist/theme/ThemeFilterButtons.js.map +1 -1
  68. package/dist/theme/ThemeFilterCheckboxRadio.d.ts +48 -0
  69. package/dist/theme/ThemeFilterCheckboxRadio.js +23 -0
  70. package/dist/theme/ThemeFilterCheckboxRadio.js.map +1 -0
  71. package/dist/theme/ThemeFilterPanel.d.ts +84 -0
  72. package/dist/theme/ThemeFilterPanel.js +35 -0
  73. package/dist/theme/ThemeFilterPanel.js.map +1 -0
  74. package/dist/theme/ThemeFilterSlider.d.ts +42 -28
  75. package/dist/theme/ThemeFilterSlider.js +7 -7
  76. package/dist/theme/ThemeFilterSlider.js.map +1 -1
  77. package/dist/theme/ThemeFilterTree.d.ts +60 -30
  78. package/dist/theme/ThemeFilterTree.js.map +1 -1
  79. package/dist/theme/ThemeGoogle.d.ts +132 -0
  80. package/dist/theme/ThemeGoogle.js +64 -0
  81. package/dist/theme/ThemeGoogle.js.map +1 -0
  82. package/dist/theme/ThemeGoogleHeatMap.d.ts +58 -0
  83. package/dist/theme/ThemeGoogleHeatMap.js +3 -0
  84. package/dist/theme/ThemeGoogleHeatMap.js.map +1 -0
  85. package/dist/theme/ThemeGoogleKmlLayer.d.ts +40 -0
  86. package/dist/theme/ThemeGoogleKmlLayer.js +3 -0
  87. package/dist/theme/ThemeGoogleKmlLayer.js.map +1 -0
  88. package/dist/theme/ThemeGoogleMarker.d.ts +147 -0
  89. package/dist/theme/ThemeGoogleMarker.js +3 -0
  90. package/dist/theme/ThemeGoogleMarker.js.map +1 -0
  91. package/dist/theme/ThemeHtmlBox.d.ts +5 -1
  92. package/dist/theme/ThemeImage.d.ts +19 -0
  93. package/dist/theme/ThemeImage.js +3 -0
  94. package/dist/theme/ThemeImage.js.map +1 -0
  95. package/dist/theme/ThemeKpiBox.d.ts +46 -0
  96. package/dist/theme/ThemeKpiBox.js +3 -0
  97. package/dist/theme/ThemeKpiBox.js.map +1 -0
  98. package/dist/theme/ThemeKpiCard.d.ts +98 -0
  99. package/dist/theme/ThemeKpiCard.js +3 -0
  100. package/dist/theme/ThemeKpiCard.js.map +1 -0
  101. package/dist/theme/ThemeMarkdownText.d.ts +27 -0
  102. package/dist/theme/ThemeMarkdownText.js +3 -0
  103. package/dist/theme/ThemeMarkdownText.js.map +1 -0
  104. package/dist/theme/ThemePivotTable.d.ts +68 -0
  105. package/dist/theme/ThemePivotTable.js +10 -1
  106. package/dist/theme/ThemePivotTable.js.map +1 -1
  107. package/dist/theme/ThemeRepetitionWidget.d.ts +51 -0
  108. package/dist/theme/ThemeRepetitionWidget.js +3 -0
  109. package/dist/theme/ThemeRepetitionWidget.js.map +1 -0
  110. package/dist/theme/ThemeReportAppLeftPanel.d.ts +7 -0
  111. package/dist/theme/ThemeReportAppLeftPanel.js +11 -0
  112. package/dist/theme/ThemeReportAppLeftPanel.js.map +1 -0
  113. package/dist/theme/ThemeTable.d.ts +155 -2
  114. package/dist/theme/ThemeTable.js +165 -1
  115. package/dist/theme/ThemeTable.js.map +1 -1
  116. package/dist/theme/ThemeWidgetBox.d.ts +69 -0
  117. package/dist/theme/ThemeWidgetBox.js +29 -1
  118. package/dist/theme/ThemeWidgetBox.js.map +1 -1
  119. package/package.json +6 -6
  120. package/dist/theme/ThemeFilterCheckboxes.d.ts +0 -18
  121. package/dist/theme/ThemeFilterCheckboxes.js +0 -11
  122. package/dist/theme/ThemeFilterCheckboxes.js.map +0 -1
  123. package/dist/theme/ThemeGoogleMapMarker.d.ts +0 -51
  124. package/dist/theme/ThemeGoogleMapMarker.js.map +0 -1
@@ -1,6 +1,41 @@
1
1
  import { IPluginDefinition } from "./IPluginDefinition";
2
2
  import { IVersionedPluginDefinition } from "./IVersionedPluginDefinition";
3
- import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
3
+ import { FormFieldObject } from "./PublicTemplateForm";
4
+ import { IPublicWidgetJsTemplateDefinition, IPublicWidgetTemplateDefinition, IWrappedWidgetTemplateDefinition } from "./PublicTemplate";
5
+ import { WidgetTemplateIDs } from "./PublicTemplates";
6
+ export interface AmCharts4WrappedDefinition<WIDGET extends WidgetTemplateIDs> {
7
+ /**
8
+ * Some free text used while registering the wrapper (e.g., error purpose).
9
+ */
10
+ readonly registrationInfo: string;
11
+ /**
12
+ * e.g., amCharts4.AmCharts4DonutChart
13
+ */
14
+ readonly wrappedWidgetTemplateId: WIDGET;
15
+ /**
16
+ * New overall meta-information (e.g., id, groupId, image, etc...).
17
+ */
18
+ readonly props: Partial<IPublicWidgetTemplateDefinition<FormFieldObject>>;
19
+ /**
20
+ * Meta-information for the editing of the widget options as well as the actual processing of those options
21
+ * (i.e., AmCharts 4 chart configuration). Lazy-loaded (and the underlying AmCharts 4 library) once required.
22
+ *
23
+ * <pre>
24
+ * export default {
25
+ *
26
+ * hookChartOptionsMeta: () => {
27
+ * ...
28
+ * },
29
+ *
30
+ * hookChartOptions: () => {
31
+ * ...
32
+ * },
33
+ *
34
+ * }
35
+ * </pre>
36
+ */
37
+ readonly hooks: Promise<any>;
38
+ }
4
39
  export declare class ApiUtils {
5
40
  /**
6
41
  * Define the form field as being localized.
@@ -8,12 +43,15 @@ export declare class ApiUtils {
8
43
  static readonly TAG_I18N_FIELD = "ic3t_";
9
44
  static makePlugin(definition: IPluginDefinition): () => IVersionedPluginDefinition;
10
45
  /**
11
- * Wrap the template from another widget. The widget can come from a plugin or from the included widgets.
12
- * Wrapping means that the template receives its not-defined settings from the template that is wrapped.
13
- * @param wrappedTemplateId the unique identifier of the template, e.g., amCharts4.AmCharts4DonutChart.
14
- * @param newDefinition definition of the new widget.
15
- * @param transformOptions create the available options using the options from the wrapped template.
46
+ * A helper method to create a widget template using the resolveDefinition method.
47
+ * Webpack lazy load of dependencies.
48
+ *
49
+ * @see IPublicWidgetJsTemplateDefinition#resolveDefinition
50
+ */
51
+ static createLazyJsWidgetTemplateDefinition<OPTIONS extends FormFieldObject>(definition: Omit<IPublicWidgetJsTemplateDefinition<OPTIONS>, "jsCode">): IPublicWidgetJsTemplateDefinition<OPTIONS>;
52
+ static resolveAmCharts4WidgetTemplateDefinition<OPTIONS extends FormFieldObject>(definition: IPublicWidgetTemplateDefinition<OPTIONS>, wrapped: IPublicWidgetTemplateDefinition<any>): IPublicWidgetTemplateDefinition<OPTIONS>;
53
+ /**
54
+ * A utility function creating a wrapper widget template definition for existing AmCharts 4 widgets.
16
55
  */
17
- static makeWidgetTemplateWrapper<T extends IPublicWidgetTemplateDefinition<any>>(wrappedTemplateId: string, newDefinition: T, transformOptions?: (old: T['chartOptionsMeta']) => void): T;
18
- private static resolveTemplateDefinition;
56
+ static makeAmCharts4WrappedWidgetTemplateDefinition<WIDGET extends WidgetTemplateIDs>(props: AmCharts4WrappedDefinition<WIDGET>): IWrappedWidgetTemplateDefinition<WIDGET>;
19
57
  }
package/dist/ApiUtils.js CHANGED
@@ -8,32 +8,48 @@ 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.0.0-rc.3" || "-", "Fri, 21 Jan 2022 09:28:37 GMT" || "-") }, definition);
11
+ return Object.assign({ apiVersion: new ReportingVersion_1.default("8.0.1" || "-", "Fri, 22 Apr 2022 04:03:44 GMT" || "-") }, definition);
12
12
  };
13
13
  }
14
14
  /**
15
- * Wrap the template from another widget. The widget can come from a plugin or from the included widgets.
16
- * Wrapping means that the template receives its not-defined settings from the template that is wrapped.
17
- * @param wrappedTemplateId the unique identifier of the template, e.g., amCharts4.AmCharts4DonutChart.
18
- * @param newDefinition definition of the new widget.
19
- * @param transformOptions create the available options using the options from the wrapped template.
15
+ * A helper method to create a widget template using the resolveDefinition method.
16
+ * Webpack lazy load of dependencies.
17
+ *
18
+ * @see IPublicWidgetJsTemplateDefinition#resolveDefinition
20
19
  */
21
- static makeWidgetTemplateWrapper(wrappedTemplateId, newDefinition, transformOptions) {
22
- return Object.assign(Object.assign({}, newDefinition), { resolveDefinition: function (lib) {
23
- const self = newDefinition;
24
- return lib.wrapTemplateDefinition(wrappedTemplateId)
25
- .then(definition => ApiUtils.resolveTemplateDefinition(self, definition, transformOptions));
26
- }, jsCode: () => {
27
- throw Error("Wrapped widget template " + wrappedTemplateId + ": unexpected jsCode() call!");
28
- } });
20
+ static createLazyJsWidgetTemplateDefinition(definition) {
21
+ return Object.assign(Object.assign({}, definition), { jsCode: (context, container) => {
22
+ throw new Error("JS Lazy: unexpected jsCode() call!");
23
+ }, reactComponent: false, withDrilldownPivotTableLikeAs: false });
29
24
  }
30
- static resolveTemplateDefinition(self, definition, transformOptions) {
31
- const newTemplate = Object.assign(Object.assign(Object.assign({}, definition), self), { resolveDefinition: undefined });
32
- // TODO (tom) use deepClone for the optionsMeta.
33
- if (transformOptions != null) {
34
- transformOptions(newTemplate.chartOptionsMeta);
35
- }
36
- return newTemplate;
25
+ static resolveAmCharts4WidgetTemplateDefinition(definition, wrapped) {
26
+ return Object.assign(Object.assign(Object.assign({}, wrapped), definition), { resolveDefinition: undefined, jsCode: wrapped.jsCode });
27
+ }
28
+ /**
29
+ * A utility function creating a wrapper widget template definition for existing AmCharts 4 widgets.
30
+ */
31
+ static makeAmCharts4WrappedWidgetTemplateDefinition(props) {
32
+ return {
33
+ registrationInfo: props.registrationInfo,
34
+ wrappedWidgetTemplateId: props.wrappedWidgetTemplateId,
35
+ wrapper: (wrapped) => {
36
+ return Object.assign(Object.assign(Object.assign({}, wrapped /* unresolved */), props.props /* e.g., id, groupId, etc... */), {
37
+ /**
38
+ * amCharts 4 widgets are loading the amCharts 4 Javascript library on the fly.
39
+ *
40
+ * This extended widget has to use the resolveDefinition() mechanism as well to be able to re-use
41
+ * the lazy-loaded jsCode (widgets are implemented as IPublicWidgetJsTemplateDefinition).
42
+ */
43
+ resolveDefinition: function (wrappedR) {
44
+ const wrappedResolved = ApiUtils.resolveAmCharts4WidgetTemplateDefinition(this, wrappedR);
45
+ return new Promise((resolve, reject) => {
46
+ props.hooks.then(definition => resolve(Object.assign(Object.assign({}, wrappedResolved), {
47
+ // our (lazy-loaded) widget meta-information and options hook.
48
+ chartOptionsMeta: definition.default.hookChartOptionsMeta(wrappedResolved.chartOptionsMeta), hookChartOptions: definition.default.hookChartOptions }))).catch(err => reject(err));
49
+ });
50
+ } });
51
+ }
52
+ };
37
53
  }
38
54
  }
39
55
  exports.ApiUtils = ApiUtils;
@@ -1 +1 @@
1
- {"version":3,"file":"ApiUtils.js","sourceRoot":"","sources":["../src/ApiUtils.ts"],"names":[],"mappings":";;;;;;AAEA,0EAAkD;AAGlD,MAAa,QAAQ;IAOjB,MAAM,CAAC,UAAU,CAAC,UAA6B;QAE3C,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;;;;;;OAMG;IACH,MAAM,CAAC,yBAAyB,CAC5B,iBAAyB,EAAE,aAAgB,EAAE,gBAAuD;QAEpG,uCAGO,aAAa,KAEhB,iBAAiB,EAAE,UAAU,GAA8B;gBACvD,MAAM,IAAI,GAAG,aAAa,CAAC;gBAC3B,OAAO,GAAG,CAAC,sBAAsB,CAAC,iBAAiB,CAAC;qBAC/C,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,QAAQ,CAAC,yBAAyB,CAAC,IAAI,EAAE,UAAU,EAAE,gBAAgB,CAAC,CAAC,CAAA;YACnG,CAAC,EAED,MAAM,EAAE,GAAG,EAAE;gBACT,MAAM,KAAK,CAAC,0BAA0B,GAAG,iBAAiB,GAAG,6BAA6B,CAAC,CAAC;YAChG,CAAC,IAEJ;IACL,CAAC;IAEO,MAAM,CAAC,yBAAyB,CACpC,IAAO,EAAE,UAAgD,EAAE,gBAAuD;QAElH,MAAM,WAAW,iDAAO,UAAU,GAAK,IAAI,KAAE,iBAAiB,EAAE,SAAS,GAAC,CAAC;QAC3E,gDAAgD;QAChD,IAAI,gBAAgB,IAAI,IAAI,EAAE;YAC1B,gBAAgB,CAAC,WAAW,CAAC,gBAAgB,CAAC,CAAC;SAClD;QACD,OAAO,WAAW,CAAC;IACvB,CAAC;;AA9DL,4BAgEC;AA9DG;;GAEG;AACoB,uBAAc,GAAG,OAAO,CAAC"}
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,OAAO,IAAI,GAAG,EACd,+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"}
@@ -1,4 +1,5 @@
1
- export declare type AppNotificationType = "edit-report" | "print-report-dialog" | "print-report";
1
+ import { PaperOrientation, PaperSizeName } from "./ITypes";
2
+ export declare type AppNotificationType = "edit-report" | "print-report-dialog" | "print-report" | "print-report-without-state" | "print-report-in-browser" | "save-state-to-localstorage" | "restore-state-from-localstorage" | "save-ownprops-to-localstorage" | "restore-ownprops-from-localstorage";
2
3
  export interface IAppNotification {
3
4
  /**
4
5
  * E.g., print-report.
@@ -18,15 +19,35 @@ export interface IAppNotificationWithPayload<PAYLOAD> extends IAppNotification {
18
19
  export interface AppEditReportNotification extends IAppNotification {
19
20
  readonly type: "edit-report";
20
21
  }
21
- export interface AppPrintReportDialogNotification extends IAppNotification {
22
- readonly type: "print-report-dialog";
23
- }
24
22
  export interface AppPrintReportNotificationPayload {
25
23
  fileName?: string;
26
- paperSizeName?: "A5" | "A4" | "A3" | "B5" | "B4" | "Letter" | "Legal" | "Ledger" | "JIS-B5" | "JIS-B4";
27
- layout?: "portrait" | "landscape";
24
+ paperSizeName?: PaperSizeName;
25
+ layout?: PaperOrientation;
26
+ }
27
+ export interface IAppPrintReportNotification extends IAppNotificationWithPayload<AppPrintReportNotificationPayload> {
28
28
  }
29
- export interface AppPrintReportNotification extends IAppNotificationWithPayload<AppPrintReportNotificationPayload> {
29
+ export interface AppPrintReportNotification extends IAppPrintReportNotification {
30
30
  readonly type: "print-report";
31
31
  }
32
- export declare type AppNotification = AppEditReportNotification | AppPrintReportDialogNotification | AppPrintReportNotification;
32
+ export interface AppPrintReportWithoutStateNotification extends IAppPrintReportNotification {
33
+ readonly type: "print-report-without-state";
34
+ }
35
+ export interface AppPrintReportInBrowserNotification extends IAppPrintReportNotification {
36
+ readonly type: "print-report-in-browser";
37
+ }
38
+ export interface AppPrintReportDialogNotification extends IAppNotification {
39
+ readonly type: "print-report-dialog";
40
+ }
41
+ export interface SaveStateToLocalStorageNotification extends IAppNotification {
42
+ readonly type: "save-state-to-localstorage";
43
+ }
44
+ export interface RestoreStateFromLocalStorageNotification extends IAppNotification {
45
+ readonly type: "restore-state-from-localstorage";
46
+ }
47
+ export interface SaveOwnPropsToLocalStorageNotification extends IAppNotification {
48
+ readonly type: "save-ownprops-to-localstorage";
49
+ }
50
+ export interface RestoreOwnPropsFromLocalStorageNotification extends IAppNotification {
51
+ readonly type: "restore-ownprops-from-localstorage";
52
+ }
53
+ export declare type AppNotification = AppEditReportNotification | AppPrintReportDialogNotification | AppPrintReportNotification | AppPrintReportWithoutStateNotification | AppPrintReportInBrowserNotification | SaveStateToLocalStorageNotification | RestoreStateFromLocalStorageNotification | SaveOwnPropsToLocalStorageNotification | RestoreOwnPropsFromLocalStorageNotification;
@@ -4,6 +4,9 @@ import { IWidgetManager } from "./IWidgetManager";
4
4
  import { ITidyTableTransformationManager } from "./ITidyTableTransformationManager";
5
5
  import { IWidgetDefaultsManager } from "./IWidgetDefaultsManager";
6
6
  import { Theme } from "@mui/material/styles";
7
+ import { WidgetTemplateIDs } from "./PublicTemplates";
8
+ import { FormFieldObject } from "./PublicTemplateForm";
9
+ import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
7
10
  export interface IPluginDefinition {
8
11
  /**
9
12
  * Keep that id simple (i.e., ASCII letter without any dot, space, separator, etc...) as it will be used
@@ -21,4 +24,10 @@ export interface IPluginDefinition {
21
24
  registerWidgets?: (manager: IWidgetManager) => void;
22
25
  registerTidyTableTransformations?: (manager: ITidyTableTransformationManager) => void;
23
26
  registerWidgetDefaults?: (theme: Theme, manager: IWidgetDefaultsManager) => void;
27
+ /**
28
+ * Allows for selecting the available widgets.
29
+ *
30
+ * @param id pluginId.widgetId (e.g., ic3.Table)
31
+ */
32
+ acceptWidget?: (id: WidgetTemplateIDs | string, widget: IPublicWidgetTemplateDefinition<FormFieldObject>) => boolean;
24
33
  }
@@ -7,6 +7,8 @@ export interface IReportDefinition {
7
7
  setDefaultSchemaName(name: string): void;
8
8
  getDefaultCubeName(): string | undefined;
9
9
  setDefaultCubeName(name: string): void;
10
+ getThemeUID(): string;
11
+ setThemeUID(uid: string): void;
10
12
  }
11
13
  export interface IReportAppDefinition {
12
14
  }
@@ -69,20 +71,30 @@ export interface IOpenReportAppOptions {
69
71
  export interface IReporting {
70
72
  getVersion(): ReportingVersion;
71
73
  /**
72
- * @param options
74
+ * @param options path, ...
73
75
  * @param pushToHistory defaulted to true
74
- * @param keepGlobalFilter defaulted to true
76
+ * @param keepGlobalFilter defaulted to false
77
+ *
78
+ * @see IOpenReportOptions#onDefinition
75
79
  */
76
80
  openReport(options: IOpenReportOptions, pushToHistory?: boolean, keepGlobalFilter?: boolean): void;
77
81
  /**
78
- * @param options
82
+ * @param options path, ...
79
83
  * @param pushToHistory defaulted to true
84
+ *
85
+ * @see IOpenReportOptions#onDefinition
80
86
  */
81
87
  openReportApp(options: IOpenReportAppOptions, pushToHistory?: boolean): void;
88
+ /**
89
+ * Publish a widget event to the dashboard.
90
+ */
82
91
  fireEvent(eventName: string, value: IEventContent | null): void;
92
+ /**
93
+ * Subscribe to a widget event.
94
+ */
83
95
  onEvent(eventName: string, callback: (value: IEventContent | null) => void): void;
84
96
  /**
85
- * e.g., print-report
97
+ * Publish a application notification (e.g., print-report).
86
98
  */
87
99
  fireAppNotification(notification: AppNotification): void;
88
100
  }
@@ -1,35 +1,34 @@
1
1
  import { CSSInterpolation } from "@mui/system";
2
+ import { ic3Components } from "./PublicTheme";
2
3
  export declare enum EmbeddedThemeNames {
3
4
  Statos = "ic3-statos"
4
5
  }
5
6
  /**
6
- * Default values (e.g., box options, chart options, etc..).
7
+ * Default values (e.g., box options, chart options, etc...).
7
8
  */
8
9
  export interface IThemeWidgetDefaults {
9
10
  /**
10
- * Default values for widget boxes.
11
+ * Default values for widget boxes. Lookup order:
11
12
  *
12
13
  * <pre>
13
- * IWidgetBoxDefinition
14
+ * plugin-id.template-id.option
15
+ * plugin-id.option
16
+ * option
14
17
  * </pre>
18
+ *
19
+ * @see WidgetBoxOptions (ThemeWidgetBox.ts)
15
20
  */
16
21
  box?: Record<string, any>;
17
22
  /**
18
- * Default values for widget chart options.
19
- *
20
- * <pre>
21
- * IWidgetDefinition
22
- * dataRenderOptions: IWidgetDataRenderDefinition
23
- * chartOptions: IChartTemplateDataRenderDefinition
24
- * </pre>
25
- *
26
- * Lookup order:
23
+ * Default values for widget chart options. Lookup order:
27
24
  *
28
25
  * <pre>
29
26
  * plugin-id.template-id.option
30
27
  * plugin-id.option
31
28
  * option
32
29
  * </pre>
30
+ *
31
+ * @see IWidgetTemplateChartOptions (PublicTemplates.ts)
33
32
  */
34
33
  options?: Record<string, any>;
35
34
  }
@@ -50,8 +49,10 @@ export declare type IThemeWidgetVariant = {
50
49
  };
51
50
  export interface IThemeManager {
52
51
  /**
52
+ *
53
53
  * The theme decorator allows to setup the Theme.components and Theme.ic3 using the theme
54
54
  * created from its partial options (e.g., using palette, typography, spacing, etc...)
55
+ *
55
56
  */
56
- registerTheme(themeOptions: any, themeDecorator?: (theme: any) => void, baseTheme?: EmbeddedThemeNames): void;
57
+ registerTheme(themeOptions: any, themeDecorator?: (theme: any) => ic3Components, baseTheme?: EmbeddedThemeNames): void;
57
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"IThemeManager.js","sourceRoot":"","sources":["../src/IThemeManager.ts"],"names":[],"mappings":";;;AAEA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAE1B,2CAAqB,CAAA;AAEzB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
1
+ {"version":3,"file":"IThemeManager.js","sourceRoot":"","sources":["../src/IThemeManager.ts"],"names":[],"mappings":";;;AAGA,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAE1B,2CAAqB,CAAA;AAEzB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B"}
@@ -0,0 +1,25 @@
1
+ export declare type PaperSizeName = "A5" | "A4" | "A3" | "B5" | "B4" | "Letter" | "Legal" | "Ledger" | "JIS-B5" | "JIS-B4";
2
+ export declare type PaperOrientation = "portrait" | "landscape";
3
+ export declare type PaperSizeUnits = "px" | "mm" | "cm" | "in";
4
+ export declare enum CompareTextInterpretationType {
5
+ MORE = "more=better",
6
+ LESS = "less=better",
7
+ NONE = "none"
8
+ }
9
+ export declare enum TargetTextPosition {
10
+ DISABLE = "DISABLE",
11
+ ALIGN_TOP = "ALIGN_TOP",
12
+ ALIGN_BOTTOM = "ALIGN_BOTTOM"
13
+ }
14
+ export declare enum TargetTextIconSet {
15
+ TREND_ICONS = "TREND_ICONS",
16
+ TRIANGLE_ICONS = "TRIANGLE_ICONS"
17
+ }
18
+ export declare enum SparkChartType {
19
+ LINE = "line",
20
+ COLUMN = "column"
21
+ }
22
+ export declare enum SparklinePosition {
23
+ BELOW_VALUE = "BELOW_VALUE",
24
+ RIGHT_OF_VALUE = "RIGHT_OF_VALUE"
25
+ }
package/dist/ITypes.js ADDED
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SparklinePosition = exports.SparkChartType = exports.TargetTextIconSet = exports.TargetTextPosition = exports.CompareTextInterpretationType = void 0;
4
+ var CompareTextInterpretationType;
5
+ (function (CompareTextInterpretationType) {
6
+ CompareTextInterpretationType["MORE"] = "more=better";
7
+ CompareTextInterpretationType["LESS"] = "less=better";
8
+ CompareTextInterpretationType["NONE"] = "none";
9
+ })(CompareTextInterpretationType = exports.CompareTextInterpretationType || (exports.CompareTextInterpretationType = {}));
10
+ var TargetTextPosition;
11
+ (function (TargetTextPosition) {
12
+ TargetTextPosition["DISABLE"] = "DISABLE";
13
+ TargetTextPosition["ALIGN_TOP"] = "ALIGN_TOP";
14
+ TargetTextPosition["ALIGN_BOTTOM"] = "ALIGN_BOTTOM";
15
+ })(TargetTextPosition = exports.TargetTextPosition || (exports.TargetTextPosition = {}));
16
+ var TargetTextIconSet;
17
+ (function (TargetTextIconSet) {
18
+ TargetTextIconSet["TREND_ICONS"] = "TREND_ICONS";
19
+ TargetTextIconSet["TRIANGLE_ICONS"] = "TRIANGLE_ICONS";
20
+ })(TargetTextIconSet = exports.TargetTextIconSet || (exports.TargetTextIconSet = {}));
21
+ var SparkChartType;
22
+ (function (SparkChartType) {
23
+ SparkChartType["LINE"] = "line";
24
+ SparkChartType["COLUMN"] = "column";
25
+ })(SparkChartType = exports.SparkChartType || (exports.SparkChartType = {}));
26
+ var SparklinePosition;
27
+ (function (SparklinePosition) {
28
+ SparklinePosition["BELOW_VALUE"] = "BELOW_VALUE";
29
+ SparklinePosition["RIGHT_OF_VALUE"] = "RIGHT_OF_VALUE";
30
+ })(SparklinePosition = exports.SparklinePosition || (exports.SparklinePosition = {}));
31
+ //# sourceMappingURL=ITypes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ITypes.js","sourceRoot":"","sources":["../src/ITypes.ts"],"names":[],"mappings":";;;AAIA,IAAY,6BAIX;AAJD,WAAY,6BAA6B;IACrC,qDAAoB,CAAA;IACpB,qDAAoB,CAAA;IACpB,8CAAa,CAAA;AACjB,CAAC,EAJW,6BAA6B,GAA7B,qCAA6B,KAA7B,qCAA6B,QAIxC;AAED,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,yCAAmB,CAAA;IACnB,6CAAuB,CAAA;IACvB,mDAA6B,CAAA;AACjC,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,gDAA2B,CAAA;IAC3B,sDAAiC,CAAA;AACrC,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B;AAED,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACrB,CAAC,EAHW,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAGzB;AAED,IAAY,iBAGX;AAHD,WAAY,iBAAiB;IACzB,gDAA2B,CAAA;IAC3B,sDAAiC,CAAA;AACrC,CAAC,EAHW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAG5B"}
@@ -1,4 +1,7 @@
1
- import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
1
+ import { IPublicWidgetTemplateDefinition, IWrappedWidgetTemplateDefinition } from "./PublicTemplate";
2
+ import { WidgetTemplateIDs } from "./PublicTemplates";
3
+ import { FormFieldObject } from "./PublicTemplateForm";
2
4
  export interface IWidgetManager {
3
- registerWidget(widget: IPublicWidgetTemplateDefinition<any>): void;
5
+ registerWidget<OPTIONS extends FormFieldObject>(widget: IPublicWidgetTemplateDefinition<OPTIONS>): void;
6
+ registerWrappedWidget<WIDGET extends WidgetTemplateIDs>(widget: IWrappedWidgetTemplateDefinition<WIDGET>): void;
4
7
  }
@@ -65,6 +65,7 @@ export interface ILazyTreeViewLoader {
65
65
  * Controlled properties of LazyTreeView (doesn't has to be lazy)
66
66
  */
67
67
  export interface LazyTreeViewProps {
68
+ logId: string;
68
69
  lazyLoader: ILazyTreeViewLoader;
69
70
  allowEmptySelection?: boolean;
70
71
  /**
@@ -98,9 +99,13 @@ export interface LazyTreeViewProps {
98
99
  */
99
100
  setSelected?: (nodeIdx: string[]) => void;
100
101
  /**
101
- * Controlled mode for expanded
102
+ * Controlled mode for expanded or initial expanded if not controlled
102
103
  */
103
104
  expanded?: string[];
105
+ /**
106
+ * Controlled mode for expanded
107
+ */
108
+ setExpanded?: (nodeIdx: string[]) => void;
104
109
  /**
105
110
  * The level depth of initially open nodes ( 0 first level )
106
111
  */
package/dist/Loader.d.ts CHANGED
@@ -1,9 +1,18 @@
1
1
  import { IReporting } from "./IReporting";
2
+ export declare type AppType = "console" | "viewer" | "editor" | "admin" | "appEditor";
2
3
  export interface IDashboardsLoaderFrameParams {
3
4
  /**
4
5
  * An unique ID (DOM) that is identifying the icCube dashboards instance.
5
6
  */
6
7
  containerId: string;
8
+ /**
9
+ * Optional CSS class of the created iFrame.
10
+ */
11
+ className?: string;
12
+ /**
13
+ * Optional CSS inline styling of the created iFrame.
14
+ */
15
+ style?: Partial<CSSStyleDeclaration>;
7
16
  onReady: (ic3: IReporting) => void;
8
17
  url: string;
9
18
  }
package/dist/Loader.js CHANGED
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DashboardsLoaderFrame = void 0;
4
4
  function DashboardsLoaderFrame(params) {
5
- const { containerId, onReady, url } = params;
5
+ const { containerId, className, style, onReady, url } = params;
6
6
  const containerELT = document.getElementById(containerId);
7
7
  if (!containerELT) {
8
8
  throw new Error("[ic3loader] (iFrame) missing container [" + containerId + "]");
@@ -20,9 +20,17 @@ function DashboardsLoaderFrame(params) {
20
20
  // setup an iFrame passing a url w/ &cb=window.name.of.callback
21
21
  // window. or parent. then in icCube ...
22
22
  const iFrame = document.createElement('iframe');
23
+ className && (iFrame.className = className);
23
24
  iFrame.width = "100%";
24
25
  iFrame.height = "100%";
25
- iFrame.style.border = "0px none";
26
+ if (style) {
27
+ for (const property in style) {
28
+ iFrame.style[property] = style[property];
29
+ }
30
+ }
31
+ else {
32
+ iFrame.style.border = "0px none";
33
+ }
26
34
  const sep = url.indexOf("?") === -1 ? "?" : "&";
27
35
  const src = url + sep + "ic3callback=ic3loader." + containerId;
28
36
  iFrame.setAttribute("src", src);
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":";;;AAeA,SAAgB,qBAAqB,CAAC,MAAoC;IAEtE,MAAM,EAAC,WAAW,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,MAAM,CAAC;IAE3C,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,YAAY,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,WAAW,GAAG,GAAG,CAAC,CAAA;KAClF;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,WAAW,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,OAAO,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAI,MAAc,CAAC;IAE5B,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAEpC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAe,EAAE,EAAE;QAE7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QAEvD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5B,CAAC,CAAA;IAED,iEAAiE;IACjE,6CAA6C;IAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEhD,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;IAEjC,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,wBAAwB,GAAG,WAAW,CAAC;IAE/D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;IAExD,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAErC,CAAC;AA9CD,sDA8CC"}
1
+ {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../src/Loader.ts"],"names":[],"mappings":";;;AAkCA,SAAgB,qBAAqB,CAAC,MAAoC;IAEtE,MAAM,EAAC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAC,GAAG,MAAM,CAAC;IAE7D,MAAM,YAAY,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAE1D,IAAI,CAAC,YAAY,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,0CAA0C,GAAG,WAAW,GAAG,GAAG,CAAC,CAAA;KAClF;IAED,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,WAAW,CAAC,CAAC;IAChE,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,OAAO,CAAC,CAAC;IAE5D,MAAM,GAAG,GAAI,MAAc,CAAC;IAE5B,GAAG,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC;IAEpC,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,GAAe,EAAE,EAAE;QAE7C,OAAO,CAAC,GAAG,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;QAEvD,OAAO,GAAG,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAClC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAE5B,CAAC,CAAA;IAED,iEAAiE;IACjE,6CAA6C;IAE7C,MAAM,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;IAEhD,SAAS,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAS,CAAC,CAAC;IAE5C,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;IACtB,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC;IAEvB,IAAI,KAAK,EAAE;QACP,KAAK,MAAM,QAAQ,IAAI,KAAK,EAAE;YACzB,MAAM,CAAC,KAAa,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;SACrD;KACJ;SAAM;QACH,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,UAAU,CAAC;KACpC;IAED,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,MAAM,GAAG,GAAG,GAAG,GAAG,GAAG,GAAG,wBAAwB,GAAG,WAAW,CAAC;IAE/D,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAEhC,OAAO,CAAC,GAAG,CAAC,oCAAoC,GAAG,GAAG,CAAC,CAAC;IAExD,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;AAErC,CAAC;AAtDD,sDAsDC"}
@@ -45,6 +45,7 @@ export interface IPublicContext {
45
45
  info: string;
46
46
  description?: string;
47
47
  };
48
+ localizeFormField(pluginId: string, widgetTemplateId: string, name: string, ...args: any[]): [string, string | undefined];
48
49
  /**
49
50
  * A bunch of mathematical functions related to the tidy table.
50
51
  */
@@ -131,7 +132,7 @@ export interface IWidgetPublicContext extends IPublicContext {
131
132
  * template form fields, FormFieldDef (i.e. {zoom:14} to set the zoom to 14). If in editing mode,
132
133
  * the edited options in the widget editor panel will be updated.
133
134
  */
134
- onUserMenuAction(userMenuAction: string, callback: (event: any) => Record<string, any> | undefined): void;
135
+ onUserMenuAction(callback: (userMenuAction: string, event: any) => Record<string, any> | undefined): void;
135
136
  onWidgetRenderStatusChange(status: WidgetRenderLayoutStatus): void;
136
137
  /**
137
138
  * Event methods that do not depend on a Table
@@ -1,3 +1,4 @@
1
+ import { PaperOrientation, PaperSizeUnits } from "./ITypes";
1
2
  declare type CSSProperties = any;
2
3
  /**
3
4
  * <pre>
@@ -5,34 +6,17 @@ declare type CSSProperties = any;
5
6
  * </pre>
6
7
  */
7
8
  export declare type PageSize = "known" | "manual" | "unlimited";
8
- export declare type PageSizeUnit = "px" | "mm" | "cm" | "in";
9
- export declare type PageOrientation = "portrait" | "landscape";
10
9
  export interface IPageSize {
11
10
  type: PageSize;
12
11
  }
13
12
  /**
14
- * From icCube server print component configuration:
15
- *
16
- * <pre>
17
- * <paperSize name="A5" unit="in" width="5.8" height="8.3"/>
18
- * <paperSize name="A4" unit="in" width="8.3" height="11.7"/>
19
- * <paperSize name="A3" unit="in" width="11.7" height="16.5"/>
20
- * <paperSize name="B5" unit="in" width="6.9" height="9.8"/>
21
- * <paperSize name="B4" unit="in" width="9.8" height="13.9"/>
22
- *
23
- * <paperSize name="JIS-B5" unit="in" width="7.2" height="10.1"/>
24
- * <paperSize name="JIS-B4" unit="in" width="10.1" height="14.3"/>
25
- *
26
- * <paperSize name="Letter" unit="in" width="8.5" height="11"/>
27
- * <paperSize name="Legal" unit="in" width="8.5" height="14"/>
28
- * <paperSize name="Ledger" unit="in" width="11" height="17"/>
29
- * </pre>
13
+ * From icCube server print component configuration.
30
14
  */
31
15
  export interface IKnownPageSize extends IPageSize {
32
16
  name: string;
33
17
  }
34
18
  export interface IManualPageSize extends IPageSize {
35
- pageSizeUnits: PageSizeUnit;
19
+ pageSizeUnits: PaperSizeUnits;
36
20
  pageWidth: number;
37
21
  pageHeight: number;
38
22
  }
@@ -40,11 +24,11 @@ export interface IManualPageSize extends IPageSize {
40
24
  * Unlimited in height.
41
25
  */
42
26
  export interface IUnlimitedPageSize extends IPageSize {
43
- pageSizeUnits: PageSizeUnit;
27
+ pageSizeUnits: PaperSizeUnits;
44
28
  pageWidth: number;
45
29
  }
46
30
  export interface IPageMargin {
47
- sizeUnits: PageSizeUnit;
31
+ sizeUnits: PaperSizeUnits;
48
32
  top: number;
49
33
  bottom: number;
50
34
  left: number;
@@ -98,7 +82,7 @@ export interface IPageHeaderFooterPartDefinition {
98
82
  logo?: IPageHeaderFooterLogoDefinition;
99
83
  }
100
84
  export interface IPageHeaderFooterDefinition {
101
- sizeUnits: PageSizeUnit;
85
+ sizeUnits: PaperSizeUnits;
102
86
  height: number;
103
87
  style?: CSSProperties;
104
88
  left?: IPageHeaderFooterPartDefinition;
@@ -112,7 +96,7 @@ export interface IWidgetLayoutDefinition {
112
96
  layoutConfigId: string;
113
97
  cssClass?: string;
114
98
  pageSize: IKnownPageSize | IManualPageSize | IUnlimitedPageSize;
115
- pageOrientation: PageOrientation;
99
+ pageOrientation: PaperOrientation;
116
100
  pageMargin: IPageMargin;
117
101
  pageBackgroundColor: string;
118
102
  /**