@ic3/reporting-api 8.1.0 → 8.2.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 (44) hide show
  1. package/dist/ApiUtils.js +1 -1
  2. package/dist/INotification.d.ts +8 -2
  3. package/dist/IReporting.d.ts +6 -0
  4. package/dist/IThemeManager.d.ts +5 -0
  5. package/dist/ITypes.d.ts +6 -0
  6. package/dist/ITypes.js +8 -1
  7. package/dist/ITypes.js.map +1 -1
  8. package/dist/IcEvent.d.ts +4 -0
  9. package/dist/PublicAmchartsData.d.ts +1 -3
  10. package/dist/PublicAmchartsData.js +1 -5
  11. package/dist/PublicAmchartsData.js.map +1 -1
  12. package/dist/PublicContext.d.ts +1 -0
  13. package/dist/PublicTemplate.d.ts +47 -3
  14. package/dist/PublicTemplate.js.map +1 -1
  15. package/dist/PublicTemplateForm.d.ts +33 -49
  16. package/dist/PublicTemplateForm.js +10 -1
  17. package/dist/PublicTemplateForm.js.map +1 -1
  18. package/dist/PublicTemplates.d.ts +1 -0
  19. package/dist/PublicTheme.d.ts +42 -9
  20. package/dist/PublicTheme.js.map +1 -1
  21. package/dist/PublicTidyColumn.d.ts +10 -3
  22. package/dist/PublicTidyColumn.js.map +1 -1
  23. package/dist/PublicTidyTable.d.ts +8 -1
  24. package/dist/PublicTidyTableInteractions.d.ts +31 -11
  25. package/dist/PublicTidyTableTypeGuards.d.ts +4 -0
  26. package/dist/PublicTidyTableTypeGuards.js +16 -0
  27. package/dist/PublicTidyTableTypeGuards.js.map +1 -0
  28. package/dist/PublicTidyTableTypes.d.ts +19 -7
  29. package/dist/PublicTidyTableTypes.js +1 -1
  30. package/dist/PublicTidyTableTypes.js.map +1 -1
  31. package/dist/theme/ThemeAmCharts4.d.ts +8 -1
  32. package/dist/theme/ThemeBaseTable.d.ts +6 -0
  33. package/dist/theme/ThemeEmbeddedReport.d.ts +3 -0
  34. package/dist/theme/ThemeFilterAutocomplete.d.ts +7 -0
  35. package/dist/theme/ThemeFilterAutocomplete.js +1 -0
  36. package/dist/theme/ThemeFilterAutocomplete.js.map +1 -1
  37. package/dist/theme/ThemeFilterPanel.d.ts +69 -8
  38. package/dist/theme/ThemeFilterPanel.js +43 -1
  39. package/dist/theme/ThemeFilterPanel.js.map +1 -1
  40. package/dist/theme/ThemeKpiBox.d.ts +0 -13
  41. package/dist/theme/ThemeKpiCard.d.ts +41 -5
  42. package/dist/theme/ThemeKpiCard.js +15 -0
  43. package/dist/theme/ThemeKpiCard.js.map +1 -1
  44. package/package.json +6 -6
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.1.0" || "-", "Thu, 02 Jun 2022 08:24:32 GMT" || "-") }, definition);
11
+ return Object.assign({ apiVersion: new ReportingVersion_1.default("8.2.1" || "-", "Wed, 03 Aug 2022 13:20:55 GMT" || "-") }, definition);
12
12
  };
13
13
  }
14
14
  /**
@@ -1,5 +1,5 @@
1
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
+ 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" | "save-reportwidgets-ownprops-to-localstorage" | "restore-reportwidgets-ownprops-from-localstorage";
3
3
  export interface IAppNotification {
4
4
  /**
5
5
  * E.g., print-report.
@@ -50,4 +50,10 @@ export interface SaveOwnPropsToLocalStorageNotification extends IAppNotification
50
50
  export interface RestoreOwnPropsFromLocalStorageNotification extends IAppNotification {
51
51
  readonly type: "restore-ownprops-from-localstorage";
52
52
  }
53
- export declare type AppNotification = AppEditReportNotification | AppPrintReportDialogNotification | AppPrintReportNotification | AppPrintReportWithoutStateNotification | AppPrintReportInBrowserNotification | SaveStateToLocalStorageNotification | RestoreStateFromLocalStorageNotification | SaveOwnPropsToLocalStorageNotification | RestoreOwnPropsFromLocalStorageNotification;
53
+ export interface SaveWidgetOwnPropsToLocalStorageNotification extends IAppNotification {
54
+ readonly type: "save-reportwidgets-ownprops-to-localstorage";
55
+ }
56
+ export interface RestoreWidgetOwnPropsFromLocalStorageNotification extends IAppNotification {
57
+ readonly type: "restore-reportwidgets-ownprops-from-localstorage";
58
+ }
59
+ export declare type AppNotification = AppEditReportNotification | AppPrintReportDialogNotification | AppPrintReportNotification | AppPrintReportWithoutStateNotification | AppPrintReportInBrowserNotification | SaveStateToLocalStorageNotification | RestoreStateFromLocalStorageNotification | SaveOwnPropsToLocalStorageNotification | RestoreWidgetOwnPropsFromLocalStorageNotification | SaveWidgetOwnPropsToLocalStorageNotification | RestoreOwnPropsFromLocalStorageNotification;
@@ -34,6 +34,12 @@ export interface IOpenReportOptions {
34
34
  * Full path of the report (e.g., shared:/marc/my-report).
35
35
  */
