@ic3/reporting-api 8.4.2 → 8.4.4

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 (39) hide show
  1. package/dist/ApiUtils.js +1 -1
  2. package/dist/IPluginDefinition.d.ts +2 -0
  3. package/dist/IUserMenuOptionManager.d.ts +13 -0
  4. package/dist/IUserMenuOptionManager.js +3 -0
  5. package/dist/IUserMenuOptionManager.js.map +1 -0
  6. package/dist/PublicAmchartsData.d.ts +7 -1
  7. package/dist/PublicAmchartsData.js +9 -0
  8. package/dist/PublicAmchartsData.js.map +1 -1
  9. package/dist/PublicContext.d.ts +35 -5
  10. package/dist/PublicLayout.d.ts +81 -0
  11. package/dist/PublicTemplate.d.ts +68 -0
  12. package/dist/PublicTemplate.js.map +1 -1
  13. package/dist/PublicTemplateForm.d.ts +122 -5
  14. package/dist/PublicTemplateForm.js +19 -1
  15. package/dist/PublicTemplateForm.js.map +1 -1
  16. package/dist/PublicTheme.d.ts +23 -2
  17. package/dist/PublicTheme.js +5 -1
  18. package/dist/PublicTheme.js.map +1 -1
  19. package/dist/PublicTidyColumn.d.ts +28 -15
  20. package/dist/PublicTidyColumn.js +5 -0
  21. package/dist/PublicTidyColumn.js.map +1 -1
  22. package/dist/PublicTidyTable.d.ts +1 -1
  23. package/dist/PublicTidyTableInteractions.d.ts +2 -0
  24. package/dist/PublicTidyTableTypes.d.ts +9 -20
  25. package/dist/PublicTidyTableTypes.js.map +1 -1
  26. package/dist/index.d.ts +1 -0
  27. package/dist/index.js +1 -0
  28. package/dist/index.js.map +1 -1
  29. package/dist/theme/ThemeAmCharts4.d.ts +95 -19
  30. package/dist/theme/ThemeAmCharts4.js +11 -1
  31. package/dist/theme/ThemeAmCharts4.js.map +1 -1
  32. package/dist/theme/ThemeFilterAutocomplete.d.ts +2 -0
  33. package/dist/theme/ThemeFilterButtons.d.ts +10 -0
  34. package/dist/theme/ThemeFilterPanel.d.ts +4 -0
  35. package/dist/theme/ThemePivotTable.d.ts +6 -0
  36. package/dist/theme/ThemeSeparator.d.ts +13 -0
  37. package/dist/theme/ThemeSeparator.js +3 -0
  38. package/dist/theme/ThemeSeparator.js.map +1 -0
  39. package/package.json +8 -8
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.4.2" || "-", "Tue, 13 Jun 2023 12:40:49 GMT" || "-") }, definition);
11
+ return Object.assign({ apiVersion: new ReportingVersion_1.default("8.4.4" || "-", "Thu, 31 Aug 2023 12:11:04 GMT" || "-") }, definition);
12
12
  };
13
13
  }
14
14
  /**
@@ -8,6 +8,7 @@ import { WidgetTemplateIDs } from "./PublicTemplates";
8
8
  import { FormFieldObject } from "./PublicTemplateForm";
9
9
  import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
10
10
  import { ILogger } from "./Logger";
11
+ import { IUserMenuOptionManager } from "./IUserMenuOptionManager";
11
12
  export interface IPluginDefinition {
12
13
  /**
13
14
  * Keep that id simple (i.e., ASCII letter without any dot, space, separator, etc...) as it will be used
@@ -21,6 +22,7 @@ export interface IPluginDefinition {
21
22
  */
22
23
  registerAmCharts4?: (logger: ILogger, callback: (am4core: any) => void) => void;
23
24
  registerLocalization?: (logger: ILogger, manager: ILocalizationManager) => void;
25
+ registerUserMenuOptions?: (logger: ILogger, manager: IUserMenuOptionManager) => void;
24
26
  registerThemes?: (logger: ILogger, manager: IThemeManager) => void;
25
27
  registerWidgets?: (logger: ILogger, manager: IWidgetManager) => void;
26
28
  registerTidyTableTransformations?: (logger: ILogger, manager: ITidyTableTransformationManager) => void;
