@ic3/reporting-api 8.1.1 → 8.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/ApiUtils.js 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.1" || "-", "Wed, 08 Jun 2022 07:42:18 GMT" || "-") }, definition);
11
+ return Object.assign({ apiVersion: new ReportingVersion_1.default("8.2.0" || "-", "Thu, 14 Jul 2022 12:18:27 GMT" || "-") }, definition);
12
12
  };
13
13
  }
14
14
  /**
@@ -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
  */
@@ -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
  *
@@ -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"}
@@ -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 {
@@ -474,6 +486,10 @@ interface ic3BaseComponents {
474
486
  styleOverrides?: ComponentsOverrides["HtmlBox"];
475
487
  variants?: ComponentsVariants["HtmlBox"];
476
488
  };
489
+ KpiCard?: {
490
+ styleOverrides?: ComponentsOverrides["KpiCard"];
491
+ variants?: ComponentsVariants["KpiCard"];
492
+ };
477
493
  Layout?: {
478
494
  styleOverrides?: ComponentsOverrides["Layout"];
479
495
  };
@@ -612,6 +628,7 @@ declare module '@mui/material/styles/overrides' {
612
628
  FilterDatePicker: DatePickerClassKey;
613
629
  FilterAutocomplete: FilterAutocompleteClassesKey;
614
630
  HtmlBox: HtmlBoxClassKey;
631
+ KpiCard: KpiCardClassKey;
615
632
  Layout: LayoutClassKey;
616
633
  LayoutPage: LayoutPageClassKey;
617
634
  PivotTable: PivotTableClassKey;
@@ -628,12 +645,13 @@ declare module '@mui/material/styles/props' {
628
645
  interface ComponentsPropsList {
629
646
  FilterCheckbox: FilterCheckboxRadioChartOptions;
630
647
  FilterButtons: FilterButtonsChartOptions;
631
- FilterPanel: Record<never, any>;
648
+ FilterPanel: FilterPanelProps;
632
649
  FilterSlider: FilterSliderChartOptions;
633
650
  FilterTree: FilterTreeChartOptions;
634
651
  FilterDatePicker: DatePickerChartOptions;
635
652
  FilterAutocomplete: FilterAutocompleteChartOptions;
636
653
  HtmlBox: HtmlBoxProps;
654
+ KpiCard: KpiCardProps;
637
655
  PivotTable: PivotTableProps;
638
656
  Table: TableProps;
639
657
  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"}
@@ -400,7 +400,7 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
400
400
  */
401
401
  setName(name: string): void;
402
402
  /**
403
- * 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.
404
404
  */
405
405
  setNumberFormat(format: ThemeTextFormatter | undefined): void;
406
406
  /**
@@ -493,8 +493,14 @@ export interface ITidyBaseColumn<T> extends ITidyBaseColumnReadonly<T> {
493
493
  /**
494
494
  * Set the formatted values. Use this if you have the formatted values pre-calculated
495
495
  * or a function to calculate the formatted values.
496
+ * @param caption the caption for the added property
496
497
  */
497
- 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;
498
504
  /**
499
505
  * Return a new column with transformed values.
500
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;AAirBU,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"}
@@ -111,6 +111,11 @@ export interface ITidyTableInteractionSelection {
111
111
  * Select multiple rows at once
112
112
  */
113
113
  handleMultipleRowSelection(rowIds: number[]): void;
114
+ /**
115
+ * Perform a row-selection click on multiple rows at the same time. Has similair CTRL functionality as
116
+ * handleClickSelection(...). SHIFT is not supported.
117
+ */
118
+ handleMultipleRowSelectionClick(rowIds: number[], event?: TidyEvent): void;
114
119
  /**
115
120
  * Clear the selection and fire an empty event value. Note, this resets the
116
121
  * selection to the initial selection.
@@ -0,0 +1,4 @@
1
+ import { TidyTableColumnIdentifier, TidyTableMappingColumnSelectorOptions, TidyTableRoleSelector } from "./PublicTidyTableTypes";
2
+ export declare function isTidyTableMappingColumnSelectorOptions(v: unknown): v is TidyTableMappingColumnSelectorOptions;
3
+ export declare function isTidyTableColumnIdentifier(v: unknown): v is TidyTableColumnIdentifier;
4
+ export declare function isTidyTableRoleSelector(v: unknown): v is TidyTableRoleSelector;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isTidyTableRoleSelector = exports.isTidyTableColumnIdentifier = exports.isTidyTableMappingColumnSelectorOptions = void 0;
4
+ function isTidyTableMappingColumnSelectorOptions(v) {
5
+ return typeof v === "string" && v.startsWith('@IC3_');
6
+ }
7
+ exports.isTidyTableMappingColumnSelectorOptions = isTidyTableMappingColumnSelectorOptions;
8
+ function isTidyTableColumnIdentifier(v) {
9
+ return typeof v === "object" && v != null && typeof v["name"] === "string";
10
+ }
11
+ exports.isTidyTableColumnIdentifier = isTidyTableColumnIdentifier;
12
+ function isTidyTableRoleSelector(v) {
13
+ return typeof v === "object" && v != null && typeof v["role"] === "string";
14
+ }
15
+ exports.isTidyTableRoleSelector = isTidyTableRoleSelector;
16
+ //# sourceMappingURL=PublicTidyTableTypeGuards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PublicTidyTableTypeGuards.js","sourceRoot":"","sources":["../src/PublicTidyTableTypeGuards.ts"],"names":[],"mappings":";;;AAOA,SAAgB,uCAAuC,CAAC,CAAU;IAC9D,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;AAC1D,CAAC;AAFD,0FAEC;AAED,SAAgB,2BAA2B,CAAC,CAAU;IAClD,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,kEAEC;AAED,SAAgB,uBAAuB,CAAC,CAAU;IAC9C,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,IAAI,IAAI,IAAI,OAAO,CAAC,CAAC,MAAM,CAAC,KAAK,QAAQ,CAAC;AAC/E,CAAC;AAFD,0DAEC"}
@@ -41,7 +41,7 @@ export declare enum TidyColumnsType {
41
41
  */
42
42
  MIXED = "mixed",
43
43
  /**
44
- * The column type is not known because there is no data
44
+ * The column type is not known
45
45
  */
46
46
  UNKNOWN = "unknown",
47
47
  /**
@@ -87,7 +87,13 @@ export interface TidyTableColumnIdentifier {
87
87
  */
88
88
  property?: string;
89
89
  }
90
- export declare type TidyTableColumnSelector = TidyTableColumnIdentifier | TidyTableMappingColumnSelectorOptions;
90
+ export interface TidyTableRoleSelector {
91
+ /**
92
+ * Search columns by role
93
+ */
94
+ role: string;
95
+ }
96
+ export declare type TidyTableColumnSelector = TidyTableColumnIdentifier | TidyTableMappingColumnSelectorOptions | TidyTableRoleSelector;
91
97
  export declare type IFormFieldGranularityItem = IFormFieldGranularityItemColumn | IFormFieldGranularityItemRole | IFormFieldGranularityItemHierarchy | IFormFieldGranularityColumns;
92
98
  export interface IFormFieldGranularityItemColumn {
93
99
  type: "column";
@@ -41,7 +41,7 @@ var TidyColumnsType;
41
41
  */
42
42
  TidyColumnsType["MIXED"] = "mixed";
43
43
  /**
44
- * The column type is not known because there is no data
44
+ * The column type is not known
45
45
  */
46
46
  TidyColumnsType["UNKNOWN"] = "unknown";
47
47
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"PublicTidyTableTypes.js","sourceRoot":"","sources":["../src/PublicTidyTableTypes.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAOH,IAAY,eA0DX;AA1DD,WAAY,eAAe;IACvB;;OAEG;IACH,kCAAe,CAAA;IAEf,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IAErB;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,wCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,0CAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,8BAAW,CAAA;AACf,CAAC,EA1DW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA0D1B;AAkBD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,yCAAmB,CAAA;AACvB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAeD,IAAY,qCAQX;AARD,WAAY,qCAAqC;IAE7C,yDAAgB,CAAA;IAChB,yEAAgC,CAAA;IAChC,6EAAoC,CAAA;IACpC,2EAAkC,CAAA;IAClC,mEAA0B,CAAA;AAE9B,CAAC,EARW,qCAAqC,GAArC,6CAAqC,KAArC,6CAAqC,QAQhD;AAgHD,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IACzB;;;OAGG;IACH,kCAAa,CAAA;IAEb;;OAEG;IACH,gCAAW,CAAA;IAEX;;OAEG;IACH,+BAAU,CAAA;AACd,CAAC,EAhBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgB5B;AAiGD,IAAY,kBAqCX;AArCD,WAAY,kBAAkB;IAC1B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,+CAAyB,CAAA;IAEzB;;OAEG;IACH,mDAA6B,CAAA;IAE7B,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,6CAAuB,CAAA;IAEvB;;OAEG;IACH,yDAAmC,CAAA;AACvC,CAAC,EArCW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqC7B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;AAC7B,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAwDD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;AACf,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAyBD;;;;;GAKG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,8BAAW,CAAA;IACX,4BAAS,CAAA;IACT,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
1
+ {"version":3,"file":"PublicTidyTableTypes.js","sourceRoot":"","sources":["../src/PublicTidyTableTypes.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAOH,IAAY,eA0DX;AA1DD,WAAY,eAAe;IACvB;;OAEG;IACH,kCAAe,CAAA;IAEf,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;IAErB;;OAEG;IACH,sDAAmC,CAAA;IAEnC;;OAEG;IACH,wCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,0CAAuB,CAAA;IAEvB;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,kCAAe,CAAA;IAEf;;OAEG;IACH,sCAAmB,CAAA;IAEnB;;OAEG;IACH,gCAAa,CAAA;IAEb;;OAEG;IACH,8BAAW,CAAA;AACf,CAAC,EA1DW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA0D1B;AAkBD,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC1B,qCAAe,CAAA;IACf,uDAAiC,CAAA;IACjC,yCAAmB,CAAA;AACvB,CAAC,EAJW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAI7B;AAeD,IAAY,qCAQX;AARD,WAAY,qCAAqC;IAE7C,yDAAgB,CAAA;IAChB,yEAAgC,CAAA;IAChC,6EAAoC,CAAA;IACpC,2EAAkC,CAAA;IAClC,mEAA0B,CAAA;AAE9B,CAAC,EARW,qCAAqC,GAArC,6CAAqC,KAArC,6CAAqC,QAQhD;AAuHD,IAAY,iBAgBX;AAhBD,WAAY,iBAAiB;IACzB;;;OAGG;IACH,kCAAa,CAAA;IAEb;;OAEG;IACH,gCAAW,CAAA;IAEX;;OAEG;IACH,+BAAU,CAAA;AACd,CAAC,EAhBW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAgB5B;AAiGD,IAAY,kBAqCX;AArCD,WAAY,kBAAkB;IAC1B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,+CAAyB,CAAA;IAEzB;;OAEG;IACH,mDAA6B,CAAA;IAE7B,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,iDAA2B,CAAA;IAE3B;;OAEG;IACH,6CAAuB,CAAA;IAEvB;;OAEG;IACH,yDAAmC,CAAA;AACvC,CAAC,EArCW,kBAAkB,GAAlB,0BAAkB,KAAlB,0BAAkB,QAqC7B;AAED,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,sCAAuB,CAAA;IACvB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;AAC7B,CAAC,EAJW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAItB;AAwDD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IACzB,kCAAa,CAAA;IACb,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;IACX,gCAAW,CAAA;AACf,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAyBD;;;;;GAKG;AACH,IAAY,eAIX;AAJD,WAAY,eAAe;IACvB,8BAAW,CAAA;IACX,4BAAS,CAAA;IACT,gCAAa,CAAA;AACjB,CAAC,EAJW,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAI1B"}
@@ -122,7 +122,8 @@ export interface Am4LabelOptions extends FormFieldObject {
122
122
  /**
123
123
  * Text.
124
124
  *
125
- * The text displayed in the center of the chart
125
+ * The text displayed in the center of the chart.
126
+ * Use a single space to show no text and disable the label.
126
127
  */
127
128
  labelText: string;
128
129
  labelTextAlign: 'start' | 'end' | 'middle';
@@ -926,6 +927,12 @@ export interface Am4CategoryDateAxisOptions extends FormFieldObject {
926
927
  * Does not work with a date axis.
927
928
  */
928
929
  xAxisLabelTooltipText: string;
930
+ /**
931
+ * The date format for the labels that show when the user hovers over the chart with a chart cursor.
932
+ * Leave undefined to use the axis-date format.
933
+ * Read more about the format codes here: https://www.amcharts.com/docs/v4/concepts/formatters/formatting-date-time/#Format_codes
934
+ */
935
+ xAxisLabelTooltipDateFormat?: string;
929
936
  /**
930
937
  * Title Text.
931
938
  *
@@ -22,4 +22,7 @@ export interface EmbeddedReportChartOptions extends FormFieldObject {
22
22
  * Forwarded events.
23
23
  */
24
24
  "@params"?: IFormEventMappingArrayFieldDefType;
25
+ inheritSchemaName: boolean;
26
+ inheritCubeName: boolean;
27
+ inheritDisableDefaultSchemaAuthCheck: boolean;
25
28
  }
@@ -12,6 +12,7 @@ export declare class FilterAutocompleteClasses {
12
12
  * @see AutocompleteClasses
13
13
  */
14
14
  static readonly muiAutocomplete: string;
15
+ static readonly action = "MuiAutocomplete-action";
15
16
  }
16
17
  export declare type FilterAutocompleteClassesKey = keyof FilterAutocompleteClasses;
17
18
  /**
@@ -20,4 +20,5 @@ FilterAutocompleteClasses.root = "root";
20
20
  * @see AutocompleteClasses
21
21
  */
22
22
  FilterAutocompleteClasses.muiAutocomplete = autocompleteClasses_1.default.root;
23
+ FilterAutocompleteClasses.action = "MuiAutocomplete-action";
23
24
  //# sourceMappingURL=ThemeFilterAutocomplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeFilterAutocomplete.js","sourceRoot":"","sources":["../../src/theme/ThemeFilterAutocomplete.ts"],"names":[],"mappings":";;;;;;AAAA,yGAAiF;AAGjF,MAAa,yBAAyB;;AAAtC,8DAiBC;AAfG;;GAEG;AACa,8BAAI,GAAG,MAAM,CAAC;AAE9B;;;;;;GAMG;AACa,yCAAe,GAAG,6BAAmB,CAAC,IAAI,CAAC"}
1
+ {"version":3,"file":"ThemeFilterAutocomplete.js","sourceRoot":"","sources":["../../src/theme/ThemeFilterAutocomplete.ts"],"names":[],"mappings":";;;;;;AAAA,yGAAiF;AAGjF,MAAa,yBAAyB;;AAAtC,8DAkBC;AAhBG;;GAEG;AACa,8BAAI,GAAG,MAAM,CAAC;AAE9B;;;;;;GAMG;AACa,yCAAe,GAAG,6BAAmB,CAAC,IAAI,CAAC;AAE3C,gCAAM,GAAG,wBAAwB,CAAA"}
@@ -3,31 +3,83 @@ export declare class FilterPanelClasses {
3
3
  /**
4
4
  * Main content div
5
5
  */
6
- static readonly mainDiv: string;
6
+ static readonly mainDiv = "FilterPanel-root";
7
7
  /**
8
8
  * Div containing the loading spinner and text
9
9
  */
10
- static readonly loadingDiv: string;
10
+ static readonly loadingDiv = "FilterPanel-loading";
11
11
  /**
12
- * Header div with buttons and help icon
12
+ * Div with add filter and remove all filters buttons
13
13
  */
14
- static readonly headerDiv: string;
14
+ static readonly headerDiv = "FilterPanel-header";
15
+ /**
16
+ * Div containing the 'Filters' text and the help icon button
17
+ */
18
+ static readonly titleDiv = "FilterPanel-title";
19
+ /**
20
+ * Div containing the 'Filters' text
21
+ */
22
+ static readonly titleDivText = "FilterPanel-title-text";
23
+ /**
24
+ * Div containing the add and remove all buttons
25
+ */
26
+ static readonly headerDivButtons = "FilterPanel-header-buttons";
27
+ /**
28
+ * Add button
29
+ */
30
+ static readonly headerDivAddButton = "FilterPanel-HeaderDivAddButton";
31
+ /**
32
+ * Remove all button
33
+ */
34
+ static readonly headerDivRemoveAllButton = "FilterPanel-HeaderDivRemoveAllButton";
35
+ /**
36
+ * Div of the content root. Used for animation purposes.
37
+ */
38
+ static readonly contentDivRoot = "FilterPanel-content-root";
15
39
  /**
16
40
  * Div with the stack of filter items
17
41
  */
18
- static readonly contentDiv: string;
42
+ static readonly contentDiv = "FilterPanel-content";
43
+ /**
44
+ * Div with no filters defined text
45
+ */
46
+ static readonly contentNoFilters = "FilterPanel-NoFilters";
47
+ /**
48
+ * Main filter div
49
+ */
50
+ static readonly filterItemDiv = "FilterPanel-filterItem";
19
51
  /**
20
52
  * Main filter div
21
53
  */
22
- static readonly filterItemDiv: string;
54
+ static readonly filterItemDivHeader = "FilterPanel-filterItemHeader";
55
+ static readonly filterItemClearButton = "FilterPanel-ItemClearButton";
56
+ static readonly filterItemRemoveButton = "FilterPanel-ItemRemoveButton";
23
57
  /**
24
58
  * Classname for the TextField component
25
59
  */
26
- static readonly inputField: string;
60
+ static readonly inputField = "FilterPanel-filterInputfield";
61
+ /**
62
+ * A div with the displayed values for the value selector in preview mode
63
+ */
64
+ static readonly inputFieldPreviewValues = "FilterPanel-PreviewValue";
27
65
  /**
28
66
  * Classname for the field label
29
67
  */
30
- static readonly fieldName: string;
68
+ static readonly fieldName = "FilterPanel-fieldName";
69
+ /**
70
+ * Div with selectable items for filters with few items
71
+ */
72
+ static readonly selectableContent = "FilterPanel-selectableContent";
73
+ }
74
+ export interface FilterPanelProps {
75
+ /**
76
+ * Variant defined in the theme. If the theme has variants, then the user can select one.
77
+ */
78
+ variant?: string;
79
+ /**
80
+ * If true, grow filter in row direction. If false, grow in column direction.
81
+ */
82
+ filterLayoutHorizontal?: boolean;
31
83
  }
32
84
  export declare type FilterPanelClassesKey = keyof FilterPanelClasses;
33
85
  /**
@@ -91,4 +143,13 @@ export interface FilterPanelChartOptions extends FormFieldObject {
91
143
  * with continent Asia.
92
144
  */
93
145
  measureMdx?: string;
146
+ /**
147
+ * Name template for the fields with properties. Use 'levelName' and 'propertyName' as placeholders.
148
+ */
149
+ propertyFieldNameTemplate: string;
150
+ /**
151
+ * Use the simple selection filter if and only if `useSimpleFilterCutoff` is not null and the level
152
+ * has <= `useSimpleFilterCutoff` members.
153
+ */
154
+ useSimpleFilterCutoff?: number;
94
155
  }
@@ -13,23 +13,65 @@ FilterPanelClasses.mainDiv = "FilterPanel-root";
13
13
  */
14
14
  FilterPanelClasses.loadingDiv = "FilterPanel-loading";
15
15
  /**
16
- * Header div with buttons and help icon
16
+ * Div with add filter and remove all filters buttons
17
17
  */
18
18
  FilterPanelClasses.headerDiv = "FilterPanel-header";
19
+ /**
20
+ * Div containing the 'Filters' text and the help icon button
21
+ */
22
+ FilterPanelClasses.titleDiv = "FilterPanel-title";
23
+ /**
24
+ * Div containing the 'Filters' text
25
+ */
26
+ FilterPanelClasses.titleDivText = "FilterPanel-title-text";
27
+ /**
28
+ * Div containing the add and remove all buttons
29
+ */
30
+ FilterPanelClasses.headerDivButtons = "FilterPanel-header-buttons";
31
+ /**
32
+ * Add button
33
+ */
34
+ FilterPanelClasses.headerDivAddButton = "FilterPanel-HeaderDivAddButton";
35
+ /**
36
+ * Remove all button
37
+ */
38
+ FilterPanelClasses.headerDivRemoveAllButton = "FilterPanel-HeaderDivRemoveAllButton";
39
+ /**
40
+ * Div of the content root. Used for animation purposes.
41
+ */
42
+ FilterPanelClasses.contentDivRoot = "FilterPanel-content-root";
19
43
  /**
20
44
  * Div with the stack of filter items
21
45
  */
22
46
  FilterPanelClasses.contentDiv = "FilterPanel-content";
47
+ /**
48
+ * Div with no filters defined text
49
+ */
50
+ FilterPanelClasses.contentNoFilters = "FilterPanel-NoFilters";
23
51
  /**
24
52
  * Main filter div
25
53
  */
26
54
  FilterPanelClasses.filterItemDiv = "FilterPanel-filterItem";
55
+ /**
56
+ * Main filter div
57
+ */
58
+ FilterPanelClasses.filterItemDivHeader = "FilterPanel-filterItemHeader";
59
+ FilterPanelClasses.filterItemClearButton = "FilterPanel-ItemClearButton";
60
+ FilterPanelClasses.filterItemRemoveButton = "FilterPanel-ItemRemoveButton";
27
61
  /**
28
62
  * Classname for the TextField component
29
63
  */
30
64
  FilterPanelClasses.inputField = "FilterPanel-filterInputfield";
65
+ /**
66
+ * A div with the displayed values for the value selector in preview mode
67
+ */
68
+ FilterPanelClasses.inputFieldPreviewValues = "FilterPanel-PreviewValue";
31
69
  /**
32
70
  * Classname for the field label
33
71
  */
34
72
  FilterPanelClasses.fieldName = "FilterPanel-fieldName";
73
+ /**
74
+ * Div with selectable items for filters with few items
75
+ */
76
+ FilterPanelClasses.selectableContent = "FilterPanel-selectableContent";
35
77
  //# sourceMappingURL=ThemeFilterPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeFilterPanel.js","sourceRoot":"","sources":["../../src/theme/ThemeFilterPanel.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;;AAA/B,gDAoCC;AAnCG;;GAEG;AACa,0BAAO,GAAW,kBAAkB,CAAC;AAErD;;GAEG;AACa,6BAAU,GAAW,qBAAqB,CAAC;AAE3D;;GAEG;AACa,4BAAS,GAAW,oBAAoB,CAAC;AAEzD;;GAEG;AACa,6BAAU,GAAW,qBAAqB,CAAC;AAE3D;;GAEG;AACa,gCAAa,GAAW,wBAAwB,CAAC;AAEjE;;GAEG;AACa,6BAAU,GAAW,8BAA8B,CAAC;AAEpE;;GAEG;AACa,4BAAS,GAAW,uBAAuB,CAAC"}
1
+ {"version":3,"file":"ThemeFilterPanel.js","sourceRoot":"","sources":["../../src/theme/ThemeFilterPanel.ts"],"names":[],"mappings":";;;AAEA,MAAa,kBAAkB;;AAA/B,gDA0FC;AAzFG;;GAEG;AACa,0BAAO,GAAG,kBAAkB,CAAC;AAE7C;;GAEG;AACa,6BAAU,GAAG,qBAAqB,CAAC;AAEnD;;GAEG;AACa,4BAAS,GAAG,oBAAoB,CAAC;AAEjD;;GAEG;AACa,2BAAQ,GAAG,mBAAmB,CAAC;AAE/C;;GAEG;AACa,+BAAY,GAAG,wBAAwB,CAAC;AAExD;;GAEG;AACa,mCAAgB,GAAG,4BAA4B,CAAC;AAEhE;;GAEG;AACa,qCAAkB,GAAG,gCAAgC,CAAC;AAEtE;;GAEG;AACa,2CAAwB,GAAG,sCAAsC,CAAC;AAElF;;GAEG;AACa,iCAAc,GAAG,0BAA0B,CAAC;AAE5D;;GAEG;AACa,6BAAU,GAAG,qBAAqB,CAAC;AAEnD;;GAEG;AACa,mCAAgB,GAAG,uBAAuB,CAAC;AAE3D;;GAEG;AACa,gCAAa,GAAG,wBAAwB,CAAC;AAEzD;;GAEG;AACa,sCAAmB,GAAG,8BAA8B,CAAC;AAErD,wCAAqB,GAAG,6BAA6B,CAAC;AAEtD,yCAAsB,GAAG,8BAA8B,CAAC;AAExE;;GAEG;AACa,6BAAU,GAAG,8BAA8B,CAAC;AAE5D;;GAEG;AACa,0CAAuB,GAAG,0BAA0B,CAAC;AAErE;;GAEG;AACa,4BAAS,GAAG,uBAAuB,CAAC;AAEpD;;GAEG;AACa,oCAAiB,GAAG,+BAA+B,CAAC"}
@@ -1,6 +1,28 @@
1
1
  import { FormFieldObject } from "../PublicTemplateForm";
2
2
  import { TidyTableColumnSelector } from "../PublicTidyTableTypes";
3
3
  import { CompareTextInterpretationType, SparkChartType, SparklinePosition, TargetTextIconSet, TargetTextPosition } from "../ITypes";
4
+ export declare class KpiCardClasses {
5
+ static kpiValuesRoot: string;
6
+ static sparkChartRoot: string;
7
+ static kpiValueTitle: string;
8
+ static kpiValueText: string;
9
+ static kpiCompareTextRoot: string;
10
+ static kpiCompareTextRootEmpty: string;
11
+ static comparePercentageText: string;
12
+ static compareTargetText: string;
13
+ static comparePercentZero: string;
14
+ static comparePercentUp: string;
15
+ static comparePercentDown: string;
16
+ }
17
+ export declare type KpiCardClassKey = keyof KpiCardClasses;
18
+ export interface KpiCardProps {
19
+ /**
20
+ * Variant defined in the theme. If the theme has variants, then the user can select one.
21
+ */
22
+ variant?: string;
23
+ sparklinePosition: SparklinePosition;
24
+ targetPosition: TargetTextPosition;
25
+ }
4
26
  /**
5
27
  * KPI Card Options (fields of the "Chart" tab in the widget editor).
6
28
  *
@@ -11,7 +33,11 @@ import { CompareTextInterpretationType, SparkChartType, SparklinePosition, Targe
11
33
  *
12
34
  * @see WidgetTemplateChartOptions
13
35
  */
14
- export interface KpiCartChartOptions extends FormFieldObject {
36
+ export interface KpiCartChartOptions extends SparkChartOptionsMeta {
37
+ /**
38
+ * Variant defined in the theme. If the theme has variants, then the user can select one.
39
+ */
40
+ variant?: string;
15
41
  /**
16
42
  * Value.
17
43
  *
@@ -73,6 +99,14 @@ export interface KpiCartChartOptions extends FormFieldObject {
73
99
  * The icon that indicate the trend.
74
100
  */
75
101
  iconSet: TargetTextIconSet;
102
+ /**
103
+ * Position.
104
+ *
105
+ * Where to display the sparkline.
106
+ */
107
+ sparklinePosition: SparklinePosition;
108
+ }
109
+ export interface SparkChartOptionsMeta extends FormFieldObject {
76
110
  /**
77
111
  * Sparkline Type.
78
112
  */
@@ -90,9 +124,11 @@ export interface KpiCartChartOptions extends FormFieldObject {
90
124
  */
91
125
  sparklineHasArea: boolean;
92
126
  /**
93
- * Position.
94
- *
95
- * Where to display the sparkline.
127
+ * Radius of the columns rounded corners.
96
128
  */
97
- sparklinePosition: SparklinePosition;
129
+ columnSparkCornerRadius: number;
130
+ /**
131
+ * Space between columns.
132
+ */
133
+ columnSparkColumnSpacing: number;
98
134
  }
@@ -1,3 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.KpiCardClasses = void 0;
4
+ class KpiCardClasses {
5
+ }
6
+ exports.KpiCardClasses = KpiCardClasses;
7
+ KpiCardClasses.kpiValuesRoot = "KpiValuesRoot";
8
+ KpiCardClasses.sparkChartRoot = "KpiSparkChartRoot";
9
+ KpiCardClasses.kpiValueTitle = "KpiValueNameText";
10
+ KpiCardClasses.kpiValueText = "KpiValueText";
11
+ KpiCardClasses.kpiCompareTextRoot = "KpiCompareTextRoot";
12
+ KpiCardClasses.kpiCompareTextRootEmpty = "KpiEmptyCompareTextEmpty";
13
+ KpiCardClasses.comparePercentageText = "ComparePercentageText";
14
+ KpiCardClasses.compareTargetText = "compareTargetText";
15
+ KpiCardClasses.comparePercentZero = "ComparePercentZero";
16
+ KpiCardClasses.comparePercentUp = "ComparePercentUp";
17
+ KpiCardClasses.comparePercentDown = "ComparePercentDown";
3
18
  //# sourceMappingURL=ThemeKpiCard.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ThemeKpiCard.js","sourceRoot":"","sources":["../../src/theme/ThemeKpiCard.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ThemeKpiCard.js","sourceRoot":"","sources":["../../src/theme/ThemeKpiCard.ts"],"names":[],"mappings":";;;AAUA,MAAa,cAAc;;AAA3B,wCAwBC;AAtBiB,4BAAa,GAAG,eAAe,CAAC;AAEhC,6BAAc,GAAG,mBAAmB,CAAC;AAErC,4BAAa,GAAG,kBAAkB,CAAC;AAEnC,2BAAY,GAAG,cAAc,CAAC;AAE9B,iCAAkB,GAAG,oBAAoB,CAAC;AAE1C,sCAAuB,GAAG,0BAA0B,CAAC;AAErD,oCAAqB,GAAG,uBAAuB,CAAC;AAEhD,gCAAiB,GAAG,mBAAmB,CAAC;AAExC,iCAAkB,GAAG,oBAAoB,CAAC;AAE1C,+BAAgB,GAAG,kBAAkB,CAAC;AAEtC,iCAAkB,GAAG,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ic3/reporting-api",
3
- "version": "8.1.1",
3
+ "version": "8.2.0",
4
4
  "description": "icCube dashboards API",
5
5
  "homepage": "https://github.com/ic3-software/ic3-reporting-api",
6
6
  "repository": "https://github.com/ic3-software/ic3-reporting-api",
@@ -14,14 +14,14 @@
14
14
  "access": "public"
15
15
  },
16
16
  "devDependencies": {
17
- "@mui/material": "5.8.2",
18
- "@mui/system": "5.8.2",
17
+ "@mui/material": "5.8.7",
18
+ "@mui/system": "5.8.7",
19
19
  "@types/googlemaps": "3.43.3",
20
20
  "@types/markerclustererplus": "2.1.33",
21
- "@types/node": "17.0.40",
21
+ "@types/node": "18.0.3",
22
22
  "@types/react": "17.0.43",
23
23
  "del-cli": "4.0.1",
24
- "typescript": "4.7.3"
24
+ "typescript": "4.7.4"
25
25
  },
26
26
  "scripts": {
27
27
  "build": "del-cli dist && npx tsc",