36
36
  path: string;
37
+ /**
38
+ * When opening a report in viewer mode (i.e., /viewer URL) icCube is checking that the default schema
39
+ * is being authorized and generates an error. When opening a report from a host application and changing
40
+ * the default schema on the fly, you might want to disable that check.
41
+ */
42
+ disableDefaultSchemaAuthCheck?: boolean;
37
43
  /**
38
44
  * Optional JSON object (i.e., constant / filter default value).
39
45
  */
@@ -53,4 +53,9 @@ export interface IThemeManager {
53
53
  * created from its partial options (e.g., using palette, typography, spacing, etc...)
54
54
  */
55
55
  registerTheme(themeOptions: any, themeDecorator?: (theme: any) => ic3Components, baseTheme?: EmbeddedThemeNames): void;
56
+ /**
57
+ * Register editor themes. Change the editor theme in ic3report-config.js by setting defaultEditorThemeId to a
58
+ * themeId from a theme using this method.
59
+ */
60
+ registerEditorTheme(themeOptions: any, themeDecorator?: (theme: any) => ic3Components): void;
56
61
  }
package/dist/ITypes.d.ts CHANGED
@@ -23,3 +23,9 @@ export declare enum SparklinePosition {
23
23
  BELOW_VALUE = "BELOW_VALUE",
24
24
  RIGHT_OF_VALUE = "RIGHT_OF_VALUE"
25
25
  }
26
+ export declare enum QueryType {
27
+ MDX = "mdx",
28
+ SQL = "sql",
29
+ EMBEDDED = "embedded",
30
+ HTTP_CSV = "HTTP_CSV"
31
+ }
package/dist/ITypes.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SparklinePosition = exports.SparkChartType = exports.TargetTextIconSet = exports.TargetTextPosition = exports.CompareTextInterpretationType = void 0;
3
+ exports.QueryType = exports.SparklinePosition = exports.SparkChartType = exports.TargetTextIconSet = exports.TargetTextPosition = exports.CompareTextInterpretationType = void 0;
4
4
  var CompareTextInterpretationType;
5
5
  (function (CompareTextInterpretationType) {
6
6
  CompareTextInterpretationType["MORE"] = "more=better";
@@ -28,4 +28,11 @@ var SparklinePosition;
28
28
  SparklinePosition["BELOW_VALUE"] = "BELOW_VALUE";
29
29
  SparklinePosition["RIGHT_OF_VALUE"] = "RIGHT_OF_VALUE";
30
30
  })(SparklinePosition = exports.SparklinePosition || (exports.SparklinePosition = {}));
31
+ var QueryType;
32
+ (function (QueryType) {
33
+ QueryType["MDX"] = "mdx";
34
+ QueryType["SQL"] = "sql";
35
+ QueryType["EMBEDDED"] = "embedded";
36
+ QueryType["HTTP_CSV"] = "HTTP_CSV";
37
+ })(QueryType = exports.QueryType || (exports.QueryType = {}));
31
38
  //# sourceMappingURL=ITypes.js.map