@@ -0,0 +1,13 @@
1
+ export interface IUserMenuOptionDefinition {
2
+ /**
3
+ * IUserMenuOptions.
4
+ */
5
+ option: string;
6
+ /**
7
+ * WidgetNotificationType.
8
+ */
9
+ notification: string;
10
+ }
11
+ export interface IUserMenuOptionManager {
12
+ registerUserMenuOption(option: IUserMenuOptionDefinition): void;
13
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=IUserMenuOptionManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IUserMenuOptionManager.js","sourceRoot":"","sources":["../src/IUserMenuOptionManager.ts"],"names":[],"mappings":""}
@@ -5,7 +5,9 @@ export declare enum ISeriesValuesType {
5
5
  LINE = 0,
6
6
  COLUMN = 1,
7
7
  TREND = 2,
8
- DIVERGENT = 3
8
+ DIVERGENT = 3,
9
+ LEFT_SERIES = 4,
10
+ RIGHT_SERIES = 5
9
11
  }
10
12
  export interface ISeriesValues {
11
13
  type: ISeriesValuesType;
@@ -58,6 +60,10 @@ export declare class PublicAmchartsData {
58
60
  * Returns true if and only if there are multiple non-trend measures in the chart.
59
61
  */
60
62
  isMultiMeasure(): boolean;
63
+ /**
64
+ * Returns the first column used for a series type.
65
+ */
66
+ getFirstColumnOfType(seriesType: ISeriesValuesType): ITidyColumn | undefined;
61
67
  }
62
68
  /**
63
69
  * Controls when to add / remove / dispose / update series. This class exists because using chart.setSeries removes
@@ -8,6 +8,8 @@ var ISeriesValuesType;
8
8
  ISeriesValuesType[ISeriesValuesType["COLUMN"] = 1] = "COLUMN";
9
9
  ISeriesValuesType[ISeriesValuesType["TREND"] = 2] = "TREND";
10
10
  ISeriesValuesType[ISeriesValuesType["DIVERGENT"] = 3] = "DIVERGENT";
11
+ ISeriesValuesType[ISeriesValuesType["LEFT_SERIES"] = 4] = "LEFT_SERIES";
12
+ ISeriesValuesType[ISeriesValuesType["RIGHT_SERIES"] = 5] = "RIGHT_SERIES";
11
13
  })(ISeriesValuesType = exports.ISeriesValuesType || (exports.ISeriesValuesType = {}));
12
14
  /**
13
15
  * Used for managing amcharts data in the Amcharts plugin. This class controls both the creation of the charts
@@ -150,6 +152,13 @@ class PublicAmchartsData {
150
152
  isMultiMeasure() {
151
153
  return this.onValues.filter(i => i.type !== ISeriesValuesType.TREND).length > 1;
152
154
  }
155
+ /**
156
+ * Returns the first column used for a series type.
157
+ */
158
+ getFirstColumnOfType(seriesType) {
159
+ var _a;
160
+ return (_a = this.onValues.find(i => i.type === seriesType)) === null || _a === void 0 ? void 0 : _a.values;
161
+ }
153
162
  }
154
163
  exports.PublicAmchartsData = PublicAmchartsData;
155
164
  //# sourceMappingURL=PublicAmchartsData.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PublicAmchartsData.js","sourceRoot":"","sources":["../src/PublicAmchartsData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PublicAmchartsData.js","sourceRoot":"","sources":["../src/PublicAmchartsData.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@ import { LazyTreeViewProps } from "./LazyTreeView";
3
3
  import { ITidyTable } from "./PublicTidyTable";
4
4
  import { ITidyTableTransformation } from "./ITidyTableTransformation";
5
5
  import { Theme } from "@mui/material/styles";
6
- import { ThemeTextFormatter } from "./PublicTheme";
6
+ import { ThemeFormatters, ThemeTextFormatter } from "./PublicTheme";
7
7
  import { ITidyColumn, ITidyNumericColumn } from "./PublicTidyColumn";
8
8
  import { IPublicWidgetTemplateDefinition } from "./PublicTemplate";
9
9
  import { ITidyMath } from "./PublicTidyMath";
@@ -30,6 +30,10 @@ export interface IPublicContext {
30
30
  */
31
31
  useGoogleMapHook(): boolean | Error;
32
32
  getTheme(): Theme;
33
+ /**
34
+ * Return the formatter for the current user's locale.
35
+ */
36
+ getThemeFormatter(): ThemeFormatters;
33
37
  getUserName(): string;
34
38
  getReportLocale(): string;
35
39
  getNumberFormatter(format: ThemeTextFormatter): (value: any | undefined) => string;
@@ -56,6 +60,10 @@ export interface IPublicContext {
56
60
  description?: string;
57
61
  };
58
62
  localizeFormField(pluginId: string, widgetTemplateId: string, name: string, ...args: any[]): [string, string | undefined, string | undefined];
63
+ /**
64
+ * markdown to sanitized html
65
+ */
66
+ markdownToHtml(markDown: string): string;
59
67
  /**
60
68
  * A bunch of mathematical functions related to the tidy table.
61
69
  */
@@ -126,6 +134,31 @@ export interface IPublicContext {
126
134
  * @param isRowSelected function for usage with `totalSelectedOrTotal`. Use tableInter.isSelected(rowIdx).
127
135
  */
128
136
  createTableNumericExpr(field: string, table: ITidyTable, currentColumn: ITidyColumn | undefined, expression: string | undefined, selectedColumns: ITidyColumn[] | undefined, isRowSelected?: TidyRowFilter): (() => number | undefined) | undefined;
137
+ /**
138
+ * same as createTableNumericExpr but returning a javascript object
139
+ */
140
+ createTableNumericStringExpr(field: string, table: ITidyTable, currentColumn: ITidyColumn | undefined, expression: string | undefined, selectedColumns: ITidyColumn[] | undefined, isRowSelected?: TidyRowFilter): (() => any | undefined) | undefined;
141
+ /**
142
+ * same as createTableNumericExpr but returning a javascript object
143
+ */
144
+ createTableNumericJSExpr(field: string, table: ITidyTable, currentColumn: ITidyColumn | undefined, expression: string | undefined, selectedColumns: ITidyColumn[] | undefined, isRowSelected?: TidyRowFilter): (() => any | undefined) | undefined;
145
+ /**
146
+ * Event methods that do not depend on a Table
147
+ *
148
+ * @see ITidyTableInteractionEvent for more
149
+ */
150
+ /**
151
+ * actionName if the action is bound to a channel, clears the event (has no value)
152
+ */
153
+ fireClearEventName(actionName: string): void;
154
+ /**
155
+ * actionName if the action is bound to a channel, send an Mdx Event (value,mdx)
156
+ */
157
+ fireMdxEventName(actionName: string, value: string, mdx: string): void;
158
+ /**
159
+ * Used for publishing app notifications (e.g., print the report).
160
+ */
161
+ fireAppNotification(notification: AppNotification): void;
129
162
  }
130
163
  export interface IWidgetPublicContext extends IPublicContext {
131
164
  /**
@@ -172,10 +205,6 @@ export interface IWidgetPublicContext extends IPublicContext {
172
205
  * actionName if the action is bound to a channel, send an Mdx Event (value,mdx)
173
206
  */
174
207
  fireMdxEvent(actionName: string, value: string, mdx: string): void;
175
- /**
176
- * Used for publishing app notifications (e.g., print the report).
177
- */
178
- fireAppNotification(notification: AppNotification): void;
179
208
  /**
180
209
  * Cypress testing purpose, after a rendering of the chart
181
210
  */
@@ -259,6 +288,7 @@ export interface IWidgetPublicContext extends IPublicContext {
259
288
  * disabled === true, the doExport function is not used
260
289
  */
261
290
  onExportToExcel(doExport: undefined | ((fileName: string | undefined) => ITidyTable | undefined), disabled?: boolean): void;
291
+ exportToExcel(table: ITidyTable, asPivotForExcel: boolean, rows: number[] | undefined): void;
262
292
  useUserMenuWidth(): number | undefined;
263
293
  }
264
294
  export interface IWidgetEditorPublicContext {
@@ -1,5 +1,6 @@
1
1
  import { PaperOrientation, PaperSizeUnits } from "./ITypes";
2
2
  import { Property } from "csstype";
3
+ import { Breakpoint } from "@mui/material/styles";
3
4
  type CSSProperties = any;
4
5
  /**
5
6
  * <pre>
@@ -35,12 +36,78 @@ export interface IPageMargin {
35
36
  left: number;
36
37
  right: number;
37
38
  }
39
+ /**
40
+ * The background grid used for example to snap widgets to.
41
+ * Not related to the grid layout itself.
42
+ */
38
43
  export interface IWidgetLayoutGridDefinition {
39
44
  snap: boolean;
40
45
  show: boolean;
41
46
  width: number;
42
47
  height: number;
43
48
  }
49
+ export interface IResponsiveBreakpoint {
50
+ md: number;
51
+ xs: number;
52
+ }
53
+ export type ResponsiveValue = {
54
+ [key in Breakpoint]: number;
55
+ } & {
56
+ print: number;
57
+ printLandscape?: number;
58
+ };
59
+ /**
60
+ * Control how the layout is responding to width change.
61
+ */
62
+ export interface IWidgetLayoutResponsivenessDefinition {
63
+ /**
64
+ * Grid only for now.
65
+ */
66
+ type: "grid";
67
+ /**
68
+ * The number of virtual columns the widgets are aligned to (e.g., 12).
69
+ */
70
+ columnCount: number;
71
+ /**
72
+ * The number of pixels of each virtual column.
73
+ */
74
+ columnWidth: number;
75
+ /**
76
+ * Setup once the layout configuration is being resolved against the theme.
77
+ */
78
+ themeSpacing: number;
79
+ /**
80
+ * The grid column span multiplier (i.e. x2 when the tables so widgets are twice as wide)
81
+ */
82
+ multiplier: ResponsiveValue;
83
+ /**
84
+ * The grid margins.
85
+ */
86
+ margin: ResponsiveValue;
87
+ /**
88
+ * Defines the horizontal space between the widgets.
89
+ */
90
+ columnSpacing?: ResponsiveValue;
91
+ /**
92
+ * Defines the vertical space between the widgets.
93
+ */
94
+ rowSpacing?: ResponsiveValue;
95
+ /**
96
+ * Defines a grid to snap the height of the widgets in group.
97
+ *
98
+ * When the group grid is defined as %, the grid percentages will be kept on group height resizing
99
+ * (not the case if the grid is defined in pixels)
100
+ *
101
+ * <ul>
102
+ * <li> undefined : no constraint.
103
+ * <li> array : a list of percentages to snap the widgets (e.g., [0.1,.0.2,0.3....1.0] to have
104
+ * a grid 10% of group height, 20%, etc...).
105
+ * <li> number < 1 : a percentage of the group height.
106
+ * <li> number >= 1 : grid in pixels
107
+ * </ul>
108
+ */
109
+ groupSnapSteps: number[] | number;
110
+ }
44
111
  export interface IPageHeaderFooterLogoDefinition {
45
112
  style?: CSSProperties;
46
113
  src: string;
@@ -95,7 +162,12 @@ export interface IPageHeaderFooterDefinition {
95
162
  */
96
163
  export interface IWidgetLayoutDefinition {
97
164
  layoutConfigId: string;
165
+ layoutGroup: string;
166
+ layoutName: string;
98
167
  cssClass?: string;
168
+ /**
169
+ * Not relevant if responsiveness is being defined: always an unlimited portrait.
170
+ */
99
171
  pageSize: IKnownPageSize | IManualPageSize | IUnlimitedPageSize;
100
172
  pageOrientation: PaperOrientation;
101
173
  pageMargin: IPageMargin;
@@ -105,8 +177,17 @@ export interface IWidgetLayoutDefinition {
105
177
  pageBackgroundColor?: Property.Color;
106
178
  /**
107
179
  * Widgets are zoomed so that their bounding box fits the horizontal page area.
180
+ * Not relevant if responsiveness is being defined.
108
181
  */
109
182
  expandH?: boolean;
183
+ /**
184
+ * Control how this layout is responding to width change.
185
+ */
186
+ responsiveness?: IWidgetLayoutResponsivenessDefinition;
187
+ /**
188
+ * The background grid used for example to snap widgets to.
189
+ * Not related to the grid layout itself.
190
+ */
110
191
  grid: IWidgetLayoutGridDefinition;
111
192
  header?: IPageHeaderFooterDefinition;
112
193
  footer?: IPageHeaderFooterDefinition;
@@ -20,6 +20,60 @@ export interface IRectangleSize {
20
20
  }
21
21
  export interface IRectangle extends IRectanglePosition, IRectangleSize {
22
22
  }
23
+ /**
24
+ * Widget box configuration when the widget is rendered in the responsive grid layout.
25
+ * This is used instead of the regular rectangle and positionOrder configuration.
26
+ */
27
+ export interface IWidgetBoxGridLayoutInfo {
28
+ /**
29
+ * Handy (same as in IWidgetDefinition).
30
+ */
31
+ widgetId: string;
32
+ /**
33
+ * The responsive grid layout is made of a single flex (row) box.
34
+ * The index in the only row of the 'flex' layout.
35
+ */
36
+ position: number;
37
+ /**
38
+ * A part of the total number of columns in the 'flex' layout.
39
+ */
40
+ colSpan: number;
41
+ /**
42
+ * The actual physical height.
43
+ */
44
+ height: number;
45
+ /**
46
+ * The group (i.e., nested grid layout) this widget belongs to.
47
+ */
48
+ group?: IWidgetBoxGroupGridLayoutInfo;
49
+ }
50
+ /**
51
+ * Support for nested grid layout : a grid item can be a group of widgets rendered as a grid layout.
52
+ *
53
+ * The actual number of columns of this nested grid layout is the colSpan of the group seen as a regular
54
+ * item of the containing grid layout. The group inherit both the column and row spacing of its containing
55
+ * grid layout and has no margin.
56
+ *
57
+ * For the sake of simplicity a group cannot contain a group.
58
+ */
59
+ export interface IWidgetBoxGroupGridLayoutInfo {
60
+ groupId: string;
61
+ /**
62
+ * A group is a regular item of its containing grid layout.
63
+ * @see IWidgetBoxGridLayoutInfo
64
+ */
65
+ position: number;
66
+ /**
67
+ * A group is a regular item of its containing grid layout.
68
+ * @see IWidgetBoxGridLayoutInfo
69
+ */
70
+ colSpan: number;
71
+ /**
72
+ * A group is a regular item of its containing grid layout.
73
+ * @see IWidgetBoxGridLayoutInfo
74
+ */
75
+ height: number;
76
+ }
23
77
  export interface IWidgetLayoutData {
24
78
  /**
25
79
  * Keep box header settings for additional (i.e., generated) pages.
@@ -35,6 +89,7 @@ export interface IWidgetLayoutData {
35
89
  export interface IWidgetLayoutInfo extends IRectangle {
36
90
  pageNb: number;
37
91
  positionOrder: number;
92
+ gridLayoutInfo?: IWidgetBoxGridLayoutInfo;
38
93
  data?: IWidgetLayoutData;
39
94
  resizingConstraint?: ResizingConstraintOptions;
40
95
  }
@@ -87,6 +142,10 @@ export interface IWidgetTemplateMdxBuilderAxisProps {
87
142
  * Show the mdxAxis names in this order in the builder
88
143
  */
89
144
  showOrder?: number;
145
+ /**
146
+ * Allows to overwrite the ON "rows"in the MDX query (to be used on modifyDefinition function)
147
+ */
148
+ overwriteAxisName?: string;
90
149
  }
91
150
  export interface IWidgetTemplateMdxBuilderMapping {
92
151
  /**
@@ -110,6 +169,14 @@ export interface IWidgetTemplateMdxBuilderMapping {
110
169
  * An MDX query if the builder is empty.
111
170
  */
112
171
  mdxQueryIfEmpty?: boolean;
172
+ /**
173
+ * model is a IMdxQueryBuilderModel, that is not shared publicly yet
174
+ *
175
+ * returns a modified definition or an MDX statement in a string
176
+ *
177
+ * If we return a string (MDX Statement), the Filters are still going to be appended to the end
178
+ */
179
+ modifyDefinition?: (model: any, definition: IWidgetTemplateMdxBuilderMapping) => IWidgetTemplateMdxBuilderMapping | string;
113
180
  }
114
181
  /**
115
182
  * A widget that renders using React.
@@ -307,6 +374,7 @@ interface IPublicCommonWidgetTemplateDefinition<OPTIONS extends FormFieldObject>
307
374
  * header is repeating on each page.
308
375
  */
309
376
  withOptionAutoExpandKeepTableHeader?: boolean;
377
+ withOptionAutoExpandHeightNotDependingOnWidth?: boolean;
310
378
  /**
311
379
  * If and only if not null, hide option 'Interactions' > 'Drilldown' > 'Pivot Table Like' and set it default value to withDrilldownPivotTableLikeAs.
312
380
  */
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTemplate.js","sourceRoot":"","sources":["../src/PublicTemplate.ts"],"names":[],"mappings":";;;AAyDA,IAAY,4CAIX;AAJD,WAAY,4CAA4C;IACpD,qEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,2EAA2B,CAAA;AAC/B,CAAC,EAJW,4CAA4C,GAA5C,oDAA4C,KAA5C,oDAA4C,QAIvD;AAsdD;;;;GAIG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACpC,+CAAe,CAAA;IACf,iDAAiB,CAAA;IACjB,2CAAW,CAAA;IACX,6CAAa,CAAA;AACjB,CAAC,EALW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAKvC;AA6BD;;GAEG;AACH,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAChC,mDAAuB,CAAA;IAEvB,gBAAgB;IAChB,0DAA8B,CAAA;IAC9B,iEAAqC,CAAA;AACzC,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC"}
1
+ {"version":3,"file":"PublicTemplate.js","sourceRoot":"","sources":["../src/PublicTemplate.ts"],"names":[],"mappings":";;;AA8HA,IAAY,4CAIX;AAJD,WAAY,4CAA4C;IACpD,qEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,2EAA2B,CAAA;AAC/B,CAAC,EAJW,4CAA4C,GAA5C,oDAA4C,KAA5C,oDAA4C,QAIvD;AAweD;;;;GAIG;AACH,IAAY,4BAKX;AALD,WAAY,4BAA4B;IACpC,+CAAe,CAAA;IACf,iDAAiB,CAAA;IACjB,2CAAW,CAAA;IACX,6CAAa,CAAA;AACjB,CAAC,EALW,4BAA4B,GAA5B,oCAA4B,KAA5B,oCAA4B,QAKvC;AA6BD;;GAEG;AACH,IAAY,wBAMX;AAND,WAAY,wBAAwB;IAChC,mDAAuB,CAAA;IAEvB,gBAAgB;IAChB,0DAA8B,CAAA;IAC9B,iEAAqC,CAAA;AACzC,CAAC,EANW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAMnC"}
@@ -73,6 +73,10 @@ export interface IFormFieldDef<DEFAULT_VALUE_TYPE> {
73
73
  * Only works for chart/widgetOptions !!
74
74
  */
75
75
  translated?: boolean;
76
+ /**
77
+ * Allow for group of fields, disabled help in form wrapper
78
+ */
79
+ disableHelpInWrapper?: boolean;
76
80
  }
77
81
  /**
78
82
  * The options (possibly edited and/or from the theme) of a widget.
@@ -98,7 +102,7 @@ export type FormFields<T extends FormFieldObject> = {
98
102
  } | {
99
103
  defaultValue?: any;
100
104
  mandatory?: false;
101
- }) & (Required<T>[key] extends FormFieldObject ? Omit<IFormEmbeddedFieldDef<Required<T>[key]>, 'fieldPath'> : Required<T>[key] extends IPaletteDef ? Omit<IFormPaletteEditorFieldDef, 'fieldPath'> : Required<T>[key] extends IColorDef ? Omit<IFormColorEditorFieldDef, 'fieldPath'> : Required<T>[key] extends TidyTableColumnSelector[] ? Omit<IFormColumnChooserMultipleFieldDef, 'fieldPath'> : Required<T>[key] extends TidyTableColumnSelector ? Omit<IFormColumnChooserSingleFieldDef, 'fieldPath'> : Required<T>[key] extends IFormEventMappingArrayFieldDefType ? Omit<IFormEventMappingArrayFieldDef, 'fieldPath'> : Required<T>[key] extends IFormEventArrayFieldDefType ? Omit<IFormEventArrayFieldDef, 'fieldPath'> : Required<T>[key] extends IFormSearchAndReplaceArrayFieldDefType ? Omit<IFormSearchAndReplaceArrayFieldDef, 'fieldPath'> : Required<T>[key] extends Hook<any> ? Omit<IFormHookFieldDef<any>, 'fieldPath'> : Required<T>[key] extends boolean ? Omit<IFormBooleanFieldDef, 'fieldPath'> : Required<T>[key] extends number ? Omit<IFormNumberFieldDef, 'fieldPath'> : Required<T>[key] extends number ? Omit<IFormMaskFieldDef, 'fieldPath'> : Required<T>[key] extends string ? Omit<IFormOptionFieldSingleDef, 'fieldPath'> | Omit<IFormStringFieldDef, 'fieldPath'> | Omit<IFormFormatterPickerFieldDef, 'fieldPath'> | Omit<IFormWidgetVariantFieldDef, 'fieldPath'> | Omit<IFormTidyTableTextExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableTextRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableHtmlRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableHtmlExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableColorRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableStringRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableScaleRowExprFieldDef, 'fieldPath'> | Omit<IFormJsFieldDef, 'fieldPath'> | Omit<IFormJsonFieldDef, 'fieldPath'> | Omit<IFormMarkdownFieldDef, 'fieldPath'> | Omit<IFormOptionFieldReportPathDef, 'fieldPath'> : Required<T>[key] extends string[] ? Omit<IFormOptionFieldMultipleDef, 'fieldPath'> | Omit<IFormGroupsFieldDef, 'fieldPath'> : never);
105
+ }) & (Required<T>[key] extends FormFieldObject ? Omit<IFormEmbeddedFieldDef<Required<T>[key]>, 'fieldPath'> : Required<T>[key] extends IPaletteDef ? Omit<IFormPaletteEditorFieldDef, 'fieldPath'> : Required<T>[key] extends IColorDef ? Omit<IFormColorEditorFieldDef, 'fieldPath'> : Required<T>[key] extends TidyTableColumnSelector[] ? Omit<IFormColumnChooserMultipleFieldDef, 'fieldPath'> : Required<T>[key] extends TidyTableColumnSelector ? Omit<IFormColumnChooserSingleFieldDef, 'fieldPath'> : Required<T>[key] extends IFormEventMappingArrayFieldDefType ? Omit<IFormEventMappingArrayFieldDef, 'fieldPath'> : Required<T>[key] extends IFormEventArrayFieldDefType ? Omit<IFormEventArrayFieldDef, 'fieldPath'> : Required<T>[key] extends IFormSearchAndReplaceArrayFieldDefType ? Omit<IFormSearchAndReplaceArrayFieldDef, 'fieldPath'> : Required<T>[key] extends Hook<any> ? Omit<IFormHookFieldDef<any>, 'fieldPath'> : Required<T>[key] extends boolean ? Omit<IFormBooleanFieldDef, 'fieldPath'> : Required<T>[key] extends number ? Omit<IFormNumberFieldDef, 'fieldPath'> : Required<T>[key] extends number ? Omit<IFormMaskFieldDef, 'fieldPath'> : Required<T>[key] extends string ? Omit<IFormOptionFieldSingleDef, 'fieldPath'> | Omit<IFormStringFieldDef, 'fieldPath'> | Omit<IFormFormatterPickerFieldDef, 'fieldPath'> | Omit<IFormWidgetVariantFieldDef, 'fieldPath'> | Omit<IFormTidyTableTextExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableTextRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericStringColumnExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableHtmlRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableHtmlExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericColumnExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableNumericJSColumnExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableColorRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableStringRowExprFieldDef, 'fieldPath'> | Omit<IFormTidyTableScaleRowExprFieldDef, 'fieldPath'> | Omit<IFormJsFieldDef, 'fieldPath'> | Omit<IFormJsonFieldDef, 'fieldPath'> | Omit<IFormMarkdownFieldDef, 'fieldPath'> | Omit<IFormOptionFieldReportPathDef, 'fieldPath'> | Omit<IFormPropertyChooserBaseDef, 'fieldPath'> | Omit<IFormLayoutFieldDef, 'fieldPath'> : Required<T>[key] extends string[] ? Omit<IFormOptionFieldMultipleDef, 'fieldPath'> | Omit<IFormGroupsFieldDef, 'fieldPath'> : never);
102
106
  };
103
107
  export declare enum IFormFieldGroupTypes {
104
108
  Selection = "groupSelection",
@@ -230,6 +234,14 @@ export type FormFieldType =
230
234
  * @see IFormTidyTableNumericRowExprFieldDef
231
235
  */
232
236
  "tidyTableNumericRowExpr" |
237
+ /**
238
+ * @see IFormTidyTableNumericColumnExprFieldDef
239
+ */
240
+ "tidyTableNumericJSColumnExpr" |
241
+ /**
242
+ * @see IFormTidyTableNumericJSColumnExprFieldDef
243
+ */
244
+ "tidyTableNumericColumnExpr" |
233
245
  /**
234
246
  * @see IFormTidyTableStringRowExprFieldDef
235
247
  */
@@ -250,6 +262,10 @@ export type FormFieldType =
250
262
  * @see IFormTidyTableTextRowExprFieldDef
251
263
  */
252
264
  "tidyTableTextRowExpr" |
265
+ /**
266
+ * @see IFormTidyTableNumericStringColumnExprFieldDef
267
+ */
268
+ "tidyTableNumericStringColumnExpr" |
253
269
  /**
254
270
  * @see IFormUrlFieldDef
255
271
  */
@@ -265,14 +281,25 @@ export type FormFieldType =
265
281
  /**
266
282
  * @see IFormSearchAndReplaceArrayFieldDefType
267
283
  */
268
- "searchAndReplaceArray";
269
- export type FormFieldTidyTableExprType = "tidyTableHtmlExpr" | "tidyTableHtmlRowExpr" | "tidyTableNumericExpr" | "tidyTableNumericRowExpr" | "tidyTableScaleRowExpr" | "tidyTableTextExpr" | "tidyTableTextRowExpr" | "tidyTableStringRowExpr" | "tidyTableColorRowExpr";
284
+ "searchAndReplaceArray" |
285
+ /**
286
+ * @see IFormPropertyChooserBaseDef
287
+ */
288
+ "propertyChooser" |
289
+ /**
290
+ * @see IFormLayoutFieldDef
291
+ */
292
+ "layout";
293
+ export type FormFieldTidyTableExprType = "tidyTableHtmlExpr" | "tidyTableHtmlRowExpr" | "tidyTableNumericExpr" | "tidyTableNumericColumnExpr" | "tidyTableNumericJSColumnExpr" | "tidyTableNumericRowExpr" | "tidyTableScaleRowExpr" | "tidyTableTextExpr" | "tidyTableNumericStringColumnExpr" | "tidyTableTextRowExpr" | "tidyTableStringRowExpr" | "tidyTableColorRowExpr";
270
294
  export declare function isTidyTableExpr(type: FormFieldType): type is FormFieldTidyTableExprType;
271
295
  export declare function isTidyTableExprTable(type: FormFieldType): boolean;
296
+ export declare function isTidyTableExprColumn(type: FormFieldType): boolean;
272
297
  export declare function isTidyTableExprRow(type: FormFieldType): boolean;
298
+ export declare function isTidyTableExprNumericString(type: FormFieldType): type is "tidyTableColorRowExpr" | "tidyTableStringRowExpr" | "tidyTableNumericStringColumnExpr";
299
+ export declare function isTidyTableExprNumericJS(type: FormFieldType): type is "tidyTableNumericJSColumnExpr";
273
300
  export declare function isTidyTableExprText(type: FormFieldType): type is "tidyTableTextExpr" | "tidyTableTextRowExpr";
274
301
  export declare function isTidyTableExprTextHtml(type: FormFieldType): type is "tidyTableHtmlExpr" | "tidyTableHtmlRowExpr";
275
- export declare function isTidyTableExprNumeric(type: FormFieldType): type is "tidyTableNumericExpr" | "tidyTableNumericRowExpr";
302
+ export declare function isTidyTableExprNumeric(type: FormFieldType): type is "tidyTableNumericExpr" | "tidyTableNumericRowExpr" | "tidyTableNumericColumnExpr";
276
303
  export declare function isTidyTableExprScale(type: FormFieldType): type is "tidyTableScaleRowExpr";
277
304
  /**
278
305
  * Error messages for field suggestions and value candidates.
@@ -350,6 +377,9 @@ export interface IFormAutocompleteFieldDef<OPTION> extends IFormFieldDef<OPTION>
350
377
  export interface IFormBooleanFieldDef extends IFormFieldDef<boolean> {
351
378
  fieldType: "boolean" | "fixedBoolean" | "groupBoolean";
352
379
  }
380
+ export interface IFormLayoutFieldDef extends IFormFieldDef<string> {
381
+ fieldType: "layout";
382
+ }
353
383
  /**
354
384
  * @see FormFieldDef
355
385
  */
@@ -421,6 +451,15 @@ interface IFormColumnChooserBaseDef<T extends TidyTableColumnSelector | TidyTabl
421
451
  alias?: string;
422
452
  };
423
453
  }
454
+ export interface IFormPropertyChooserBaseDef extends IFormFieldDef<string> {
455
+ fieldType: "propertyChooser";
456
+ editorConf?: {
457
+ /**
458
+ * Only columns of this/these type(s) are allowed.
459
+ */
460
+ allowedTypes?: TidyColumnsType[];
461
+ };
462
+ }
424
463
  /**
425
464
  * @see FormFieldDef
426
465
  */
@@ -823,6 +862,58 @@ export interface IFormTidyTableNumericRowExprFieldDef extends IFormFieldDef<stri
823
862
  useSelectedColumns?: boolean;
824
863
  };
825
864
  }
865
+ /**
866
+ * A numeric expression containing tidy table value accessor (e.g., chart's value axis minimum).
867
+ * The evaluation context is a column.
868
+ *
869
+ * @see FormFieldDef
870
+ */
871
+ export interface IFormTidyTableNumericColumnExprFieldDef extends IFormFieldDef<string> {
872
+ fieldType: "tidyTableNumericColumnExpr";
873
+ editorConf?: {
874
+ /**
875
+ * If true, user can use select a column in the dialog editor. This column then is the _currentColumn in the
876
+ * expression when evaluating in the dialog editor.
877
+ */
878
+ userSelectsCurrentColumn?: boolean;
879
+ /**
880
+ * If true, user can use _currentColumn in the expression.
881
+ * The default current column comes from the first dependsOn option.
882
+ */
883
+ useCurrentColumn?: boolean;
884
+ /**
885
+ * If true, user can use _selectedColumns in the expression.
886
+ * The default selected columns come from the second dependsOn option.
887
+ */
888
+ useSelectedColumns?: boolean;
889
+ };
890
+ }
891
+ /**
892
+ * A numeric expression containing tidy table value accessor (e.g., chart's value axis minimum).
893
+ * The evaluation context is a column.
894
+ *
895
+ * @see FormFieldDef
896
+ */
897
+ export interface IFormTidyTableNumericJSColumnExprFieldDef extends IFormFieldDef<string> {
898
+ fieldType: "tidyTableNumericJSColumnExpr";
899
+ editorConf?: {
900
+ /**
901
+ * If true, user can use select a column in the dialog editor. This column then is the _currentColumn in the
902
+ * expression when evaluating in the dialog editor.
903
+ */
904
+ userSelectsCurrentColumn?: boolean;
905
+ /**
906
+ * If true, user can use _currentColumn in the expression.
907
+ * The default current column comes from the first dependsOn option.
908
+ */
909
+ useCurrentColumn?: boolean;
910
+ /**
911
+ * If true, user can use _selectedColumns in the expression.
912
+ * The default selected columns come from the second dependsOn option.
913
+ */
914
+ useSelectedColumns?: boolean;
915
+ };
916
+ }
826
917
  /**
827
918
  * A numeric expression containing tidy table value accessor (e.g., chart's value axis minimum).
828
919
  * The evaluation context is a row.
@@ -901,6 +992,32 @@ export interface IFormTidyTableTextRowExprFieldDef extends IFormFieldDef<string>
901
992
  useSelectedColumns?: boolean;
902
993
  };
903
994
  }
995
+ /**
996
+ * A text expression containing tidy table value accessor (e.g., cell renderer link).
997
+ * The evaluation context is a column.
998
+ *
999
+ * @see FormFieldDef
1000
+ */
1001
+ export interface IFormTidyTableNumericStringColumnExprFieldDef extends IFormFieldDef<string> {
1002
+ fieldType: "tidyTableNumericStringColumnExpr";
1003
+ editorConf?: {
1004
+ /**
1005
+ * If true, user can use select a column in the dialog editor. This column then is the _currentColumn in the
1006
+ * expression when evaluating in the dialog editor.
1007
+ */
1008
+ userSelectsCurrentColumn?: boolean;
1009
+ /**
1010
+ * If true, user can use _currentColumn in the expression.
1011
+ * The default current column comes from the first dependsOn option.
1012
+ */
1013
+ useCurrentColumn?: boolean;
1014
+ /**
1015
+ * If true, user can use _selectedColumns in the expression.
1016
+ * The default selected columns come from the second dependsOn option.
1017
+ */
1018
+ useSelectedColumns?: boolean;
1019
+ };
1020
+ }
904
1021
  /**
905
1022
  * icCube variants (defined in the theme's ic3.widgetVariants).
906
1023
  *
@@ -916,5 +1033,5 @@ export interface IFormWidgetVariantFieldDef extends IFormFieldDef<string> {
916
1033
  export interface IFormFormatterPickerFieldDef extends IFormFieldDef<string> {
917
1034
  fieldType: "formatterPicker";
918
1035
  }
919
- export type FormFieldDef = IFormAutocompleteFieldDef<any> | IFormBooleanFieldDef | IFormColorEditorFieldDef | IFormColumnChooserFieldDef | IFormColumnSelectionFieldDef | IFormConstantsFieldDef | IFormEventArrayFieldDef | IFormEventMappingArrayFieldDef | IFormFileUploaderFieldDef | IFormGroupsFieldDef | IFormJsFieldDef | IFormMarkdownFieldDef | IFormMaskFieldDef | IFormMdxFieldDef | IFormNumberFieldDef | IFormOptionFieldDef | IFormOptionFieldSingleDef | IFormOptionFieldMultipleDef | IFormPaletteEditorFieldDef | IFormReportPathFieldDef | IFormReportPermaLinkFieldDef | IFormStringFieldDef | IFormTidyTableHtmlExprFieldDef | IFormTidyTableHtmlRowExprFieldDef | IFormTidyTableNumericExprFieldDef | IFormTidyTableNumericRowExprFieldDef | IFormTidyTableStringRowExprFieldDef | IFormTidyTableColorRowExprFieldDef | IFormTidyTableScaleRowExprFieldDef | IFormTidyTableTextExprFieldDef | IFormTidyTableTextRowExprFieldDef | IFormWidgetVariantFieldDef | IFormFormatterPickerFieldDef | IFormGranularitySelectionFieldDef | IFormSearchAndReplaceArrayFieldDef;
1036
+ export type FormFieldDef = IFormAutocompleteFieldDef<any> | IFormBooleanFieldDef | IFormColorEditorFieldDef | IFormColumnChooserFieldDef | IFormColumnSelectionFieldDef | IFormConstantsFieldDef | IFormEventArrayFieldDef | IFormEventMappingArrayFieldDef | IFormFileUploaderFieldDef | IFormGroupsFieldDef | IFormJsFieldDef | IFormMarkdownFieldDef | IFormMaskFieldDef | IFormMdxFieldDef | IFormNumberFieldDef | IFormOptionFieldDef | IFormOptionFieldSingleDef | IFormOptionFieldMultipleDef | IFormPaletteEditorFieldDef | IFormReportPathFieldDef | IFormReportPermaLinkFieldDef | IFormStringFieldDef | IFormTidyTableHtmlExprFieldDef | IFormTidyTableHtmlRowExprFieldDef | IFormTidyTableNumericExprFieldDef | IFormTidyTableNumericRowExprFieldDef | IFormTidyTableStringRowExprFieldDef | IFormTidyTableColorRowExprFieldDef | IFormTidyTableScaleRowExprFieldDef | IFormTidyTableTextExprFieldDef | IFormTidyTableTextRowExprFieldDef | IFormWidgetVariantFieldDef | IFormFormatterPickerFieldDef | IFormGranularitySelectionFieldDef | IFormSearchAndReplaceArrayFieldDef | IFormPropertyChooserBaseDef | IFormLayoutFieldDef;
920
1037
  export {};