@@ -1 +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
+ {"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;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,wBAAW,CAAA;IACX,wBAAW,CAAA;IACX,kCAAqB,CAAA;IACrB,kCAAqB,CAAA;AACzB,CAAC,EALW,SAAS,GAAT,iBAAS,KAAT,iBAAS,QAKpB"}
package/dist/IcEvent.d.ts CHANGED
@@ -17,6 +17,10 @@ export interface PublicIcEvent {
17
17
  * The MDX version of the events
18
18
  */
19
19
  readonly mdx: string;
20
+ /**
21
+ * If available the key of the MDX member
22
+ */
23
+ readonly key?: any | any[];
20
24
  /**
21
25
  * These two strings together define an unique id for a widget in a report
22
26
  */
@@ -20,9 +20,8 @@ export declare class PublicAmchartsData {
20
20
  private readonly onAxis;
21
21
  private readonly onLevel;
22
22
  private readonly onGroup;
23
- private readonly onColor;
24
23
  private readonly table;
25
- constructor(table: ITidyTable, onValues: ISeriesValues[], onAxis: ITidyColumn, onGroup?: ITidyColumn, onLevel?: ITidyColumn, onColor?: ITidyColorColumn);
24
+ constructor(table: ITidyTable, onValues: ISeriesValues[], onAxis: ITidyColumn, onGroup?: ITidyColumn, onLevel?: ITidyColumn);
26
25
  /**
27
26
  * Get the data for the chart.
28
27
  */
@@ -50,7 +49,6 @@ export declare class PublicAmchartsData {
50
49
  getAxis(): ITidyColumn;
51
50
  getLevel(): ITidyColumn | undefined;
52
51
  getGroup(): ITidyColumn | undefined;
53
- getColor(): ITidyColorColumn | undefined;
54
52
  /**
55
53
  * Returns the first item in the onValues argument of the constructor.
56
54
  */
@@ -13,12 +13,11 @@ var ISeriesValuesType;
13
13
  * data and the creation of the series of that chart.
14
14
  */
15
15
  class PublicAmchartsData {
16
- constructor(table, onValues, onAxis, onGroup, onLevel, onColor) {
16
+ constructor(table, onValues, onAxis, onGroup, onLevel) {
17
17
  this.onValues = onValues;
18
18
  this.onAxis = onAxis;
19
19
  this.onGroup = onGroup;
20
20
  this.onLevel = onLevel;
21
- this.onColor = onColor;
22
21
  this.table = table;
23
22
  }
24
23
  /**
@@ -106,9 +105,6 @@ class PublicAmchartsData {
106
105
  getGroup() {
107
106
  return this.onGroup;
108
107
  }
109
- getColor() {
110
- return this.onColor;
111
- }
112
108
  /**
113
109
  * Returns the first item in the onValues argument of the constructor.
114
110
  */
@@ -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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"}
@@ -24,6 +24,7 @@ export interface IPublicContext {
24
24
  getUserName(): string;
25
25
  getReportLocale(): string;
26
26
  getNumberFormatter(format: ThemeTextFormatter): (value: any | undefined) => string;
27
+ getDateFormatter(format: ThemeTextFormatter): (value: any | undefined) => string;
27
28
  /**
28
29
  * translate the content of a report (the title of widgets, content of some widgets...). This does use another file
29
30
  *
@@ -7,6 +7,36 @@ import { ReactElement } from "react";
7
7
  import { Theme } from "@mui/material/styles";
8
8
  import { WidgetTemplateChartOptions, WidgetTemplateIDs } from "./PublicTemplates";
9
9
  import { ChartTemplateDataMapping, IFormFieldGranularityItem } from "./PublicTidyTableTypes";
10
+ import { ResizingConstraintOptions } from "./theme/ThemeWidgetBox";
11
+ import { QueryType } from "./ITypes";
12
+ export interface IRectanglePosition {
13
+ top: number;
14
+ left: number;
15
+ }
16
+ export interface IRectangleSize {
17
+ height: number;
18
+ width: number;
19
+ }
20
+ export interface IRectangle extends IRectanglePosition, IRectangleSize {
21
+ }
22
+ export interface IWidgetLayoutData {
23
+ /**
24
+ * Keep box header settings for additional (i.e., generated) pages.
25
+ */
26
+ keepBoxHeader: boolean;
27
+ /**
28
+ * Keep box header settings for additional (i.e., generated) pages.
29
+ */
30
+ keepTableHeader: boolean;
31
+ startRow: number;
32
+ endRow: number;
33
+ }
34
+ export interface IWidgetLayoutInfo extends IRectangle {
35
+ pageNb: number;
36
+ positionOrder: number;
37
+ data?: IWidgetLayoutData;
38
+ resizingConstraint?: ResizingConstraintOptions;
39
+ }
10
40
  declare type ChartTemplateWidgetProps = any;
11
41
  export declare type IPublicWidgetTemplateDefinition<T extends FormFieldObject> = IPublicWidgetReactTemplateDefinition<T> | IPublicWidgetJsTemplateDefinition<T>;
12
42
  export declare enum IWidgetTemplateMdxBuilderAxisPropsConstraint {
@@ -34,9 +64,9 @@ export interface IWidgetTemplateMdxBuilderAxisProps {
34
64
  */
35
65
  disableNonEmpty?: true;
36
66
  /**
37
- * For filters add lazy load feature to the axis
67
+ * For filters add lazy load feature to the axis.
38
68
  */
39
- addLazyLoad?: true;
69
+ withLazySearch?: true;
40
70
  /**
41
71
  * Allow only a single member
42
72
  */
@@ -101,7 +131,8 @@ export interface IPublicJsChartTemplate<T extends FormFieldObject> {
101
131
  * @param options the options (possibly edited and/or from the theme) of this widget
102
132
  * @param header aka. widget title
103
133
  */
104
- renderJS: (data: IWidgetTemplateTidyData, options: T, header: string, props: ChartTemplateWidgetProps) => void;
134
+ renderJS: (data: IWidgetTemplateTidyData, options: T, header: string) => void;
135
+ renderOnResizeJS?: (data: IWidgetTemplateTidyData, options: T, header: string, info: IWidgetLayoutInfo) => void;
105
136
  dispose: () => void;
106
137
  }
107
138
  /**
@@ -360,6 +391,19 @@ interface IPublicCommonWidgetTemplateDefinition<OPTIONS extends FormFieldObject>
360
391
  * Returns true if the widget fires a global event at initialization (start)
361
392
  */
362
393
  firesGlobalEventAtStart?: (options: OPTIONS | undefined, templateDef: IPublicWidgetTemplateDefinition<OPTIONS>) => boolean;
394
+ /**
395
+ * Limit on the rows of the tidy result to be sure that the browser does not crash during rendering.
396
+ * Leave to undefined or set to -1 to have no limit.
397
+ *
398
+ * Note: can be overridden via Dashboards options (ic3report-config.js).
399
+ */
400
+ maxTidyRowCount?: number;
401
+ /**
402
+ * List of supported types of query.
403
+ *
404
+ * Defaults: all of them.
405
+ */
406
+ withQueryTypes?: QueryType[];
363
407
  }
364
408
  /**
365
409
  * *********************************************************************************************************************
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTemplate.js","sourceRoot":"","sources":["../src/PublicTemplate.ts"],"names":[],"mappings":";;;AAeA,IAAY,4CAIX;AAJD,WAAY,4CAA4C;IACpD,qEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,2EAA2B,CAAA;AAC/B,CAAC,EAJW,4CAA4C,GAA5C,oDAA4C,KAA5C,oDAA4C,QAIvD;AAuaD;;;;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":";;;AA0DA,IAAY,4CAIX;AAJD,WAAY,4CAA4C;IACpD,qEAAqB,CAAA;IACrB,yEAAyB,CAAA;IACzB,2EAA2B,CAAA;AAC/B,CAAC,EAJW,4CAA4C,GAA5C,oDAA4C,KAA5C,oDAA4C,QAIvD;AAybD;;;;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"}
@@ -271,7 +271,15 @@ export declare function isTidyTableExprScale(type: FormFieldType): boolean;
271
271
  */
272
272
  export declare enum AutocompleteNoOptionsText {
273
273
  NO_OPTIONS = "NO_OPTIONS",
274
- NO_QUERY_RESULT = "NO_QUERY_RESULT"
274
+ NO_COLUMNS = "NO_COLUMNS",
275
+ NO_QUERY_RESULT = "NO_QUERY_RESULT",
276
+ QUERY_HAS_ERROR = "QUERY_HAS_ERROR"
277
+ }
278
+ /**
279
+ * Show an action button below the options
280
+ */
281
+ export declare enum AutocompleteActions {
282
+ ADD_COLOR = "ADD_COLOR"
275
283
  }
276
284
  export declare type CodeMirrorMode = "plain" | "mdx" | "sql" | "js" | "json" | "csv" | "md" | FormFieldTidyTableExprType;
277
285
  export declare function isCodeMirrorModeExpr(mode: CodeMirrorMode): boolean;
@@ -315,6 +323,10 @@ export interface IFormAutocompleteFieldDef<OPTION> extends IFormFieldDef<OPTION>
315
323
  optionValuesObsolete?: boolean;
316
324
  optionValuesObsoleteMessage?: string;
317
325
  noOptionsText?: AutocompleteNoOptionsText;
326
+ /**
327
+ * Show an action button below the options
328
+ */
329
+ action?: AutocompleteActions;
318
330
  renderInput?: (params: AutocompleteRenderInputParams) => React.ReactNode;
319
331
  renderOption?: (props: React.HTMLAttributes<HTMLLIElement>, option: OPTION, state: AutocompleteRenderOptionState, onClose: () => void) => React.ReactNode;
320
332
  disableClearable?: boolean;
@@ -347,13 +359,15 @@ export interface IFormColorEditorFieldDef extends IFormFieldDef<IColorDef> {
347
359
  *
348
360
  */
349
361
  export declare type IFormColumnChooserFieldDef = IFormColumnChooserSingleFieldDef | IFormColumnChooserMultipleFieldDef;
350
- interface IFormColumnChooserSingleFieldDef extends IFormFieldDef<TidyTableColumnSelector> {
362
+ export declare type IFormColumnChooserSingleFieldDef = IFormColumnChooserBaseDef<TidyTableColumnSelector>;
363
+ export declare type IFormColumnChooserMultipleFieldDef = IFormColumnChooserBaseDef<TidyTableColumnSelector[]>;
364
+ interface IFormColumnChooserBaseDef<T extends TidyTableColumnSelector | TidyTableColumnSelector[]> extends IFormFieldDef<T> {
351
365
  fieldType: "columnsChooser";
352
366
  editorConf?: {
353
367
  /**
354
368
  * The user can select multiple columns / selectors
355
369
  */
356
- multiple?: false;
370
+ multiple?: boolean;
357
371
  /**
358
372
  * The user can select the same column more than once
359
373
  */
@@ -361,7 +375,7 @@ interface IFormColumnChooserSingleFieldDef extends IFormFieldDef<TidyTableColumn
361
375
  /**
362
376
  * Only columns of this/these type(s) are allowed.
363
377
  */
364
- allowedTypes?: TidyColumnsType[] | ((column: ITidyColumn) => boolean);
378
+ allowedTypes?: TidyColumnsType[];
365
379
  /**
366
380
  * The user can select properties of columns
367
381
  */
@@ -371,56 +385,26 @@ interface IFormColumnChooserSingleFieldDef extends IFormFieldDef<TidyTableColumn
371
385
  */
372
386
  includeSelectors?: boolean;
373
387
  /**
374
- * Fallback to a column that has a type that is allowed. Note, properties of columns are not considered.
375
- *
376
- * It finds the column to fallback on by
377
- * 1. role equal to fieldPath and type is allowed,
378
- * 2. role equal to editorConfig.alias and type is allowed,
379
- * 3. type is allowed.
380
- *
381
- * Already mapped columns are skipped.
382
- */
383
- fallback?: boolean;
384
- /**
385
- * In the expression editor, use the alias to reference the column. Use the alias in table.getColumnByAlias(...).
388
+ * The user can select columns based on their role
386
389
  */
387
- alias?: string;
388
- };
389
- }
390
- interface IFormColumnChooserMultipleFieldDef extends IFormFieldDef<TidyTableColumnSelector[]> {
391
- fieldType: "columnsChooser";
392
- editorConf?: {
390
+ includeRoles?: boolean;
393
391
  /**
394
- * The user can select multiple columns / selectors
395
- */
396
- multiple: true;
397
- /**
398
- * The user can select the same column more than once
399
- */
400
- allowDuplicate?: boolean;
401
- /**
402
- * Only columns of this/these type(s) are allowed.
403
- */
404
- allowedTypes?: TidyColumnsType[] | ((column: ITidyColumn) => boolean);
405
- /**
406
- * The user can select properties of columns
407
- */
408
- includeProperties?: boolean;
409
- /**
410
- * The user can choose a selector, see TidyTableMappingColumnSelectorOptions
411
- */
412
- includeSelectors?: boolean;
413
- /**
414
- * Fallback to a column that has a type that is allowed. Note, properties of columns are not considered.
392
+ * Search the table for a default column.
393
+ *
394
+ * Set to true to use the default fallback logic:
395
+ *
396
+ * Fallback to a column that has a type that is allowed. Note, properties of columns are not considered.
397
+ *
398
+ * It finds the column to fallback on by
399
+ * 1. role equal to fieldPath and type is allowed,
400
+ * 2. role equal to editorConfig.alias and type is allowed,
401
+ * 3. type is allowed.
415
402
  *
416
- * It finds the column to fallback on by
417
- * 1. role equal to fieldPath and type is allowed,
418
- * 2. role equal to editorConfig.alias and type is allowed,
419
- * 3. type is allowed.
403
+ * Already mapped columns are skipped.
420
404
  *
421
- * Already mapped columns are skipped.
405
+ * You can also use your own fallback logic.
422
406
  */
423
- fallback?: boolean;
407
+ fallback?: boolean | ((table: ITidyTable) => ITidyColumn[] | undefined);
424
408
  /**
425
409
  * In the expression editor, use the alias to reference the column. Use the alias in table.getColumnByAlias(...).
426
410
  */
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isCodeMirrorModeExpr = exports.AutocompleteNoOptionsText = exports.isTidyTableExprScale = exports.isTidyTableExprNumeric = exports.isTidyTableExprTextHtml = exports.isTidyTableExprText = exports.isTidyTableExprRow = exports.isTidyTableExprTable = exports.isTidyTableExpr = exports.IFormFieldGroupTypes = exports.formFieldIsSelection = void 0;
3
+ exports.isCodeMirrorModeExpr = exports.AutocompleteActions = exports.AutocompleteNoOptionsText = exports.isTidyTableExprScale = exports.isTidyTableExprNumeric = exports.isTidyTableExprTextHtml = exports.isTidyTableExprText = exports.isTidyTableExprRow = exports.isTidyTableExprTable = exports.isTidyTableExpr = exports.IFormFieldGroupTypes = exports.formFieldIsSelection = void 0;
4
4
  function formFieldIsSelection(field) {
5
5
  return field.group === IFormFieldGroupTypes.Selection;
6
6
  }
@@ -66,8 +66,17 @@ exports.isTidyTableExprScale = isTidyTableExprScale;
66
66
  var AutocompleteNoOptionsText;
67
67
  (function (AutocompleteNoOptionsText) {
68
68
  AutocompleteNoOptionsText["NO_OPTIONS"] = "NO_OPTIONS";
69
+ AutocompleteNoOptionsText["NO_COLUMNS"] = "NO_COLUMNS";
69
70
  AutocompleteNoOptionsText["NO_QUERY_RESULT"] = "NO_QUERY_RESULT";
71
+ AutocompleteNoOptionsText["QUERY_HAS_ERROR"] = "QUERY_HAS_ERROR";
70
72
  })(AutocompleteNoOptionsText = exports.AutocompleteNoOptionsText || (exports.AutocompleteNoOptionsText = {}));
73
+ /**
74
+ * Show an action button below the options
75
+ */
76
+ var AutocompleteActions;
77
+ (function (AutocompleteActions) {
78
+ AutocompleteActions["ADD_COLOR"] = "ADD_COLOR";
79
+ })(AutocompleteActions = exports.AutocompleteActions || (exports.AutocompleteActions = {}));
71
80
  function isCodeMirrorModeExpr(mode) {
72
81
  return mode === "tidyTableHtmlExpr"
73
82
  || mode === "tidyTableHtmlRowExpr"
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTemplateForm.js","sourceRoot":"","sources":["../src/PublicTemplateForm.ts"],"names":[],"mappings":";;;AAaA,SAAgB,oBAAoB,CAAC,KAAyB;IAC1D,OAAO,KAAK,CAAC,KAAK,KAAK,oBAAoB,CAAC,SAAS,CAAC;AAC1D,CAAC;AAFD,oDAEC;AAmJD,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,+CAAuB,CAAA;IACvB,yEAAiD,CAAA;IACjD,sDAA8B,CAAA;AAClC,CAAC,EAJW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAI/B;AA0KD,SAAgB,eAAe,CAAC,IAAmB;IAC/C,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAXD,0CAWC;AAED,SAAgB,oBAAoB,CAAC,IAAmB;IACpD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AALD,oDAKC;AAED,SAAgB,kBAAkB,CAAC,IAAmB;IAClD,OAAO,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AARD,gDAQC;AAED,SAAgB,mBAAmB,CAAC,IAAmB;IACnD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AAND,kDAMC;AAED,SAAgB,uBAAuB,CAAC,IAAmB;IACvD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AAJD,0DAIC;AAED,SAAgB,sBAAsB,CAAC,IAAmB;IACtD,OAAO,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB,CACpC;AACT,CAAC;AAJD,wDAIC;AAED,SAAgB,oBAAoB,CAAC,IAAmB;IACpD,OAAO,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAHD,oDAGC;AAED;;;GAGG;AACH,IAAY,yBAGX;AAHD,WAAY,yBAAyB;IACjC,sDAAyB,CAAA;IACzB,gEAAmC,CAAA;AACvC,CAAC,EAHW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAGpC;AAaD,SAAgB,oBAAoB,CAAC,IAAoB;IACrD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAXD,oDAWC"}
1
+ {"version":3,"file":"PublicTemplateForm.js","sourceRoot":"","sources":["../src/PublicTemplateForm.ts"],"names":[],"mappings":";;;AAaA,SAAgB,oBAAoB,CAAC,KAAyB;IAC1D,OAAO,KAAK,CAAC,KAAK,KAAK,oBAAoB,CAAC,SAAS,CAAC;AAC1D,CAAC;AAFD,oDAEC;AAmJD,IAAY,oBAIX;AAJD,WAAY,oBAAoB;IAC5B,+CAAuB,CAAA;IACvB,yEAAiD,CAAA;IACjD,sDAA8B,CAAA;AAClC,CAAC,EAJW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAI/B;AA0KD,SAAgB,eAAe,CAAC,IAAmB;IAC/C,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAXD,0CAWC;AAED,SAAgB,oBAAoB,CAAC,IAAmB;IACpD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AALD,oDAKC;AAED,SAAgB,kBAAkB,CAAC,IAAmB;IAClD,OAAO,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AARD,gDAQC;AAED,SAAgB,mBAAmB,CAAC,IAAmB;IACnD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AAND,kDAMC;AAED,SAAgB,uBAAuB,CAAC,IAAmB;IACvD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB,CACjC;AACT,CAAC;AAJD,0DAIC;AAED,SAAgB,sBAAsB,CAAC,IAAmB;IACtD,OAAO,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB,CACpC;AACT,CAAC;AAJD,wDAIC;AAED,SAAgB,oBAAoB,CAAC,IAAmB;IACpD,OAAO,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAHD,oDAGC;AAED;;;GAGG;AACH,IAAY,yBAKX;AALD,WAAY,yBAAyB;IACjC,sDAAyB,CAAA;IACzB,sDAAyB,CAAA;IACzB,gEAAmC,CAAA;IACnC,gEAAmC,CAAA;AACvC,CAAC,EALW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAKpC;AAED;;GAEG;AACH,IAAY,mBAEX;AAFD,WAAY,mBAAmB;IAC3B,8CAAuB,CAAA;AAC3B,CAAC,EAFW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAE9B;AAaD,SAAgB,oBAAoB,CAAC,IAAoB;IACrD,OAAO,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,mBAAmB;WAC5B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,sBAAsB;WAC/B,IAAI,KAAK,yBAAyB;WAClC,IAAI,KAAK,uBAAuB;WAChC,IAAI,KAAK,wBAAwB;WACjC,IAAI,KAAK,uBAAuB,CAClC;AACT,CAAC;AAXD,oDAWC"}
@@ -22,6 +22,7 @@ interface IWidgetTemplateChartOptions {
22
22
  "ic3.DatePicker": DatePickerChartOptions;
23
23
  "ic3.EmbeddedReport": EmbeddedReportChartOptions;
24
24
  "ic3.FilterAutocomplete": FilterAutocompleteChartOptions;
25
+ "ic3.FilterAutocompleteLazy": FilterAutocompleteChartOptions;
25
26
  "ic3.FilterButtons": FilterButtonsChartOptions;
26
27
  "ic3.FilterCheckboxRadio": FilterCheckboxRadioChartOptions;
27
28
  "ic3.FilterPanel": FilterPanelChartOptions;
@@ -25,7 +25,7 @@ import { IPublicContext } from "./PublicContext";
25
25
  import { TableClassKey, TableProps } from "./theme/ThemeTable";
26
26
  import { PivotTableClassKey, PivotTableProps } from "./theme/ThemePivotTable";
27
27
  import { Components } from "@mui/material/styles/components";
28
- import { FilterPanelClassesKey } from "./theme/ThemeFilterPanel";
28
+ import { FilterPanelClassesKey, FilterPanelProps } from "./theme/ThemeFilterPanel";
29
29
  import { FilterCheckboxRadioChartOptions, FilterCheckboxRadioClassKey } from "./theme/ThemeFilterCheckboxRadio";
30
30
  import { ReportAppLeftPanelClassKey } from "./theme/ThemeReportAppLeftPanel";
31
31
  import { FilterTreeChartOptions, FilterTreeClassKey } from "./theme/ThemeFilterTree";
@@ -33,6 +33,7 @@ import { DatePickerChartOptions, DatePickerClassKey } from "./theme/ThemeDatePic
33
33
  import { FilterAutocompleteChartOptions, FilterAutocompleteClassesKey } from "./theme/ThemeFilterAutocomplete";
34
34
  import { AppMenuIconProps, ThemeAppMenuIconClassKey } from "./theme/ThemeAppMenuIcon";
35
35
  import { QueryBuilderNodeProps, ThemeQueryBuilderNodeClassKey } from "./theme/ThemeQueryBuilderNode";
36
+ import { KpiCardClassKey, KpiCardProps } from "./theme/ThemeKpiCard";
36
37
  export interface INoSchemaRendererOptions {
37
38
  missingSchema: string;
38
39
  }
@@ -58,6 +59,11 @@ export declare type ThemeTextFormattersOptions = Record<string, ThemeTextFormatt
58
59
  defaultPercentage?: ThemeTextFormatter;
59
60
  };
60
61
  declare type Amcharts4ThemeDateFormatter = {
62
+ /**
63
+ * Amcharts date formatter.
64
+ * Read more about the format codes here: https://www.amcharts.com/docs/v4/concepts/formatters/formatting-date-time/#Format_codes
65
+ * Read more about how these settings are used here: https://www.amcharts.com/docs/v4/concepts/axes/date-axis/#Setting_date_formats
66
+ */
61
67
  dateFormatter: {
62
68
  millisecond: {
63
69
  dateFormat: string;
@@ -136,6 +142,12 @@ export interface ic3Palette {
136
142
  * Report Application Menu
137
143
  */
138
144
  reportAppMenu: string;
145
+ /**
146
+ * List of named colors for ic3 applications ( MDX IDE, Admin ... )
147
+ */
148
+ appColors?: {
149
+ 'default'?: Property.Color;
150
+ } & Record<string, Property.Color>;
139
151
  /**
140
152
  * Darkens a color for an onhover effect
141
153
  *
@@ -213,10 +225,10 @@ export interface ic3PaletteOptions {
213
225
  'default': Property.Color[];
214
226
  } & Record<string, Property.Color[]>;
215
227
  chartSingleColors?: Partial<MandatorySingleColors> & Record<string, Property.Color>;
216
- /**
217
- * Report Application Menu
218
- */
219
228
  reportAppMenu?: Property.Color;
229
+ appColors?: {
230
+ 'default'?: Property.Color;
231
+ } & Record<string, Property.Color>;
220
232
  onHover?: (color: Property.Color) => Property.Color;
221
233
  }
222
234
  export interface ic3Typography {
@@ -342,6 +354,13 @@ export interface ic3Theme {
342
354
  };
343
355
  }
344
356
  export interface ic3ThemeOptions {
357
+ /**
358
+ * For editor theme, the id to use in your app-local/ic3report-config.js:
359
+ *
360
+ * <pre>
361
+ * options.defaultEditorThemeId = ...
362
+ * </pre>
363
+ */
345
364
  id: string;
346
365
  caption: string;
347
366
  cssClass?: string;
@@ -409,19 +428,27 @@ export interface ic3ThemeOptions {
409
428
  */
410
429
  editor?: {
411
430
  /**
412
- * Editor logo. Defaults to icCubes logo.
431
+ * Editor logo.
432
+ *
433
+ * Default: icCube logo.
413
434
  */
414
435
  logo?: string;
415
436
  /**
416
- * Alt text for the logo image. Default = icCube.
437
+ * Alt text for the logo image.
438
+ *
439
+ * Default: "icCube".
417
440
  */
418
441
  logoAlt?: string;
419
442
  /**
420
- * Top - Offset of dashboard page to the editor. Default 25.
443
+ * Top offset of the edited dashboard page in the editor.
444
+ *
445
+ * Default: 25.
421
446
  */
422
447
  viewPortOffsetTop?: number;
423
448
  /**
424
- * Left - Offset of dashboard page to the editor. Default 25.
449
+ * Left offset of the edited dashboard page in the editor.
450
+ *
451
+ * Default: 25.
425
452
  */
426
453
  viewPortOffsetLeft?: number;
427
454
  };
@@ -474,6 +501,10 @@ interface ic3BaseComponents {
474
501
  styleOverrides?: ComponentsOverrides["HtmlBox"];
475
502
  variants?: ComponentsVariants["HtmlBox"];
476
503
  };
504
+ KpiCard?: {
505
+ styleOverrides?: ComponentsOverrides["KpiCard"];
506
+ variants?: ComponentsVariants["KpiCard"];
507
+ };
477
508
  Layout?: {
478
509
  styleOverrides?: ComponentsOverrides["Layout"];
479
510
  };
@@ -612,6 +643,7 @@ declare module '@mui/material/styles/overrides' {
612
643
  FilterDatePicker: DatePickerClassKey;
613
644
  FilterAutocomplete: FilterAutocompleteClassesKey;
614
645
  HtmlBox: HtmlBoxClassKey;
646
+ KpiCard: KpiCardClassKey;
615
647
  Layout: LayoutClassKey;
616
648
  LayoutPage: LayoutPageClassKey;
617
649
  PivotTable: PivotTableClassKey;
@@ -628,12 +660,13 @@ declare module '@mui/material/styles/props' {
628
660
  interface ComponentsPropsList {
629
661
  FilterCheckbox: FilterCheckboxRadioChartOptions;
630
662
  FilterButtons: FilterButtonsChartOptions;
631
- FilterPanel: Record<never, any>;
663
+ FilterPanel: FilterPanelProps;
632
664
  FilterSlider: FilterSliderChartOptions;
633
665
  FilterTree: FilterTreeChartOptions;
634
666
  FilterDatePicker: DatePickerChartOptions;
635
667
  FilterAutocomplete: FilterAutocompleteChartOptions;
636
668
  HtmlBox: HtmlBoxProps;
669
+ KpiCard: KpiCardProps;
637
670
  PivotTable: PivotTableProps;
638
671
  Table: TableProps;
639
672
  WidgetBox: Record<never, any>;
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AAoRA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;AACvB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC"}
1
+ {"version":3,"file":"PublicTheme.js","sourceRoot":"","sources":["../src/PublicTheme.ts"],"names":[],"mappings":";;;AA8RA,IAAY,qBAGX;AAHD,WAAY,qBAAqB;IAC7B,8CAAqB,CAAA;IACrB,4CAAmB,CAAA;AACvB,CAAC,EAHW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAGhC"}
@@ -325,7 +325,8 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
325
325
  /**
326
326
  * Get the entity item for the column. Used in column selection.
327
327
  * Returns empty array if there are no entityItems.
328
- * @param hierarchyIndeces only include these hierarchies for generating the EntityItem
328
+ * @param hierarchyIndeces only include these hierarchies for generating the EntityItem. Leave undefined to include
329
+ * all.
329
330
  */
330
331
  getColumnEntityItem(hierarchyIndeces?: number[]): EntityItem[];
331
332
  /**
@@ -399,7 +400,7 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
399
400
  */
400
401
  setName(name: string): void;
401
402
  /**
402
- * Set the number formatter of the column, calculating and adding the 'formattedValue' property.
403
+ * Set the number/date formatter of the column, calculating and adding the 'formattedValue' property.
403
404
  */
404
405
  setNumberFormat(format: ThemeTextFormatter | undefined): void;
405
406
  /**
@@ -492,8 +493,14 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
492
493
  /**
493
494
  * Set the formatted values. Use this if you have the formatted values pre-calculated
494
495
  * or a function to calculate the formatted values.
496
+ * @param caption the caption for the added property
495
497
  */
496
- setFormattedValues(formattedValues: (string | null)[] | ((value: T | undefined) => string)): void;
498
+ setFormattedValues(formattedValues: (string | null)[] | ((value: T | undefined) => string), caption?: string): void;
499
+ /**
500
+ * Set the colors for the column.
501
+ * @param caption the caption for the added property
502
+ */
503
+ setColors(colors: (Property.Color | null)[], caption?: string): void;
497
504
  /**
498
505
  * Return a new column with transformed values.
499
506
  * @param fun function with one parameter. Describes the transformation.
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;AA8CA;;GAEG;AACH,IAAY,0BAsFX;AAtFD,WAAY,0BAA0B;IAElC;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;OAEG;IACH,sEAAwC,CAAA;IAExC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;;OAGG;IACH,yEAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;;;OAIG;IACH,yEAA2C,CAAA;IAE3C;;;;OAIG;IACH,+EAAiD,CAAA;IAEjD;;OAEG;IACH,qDAAuB,CAAA;IAEvB;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,6DAA+B,CAAA;IAE/B;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,gDAAkB,CAAA;IAElB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,mDAAqB,CAAA;AACzB,CAAC,EAtFW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAsFrC;AAEY,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAS;IAEzD,0BAA0B,CAAC,qBAAqB;IAChD,0BAA0B,CAAC,UAAU;IAErC,0BAA0B,CAAC,mBAAmB;IAE9C,0BAA0B,CAAC,mBAAmB;IAC9C,0BAA0B,CAAC,SAAS;IAEpC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;CAErC,CAAC,CAAC;AAgrBU,QAAA,4BAA4B,GAA8B;IAEnE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAC;CAE7C,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IAErE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,8CAA8C;CAEjD,CAAC"}
1
+ {"version":3,"file":"PublicTidyColumn.js","sourceRoot":"","sources":["../src/PublicTidyColumn.ts"],"names":[],"mappings":";;;AA8CA;;GAEG;AACH,IAAY,0BAsFX;AAtFD,WAAY,0BAA0B;IAElC;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;OAEG;IACH,sEAAwC,CAAA;IAExC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;OAEG;IACH,mEAAqC,CAAA;IAErC;;;OAGG;IACH,yEAA2C,CAAA;IAE3C;;OAEG;IACH,oDAAsB,CAAA;IAEtB;;;;OAIG;IACH,yEAA2C,CAAA;IAE3C;;;;OAIG;IACH,+EAAiD,CAAA;IAEjD;;OAEG;IACH,qDAAuB,CAAA;IAEvB;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,6DAA+B,CAAA;IAE/B;;OAEG;IACH,uDAAyB,CAAA;IAEzB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,gDAAkB,CAAA;IAElB;;OAEG;IACH,iDAAmB,CAAA;IAEnB;;OAEG;IACH,mDAAqB,CAAA;AACzB,CAAC,EAtFW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAsFrC;AAEY,QAAA,6BAA6B,GAAG,IAAI,GAAG,CAAS;IAEzD,0BAA0B,CAAC,qBAAqB;IAChD,0BAA0B,CAAC,UAAU;IAErC,0BAA0B,CAAC,mBAAmB;IAE9C,0BAA0B,CAAC,mBAAmB;IAC9C,0BAA0B,CAAC,SAAS;IAEpC,0BAA0B,CAAC,OAAO;IAClC,0BAA0B,CAAC,OAAO;CAErC,CAAC,CAAC;AAwrBU,QAAA,4BAA4B,GAA8B;IAEnE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAC;CAE7C,CAAC;AAEW,QAAA,8BAA8B,GAA8B;IAErE,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAC;IACjC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAC;IACpC,EAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAC;IACrC,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAC;IAC/B,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAC;IACzC,EAAC,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,mBAAmB,EAAC;IAC3D,EAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAC;IAEnC,EAAC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAC;IAErD,8CAA8C;CAEjD,CAAC"}